Продолжение работы № 12. Структурирование данных. Создание связей между таблицами
Цель работы: научиться разрабатывать ER и реляционную модели по заданному описанию предметной области, а также создавать и редактировать связи между таблицами БД. Разработать БД Техника согласно следующему описанию предметной области.
Описание предметной области. Магазин занимается продажей бытовой техники. Бытовые приборы выпускаются несколькими фирмами-изготовителями. Каждая из фирм выпускает несколько приборов. Фирмы расположены в разных странах. На территории одной страны могут располагаться несколько фирм. В каждой из фирм имеется штат менеджеров, осуществляющих продажу продукции.
При разработке БД требуется отразить следующую информацию: для приборов - номер, название, год выпуска, изготовитель, цена, вес; у фирм-изготовителей - код, название, местоположение (страна), адрес; для стран – код и название; для менеджеров – табельный номер, фамилия, имя, контактный телефон, место работы (фирма).
Разработать ER модель. Выделить следующие сущности: Приборы, Фирмы, Страны и Менеджеры. Задать их атрибуты. У каждой сущности определить ключевой атрибут. Установить связи. Обосновать типы связей и их обязательность. Какие сущности будут основными? Какие подчиненными?
Разработать реляционную модель БД. Какие поля будут полями внешнего ключа? Зачем они нужны? Показать ER и реляционную модели преподавателю.
Создать новую базу данных Техника. Создать таблицы новой базы данных согласно своей реляционной модели. Характеристики полей задать самостоятельно, исходя из ожидаемых данных (например, цена прибора – денежный, название страны – текстовый; для ключевых полей тип данных желательно задать счетчик).
Создание связей между полями таблиц.
Установить связи между таблицами согласно разработанной в п.2 реляционной модели. Перед созданием связей закрыть все таблицы! В меню Работа с базами данных выбрать Схема данных. В диалоговом окне Добавление таблицы отметить все четыре таблицы и нажать кнопку Добавить. Закрыть окно Добавление таблицы.
В окне Схема данных установить связь между соответствующими полями таблиц Фирмы и Приборы. Для этого щелкнуть мышью по полю Код фирмы таблицы Фирмы и, удерживая ее, перетащить указатель мыши на поле Код фирмы таблицы Приборы. На экране появится диалоговое окно Связи. В левой части этого окна указано связываемое поле родительской таблицы, а в правой – дочерней. Поставить флажки на пунктах Обеспечение целостности данных и Каскадное обновление, нажать Создать. В окне Схемы данных появится линия связи между таблицами Фирмы и Приборы. Следует обратить внимание, что на одном конце линии связи стоит знак 1, а на другом . Этот тип связи называется «один-ко-многим». Связь с отношением «один-ко-многим» является наиболее часто используемым типом связи между таблицами. В такой связи каждой записи в таблице Фирмы могут соответствовать несколько записей в таблице Приборы, а запись в таблице Приборы не может иметь более одной соответствующей ей записи в таблице Фирмы.
Аналогичным образом установить связи между остальными полями таблиц. Сохранить базу данных Техника. Показать результат работы преподавателю. Закрыть базу данных.
Задания для самостоятельной работы.
Продуктовый магазин имеет 4 отдела: хлебный, молочный, винный и кондитерский. В каждом из них работают по несколько продавцов. Магазин торгует продуктами, которые закреплены за отделами. Разработать ER и даталогическую модели. Атрибуты сущностей придумать самостоятельно.
В детском саду есть несколько групп. В каждой из групп есть по два воспитателя и одна нянечка. Кроме того, имеется бухгалтерия и педагогический состав (логопед, психолог и т.п.). Разработать ER и даталогическую модели.
Парикмахерский салон обслуживает клиентов, которые фиксируются в БД (фамилия, имя, телефон). В салоне расположены массажный кабинет, маникюр и зал стрижки. В каждом работает по несколько специалистов. При посещении салона клиента записывают к определенному специалисту. Каждый клиент может посещать разных специалистов. В свою очередь, на каждого специалиста приходится по несколько клиентов. При каждом посещении фиксируется размер произведенной оплаты. Разработать ER и даталогическую модели.