Разработали структуру БД на основе диаграммы «объект-отношение». 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработали структуру БД на основе диаграммы «объект-отношение».



1 Выделяются правильные объекты. Каждому правильному объекту ставится в соответствие базовое отношение. Для каждого базового отношения определяется первичный ключ.

Машина – Машина (Рег номер#)

Ремонт – Ремонт (Код услуги#)

Запчасть – Запчасть (Артикул#)

Техобслуживание – Техобслуживание (№ техобс#)

2 Выделяются смысловые отношения многие — ко - многим, каждому такому смысловому отношению ставится в соответствие базовое отношение.

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

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

Используются – Используются (Артикул#, Код услуги#)

PRIMARY KEY (Артикул#, Код услуги#)

FOREIGN KEY (Артикул#) REFERENCES Запчасть

ON DELETE NO ACTION

ON UPDATE CASCADE

FOREIGN KEY (Код услуги#) REFERENCES Ремонт

ON DELETE NO ACTION

ON UPDATE CASCADE.

___________________________________________________

Поступает – Поступает (Рег номер#, Код услуги#)

PRIMARY KEY (Рег номер#, Код услуги#)

FOREIGN KEY (Рег номер#) REFERENCES Машина

ON DELETE NO ACTION

ON UPDATE CASCADE

FOREIGN KEY (Код услуги#) REFERENCES Ремонт

ON DELETE NO ACTION

ON UPDATE CASCADE

3 Выделяются отношения типа многие - к - одному, в которых участвуют только правильные объекты. Новые базовые отношения не создаются, работа осуществляется с таблицей, отвечающей за сторону многие, в неё добавляется внешний ключ для связи с таблицей, отвечающей за сторону один.

В качестве внешнего ключа используется первичный ключ со стороны один, определяются правила внешнего ключа.


Проходит – Техосблуживание (№ техобс#, Рег номер#)

PRIMARY KEY (№ техобс#)

FOREIGN KEY (Рег номер#) REFERENCES Машина

ON DELETE NO ACTION

ON UPDATE CASCADE

4 Выделяются отношения типа многие — к - одному, в которых участвуют слабые объекты. Создаётся базовое отношение для слабого объекта и определяется для него первичный ключ.

На сторону многие для слабого объекта добавляется внешний ключ для связи со стороной один.

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

ON DELETE CASCADE

ON UPDATE CASCADE

В данной работе слабых объектов нет.

5 Для каждого не ключевого свойства на диаграмме «объект-отношение» ставим не ключевые атрибуты базового отношения.

Машина (Рег номер#, Владелец, Марка, Цвет)

Ремонт (Код услуги#, Вид работы, Стоимость)

Запчасть (Артикул#, Наименование, Цена)

Техобслуживание (№ техобс#, Рег номер#, Дата, Вид работы)

Используются (Код услуги#, Артикул#, Дата, Количество)

Поступает (Код услуги#, Рег номер#, Дата)


3 Функциональные зависимости и
нормализация отношений

Функциональные зависимости (ФЗ) играют роль частных ограничений целостности. Но серьезно осложняют работу конечного пользователя ФЗ между неключевыми атрибутами, т.к. они увеличивают количество правил, которые должен выполнять конечный пользователь при вводе данных в таблицу. ФЗ от первичного ключа объективно необходимы, потому что они обеспечивают возможность поиска информации в таблицах.

Если одному значению атрибута X соответствует одно и только одно значение атрибута Y, причем оба атрибута X и Y принадлежат отношению R ({X,Y} Î R), то говорят, что атрибут X функционально определяет атрибут Y, или что в отношении R имеется функциональная зависимость Y (X®Y).

Левая часть ФЗ называется детерминантом, правая часть - зависимой частью.

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

Для выполнения нормализации отношений построили диаграммы ФЗ для всех отношений (Рисунок 1-6).

Отношения находятся в некоторой нормальной форме, если они удовлетворяют заданному набору условий.

Отношение находится в 1НФ тогда и только тогда, когда оно содержит только скалярные значения.

Все представленные отношения находятся в 1НФ, т.к. все используемые домены содержат только скалярные значения.

 


 
 

Рисунок 1 – Диаграмма функциональной зависимости отношения Машина

 
 


Рисунок 2 – Диаграмма функциональной зависимости отношения Ремонт

 
 

Рисунок 3 – Диаграмма функциональной зависимости отношения Запчасть

 

 
 

Рисунок 4 – Диаграмма функциональной зависимости отношения Техобслуживание

 
 

Рисунок 5 – Диаграмма функциональной зависимости отношения Используются

Рисунок 6 – Диаграмма функциональной зависимости отношения
 
 

Поступает

Отношение находится во 2НФ, тогда и только тогда, когда оно находится в 1НФ и в нем отсутствуют приводимые значения.

Все представленные отношения находятся во 2НФ, т.к. нет приводимых зависимостей.

Отношение находится в ЗНФ тогда и только тогда, когда оно находится в 2НФ и каждый его неключевой атрибут функционально зависит только от первичного ключа.

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

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



Поделиться:


Последнее изменение этой страницы: 2017-02-16; просмотров: 54; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.27.211 (0.01 с.)