Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. - Базы данных. Учебник для высших учебных заведений (6-е изд.) - 2009 (960530), страница 61
Текст из файла (страница 61)
10.1),а также нажатием кнопки Открыть базу данных (Open An Existing Database)панели инструментов или по команде меню Ф а й л | Открыть (File | Open).В открытой БД следует выбрать вкладку Таблицы (Tables) и нажать кнопку Создать (New). Начать создание таблицы можно также путем выбора в10. СУБД Access 2002289пункте В с т а в к а ( I n s e r t ) главного меню Access подпункта Т а б л и ц а ( T a b l e s ) .В результате появляется окно, показанное на рис. 10.6.Новая таблица•явпввяящвввяквпКонструкторМастер таблицИмпорт таблицСвязь с таблицамиСоздание новой таблицы врежиме таблицы.0КJв™ена 1Р и с .
10.6. О к н о с о з д а н и я т а б л и цКак следует из содержимого окна, возможны следующие пять вариантовсоздания таблиц:• путем ввода данных в пустую таблицу, при сохранении данных в которой Access анализирует данные и автоматически присваивает соответствующий тип данных и формат каждому полю — Режим таблицы{Datasheet View);• с помощью Конструктора — Конструктор (Design View);• с помощью Мастера — Мастер таблиц (Table Wizard);• из импортируемых таблиц — Импорт таблиц (Import Tables);• путем создания таблиц, связанных с таблицами, находящимися во внешнем файле — Связь с таблицами (Link Tables).Новые таблицы путем импортирования создаются пустыми или с данными.
Это определяется параметрами (кнопка Параметры (Options)) в окнеИмпорт объектов (Import Objects), которое появляется при выборе исходнойБД. При создании таблиц в режиме Связь с таблицами в окне БД появляютсятаблицы, которые находятся в другой базе данных. Фактически такие таблицы становятся разделяемым ресурсом, и их содержимое может изменяться издвух баз данных.Независимо от способа создания изменение структуры таблицы можновыполнить в режиме Конструктор, предоставляющем наиболее гибкие и мощные возможности по определению параметров создаваемой таблицы.Для перехода в режим Конструктор достаточно выделить вторую строкуобласти выбора окна (рис. 10.6) и щелкнуть на кнопке ОК. Появится окно10 Зак.
541Часть 3. Современные290СУБД и ихприменение(рис. 10.7), предназначенное для ввода характеристик создаваемых полей, вцентре которого находится специальная форма (табличного вида) описанияполей. Каждому полю в этой форме соответствует одна запись.вип-mы-»Таблица! : таблицаИмя поляI1Тип данных|Описание1Свойства поляОбщиеj Подстановка )Имя поляможетсостоять из64символов сучетомпробелов.Длясправки поименамполейнажмитеклавишч F1.Рис.
10.7. Окно описания полей таблицыИмена полей вводятся в первой колонке, типы полей — во второй колонке, а необязательные комментарии — в третьей. Среди всего многообразиятипов полей особый интерес представляет сравнительно недавно появившийся в современных С У Б Д новый тип полей — гиперссылки. Более подробноэтот тип поля рассмотрен в подразделе 10.5.
При желании воспользоватьсяготовыми структурами таблиц можно прибегнуть к помощи Построителя таблиц, вызываемого при нажатии на кнопку панели инструментов. При этомпоявляется окно (рис. 10.8), позволяющее выбрать готовые описания полей.61 Построитель полей0КВыберите требуемый образец таблицы, а затемсоответствующий образец поля.Образцы таблиц:ШЯШКонтактыКлиенты1Согруцники1Т riR^nKI?(*Деловое применениеСЛичное применениеОбразцы полей:КоаСпискаРассылкиПрефиксИмяОтчествоФамилияСуФФиксПрозвищеТитулИмяОрганизацииЩРис. 10.8.
Окно Построителя полейОтмена10. СУБД Access 2002291При описании структуры таблицы следует обратить внимание на свойствополей, называемое Индексированное поле {Indexed). Оно может приниматьследующие значения: Нет {No) — не индексированное, Д а ( Д о п у с к а ю т с я совпадения) {Yes {Duplicates OK)) и Да {Совпадения не допускаются) {Yes {NoDuplicates)).
Индексация поля в системе Access еще не означает, что поле является ключевым. Чтобы сделать поле ключевым, нужно сначала задать свойства поля (полноценно ключевым оно станет только при индексации этогополя, не допускающей совпадения), затем выделить строку описания поля инажать кнопку на панели инструментов.Считается нормой, когда таблица имеет хотя бы одно ключевое поле. Поэтому при завершении создания таблицы (например, выбором пункта менюФ а й л | С о х р а н и т ь ( 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).Создаваемые запросы основаны на полях таблиц и / и л и запросов из базыданных.
Все способы, кроме первого, реализуются с помощью Мастеров, упрощающих разработку запроса. Если созданный запрос не удовлетворяет требованиям, то можно воспользоваться Конструктором, либо создать заготовку запроса с помощью Мастера, которую затем п о д п р а в и т ь в режимеКонструктора.Рассмотрим режим К о н с т р у к т о р а как наиболее мощный и незаменимыйпри создании запросов, выходящих за рамки предлагаемых простейших вариантов.Вызов Конструктора запросов производится при создании запроса или открытии существующего запроса и переводе его в режим Конструктора.