Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
- все преподаватели заняты, могут читать несколько предметов.
![]() |
![]()
![]()
5
6

7
1 n
Пример многие к одному
- одна дисциплина может читаться несколькими преподавателями. Преподаватель не может читать несколько дисциплин.

![]()

![]() |
n 1
- одна дисциплина может читаться несколькими преподавателями, все преподаватели заняты.
![]() |

![]()
![]()
![]()
n 1
![]() |
- одна дисциплина может читаться несколькими преподавателями, все предметы заняты.
![]() |
![]()
![]()
![]()

n 1
- одна дисциплина может читаться несколькими преподавателями, все преподаватели и предметы заняты.
![]() |

![]()
![]()

n 1
Пример многие ко многим
- преподаватель может читать несколько дисциплин, дисциплины могут читаться несколькими преподавателями.
![]() |
n n
- преподаватель может читать несколько дисциплин, дисциплины могут читаться несколькими преподавателями, все предметы и преподаватели заняты.
![]() |


![]()
![]()
![]()

n n
- преподаватель может читать несколько дисциплин, дисциплины могут читаться несколькими преподавателями, заняты все преподаватели.
![]() |

n n
- преподаватель может читать несколько дисциплин, дисциплины могут читаться несколькими преподавателями, заняты все дисциплины.
![]()


![]()


n n
Рекурсивные связи
-возникают внутри одного и того же объекта.
Существует два типа рекурсивных связей:
-1:n;
-n:n;
1. 1:n – например, отношение сотрудник - подчиненный на множестве подчиненных (но начальник тоже сотрудник).
![]() |
Вводится понятие роль – это таблица, соединенная сама с собой. Для того чтобы различать объекты даем им разные роли.
n:n
Пример:
Описание структуры изделие, изделие состоит из сборочных единиц.
Изобразим граф изделия:
![]() |
В данном графе 2,3,4 – это узлы, а 5,6,7 – это детали. Числа рядом с линиями показывают в каком количестве детали входят в узлы, например, в узел 2 входят 3 детали 5, 2 детали 6 и 1 деталь 3.
Роль деталь имеют те сборочные единицы, которые где-то применяются: 2-7.
Узел собирается из нескольких сборочных единиц: 1-4.между ними существует связь:
В реальном проектировании связь М:М представляется в виде трех отношений, причем между 1 3 – 1:М, между 2 и 3 – 1:М.
Таблица 1:
Сборочная единица |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Таблица 2 (сборка):
Роль- узел (1) | Роль- деталь (2) | Количество (3) |
1 | 2 | 2 |
1 | 3 | 3 |
1 | 4 | 2 |
2 | 3 | 1 |
2 | 5 | 3 |
2 | 6 | 2 |
3 | 5 | 2 |
3 | 7 | 2 |
4 | 6 | 1 |
4 | 7 | 3 |
Из этих таблиц:
№изделий = 1\2;
№деталей = 2\1;
№узла = 1
2.
17. Правила Джексона для перехода от модели Чена к реляционной модели.
7 правил Джексона.
Из модели Чена, используя эти правила, сразу можно получить нормальную форму.
· Если отношения 1о:1о (индекс о означает обязательный класс принадлежности), то достаточно 1 таблицы, чтобы представить данное отношение.
Пример.
Растут деревья на участках леса:
Дерево | Участок | Площадь |
Сосна | Бор | 1 |
Береза | Роща | 2 |
Осина | Лиственный лес | 3 |
· Если 1о:1н, то для представления информации необходимо 2 таблицы, отдельная таблица для необязательного класса принадлежности.
Например, если в предыдущий пример добавить еще один участок паленину, на которой ничего не растет, но которая занимает некоторую площадь 4.
Участки | Площадь |
Бор | 1 |
Роща | 2 |
Лиственный лис | 3 |
Паленина | 4 |
Дерево | Участок |
Сосна | Бор |
Береза | Роща |
Осина | Лиственный лес |
· Если 1н:1н, то потребуется 3 таблицы.
Например, есть деревья, которые нигде не растут и есть участки, на которых ничего не растет.
Тогда 1 таблица описывает участки, 2 таблица описывает породы деревьев, 3 таблица является связующей, она содержит информацию о том, на каком участке какое дерево растет.
· Если 1о или н:Мн, то потребуется 2 таблицы.
В 1 таблицу записываем те объекты, которые относятся к типу связи М. Во вторую таблицу записываем собственно связь.
· Если 1н:Мн, то потребуется три таблицы.
Первая таблица описывает первый объект, вторая таблица описывает второй объект, а третья таблица описывает связь.
· Если М:М, то всегда потребуется три таблицы.
Если n-объектных таблиц, и их надо связать, то всегда потребуется n+1 таблица, n таблиц отдельно описывают объекты, а n+1 таблица описывает связь между ними.
18. Реляционная модель данных. 12 правил Кодда.
Реляционная модель данных.
Автор этой модели Тед Кодд, год рождения этой модели 1970. Основа этой модели – математическая теория отношений.
Отношение – это множество кортежей, среди которых нет повторений. Каждый объект описывает отдельный объект предметной области или связь между ними. Отношения в реляционной модели данных представлены в виде таблиц.
Например:
номер | название | вес |
1 | Гайка | 17 |
2 | Болт | 13 |
3 | Винт | 14 |
Кортежи при этом не должны повторяться, каждый кортеж уникален. Кортежи могут следовать в произвольном порядке. Каждый объект характеризуется атрибутами, каждый атрибут может принимать значения их некоторого домен.
Домен
= dom
содержит множество возможных значений данного атрибута.
Любая таблица есть подмножество деккартового произведения доменов
table

В СУБД обычно реализованы домены стандартные, например, целый, текст, дата/время. Для того чтобы уточнить какие значения могут принимать атрибуты накладываются ограничения на стандартные:
Целый 1-1000;
Вес 1-1000 гр.
А ограничения цвета можно записать в виде списка.
Атрибуты в модели Кодда должны быть атомарными, т. е. неделимыми, из стандартного набора доменов.
При этом возможны следующие ситуации:
1. Не всегда в предметной области атрибуты бывают атомарными (скалярными)
{13.03.2000}
2. Атрибуты бывают повторяющимися – множество значений одного типа, которые вместе характеризуют какое-то свойство
Песни, исполняемые в концерте. | |
номер | автор |
1 | Державин |
2 | Пахмутова |
2 | Добронравов |
3 | Добрынин |
3. Группа состоит из нескольких атрибутов разного типа:
.... | адрес |
.... | Москва, -18 |
Чтобы избавиться от групп, нужно разбить эту колонку на разные составляющие: город, улица, дом, квартира.
4. Наличие повторяющейся группы – нескольких групповых атрибутов:
Например,
Ф. И.О. | адрес |
Иванов... | Постоянной прописки |
Временной прописки |
Два адреса нельзя повторить, нужно снова ввести Ф. И.О. и новый адрес.
При этом могут возникнуть следующие аномалии:
1. аномалия добавления
мы не сможем записать новое лицо, пока не будем знать о нем все, так как пустых значений быть не должно.
2. Аномалия удаления
При удалении удаляется вся строка, при этом могут удалиться нужные сведения.
3. Аномалия изменения
Пусть, например, Пахмутова записана несколько раз, тогда при изменении, например, фамилии, ее нужно изменить везде, а для этого надо просмотреть всю таблицу.
При составлении таблиц нужно помнить, что атрибуты могут следовать в любом порядке, т. е.
Название, вес, цвет, номер
номер, название, цвет, вес.
Состав базу данных о поставщиках, деталях и поставках:
Создадим таблицу Поставщики (№поставщика, фамилия)
№ поставщика | фамилия |
1 | Иванов |
2 | Петров |
3 | Сидоров |
В каждой таблице имеется первичный ключ, он всегда подчеркивается, а остальные называются возможными.
Таблица Детали (№, название, цвет, вес) имеет вид:
№детали | Название детали | вес | цвет |
1 | Гайка | 17 | серый |
2 | Болт | 13 | черный |
3 | винт | 14 | красный |
Таблица Поставка (№детали, №поставщика, количество):
№детали | №поставщика | количество |
1 | 2 | 120 |
1 | 3 | 100 |
2 | 1 | 30 |
3 | 1 | 490 |
3 | 3 | 500 |
В таблице Поставки комбинация №поставщика и №детали является первичным ключом, а по отдельности они являются внешними ключами.
Ссылочная целостность состоит в том, что в связующей таблице в столбце №детали могут присутствовать только те номера, которые есть в таблице Детали. Если в таблице Детали такого номера нет, то должно выводиться сообщение об ошибке. При удалении детали из таблицы Детали необходима проверка наличия данной детали в связующей таблице, если в таблице Поставки такая деталь есть, то должно выводиться об этом сообщение и дальнейшее решение удалять или не удалять должно зависеть от пользователя.
12 правил Кодда,
которым должна удовлетворять реляционная база данных.
1. Правило информации.
Информация в реляционной базе данных должна быть представлена исключительно на логическом уровне и только в таблицах, все значения в таблице должны быть атомарными.
2. Правило гарантированного доступа.
Доступ к таблице должен осуществляться только с использованием имени таблицы, именем атрибута, ключа.
3. Поддержка недействительных значений.
Настоящая реляционная база данных должна позволять вводить неопределенное значение (null) и должны быть значения которые есть, но пока нам не известны.
4. Правило динамического каталога, основанного на реляционной модели.
Доступ к описанию базы данных осуществляется по тем же правилам, что и к реально хранимым данным.
5. Правило исчерпывающего подъязыка данных.
Языки могут быть разные, они должны содержать:
· Описание данных;
· Описание представлений – части информации, нужной для конкретного представления;
· Обработка данных – интерактивная и программная. Интерактивная – запрос и тут же ответ, а программная – пишем программу запросов, обрабатываем, получаем результат.
· Условия целостности. Целостность должна поддерживаться на уровне доменов, на уровне атрибутов, на уровне соответствия атрибутов. Кроме ссылочной целостности еще есть объектная целостность (в объектной таблице должны быть уникальные кортежи). Каскадное удаление означает, что при удалении объекта, удаляются и все его связи.
· Идентификация прав доступа пользователя к данным. Это необходимо для исключения несанкционированного доступа.
· Границы транзакции (начало – завершение - отмена). Транзакция – это работа, которая должна быть либо целиком выполнена, либо целиком не выполнена.
6. правило обновления представлений.
7. Правило добавления, обновления и удаления.
Таблицы должны позволять добавлять, удалять и корректировать записи.
8. Правило физической независимости данных.
9. Правило логической независимости данных.
10. Правило независимости условий целостности.
Условия целостности должны храниться в базе данных, а не в программе.
11. Правило независимости условий распространения.
Реляционная база данных не должна быть привязана к конкретным потребностям конкретного пользователя.
12. Правило единственности.
Работа с базой данных должна осуществляться на едином языке. И никакой язык низкого уровня не должен позволять обходить ограничения.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |













