ОСНОВЫ ТЕОРИИ БАЗ ДАННЫХ РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
База данных – database 1959 г. – Мак-Гри предложил использовать файлы исходных данных. Разработал систему баз данных IMS фирмы IBM г. Кодд (фирма IBM) предложил реляционную модель данных
Основные понятия База данных (БД) – это набор данных, которые организованы специальным образом. База данных – поименованная и организованная совокупность взаимосвязанных данных, которые отражают состояние объектов конкретной предметной области и находятся под центральным программным управлением.
Предметная область (ПрО) – часть реальной среды, которая описывается и отражается в БД. Это информационная сторона функционирования автоматизированной системы, отражающая множество объектов и связей между ними. Система управления базами данных (СУБД) – это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
Информационный объект - это описание некоторой сущности ПрО – реального объекта, процесса, явления или события. Информационно-логическая модель (ИЛМ) – совокупность информационных объектов (сущностей) ПрО и связей между ними.
Многоуровневое представление данных Модель 1Модель 2Модель n Концептуальная модель (обобщенное представление пользователей) Внутренняя модель БД (представление в памяти ЭВМ) Логический уровень представления данных Физический уровень представления данных Внешние модели
Типы моделей данных Иерархическая модель Сетевая модель Реляционная модель
Иерархическая модель Корень (главный тип объекта) Дуги Элементы (узлы)
Организация ОтделыФилиалы СотрудникиОборудование Начальник
Сетевая модель
Преподаватель 1 Преподаватель 2 Преподаватель 3 Студент 1 Студент 2 Студент 3 Студент 4
Реляционная модель
Реляционный подход к построению модели Реляционная модель данных
Эдгар Франк Кодд (Edgar Frank Codd) Дата рождения: 23 августа августа1923 Место рождения: Портланд (Дорсет)Портланд Дата смерти: 18 апреля 2003 (79 лет)18 апреля2003 Страна: АнглияАнглия Научная сфера: информатикаинформатика Альма-матер: Оксфордский университетОксфордский университет Известен как: Создатель реляционной модели данных. реляционной модели данных
Основные понятия реляционной модели
Домен Совокупность допустимых значений, это тип данных, определяемых системой или пользователем Кортеж Записи, строки Кардинальность Количество строк в таблице Атрибут Поле, столбец таблицы Степень отношения Количество полей (столбцов) Отношение Таблица
Первичный ключ – это поле или несколько полей, которые уникально, т.е. единственным образом определяют строки. Первичный ключ, который включает более одного столбца, называется множественным или комбинированным или составным. Первичный ключ не может иметь нулевого значения.
Альтернативные (потенциальные) ключи – остальные ключи, которые можно использовать в качестве первичных
Внешний ключ – это столбец или несколько столбцов одной таблицы, который может служить в качестве первичного ключа для другой таблицы. Внешний ключ таблицы является ссылкой на первичный ключ другой таблицы.
Таб.1 Сотрудник пропускаФамилияДолжностьНазвание отдела Телефон Таб.2 Отдел Название отделаРасположение отдела Назначение отдела Первичный ключ Внешний ключ
Сотрудник-отдел Сотрудник (пропуска, фамилия, наименование отдела, телефон) Отдел (наименование отдела, расположение отдела, назначение отдела)
База данных о подразделениях и сотрудниках предприятия
Типы взаимосвязей в модели
Основные виды связи один к одному (1:1) один ко многим (1:М) многие к одному (М:1) многие ко многим (М:М)
Связь «один к одному» означает, что каждому экземпляру первого объекта (А) соответствует только один экземпляр второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) соответствует только один экземпляр первого объекта (А)
А А В В 11 Рабочий Зарплата 11
Связь «один ко многим» означает, что каждому экземпляру первого объекта (А) может соответствовать несколько экземпляров другого объекта (В), а каждому экземпляру второго объекта (В) может соответствовать только один экземпляр первого объекта (А)
1 Дом Жильцы А А В В 1
1 Студенты Журнал 1 А А В В 1
Связь «многие ко многим» означает, что каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и наоборот, каждому экземпляру второго объекта (В) могут соответствовать тоже несколько экземпляр первого объекта (А)
Студенты Преподаватели А А В В
_студента Фамилия_ИО Дата_рождения _группы СТУДЕНТ _студента Размер_стипендии СТИПЕНДИЯ _группы Специальность ГРУППА _преподавателя Фамилия_ИО Дата_рождения _группы ПРЕПОДАВАТЕЛЬ
_студента Фамилия_ИО Дата_рождения _группы СТУДЕНТ _студента Размер_стипендии СТИПЕНДИЯ _группы Специальность ГРУППА _преподавателя Фамилия_ИО Дата_рождения _группы ПРЕПОДАВАТЕЛЬ
Код_сотрудника Фамилия Домашний_адрес Телефон Год_рождения СОТРУДНИКИСЕМЕЙНОЕ ПОЛОЖЕНИЕ Код_сотрудника Семейное_положение Количество_детей
СОТРУДНИКИ Код_сотрудника Фамилия Домашний_адрес Телефон Год_рождения ВЫПОЛНЕННЫЕ РАБОТЫ Код_сотрудника Дата_выполнения_работы Количество_часов Стоимость_работы Код_работы
Целостность данных Типы ограничений по условию целостности: Каждая строка должна отличаться от остальных ее строк значением хотя бы одного столбца (целостность сущностей) Внешний ключ не может быть указателем на несуществующую строку той таблицы, на которую она ссылается (целостность ссылок)
СОТРУДНИК пропуска (РК) Фамилия Должность Название отдела (FK) ОТДЕЛ Название отдела (РК) Расположение отдела Назначение отдела
База данных о подразделениях и сотрудниках предприятия отдел Номер_отдела Наименование_отдела сотрудник Табельный_номер Номер_отдела Имя исполнители Табельный_номер Номер_контракта контракт Номер_контракта Имя_заказчика Дата Сумма заказчик Имя_заказчика Адрес
База данных по учету выдачи пропусков Сотрудник ( Таб_, ФИО, Должность, _подразделения ) Подразделение ( Номер,Наименование,Руководитель ) Пропуск ( _пропуска, Дни, Время, Кто_подписал)
База данных «Технологические операции» Подразделения (_подразделения, Наименование, Профиль) Операции (Код, Наименование, Описание) Комплектующие ( Код, Наименование, Тип, Количество )
Операции обработки данных Операции над кортежами Включение (добавление кортежа) Удаление (удаление кортежа) Обновление (смена значений атрибутов в строке) Традиционные операции Операции над таблицами объединение пересечение разность Декартово произведение проекция выборка соединения деление Специальные реляционные операции
Основа реляционной алгебры Выборка ПроекцияОбъединение ПересечениеВычитание Произведение АБВАБВ ГДГД ААББВВААББВВ ГДГДГДГДГДГД АБВАБВ ГГДГГД ГДЕГДЕ ЖЗИЖЗИ АБВАБВ ГГДГГД Ж ЖЗ Соединение АААБВВАААБВВ ГДЕДЕДГДЕДЕД ГДГД А Деление
ОБЪЕДИНЕНИЕ Объединение КортежКод поставщиковНаименование материала КортежКод поставщиковНаименование материала К112040МелК215051Мел К124050ТетрадьК222040Мел К133070КарандашК236020Ручка Склад 2 (R2)Склад 1 (R1)
Результат объединения КортежКод поставщиковНаименование материала К112040Мел К124050Тетрадь К133070Карандаш К Мел К Ручка
ПЕРЕСЕЧЕНИЕ Пересечение КортежКод поставщиков Наименование материала К222040Мел
РАЗНОСТЬ КортежКод поставщиков Наименование материала К124050Тетрадь К133070Карандаш Вычитание
ДЕКАРТОВО ПРОИЗВЕДЕНИЕ КортежГруппаФамилияКортежКод предметаНаименование предмета К11УППетровК21П1История К12УТИвановК22П2Философия К13ФФСидоров Таблица R2 Таблица R1 Произведение АБВАБВ ГДГД ААББВВААББВВ ГДГДГДГДГДГД
Результат произведения Кортеж ГруппаФамилияКод предметаНаименование предмета К11 К21 УПП1 К11 К22 УПП2 К12 К21 УТП1 К12 К22 УТП2 К13 К21 ФФП1 К13 К22 ФФП2 Таблица RD
САМОСТОЯТЕЛЬНАЯ РАБОТА ПО РЕЛЯЦИОННОЙ АЛГЕБРЕ