1 / 33

Реляционная модель данных

Реляционная модель данных. Разработана Е.Ф.Коддом ( E.F.Codd) в 1970 г. Достоинства. Небольшой набор абстракций Мощный математический аппарат Ненавигационное манипулирование данными. Недостатки.

Download Presentation

Реляционная модель данных

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Реляционная модель данных Разработана Е.Ф.Коддом (E.F.Codd) в 1970 г.

  2. Достоинства • Небольшой набор абстракций • Мощный математический аппарат • Ненавигационное манипулирование данными

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

  4. Особенности реляционной модели данных • Определена манипуляционная часть • Имеются конкретные языки описания данных, ограничений, накладываемых на данные, и манипулирования данными • Единый язык SQL

  5. Базовые структурные компоненты (1) • Домены – простые и составные Простые домены: ГОД = {1985, 2003, 2000} ДЕНЬГИ = {500, 1000, 850} Составной домен: ИСТОРИЯ ЗАРПЛАТЫ = {{<1985, 500>, <2000, 1000>}, {<2000, 850>}, {<1985, 850>, <2000, 500>, <2003, 1000>}}

  6. Базовые структурные компоненты (2) • Отношение Даны D1, D2, …, Dn – домены Отношение R = { <d1, d2, …, dn> таких, что diDi, i = 1, 2, …, n } Пример: D1 = {a, b, c}, D2 = {1, 2}. R1 = {<a, 2>, <c, 1>} R2 = {<a, 2>, <b, 2>, <a, 1>}

  7. Базовые структурные компоненты (3) • Атрибуты Способ использования домена в отношении • Схема отношения Именованная совокупность пар <имя атрибута : имя домена>

  8. Базовые структурные компоненты (4) Пример: Домены: ЧИСЛО, СТРОКА Схема отношения ОТДЕЛ: ОТДЕЛ ( Номер отдела: ЧИСЛО, Название: СТРОКА )

  9. Ненормализованное отношение (1) Составной домен: ИСТОРИЯ ЗАРПЛАТЫ ( ГОД, ДЕНЬГИ ) Схема отношения СОТРУДНИК СОТРУДНИК ( Номер сотрудника: ЧИСЛО, Имя: СТРОКА, Зарплата: ИСТОРИЯ ЗАРПЛАТЫ )

  10. Ненормализованное отношение (2)

  11. Нормализованное отношение

  12. Представление сущности Ключи отношения • Первичный ключ – PK (Primary Key) • простой • составной • Альтернативный ключ – AK (Alternate Key) Пример: КАФЕДРА (Номер кафедры, Название (АК))

  13. Представление связи 1:n (1) Внешний ключ – FK (Foreign Key) Отношения: СОТРУДНИК (Номер сотрудника, Имя, Год рождения) ОТДЕЛ (Номер отдела, Название (АК)) Связь СОТРУДНИК – ОТДЕЛ СОТРУДНИК (Номер сотрудника, Имя, Год рождения, Номер отдела (FK))

  14. Представление связи 1:n (2)

  15. Представление связи 1:n (3)

  16. Представление связи n:n (1) Отношения: ПОСТАВЩИК (Номер поставщика, Имя, Адрес) ДЕТАЛЬ (Номер детали, Название, Цена) Связь ПОСТАВЩИК – ДЕТАЛЬ ПОСТАВКА (Номер поставщика (FK1), Номер детали (FK2), Количество)

  17. Представление связи n:n (2)

  18. Представление связи n:n (3)

  19. Представление связи n:n (4)

  20. Ограничения целостности Целостность сущностей: • ограничение PK • уникальность других атрибутов (АК) • обязательность значений атрибутов • допустимость значений атрибутов Ссылочная целостность ОТДЕЛ ( Номер отдела, Название (АК) ) СОТРУДНИК ( Номер сотрудника, Имя, Год рождения, Номер отдела (FK) )

  21. Ссылочная целостность (1)

  22. Ссылочная целостность (2) Операции с дочерним отношением • Вставка – корректное значение FK • Удаление – без ограничений • Модификация FK – корректное новое значение FK

  23. Ссылочная целостность (3) Операции с родительским отношением • Вставка – без ограничений • Удаление – реакция на связанные записи: • не удалять • удалить все • установить пустое значение (отсутствие связи) • Модификация PK – реакция аналогична

  24. Язык определения данных Возможности: • Создание домена • Создание отношения • Определение ограничений целостности

  25. Соответствие между компонентами РМД и РБД РМД – реляционная модель данных РБД – реляционная база данных

  26. Ограничения целостности в РБД

  27. Предложения SQL для определения данных • CREATE тип_объекта • DROP тип_объекта • ALTERтип_объекта Типы объектов: и другие

  28. Создание таблицы (1) CREATE TABLE имя_таблицы ( имя_колонкитип_данныхограничения_на_колонку, . . . табличное_ограничение, . . . )

  29. Создание таблицы (2) Ссылочное ограничение на колонку: … REFERENCES родительская_таблица (имя_PK в родительской таблице) ON DELETE реакция Реакция: RESTRICT CASCADE SET NULL

  30. Создание таблицы (3) Табличное ссылочное ограничение: FOREIGN KEY(список_колонок_таблицы) REFERENCESродительская_таблица (PK из родительской таблицы) ON DELETE реакция

  31. Пример 1 CREATE TABLE P( P_ID INT NOT NULL PRIMARY KEYIDENTITY, PName VARCHAR(20) NOT NULL UNIQUE, Price DECIMAL(6,0) NOT NULL CHECK(Price > 0) )

  32. Пример 2 CREATE TABLE SP( S_ID INT NOT NULL REFERENCES S ON DELETE RESTRICT, P_ID SMALLINT NOT NULL, Qty INT NOT NULL CHECK(QTY > 0), PRIMARY KEY(S_ID, P_ID), FOREIGN KEY(P_ID) REFERENCES P ON DELETE RESTRICT )

  33. Удаление таблицы DROP TABLE имя_таблицы Нельзя удалить родительскую таблицы, если существует хотя бы одна связанная с ней дочерняя таблица

More Related