Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИТ / М 3 Офісні програмні системи / Тема 8. Бази даних / ІТ Зан_34 Т9 ПЗ_11 - Зв'язок таблиць в базі даних MS Access.doc
Скачиваний:
32
Добавлен:
19.02.2016
Размер:
637.44 Кб
Скачать

Задание № 1. Разработка инфологической модели бд

  1. Разработайте инфологическую модель БД «КОМПЬЮТЕРНЫЙ МАГАЗИН», включающую в себя четыре таблицы (сущности):

  • КОМПЬЮТЕРЫ(Код, Название, Дата, Стоимость);

  • КОМПЛЕКТУЮЩИЕ(Серийный номер, Наименование, Производитель);

  • МОДУЛИ ПАМЯТИ(Серийный номер, Тип, Объем, Дата изготовления, Гарантия);

  • СЕРВИСНЫЕ ЦЕНТРЫ(Название, Адрес).

Внимание!!!Подчеркнуты ключевые поля!

  1. Установите типы связей между этими таблицами.

  2. В программе MSАссessсоздайте структуры таблиц, используемых в БД (пока не заполняя их записями).

  3. Организуйте связи между таблицами.

  4. Сохраните созданную структуру БД.

Технология работы

1. Разработка инфологической модели БД:

  • на листе бумаги изобразите 4 прямоугольника и впишите в них названия заданных сущностей: КОМПЬЮТЕРЫ, КОМПЛЕКТУЮЩИЕ, МОДУЛИ ПАМЯТИ и СЕРВИСНЫЕ ЦЕНТРЫ. Это и будут таблицы, входящие в состав БД;

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

2. Установление связей между сущностями (таблицами):

  • проведите анализ введенных сущностей. Очевидно, можно установить следующие типы связей:

    • КОМПЬЮТЕРЫКОМПЛЕКТУЮЩИЕ связь «один-ко-многим» (1:М);

    • КОМПЛЕКТУЮЩИЕ МОДУЛИ ПАМЯТИ связь «один-к-одному» (1:1);

    • КОМПЬЮТЕРЫ СЕРВИСНЫЕ ЦЕНТРЫ связь «многие-ко-многим» (М:М);

  • для моделирования последней связи «многие-ко-многим» (М:М) следует ввести дополнительную сущность (таблицу) ОБСЛУЖИВАНИЕ(Код компьютера, Название сервисного центра, Дата ремонта), причем все три поля этой таблицы должны быть назначены ключевыми;

  • с учетом этих связей изобразите инфологическую модель (рис. 1.2).

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

  • создайте файл новой базы данных, присвоив ему имя computers.mdb, и сохранив его в папке Мои документы\ПЗ-10;

  • в окне созданной БД откройте окно Таблицы и с помощью конструктора создайте таблицы КОМПЬЮТЕРЫ, КОМПЛЕКТУЮЩИЕ, МОДУЛИ ПАМЯТИ, СЕРВИСНЫЕ ЦЕНТРЫ, ОБСЛУЖИВАНИЕ;

  • определите поля таблиц и их свойства в соответствии с табл. 1.1;

Таблица 1.1. Таблица характеристик полей таблиц БД «КОМПЬЮТЕРНЫЙ МАГАЗИН»

Имя поля

Тип данных

Свойства поля

Имя поля

Тип данных

Свойства поля

Компьютер

Комплектующие

Код

Числовой

Длинное целое

Ключевое поле

Серийный номер

Числовой

Длинное целое

Ключевое поле

Название

Текстовый

Размер поля - 30

Наименование

Текстовый

50

Дата

Дата/время

Краткий формат

Производитель

Текстовый

20

Стоимость

Денежный

Код компьютера

Числовой

Длинное целое

Модули памяти

Сервисные центры

Серийный номер

Числовой

Длинное целое

Ключевое поле

Название

Текстовый

Размер поля - 50

Ключевое поле

Тип

Текстовый

Размер поля - 10

Адрес

Текстовый

50

Емкость

Текстовый

Размер поля - 10

Обслуживание

Дата изготовления

Дата/время

Краткий формат

Код компьютера

Числовой

Длинное целое

Ключевое поле

Гарантия

Текстовый

Размер поля - 10

Название сервисного центра

Текстовый

Размер поля – 30

Ключевое поле

Дата ремонта

Дата/время

Краткий формат

Ключевое поле

  • обратите внимание на следующие моменты:

  • в таблицу КОМПЛЕКТУЮЩИЕ введено поле Код компьютера. Для чего это сделано?

Рассмотрим, к примеру, запрос: «Определить наименование комплектующих компьютера Athlon 2800». Название компьютера содержится в таблице КОМПЬЮТЕРЫ, а наименование комплектующих – в таблице КОМПЛЕКТУЮЩИЕ. Узнать, какая деталь какому компьютеру принадлежит, можно с помощью внешнего ключа Код компьютера таблицы КОМПЛЕКТУЮЩИЕ: если значение атрибута Код компьютера для определенной комплектующей детали равняется х, то эта деталь принадлежит компьютеру, которому в столбце Код таблицы КОМПЬЮТЕРЫ также отвечает значение х. Этот факт устанавливается с помощью связывания атрибута Код таблицы КОМПЬЮТЕРЫ с атрибутом Код компьютера таблицы КОМПЛЕКТУЮЩИЕ.

