Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

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

Рациональные варианты группировки должны отвечать требованиям:

1) Выбранные в отношении первичные ключи должны содержать минимальное число элементов.

2) Выбранный состав отношений базы должен обладать минимальной избыточностью атрибутов.

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

4) Должна быть минимальная перестройка набора отношений при введении новых типов данных.

5) Разброс времени ответа на различные запросы к базе данных должен быть небольшим.

 

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

Поставки (название поставки, адрес поставщика для любого товара, товар, количество, цена)

 

1) Аномалия модификации заключается в том, что если у поставщика изменяется адрес, то необходимо заменить это данное во всех кортежах, где оно есть.

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

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

3) Аномалия включения – возникает в случае, когда с поставщиком только что заключили договор, но еще нет поставки, нельзя включить в базу.

 

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

В отношении ключи возможные и первичные. Если некоторый атрибут Аi входит в состав первичного ключа, он называется первичным (остальные атрибуты – непервичные).

 

Исчисление отношений

В реляционном исчислении главным средством описания новых отношений исходной структуры является символическое обозначение вида А(х1.y1, x2.y2, …..)В. Оно означает отношение с именем А, полученное в результате проекции кортежей, удовлетворяющих булевскому выражению В, на домены х.у, где хi - имя отношения (исходной структуры), yi – имя домена из этого отношения. Различают квантор существования $ и квантор всеобщности ".

Двоеточие: – «такой, что»

Пример: выражение

А (К.ФИО, К.зарплата): К.цех = 3 зарплата __1500 задает таблицу (отношение) с именем А с двумя доменами из отношения К (кадры). Первый домен содержит фамилии, имена и отчества рабочих, второй – размер месячной заработной платы. В отношение А включаются только рабочие третьего цеха с размером зарплаты больше 1500 руб.

 

Вторая и третья нормальные формы.

Если в отношении какой-либо атрибут или группа атрибутов Х полностью определяют другой атрибут (или группу атрибутов) Y, то Y функционально зависит от Х. (" Х соответствует лишь одно значение Y). Атрибут (группа атрибутов) называется полно зависимыми от группы атрибутов Х, если Y функционально зависит только от всего множества Х, а не от какого-либо его собственного подмножества.

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

Атрибут, входящий в состав какого-либо возможного ключа, называется основным (первичным).

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

Если любой такой ключ является простым ключом и Х не зависит функционально от Y или Y – от Z, имеет место неполная транзитивная зависимость Z от Х.

Преобразование 2НФ в третью форму (3НФ) состоит в расщеплении отношения R на два

 

a) СТАТ и ГОРОД не функционально полно зависят от первичного ключа

b) СТАТ и ГОРОД не являются взаимно независимыми.

Отношение ПЕРВОЕ содержит аномалии:

- включение (не можем включить поставщика, пока не поставляет детали. Нет поставщика n5 из Афин)

- удаление (с удалением кортежа о поставке удаляем информацию о поставщике)

- обновление (значение ГОРОД повторяется многократно).

Заменим отношение ПЕРВОЕ двумя отношениями: ВТОРОЕ и ПОСТАВКА

 

П # СТАТ ГОРОД
n1   Лондон
n2   Париж
n3   Париж
n4   Лондон
n5   Афины

ВТОРОЕ

 

 

ПОСТАВКА

 

П # Д# КОЛ
     
     
     

 

Отношение ВТОРОЕ и ПОСТАВКА находятся во второй нормальной форме (2НФ).

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

Преобразования из 1НФ во 2НФ состоит в замене отношения соответствующими проекциями.

ВТОРОЕ = П1,2, 3 (ПЕРВОЕ)

ПОСАВКА = П1,4,5(ПЕРВОЕ)

ПЕРВОЕ = ВТОРОЕ > < ПОСТАВКА

1=1

Отношение в 1НФ, которое не находится во 2НФ, должно иметь составной первичный ключ. В отношении ВТОРОЕ отсутствует взаимная независимость между неключевыми атрибутами.

П# ®ГОРОД ГОРОД®СТАТ

Зависимость СТАТ от П# является транзитивной.

П# ®ГОРОД ГОРОД ®СТАТ

 

Заменим отношение ВТОРОЕ двумя проекциями

ПГ П# ГОРОД ГС ГОРОД СТАТ
  n1 Лондон   Афины  
  n2 Париж   Лондон  
  n3 Париж   Париж  
  n4 Лондон      
  n5 Афины      

 

Устраняется транзитивная зависимость.

Оба отношения находятся в 3НФ.

 

 


26. ЯЗЫК ЗАПРОСОВ SQL

 

В конце 80-х годов произошел стремительный взлет популярности СУБД одного конкретного типа системы управления реляционными базами данных. С тех пор реляционная база данных (РБД) стала единственным стандартным типом базы данных. Данные в РБД хранятся в простой табличной форме, что дает реляционным базам данных много преимуществ по сравнению с базами данных более ранних разработок. SQL представляет собой язык именно реляционных баз данных

Краткая история SQL

История SQL тесно связана с развитием реляционных баз данных. Понятие реляционной базы данных было введено доктором Э. Ф. Коддом, научным сотрудником компании IBM. В июне 1970 года доктор Кодд опубликовал статью под названием "Реляционная модель для больших банков совместно используемых данных'' (“A Relational Model of Data for Large Shared Data Banks"), в которой в общих чертах была изложена математическая теория хранения данных в табличной форме и их обработки. Реляционные базы данных и SQL ведут свое начало от этой статьи, появившейся в журнале " Communications of the Association for Computing Mashinery”.

<== предыдущая лекция | следующая лекция ==>
Операции над отношениями | Основы SQL
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 416; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.