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

Презентация:



Advertisements
Похожие презентации
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Advertisements

БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Лекция 3 Домены Ограничения на значения столбцов Создание, изменение и удаление таблиц Ключи и ссылочная целостность Защита таблиц.
Лекция 16 Лекция 16 Основы SQL. Описание отношений, доменов, ограничений целостности, представлений данных. Реализация операций реляционной алгебры в SQL.
Язык SQL Типы данных SQL Типы данных, используемые в стандартном SQL, можно подразделить на следующие группы: строковые типы; числовые типы; типы для представления.
Модуль 1. Математические основы баз данных и знаний.
Реляционные базы данных N-арное отношение – подмножество декартова произведения N множеств возможных значений (доменов, типов данных, атрибутов) Изображение.
Работу выполнила Студентка 477 гр. Гришина О.В.. Как бы тщательно не планировалась структура таблицы, иногда возникает необходимость внести в неё некоторые.
Data Definition Language (DDL)– язык определения данных Бази даних та інформаційні системи Лекція 13.
Принципы поддержки целостности в реляционной модели данных.
Введение в базы данных. Реляционное проектирование Затрагиваемые темы Проблемы, решаемые хранением данных в СУБД Проблемы, решаемые хранением данных в.
Базы данных Преподаватель: Свяжин Сергей Олегович.
2. Общая характеристика моделей данных. Архитектура ANSI/SPARC (1) CODASYL – Conference on Data System Languages ANSI – American National Standard Institute.
Создание таблицы CREATE TABLE имя_таблицы (имя_столбца тип_данных [NULL | NOT NULL ] [,...n])
Базы данных Реляционная модель данных. Реляционная модель данных (РМД) В 1970 г. американский математик Э.Ф.Кодд опубликовал статью, с которой отсчитывается.
Введение в SQL (НЕ select) Затрагиваемые темы Роль языка SQL. Части SQL Роль языка SQL. Части SQL Администрирование БД: привилегии (DCL) Администрирование.
Учебная дисциплина «Базы данных» для студентов специальности Бизнес-информатика (бакалавриат) ЛЕКЦИЯ 3 ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ МОДЕЛЬ ДАННЫХ Вопрос.
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
ОРГАНИЗАЦИЯ БАЗ ДАННЫХ И ЗНАНИЙ ТЕМА 3 РЕЛЯЦИОННЫЙ ПОДХОД К ОРГАНИЗАЦИИ БД. СТРУКТУРНАЯ, ЦЕЛОСТНАЯ, МАНИПУЛЯЦИОННАЯ ЧАСТИ БД.
СУЩНОСТЬ-СВЯЗЬ (ER МОДЕЛЬ) Основные элементы: СущностиСущности –Атрибуты –Ключи СвязиСвязи.
Транксрипт:

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

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

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

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

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

Базовые структурные компоненты (2) Отношение Даны D 1, D 2, …, D n – домены Отношение R = { таких, что d i D i, i = 1, 2, …, n } Пример: D 1 = {a, b, c}, D 2 = {1, 2}. R 1 = {, } R 2 = {,, }

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

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

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

Ненормализованное отношение (2) Номер сотрудника ИмяЗарплата 1Иванов 1985, , Петров 1985, , , 1000

Нормализованное отношение Номер сотрудника ИмяГод Выплаты 1Иванов Иванов Петров Петров Петров

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

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

Представление связи 1:n (2) ОТДЕЛНомер отдела Название Первичный ключ Альтернативный ключ 10Бухгалтерия 20 Административно- хозяйственный 30Библиотека

Представление связи 1:n (3) СОТРУД- НИК Номер сотрудника Имя Год рождения Номер отдела Первич- ный ключ Внешний ключ 1Иванов Петров Нельзя вставить кортеж

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

Представление связи n:n (2) ПОСТАВЩИК Номер поставщика Имя Адрес Первичный ключ S1Иванов Орел S2Петров Тюмень S3Сидоров Пермь

Представление связи n:n (3) ДЕТАЛЬНомер детали НазваниеЦена Первичный ключ P1Болт 18 P2Винт 14 P3Гайка 10 P4Шуруп 15

Представление связи n:n (4) ПОСТАВКА Первичный ключ отношения связи Количество Номер поставщика Номер детали FK для ПОСТАВЩИК FK для ДЕТАЛЬ Собственный атрибут S1P1100 S1P2200 S2P3150

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

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

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

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

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

Соответствие между компонентами РМД и РБД РМД – реляционная модель данных РБД – реляционная база данных Структурный компонент РМДЭлемент РБД Домен Тип данных Отношение Таблица Атрибут Колонка таблицы Кортеж отношения Строка таблицы

Ограничения целостности в РБД Тип ограничения целостности Представление в SQL Первичный ключPRIMARY KEY Уникальность значенияUNIQUE Обязательность значенияNULL или NOT NULL Допустимость значенияCHECK Ссылочные ограниченияFOREIGN KEY

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

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

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

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

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

Пример 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 PON DELETE RESTRICT )

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