Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Преобразование ER-модели в реляционную модель.




Введение

 

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

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

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

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

Задачи:

¾ проанализировать и исследовать предметную область «Магазин по продаже компьютерных комплектующих»

¾ построить ER и реляционную модель данных

¾ разработать сценарий таблиц для реализации его в MS SQL Server

¾ заполнить таблицы

¾ создать запросы

¾ создать представления

¾ создать хранимые процедуры

¾ создать курсоры

¾ создать триггеры


Изучение предметной области «Магазин по продаже компьютерных комплектующих»

Описание предметной области «Магазин по продаже компьютерных комплектующих»

запрос реляционный компьютерный

Задачей курсовой работы является, приобретение практических навыков по формулированию требований к разрабатываемым базам данных и построению их моделей.

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

Система должна выводить информацию о:

¾ Цене проданного товара

¾ Цене товара у различных поставщиков

¾ Наличии товара, на каком либо складе

¾ Сотруднике который, обслуживал определенный заказ

¾ Перечини товара в заказе

Исходные данные о магазине: Заказчик приходит либо звонит в магазин для того чтобы оформить заказ. Сотрудник из отдела по продажам оформляет заказ. Сотрудник из отдела по сборке заказа собирает заказ на основе состава заказа предоставляемым сотрудником из от отдела по продажам. Заказ доставляется сотрудником из отдела по доставкам. Товар храниться на различных складах.

Правило построение ER и реляционной модели данных

 

Для «ручного» построения ER-модели на практике будем использовать простую систему обозначений, предложенную Питером Ченом.

Первичный ключ может состоять из нескольких атрибутов, тогда подчеркивается каждый из них. Объект и его атрибуты соединяются ненаправленными дугами. Ромб связи и прямоугольник объекта соединяются ненаправленными дугами в сторону «ко многим» и направленными в сторону «к одному». Связь может соединять сущность саму с собой. Если связь соединяет две сущности, она называется бинарной. Связь может соединять более двух сущностей, например, связь, соединяющая три сущности, называется тернарной.

Иногда используют также понятие «слабая сущность». Это сущность, которая не может быть однозначно идентифицирована с помощью собственных атрибутов, а только через связь с другой сущностью.

Иногда для более удобной классификации используются так называемые подтипы сущностей. Ихобозначают с помощью треугольника с надписью «есть» (т.е., «является»). Пусть, например, среди контрагентов могут быть как физические, так и юридические лица. Поскольку они имеют разные атрибуты, то удобно создать для них подтипы:

Преобразование ER-модели в реляционную модель.

1) Преобразование сущностей

1. Преобразование обычной сущности

Обычная сущность преобразуется в отдельную таблицу, полями таблицы будут все атрибуты сущности:

Сущность (Ключ, Атрибут1, Атрибут2)

2. Преобразование слабой сущности                      

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

Ключевые поля всех родительских таблиц войдут в ключ дочерней таблицы.

Для дочерней таблицы они будут называться внешними ключами.

Сущность1 (Ключ1, Ключ2, Атрибут1, Атрибут2)

3. Преобразование подтипов сущностей.

1 способ. Создается одна таблица, в которую помещают все атрибуты. Для того, чтобы указать, к какому подтипу относится объект, приходится вводить дополнительное поле-признак.

Сущность1 (Ключ, Атрибут1, Атрибут2, Атрибут3, Атрибут4, Атрибут4, Признак)

Недостатком этого способа является то, что в таблице остается много незаполненных полей: для объекта подтипа 1 атрибуты 4 и 5, а для объекта подтипа 2 - атрибуты 2 и 3 останутся пустыми.

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

Подтип1 (Ключ, Атрибут1, Атрибут2, Атрибут3)

Подтип2 (Ключ, Атрибут1, Атрибут4, Атрибут5)

Недостатком этого подхода является то, что подтипы теперь никак не связаны друг с другом.

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

Сущность1 (Ключ, Атрибут1)

Подтип1 (Ключ, Атрибут2, Атрибут3)

Подтип2 (Ключ, Атрибут4, Атрибут5)

Недостатком этого подхода является то, что информация о каждом объекте теперь раскидана по двум таблицам.

) Преобразование связей

4. Связь М:М

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

Сущ1Сущ2 (Ключ1, Ключ2, Атрибут1).

5. Связь 1:М               

1 способ. Точно так же, как и в случае М:М, создается новая таблица, содержащая ключевые поля каждой сущности, участвующей в связи. В названии обычно отражают, какие именно сущности связываются, или называют новую таблицу именем связи.

Ключом будет ключ второй сущности.

(Этот способ предпочтительнее использовать в том случае, если связь не является «ровно к одному», то есть не все экземпляры сущностей участвуют в связи.)

Сущ1Сущ2 (Ключ1, Ключ2).

способ. Новая таблица не создается, а в таблицу дочерней сущности добавляют ключевые поля родительской сущности (в ключ дочерней сущности они входить не будут!). Ключевые поля родительской сущности представляют собой внешний ключ (foreign key) для дочерней сущности.

( Этот способ предпочтительнее использовать в том случае, если связь является связью «ровно к одному», то есть все экземпляры сущностей участвуют в связи. В этом случае поле внешнего ключа никогда не будет пустым. )

Таблица дочерней сущности: Сущность2 (Ключ2, Атрибут1, Ключ1).

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

Ключом будет ключ любой сущности.

(Этот способ предпочтительнее использовать в том случае, если связь не является «ровно к одному», то есть не все экземпляры сущностей участвуют в связи.)

Сущ1Сущ2 (Ключ1, Ключ2) или Сущ1Сущ2 (Ключ1, Ключ2).

способ. Точно так же, как и во 2 случае 1:М, новая таблица не создается, а в таблицу одной из сущностей (будем считать ее дочерней) добавляют ключевые поля другой сущности (будем считать ее родительской).

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

Таблица дочерней сущности: Сущность1 (Ключ1, Атрибут1, Ключ2),

или Сущность2 (Ключ2, Атрибут2, Ключ1).

способ. Две таблицы для сущностей, связанных 1:1, объединяются в одну. Ключом новой таблицы может быть комбинация ключей обеих таблиц. Если хотя бы в одном направлении связь «ровно к одному», то ключ этой сущности можно считать ключом объединенной таблицы.

Таблицы Сущность1 (Ключ1, Атрибут1) и

Сущность2 (Ключ2, Атрибут2)

заменяются на

Сущ1Сущ2 (Ключ1, Атрибут1, Ключ2, Атрибут2)

[или, возможно, Сущ1Сущ2 (Ключ1, Атрибут1, Ключ2, Атрибут2),

или Сущ1Сущ2 (Ключ1, Атрибут1, Ключ2, Атрибут2)].

Примечание 1:

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

Рассмотрим связь 1:M, способ 2. Переименован внешний ключ.

Сущность1 (Ключ1, Атрибут1, ЕщеОдинКлюч1 ).

Примечание 2:

Для связей с арностью более 2 обычно применяется тот же способ, что и для бинарной связи M:M - создается новая таблица, содержащая ключевые поля всех связанных таблиц.

Сущ1Сущ2Сущ3 (Ключ1, Ключ2, Ключ3).


 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...