1. Математическая логика, язык исчисления предикатов 1го порядка.
2. Декларативно, а не процедурно.
Номер
Фамилия
Пол
Зачетка
Ид фака
Номер
Название
Декан
Все студенты, которые учатся на мехмате.
1) выбрать всех студентов мужского пола. Студенты(п=м) = А
2)выбираем все факультеты мехмата. Факультеты(мехмат) = В
3)А(номер фака = номер)В = С
4)С(номер зачетки, фамилия) = Е
Выдай Фамилия, номер зачетки из студентов с пол=м, Факультетов с названием=мехмат, где студент идфака = Ф.номер
SQL ближе к декларативной форме.
Недостатки реляционнной модели:
1.ограничения на атомарные значения
2.ограниченная выразительность , ограниченная схематическая мощность
преимущества:
1.хоршо проработанный мат.аппарат
2.простота применения на практике
3.наличие высокоэффективных реализаций
Нормализация.
Способ получение оптимальной схемы БД.
Со стороны операций вставки, удаления, изменения, просмотра.
Љ студент
ФИО
Зачетка
Фак
Декан
Изменения: на факе поменялся декан. Нужно пройти по всей таблице и изменить данные во всей таблицах. Аномалия изменения - поменялась одна, а нужно менять много где.
Факультет соц.информатики - 3 студента на нем. Эти трое окончили обучение - в итоге пропадает факультет из БД, т.к. больше никого не осталось(удаляем студентов - удаляется факультет(аномалия удаления)).Аномалия вставки - решили создать фак исторической.юр. и хотим отразить в БД, а не можем т.к. ни одного студента еще нет.
Нормализация - Пошаговый обратимый процесс декомпозиции исходных отношений на результирующие с последующим устранением нежелательной функциональной зависимости.
Все происходит по шагам. Шаг может представлять из себя цикл, пока не выполнится какое либо условие. Теорема ХИТА!. Декомпозиция - применение операции проекции(вертикальной вырезки)Всегда можем вернутся к исходным таблицам.
A,B - набор атрибутов. А функционально зависит от B, если любому набору данных А соответствует определенный набор значений B. Первичный ключ - минимальный набор атрибутов, определяющий однозначно кортеж отношений.
Нормализация.
Набор атрибутов выписать в отдельный список.
Атрибуты: номер отдела, название отдела, Љ сотрудника, ФИО, адрес сотрудника, должность разряд, оклад, шифр изделия, название изделия, единицы измерения, дата выработки, количество произведенных изделий.
Бизнес правила - установленные правила предметной области, которые ее описывают с учетом атрибутов. Пример: работник работает в отделе; шифр изделия уникален; зарплатная сетка; данные о выработке сохраняются в конце дня.
Номер работника -> номер отдела.
Номер отдела -> название отдела.
Номер работника -> ФИО, адрес, должность, разряд, номер отдела, название отдела.
Шифр изделия -> название изделия, единицы измерения.
Должность, разряд ->оклад.
Шифр изделия, Љ работника, дата -> количество.
Љ отдела
Название отдела
Љ сотрудника
ФИО
Адрес
Должность
Разряд
Оклад
*Шифр изделия
Наименование изделия
Единицы измерения
Дата
Количество
1
Цех Љ 1
3
Иванов
Пермь
Слесарь
5
500
У33Т
Гвоздь
Штука
11.10.11
1000
1
Цех Љ1
4
Петров
Пермь
Слесарь
4
600
У33Т
Гвоздь
Штука
11.11.11
1500
1
Цех Љ1
3
Иванов
Пермь
Слесарь
5
500
В44
Винт
Кг
11.11.11
3
2
Цех Љ4
1
Сидоров
Пермь
Слесарь
4
600
В44
Винт
Кг
12.11.11
5
2
Цех Љ4
1
Сидоров
Пермь
Слесарь
4
600
В44
Винт
Кг
13.11.11
10
Первичный ключ: Љ сотрудника, Шифр изделия, Дата.
Отношение находится в первой нормальной форме, если в нем соблюдены все внутренние ограничения целостности и задан первичный ключ.
Аномалия изменения: при смене адреса необходимо пройти несколько строк в БД, вместо того что бы изменить его в одном месте.
Аномалия вставки: мы не можем сохранить данное изделие пока оно не было произведено.
Аномалия удаления: если мы удалим все строки с винтами - потеряем информацию об этом изделии.
Частично-функциональная зависимость - это зависимость совокупности атрибутов от части первичного ключа.(например зависимость от Љ номера сотрудника)
Используем декомпозицию.
Шифр*
Наименование
Единицы измерения
Определяющим атрибутом остается Шифр. Шифр становится первичным ключом в доп.таблице.
Љ сотрудника*
ФИО
Адрес
Должность
Разряд
Оклад
Љ отдела
Наименование отдела
Исходная таблица преобразовывается:
Љ Сотрудника*
Шифр*
Дата*
Кол-во
Отношения находятся во 2 нормальной форме, если оно находится в 1ой нормальной форме и в нем устранены частично-функциональные зависимости.
В той форме остаются аномальные зависимости в таблице сотрудники.
Например: аномалия изменения - нужно пройтись по всем полям что сменить наименование отдела; Аномалия вставки: не можем добавить отдел пока там никто не работает; Аномалия удаления - если удалим слесаря 2го разряда то потеряем данные об окладе слесарей 2го разряда.
Есть набор атрибутов А,В,С. А->B, B->C, то A->C - транзитивная функциональная зависимость при условии, что C->/B,B->/A
Номер сотрудника определяет оклад и номер отдела, в этих местах возникают аномалии.
Выделяем отделы.
Љ отдела*
Наименование отдела
Љ сотрудника*
ФИО
Адрес
Должность
Разряд
Оклад
Љ отдела
Оклады:
Должность*
Разряд*
Оклад
Исходная сотрудники:
Љ сотрудника*
ФИО
Адрес
Должность
Разряд
Љ отдела
Отношение находится в 3ей нормальной форме, если оно находится во 2ой нормальной форме и в нем устранены транзитивные функциональные зависимости.