Кроме того, подобные связи накладывают ограничения на содержимое вводимых данных. Например, если между атрибутами Код и Код компьютера установить связь с обеспечением целостности, то СУБД не разрешит ввести в поле Код компьютера таблицы КОМПЛЕКТУЮЩИЕ значения, которого нет в поле Код таблицы КОМПЬЮТЕРЫ;

  • в таблице Обслуживание все поля являются ключевыми (эта таблица моделирует связь типа «многие-ко-многим» между таблицами КОМПЬЮТЕРЫ и КОМПЛЕКТУЮЩИЕ). Назначая нескольким полям одно и тоже свойство ключевого поля, следует выделить эти поля протягиванием мышью при нажатой левой кнопке по ячейкам слева от поля Имя поля, а затем нажать кнопку Ключевое поле на панели инструментов (рис. 1.3);

  • после создания структуры каждой таблицы не забудьте ее сохранить, присваивая при этом соответствующие имена: КОМПЬЮТЕРЫ, КОМПЛЕКТУЮЩИЕ, МОДУЛИ ПАМЯТИ, СЕРВИСНЫЕ ЦЕНТРЫ, ОБСЛУЖИВАНИЕ.

4. Организация связей между таблицами:

  • перейдите в окно базы данных и щелкните на кнопкеСхема данных () панели инструментов или выполните команды менюСервис Схема данных;

  • в открывшемся диалоге Добавление таблицы (рис. 1.4) на вкладе Таблицы выберите щелчками мыши при нажатой клавише CTRL все созданные таблицы БД и нажмите кнопку Добавить. После выбора таблиц они отобразятся в появившемся окне Схема данных (рис. 1.5). Обратите внимание, ключевые поля выделены полужирным шрифтом;

  • с помощью перетягивания мышью расставьте таблицы в окне Схема данных как удобно, подберите размеры таблиц так, чтобы полностью отображались названия полей;

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

  • изображение любой таблицы в окнеСхема данных имеет контекстное меню (рис. 1.6) (открывается щелчком правой кнопкой мыши по изображению таблицы), с помощью которого можно, в частности, удалить таблицу со схемы командой Скрыть таблицу;

  • всозданной схеме данных необходимо создать три связи типа «один-ко-многим»: КОМПЬЮТЕРЫ–КОМПЛЕКТУЮЩИЕ; КОМПЬЮТЕРЫ-ОБСЛУЖИВАНИЕ, СЕРВИСНЫЕ ЦЕНТРЫ-ОБСЛУЖИВАНИЕ и одну связь типа «один-к-одному»: КОМПЛЕКТУЮЩИЕ-МОДУЛИ ПАМЯТИ. Для создания связи между двумя таблицами выделите ключевые поля главной таблицы и, удерживая нажатой левую кнопку мыши, перетяните их на внешний ключ подчиненной таблицы. Например, для создания связи КОМПЬЮТЕРЫ-КОМПЛЕКТУЮЩИЕ нужно атрибут Код таблицы КОМПЬЮТЕРЫ перетянуть на атрибут Код компьютера таблицы КОМПЛЕКТУЮЩИЕ. Перетянув поле, отпустите левую кнопку мыши, после чего откроется диалоговое окно Изменение связей (рис. 1.7).

В этом окне можно самостоятельно выбрать атрибуты, по значениям которых будет устанавливаться связь между главной и подчиненной таблицами. Поля главной таблицы выбираются на панели Таблица/запрос, а поля подчиненной таблицы – в панели Связанная таблица/запрос. Если ключ состоит из одного атрибута и его правильно перетянуть мышью, то необходимые поля в этих панелях будут выведены автоматически.

Ниже панелей в данном диалоге включаются/выключаются флажки:

  • Обеспечение целостности данных – указывает СУБД на то, что необходимо следить за соблюдением сопоставленного со связью ограничения целостности. Например, включение этого флажка для связи КОМПЬЮТЕРЫ-КОМПЛЕКТУЮЩИЕ приведет, к тому, что СУБД не разрешит ввести в поле Код компьютера таблицы КОМПЛЕКТУЮЩИЕ значения, которого нет в поле Код таблицы КОМПЬЮТЕРЫ;

  • каскадное обновление связанных полей и каскадное удаление связанных полей – включение этих флажков приведет к тому, что СУБД будет поддерживать правила обновления данных в связанных таблицах. Например, если для связи КОМПЬЮТЕРЫ-КОМПЛЕКТУЮЩИЕ установить эти флажки, то удаление записи из таблицы КОМПЬЮТЕРЫ приведет к удалению всех связанных записей из таблицы КОМПЛЕКТУЮЩИЕ, а изменение кода определенного компьютера, сделанное в таблице КОМПЬЮТЕРЫ, приведет к такому же изменению значений поля Код компьютера для всех его комплектующих;

  • установите в окне Изменение связей все три флажка и щелкните на кнопке Создать. В окне Схема данных отобразится связь между таблицами КОМПЬЮТЕРЫ и КОМПЛЕКТУЮЩИЕ. Возле окончаний связи выводят их множественности: 1 («один») и  («много») (если флажок Обеспечение целостности данных не включен, множественности не отображаются);

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

  • для изменения или удаления какой-либо связи следует щелкнуть по ней правой кнопкой мыши и выбрать в контекстном меню команду Изменить связь или Удалить;

  • после того, как схема данных будет построена, нажмите кнопку Закрыть в правом верхнем углу окна и в появившемся диалоге подтвердите необходимость сохранения схемы.

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