Анимация
JavaScript
|
Главная Библионтека Add Table or View Database Auto Store Tables in Database: account autonrtobiie passenger car bodiJ countriJ customer Cancel Other... Select firm fuel oil model mytable sale tiJre (* Tables С Views Рис. 7.1. Диалоговое окно выбора таблиц или представлений Конструктор представления состоит из двух частей. В первой, верхней части, размещаются графические образы таблицы и представления, данные из которых вы будете использовать для создания представления. Здесь легко можно связать две таблицы или представления, просто щелкнув мышью на названии поля и, не отпуская кнопки, переместив курсор на поле в другой таблице или представлении (рис. 7.2). Это очень важный момент, потому что, как правило, все таблицы и представления должны быть связаны, иначе результаты выборки трудно прогнозировать . представлений, так и программный. Вызвать на экран Конструктор представлений можно несколькими способами. Если вы работаете с использованием Project Manager, а это единственно правильный путь для построения сложных приложений, то вам необходимо перевести курсор на пункт списка Local Views и нажать кнопку New. После чего на экране появится диалоговое окно, в котором вам предложат создать представление с помощью Мастера или самостоятельно. Самостоятельно - значит с помощью Конструктора представлений, что ненамого сложней. Помимо этого вы можете щелкнуть по значку New в стандартной панели инструментов, и в появившемся диалоге среди предложенных типов файлов выбрать Local View. Перед тем как на экране появится Конструктор представлений, на экран будет выведено диалоговое окно для выбора таблиц или предварительно созданных представлений, в котором вы должны выбрать соответственно таблицу или представление, на основе данных из которого вы будете создавать новое представление. Если вам необходимо выбирать данные из нескольких таблиц или представлений, то, нажав правую кнопку мыши, находясь внутри Конструктора представлений, вы можете вызвать всплывающее меню и выбрать в нем команду Add Table, как это показано на рис. 7.1. ar.cdijnf daHe wrile died z} era. namr tustC4nc( ti?i &eJec№ Criteria TjbJe: Older by Gmiby <Jpd3*eCii*ei4 Field Njrne UpdateAl r£wldSOLUpdJt«- nanrre cLjnlKjtKf- SQL WHERE clause includti. r KeyFieJdjOfily <~ Kej and UpffalJtto Field! Kej and kJodified Field! f wanaiictHKiamcj Updare №ing- - С SQL DELETE ihen IHSEFIT < SQLUPpATE Рис. 7.2. Нижняя часть Конструктора состоит из пяти страниц, заголовки которых называются Selection Criteria, Fields, Order By, Group By и Update Criteria (рис. 7.3). Здесь стоит отметить, что последней страницы нет в Конструкторе запросов. Это единственное, но очень принципиальное различие между запросом и представлением - представления могут изменять исходные таблицы при изменении данных в них. Vtn( [КЫЦ)п cr Di:t:nunI lDi:itl vjji#. luiV ctitt«iHr lJ L SekdiDitQJiHia "3 Рис. 7.3. На странице Selection Criteria записываются связи между таблицами и накладываются фильтры на выбираемые данные. Здесь мы фактически записываем условия предложения WHERE. Если вы еще слабо знакомы с синтаксисом SQL, то есть возможность изучать его в интерактивном режиме. В любой момент вы можете либо с помощью вызова всплывающего меню, или с помощью меню Query, или с помощью панели инструментов View Designer просмотреть SQL запрос в текстовом виде. При этом вы увидите, что как и в случае с запросами, так и с представлениями, выражение начинается с ключевого слова SELECT (рис. 7.4). Но пусть вас это не смущает, команда, создающая представления программным путем, начинается все-таки с ключевого слова CREATE SQL VIEW. Но об этом разговор чуть ниже. ft-- aca>unl lDcal viiDW {Road On) 3ELECT Accouni:."; FEOH "auto ilOcc lijccnunt", "auto acort tatlDii*r" Рис. 7.4. Генерируемый в представлении код SQL запроса Cтраница Fields служит для выбора полей из представлений и таблиц, участвующих в создании нашего представления. Можно выбрать поля другими способами, например, дважды щелкнув мышью на названии нужного вам поля или, что более эффектно, просто перетащив графический образ этого поля с образа таблицы в список Selected Output, который присутствует на страницах Fields и Selection Criteria. У визуального способа есть одно ограничение. В случае, если вам необходимо иметь в выборке не данные из поля, а, например, выражение, то вам придется воспользоваться комбинированным списком Functions/Expressions. К этому же списку вам придется обратиться в случае, если вы захотите дать колонкам свои имена с помощью опции AS. Если вы внимательно читали параграф о SQL командах, то помните, что в команде SELECT-SQL есть предложение ORDER BY, которое позволяет вам упорядочить данные по определенным полям. Для этого служит страница Order by в Конструкторах представлений и запросов. В случае использования функций агрегирования вам придется обратиться к странице Group by для группировки данных. Последняя страница называется Update Criteria. Именно на этой странице мы можем выбрать поля, редактирование которых в курсоре представления будет отображаться в исходных таблицах. На этой странице в списке Field Name отображаются поля из таблиц, к которым обращается запрос представления. При этом отображать можно как одновременно все поля из всех таблиц, так и только из одной таблицы, выбрав соответствующее значение в раскрывающемся списке Table (см. рис. 7.2). Далее для каждой таблицы необходимо выбрать ключевые поля. Обратите внимание, что рядом со значком, изображающим ключ над списком Field Name, появится значок, изображающий карандаш, и вертикальная полоска ниже этого изображения. Теперь мы можем пометить поля как модифицируемые. Ключевое поле может быть одновременно и модифицируемым. Если есть необходимость отключить ключевые поля, то нажмите кнопку Reset. Когда вы хотите сделать сразу все поля модифицируемыми, нажмите кнопку Update All. При этом поля, которые вы укажете как ключевые, помечены не будут. Затем необходимо включить переключатель SendUpdates, так как только после этого исходные таблицы будут модифицироваться. Теперь с помощью кнопок выбора SQL WHERE clause includes необходимо выбрать одно из четырех значений WhereType. Оно будет определять, каким образом станет происходить поиск записи в исходной таблице: При выборе значения Key Fields only данные будут обновляться в соответствии с изменением значений ключевых полей. Поэтому не забудьте, что если в выбранном для представления ключевом поле или полях не гарантируется уникальность значения, то данные могут быть изменены вместо одной сразу в нескольких записях. Значение Key And Updatable Fields приводит к поиску записи по тем полям, которые вы пометите как модифицируемые или разрешенные для изменений и по ключевым полям. Значение Key And Modified Fields обеспечивает поиск по ключевым и фактически измененным полям. Значение Key and Timestamp для локальных представлений не поддерживается. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 [ 74 ] 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |