Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование учебной БД.doc
Скачиваний:
26
Добавлен:
15.03.2015
Размер:
2.57 Mб
Скачать

Создание структуры бд в среде субд access

Важно! Описание примеров реализации проекта ориентировано на использование СУБД ACCESS 2003. При разработке учебных базы данных и приложения в среде СУБД ACCESS 2007 студенту предлагается самостоятельно разобраться в отличиях панелей инструментов обеих версий.

Полученная модель данных отражает состав и взаимосвязь данных, хранимых в базе. Система управления данными позволяет запомнить модель и в дальнейшем использует ее для обеспечения правильного хранения и использования данных. Например, не позволяет ввести данные о заказе для клиента, сведений о котором нет в таблице «Клиенты». Размещение модели данных в среде СУБД ACCESS состоит из двух этапов:

  • Создание структур таблиц;

  • Объединение структур таблиц в единую схему.

Создание структуры таблиц

Структура каждой таблицы в СУБД ACCESS создается на основе структур таблиц модели. Рассмотрим пример создания структуры таблицы «ЗАКАЗ». Для этого в окне базы данных необходимо открыть вкладку «Таблицы» и выбрать позицию «Создание таблицы в режиме конструктора».

В результате появится окно конструктора таблиц. В нем необходимо ввести имена полей таблицы «ЗАКАЗ» и задать типы данных: у первых двух это будет «Числовой», а у последующих «Дата/время». Причем для числовых полей этой таблицы в свойствах поля необходимо выбрать размер поля «Целое». Необходимо отметить, что типы и размеры одинаковых полей во всех таблицах модели должны быть одними и теми же.

Далее следует установить ключ таблицы, выделив поле «Номер заказа» и нажав кнопку в панели инструментов. Для полей «Дата заказа» и «Дата поставки» рекомендуется установить маску ввода. Маска ввода позволяет удобно вводить такие структурированные данные как даты, время, номера телефонов. Для указанных полей лучше выбрать формат поля и маску ввода «Краткий формат даты».

При выборе маски ввода ( кнопка ) появится окно требующее сохранить таблицу. После подтверждения появится окно следующего вида, где нужно указать имя сохраняемой таблицы и нажатьОК.

Такое же окно появляется после создания структуры каждой таблицы. Поскольку в данном случае создается маска ввода, то после сохранения таблицы с заданным именем, появится последовательность окон, в которых надо нажимать кнопку «Далее >» и «Готово»:

В следующем окне нажать «Готово».

Создав маски ввода для обоих полей нужно закрыть окно конструктора. А на появившееся сообщение

ответить «Да».

Таким же образом создать структуры остальных таблиц. При создании таблиц СПЕЦИФИКАЦИЯ и ОПЛАТА необходимо помнить, что ключ состоит из двух полей. Чтобы создать такой ключ, надо курсором выделить эти два поля и нажать кнопку .

Объединение структур таблиц в единую схему

Создание схемы базы данных начинается с нажатия кнопки на панели инструментов. Вместе с появлением пустого окна схемы данных появляется окно выбора таблиц, которые необходимо включить в схему:

Выбрав по очереди каждую из таблиц и нажимая кнопку «Добавить» получим заготовку схемы.

Теперь необходимо установить связи между таблицами. Для этого необходимо удобнее разместить таблицы на схеме и перемещением курсора при нажатой левой клавише мыши соединить соответствующие поля таблиц. В качестве примера, рассмотрим установление связи таблицы «Клиенты» с таблицей «Заказ» по полю «Код клиента». После установления связи мышкой, появится окно определения параметров связи.

Здесь указано между какими полями каких таблиц устанавливается связь. Автоматически определяется тип связи «один-ко-многим». Принцип определения типа связи следующий: со стороны таблицы «Клиенты» поле «Код клиента» является ключом, то есть его значения не повторяются; со стороны таблицы «Заказ» это простое поле, и его значения могут повторяться. Это означает, что каждому значению поля «Код клиента» таблицы «Клиенты» может соответствовать несколько строк в таблице «Заказ», что соответствует понятию связи «один-ко-многим». Далее необходимо включить обеспечение целостности данных этой связи. Под целостностью данных понимается поддержание соответствия данных в связываемых полях таблиц. Соответствие данных полей означает, что в поле таблицы на стороне «много» » связи не должно появляться значений отсутствующих на стороне «один. Если включено «Обеспечение целостности данных», то СУБД Access не позволит ввести в таблицу «Заказ» данные с кодом клиента отсутствующие в таблице «Клиенты». Если включено «Каскадное обновление связанных полей», то любые изменения в связанных полях на стороне «один», проводимые в одной таблице, автоматически выполняются и в другой. Так, если будет изменен код клиента в таблице «Клиенты», он должен измениться и во всех строках таблицы «Заказ». Иначе нарушится целостность данных в связанных таблицах. То же касается и удаления кода клиенты из таблицы «Клиенты». Действительно, если удалить какой либо код клиента из таблицы «Клиенты», оставив соответствующие записи в таблице «Заказ», то они лишатся смысла, так как будет неизвестно, к какому клиенту они относятся. Поэтому в окне установки связи необходимо «Каскадное удаление связанных полей». Однако необходимо помнить, что включение каскадного удаления в данном случае может привести к удалению всех заказов для данного клиента. Если же снять галочку каскадного удаления, то СУБД просто не даст удалить клиента, для которого в таблице «Заказ» существуют заказы. Нажатие кнопки «Создать» приведёт к созданию соответствующей связи между таблицами. В результате создания всех связей модели подобным образом схема должна принять следующий вид.