Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (1084484), страница 61
Текст из файла (страница 61)
Поэтому при завершении создания таблицы (например, выбором пункта менюФ а й л | С о х р а н и т ь ( F i l e | S a v e ) , нажатием кнопки С о х р а н и т ь ( S a v e ) на панели инструментов или закрытием окна создания таблицы) при отсутствии вней ключа Access предупреждает об этом и предлагает создать ключ типа Счетчик {AutoNumber). При необходимости ключи могут быть созданы и позже.После создания совокупности таблиц требуется выполнить связываниетаблиц. Как известно, установление табличных связей позволяет контролировать целостность и достоверность информации в базе данных.
Кроме того,чем раньше образованы связи между таблицами, тем удобнее создавать многотабличные запросы, формы и отчеты. При наличии связей между таблицами разработка перечисленных объектов Б Д ведется с учетом установленныхсвязей.СвязываниетаблицД л я связывания таблиц Б Д нужно вызвать окно схемы данных. Примерный вид окна приведен на рис. 10.9.После открытия основного окна Б Д окно схемы базы данных можно вызвать по команде С е р в и с | С х е м а д а н н ы х ( T o o l s | R e l a t i o n s h i p s ) основногоменю или с помощью одноименной команды контекстного меню окна БД.Построение схемы данных состоит в добавлении в нее таблиц и установлении связей между таблицами. Добавление таблиц в схему данных обычнопроизводится с помощью соответствующей кнопки на панели инструментов.В случае совпадения имен и типов полей у нескольких таблиц схемы данныхи добавления в схему всех нужных таблиц, Access образует связи автоматически.Если образованные связи не устраивают пользователя, то их можно изменить.Если система Access построила не все нужные связи (в общем случае, имена связываемых полей могут не совпадать) или не строила их вовсе, то образовать новую связь легко.
Для этого достаточно в окне схемы данных по каждому связываемому полю таблицы выполнить следующее: выделить поле, принажатой левой кнопке мыши протащить указатель к полю связи другой таблицы и отпустить кнопку. При этом Access предлагает определить вид и параметры связи в соответствующем диалоговом окне (рис. 10.10).Часть 3. Современные292СУБД и ихприменениеСхема данныхишдмшмКодЗаказаКодКлиентаКодСотрудникДатаРазмещен»ДатаНазначениДатаИсполнениДоставкаКодЗаказаКодТовараЦенаКоличествоСкидкаТоварыООКодЮиенга жНазваниеОбращатьсяК""ДолжностьАдрес'IY1ГКодТшаКатегорияОписаниеИзображениеМаркаКодПоставщикаКодТипаЕдиницаИзмерениЦенаНаСкладеОжидается^vjСсггрцдшкйКодОпрудокаФамилия—'ИмяДолжность• |КодДоставкиНазваниеТелефонЛРис.
10.9. Окно схемы базы данныхEdit RelationshipsRelated Table/Query:Table/Query:ТлЫ-:код2^ | TabletyIК0Д1г Г Enforce Referential Integrity;—Create"3ICancelJoin Type.Create New..! Г Cascade Update Related Fields| Г Cascade [idete Related RecordsRelationship Type:One-To-ManyРис. 10.10. Окно определения вида и параметров связиКнопка О б ъ е д и н е н и е ( J o i n Т у р е ) в правой части окна позволяет установить свойства объединения записей двух таблиц — как участвуют в связи остальные записи таблиц. В появившемся после нажатия этой кнопки окне длявыбора предлагаются следующие варианты:10. СУБД Access 2002293• объединение записей, в которых связанные поля таблиц совпадают;• объединение всех записей из дополнительной таблицы и тех записей основной таблицы, в которых связанные поля совпадают;• объединение всех записей из основной таблицы и тех записей дополнительной таблицы, в которых связанные поля совпадают.Если установление связей производится для непустых таблиц, то Accessподвергает анализу всю имеющуюся информацию, и при наличии нарушений целостности сообщает об этом.Д л я изменения или удаления имеющихся связей достаточно в схеме данных подвести указатель мыши к нужной связи, выделить ее щелчком и нажать правую кнопку.
Появится контекстное меню, состоящее из двух пунктов, предлагающих соответственно изменить или удалить связь. При выборепервого пункта появляется окно, показанное па рис. 10.11. Удалить связь можно также, выделив ее мышью, а затем нажав клавишу < D e l > .Система Access при управлении связыванием таблиц отличается наглядностью отображения информации о связях (рис.
10.9). Надписи, стрелки иутолщения на стрелках связей характеризуют вид связи (1:1 или 1:М), видобъединения записей (стрелка указывается при объединении записей, в которых связанные поля совпадают), а также признак контроля целостности(утолщение окончаний связывающих линий).СозданиезапросовПеред созданием запроса нужно открыть базу данных, в которой он будетхраниться. После этого следует выбрать вкладку З а п р о с ы ( Q u e r i e s ) и нажатькнопку С о з д а т ь ( N e w ) . Начать создание запроса можно также, выбрав в пункте Вставка (Insert) главного меню Access подпункт З а п р о с ( Q u e r y ) . В результате появляется окно (рис.
10.11), в котором предлагается выбор варианта.Простой запросПерекрестный запросПовторяющиеся записиЗаписи без подчиненныхСоздание запроса безпомощи мастера.ОК.|ОтменаjРис. 10.11. Окно создания запросаЧасть 3. Современные СУБД и их применение294Возможны следующие варианты создания запроса:• вручную с помощью конструктора — К о н с т р у к т о р ( D e s i g n V i e w ) ;• автоматическое создание простого запроса на выборку — Простой запр о с (Simple Query Wizard);• автоматическое создание перекрестного запроса для компактного представления данных в виде сводной (перекрестной) таблицы — П е р е к р е с т н ы й запрос (Crosstab Query Wizard);• автоматическое создание запроса на поиск записей с повторяющимисязначениями полей — П о в т о р я ю щ и е с я з а п и с и ( F i n d D u p l i c a t e s Q u e r yWizard);• автоматическое создание запроса на поиск записей в одной таблице, которые не имеют подчиненных записей в другой таблице — З а п и с и б е зп о д ч и н е н н ы х (Find U n m a t c h e d Query Wizard).Создаваемые запросы основаны на полях таблиц и / и л и запросов из базыданных.
Все способы, кроме первого, реализуются с помощью Мастеров, упрощающих разработку запроса. Если созданный запрос не удовлетворяет требованиям, то можно воспользоваться Конструктором, либо создать заготовку запроса с помощью Мастера, которую затем п о д п р а в и т ь в режимеКонструктора.Рассмотрим режим К о н с т р у к т о р а как наиболее мощный и незаменимыйпри создании запросов, выходящих за рамки предлагаемых простейших вариантов.Вызов Конструктора запросов производится при создании запроса или открытии существующего запроса и переводе его в режим Конструктора. В первом случае перейти в режим Конструктора запросов можно в окне открытойБД из вкладки З а п р о с ы ( Q u e r i e s ) двумя способами: нажатием кнопки С о з д а т ь(New) и нажатием кнопки О К в появившемся окне (рис.
10.11), либо нажатиемкнопки К о н с т р у к т о р ( D e s i g n ) . Для перевода запроса в режим Конструкторадостаточно щелкнуть мышью по кнопке на панели инструментов. Заметим, чтопри вызове Конструктора в главном меню Access появляется дополнительныйпункт З а п р о с ( Q u e r y ) , который имеет подпункты, позволяющие выполнятьразличные операции в процессе создания запроса: выполнение запроса, добавление таблицы в модель запроса, изменение вида запроса и т. д.Составление запроса в режиме Конструктора в общем случае включает всебя определение следующего:• таблиц и полей таблиц;• вида запроса (выборка, добавление, удаление, перекрестный запрос, SQLзапрос);• условий отбора записей;• параметров отображения результатов выполнения запроса (показ полей,сортировка значений).10.
СУБД Access 2002295Все эти действия выполняются в запросной форме, которую можно отнести к форме запроса на языке QBE (подраздел 3.8). Запросная форма включает три основных элемента: заголовок (имя и тип запроса); область таблиц, ихполей и связей между таблицами; бланк запроса по образцу.Для указания таблиц, используемых в запросе, нужно поместить в запросную форму схемы этих таблиц или запросов и указать связи между ними.Включение объектов в запрос производится в окне Д о б а в л е н и е т а б л и ц ы( S h o w T a b l e ) , которое вызывается автоматически (при создании запроса) илипринудительно при работе с запросом путем нажатия кнопки панели инструментов.При создании запроса Access по умолчанию предоставляет заготовку запроса на выборку.
Изменить вид запроса можно с помощью пункта З а п р о с( Q u e r y ) основного меню системы, где возможные виды запросов (выборка,обновление, добавление, удаление, создание таблицы, перекрестный) перечислены как подпункты меню.Для создания запроса в виде инструкции языка SQL можно при наличиина экране запросной формы воспользоваться пунктом меню З а п р о с | З а п р о с S Q L ( Q u e r y | S Q L ) , в котором выбрать нужный вид SQL-запроса (на объединение, к серверу или управляющий). Подробнее об использовании языкаSQL в Microsoft Access речь идет в подразделе 10.6.Пример запроса на выборку из двух таблиц, связанных связью 1:1 по полям «поле 12» и «поле21» таблиц 1 и 2 соответственно, с отображением полей «поле11», «поле12» и «поле23» в результирующей таблице приведен нарис.