Концептуальное моделирование
.pdfСтудент изучает дисциплину (Студент × Дисциплина)
Номер |
|
Фамилия и |
|
|
Номер |
|
|
|
|
|
|
|
Тру- |
зачет- |
|
|
|
ком- |
|
|
Шифр |
|
|
Название |
|
доем- |
|
ной |
|
инициалы |
|
|
наты |
|
|
|
|
|
кость |
||
|
|
|
|
|
|
|
|
|
|
||||
книжки |
|
|
|
|
|
|
|
|
|
|
|
|
|
1393 |
Иванов А.В. |
321 |
|
ОПД.Ф.10 |
Базыданных |
136 |
|||||||
1393 |
Иванов А.В. |
321 |
|
СД.Ф.10 |
ПроектированиеАСОИУ |
170 |
|||||||
1862 |
Акопов Э.В. |
NULL |
ОПД.Ф.10 |
Базыданных |
136 |
||||||||
1862 |
Акопов Э.В. |
NULL |
СД.Ф.10 |
ПроектированиеАСОИУ |
170 |
||||||||
1864 |
Васильева Е.Ф. |
521 |
|
ОПД.Ф.10 |
Базыданных |
136 |
|||||||
1864 |
Васильева Е.Ф. |
521 |
|
СД.Ф.10 |
ПроектированиеАСОИУ |
170 |
|||||||
2341 |
Савицкий В.Б. |
321 |
|
ОПД.Ф.10 |
Базыданных |
136 |
|||||||
2341 |
Савицкий В.Б. |
321 |
|
СД.Ф.10 |
ПроектированиеАСОИУ |
170 |
Соединение – подобно декартову произведения сливает два отношения R1 и R2 в одно. Как и в декартовом произведении, схема результирующего отношения является объединением схем исходных отношений. Соединение бывает внутренним и внешним.
Внутренние соединение (inner join) – в результирующем отношении соединяются только те кортежи из исходных отношений R1 и R2, у которых значения указанных поля соотносятся друг с другом определенным образом (например, равны).
Типы полей, по которым производится соединение, должны совпадать или быть сравнимы.
Разновидности внутреннего соединения:
эквисоединение (равно-соединение, equi-join) (R1 ZY С R2) – из исходных отношений R1 и R2 выбираются кортежи, у которых значения указанных полей равны, и из каждой пары таких кортежей формируется соединенный кортеж результирующего отношения;
тета-соединение (Θ-соединение) (R1 ZY С R2) – в отличие от эквисоединения, данное соединение основано на любом операторе сравнения, кроме равенства (<, <=, <>, >=, >);
естественное соединение (натуральное соединение, natural join) (R1 ZY R2) – частный вид эквисоединения, которое выполняется на основе только общих полей двух отношений (например, внешний ключ первого отношения – первичный ключ второго отношения).
61
Студент живет в комнате в общежитии (Студент ZY Комната в общежитии)
Номер зачет- |
Фамилия и |
Номер |
Вместимость |
Площадь |
ной книжки |
инициалы |
комнаты |
|
|
1393 |
Иванов А.В. |
321 |
2 |
12 |
1864 |
Васильева Е.Ф. |
521 |
2 |
12 |
2341 |
Савицкий В.Б. |
321 |
2 |
12 |
А1
А8
А1 А8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А1 |
|
|
|
|
|
|
|
|
А8 |
|
|
|
Рис. 42. |
|
|
|
|
|
|
|
Рис. 3. |
|
|
|
Операция естественного соединения |
Внешнее соединение (outer join) – работает аналогично внутреннему. Разновидности внешнего соединения:
левое внешнее соединение (left outer join) –
Оператор SELECT LEFT OUTER JOIN, например правое внешнее соединение (right outer join) –
Оператор SELECT RIGHT OUTER JOIN, например полное внешнее соединение (full outer join) –
Оператор SELECT FULL OUTER JOIN, например
OUTER является необязательным словом
Номер зачет- |
Фамилия и |
Номер |
Вместимость |
Площадь |
ной книжки |
инициалы |
комнаты |
|
|
1393 |
Иванов А.В. |
321 |
2 |
12 |
1862 |
Акопов Э.В. |
NULL |
NULL |
NULL |
1864 |
Васильева Е.Ф. |
521 |
2 |
12 |
2341 |
Савицкий В.Б. |
321 |
2 |
12 |
NULL |
NULL |
322 |
3 |
18 |
62
1.8.4. Полусоединение и полувычитание
Полусоединение (semijoin) – это соединение отношений R1 и R2, спроецированное на поля отношения R1. Иначе говоря, результирующее отношение состоит из тех кортежей исходного отношения R1, которые имеют соответствие в исходном отношении R2.
А1
А8
А1 А8
А1 А8
Рис. 43. |
Рис. 3. |
|
Операция полусоединения |
Полусоединение отношений Студент и Комната в общежитии:
Студент имеет комнату в общежитии |
|
|
|
|
|
Номер зачетной книжки |
Фамилия и инициалы |
Номер комнаты |
1393 |
Иванов А.В. |
321 |
1864 |
Васильева Е.Ф. |
521 |
2341 |
Савицкий В.Б. |
321 |
Полувычитание (semiminus) – это вычитание из исходного отношения R1 полусоединения отношений R1 и R2. Иначе говоря, результирующее отношение состоит из тех кортежей исходного отношения R1, которые не имеют соответствия в отношении R2.
63
А1
А8
А1 А8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 44. |
|
|
|
|
|
|
Рис. 3. |
|
|
|
|
|
Операция полувычитания |
Полувычитание отношений Студент и Комната в общежитии:
Студент не имеет комнаты в общежитии
Номер зачетной книжки |
Фамилия и инициалы |
Номер комнаты |
1862 |
Акопов Э.В. |
NULL |
1.8.5. Расширение и обобщение
Расширение (extend) – результирующее отношение эквивалентно исходному, но содержит дополнительное поле, значения которого формируются в результате некоторых вычислений.
Отношение Дисциплина содержит поле Трудоемкость, в котором указано число часов, отводимое на каждую дисциплину в течение семестра. Важным параметром для планирования учебного процесса является недельная загрузка студентов. Учитывая, что в семестре 17 недель, недельная загрузка по дисциплине получается в результате деления трудоемкости на 17 недель.
|
Дисциплина с недельной загрузкой студента |
||
|
|
|
|
Шифр |
Название |
Трудоемкость |
Часов в неделю |
ОПД.Ф.10 |
Базы данных |
136 |
8 |
СД.Ф.10 |
Проектирование АСОИУ |
170 |
10 |
Обобщение (агрегирование, summarize) – результирующее отношение строится в результате проекции исходного отношения на один из атрибутов и удаления дублированных значений. Затем к результи-
64
рующему отношению добавляется еще одно поле, значения которого вычисляются следующим образом:
1)для каждого значения атрибута результирующего отношения из исходного отношения выбираются кортежи с этим значением,
2)на основе выбранных кортежей вычисляется значение, добавляемое в соответствующий кортеж результирующего отношения.
Написано как-то не очень понятно
Вприведенном ниже примере операция обобщения применена для вычисления суммарного рейтинга студентов.
|
|
|
|
Студент имеет оценку по дисциплине |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Номер зачет- |
|
|
Фамилия и |
|
|
Название |
|
|
Оценка |
|
||
|
ной книжки |
|
|
инициалы |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
1393 |
|
Иванов А.В. |
Базы данных |
3 |
|
||||||||
1864 |
|
Васильева Е.Ф. |
Проектирование АСОИУ |
5 |
|
||||||||
1864 |
|
Васильева Е.Ф. |
Базы данных |
5 |
|
||||||||
2341 |
|
Савицкий В.Б. |
Базы данных |
5 |
|
||||||||
1393 |
|
Иванов А.В. |
Проектирование АСОИУ |
3 |
|
||||||||
2341 |
|
Савицкий В.Б. |
Проектирование АСОИУ |
4 |
|
||||||||
|
|
|
|
Суммарный рейтинг студента |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
Номер зачетной книжки |
Сумма баллов |
|
|
|
|
|||||
|
|
|
1393 |
|
6 |
|
|
|
|
|
|||
|
|
|
1864 |
|
10 |
|
|
|
|
|
|||
|
|
|
2341 |
|
9 |
|
|
|
|
|
1.8.6. Свойства операций
Строго говоря, минимальный набор операций составляют выборка, проекция, декартово произведение, объединение и разность. Эти операции называются примитивными – через них можно определить (выразить) все остальные. Так, пресечение может быть выражено через операцию разности:
R1 ∩ R2 = R1 – (R1 – R2),
авнутреннее соединение – через операции декартова произведения
иселекции:
R1 ZY С R2 = σC (R1 × R2).
Операции объединения, пересечения, декартова произведения и
65
соединения ассоциативны и коммутативны. На примере операции объединения ассоциативность означает, что
(R1 R2) R3 = R1 (R2 R3) = R1 R2 R3 ,
а коммутативность –
R1 R2 = R2 R1 .
1.9.Целостность данных
1.9.1. Целостность доменов и атрибутов
Ограничения целостности домена формируются типом данных, на котором определен домен, и бизнес-правилами, определяемыми предметной областью. Для задания ограничений целостности домена и атрибута используются следующие способы:
задание логического типа данных, например number, date, string, char и др.;
указание длины поля, точности числа и других характеристик типа данных;
указание формата данных, например NNCCCNN;
указанием, может ли атрибут принимать значение Null; (К. Дейт утверждает, что Null разрушает модель данных)
задание правил, ограничивающих значение атрибута, например
возраст < 150;
агрегатные ограничения, такие как сумма или среднее значение атрибута, например для сущности Сотрудник сумма значений атрибута
Месячная зарплата < 100000;
явное перечисление всех возможных значений домена, например
понедельник, вторник, среда, …, воскресенье;
ограничение возможных переходов от одного значения домена к другому, например для домена, определяющего состояние заказа
{оформлен, утвержден, принят к исполнению, выполнен, передан заказчику, отменен} запрещен переход от принят к исполнению к передан заказчику, минуя выполнен,
1.9.2. Целостность сущностей и связей
Целостность сущностей (entity constraints) задается следующими правилами:
66
требованием уникальности каждого экземпляра сущности, достигаемым за счет наличия первичного ключа;
ограничением значения одного атрибута в зависимости от значения другого атрибута сущности, например Дата приема заказа < Дата передачи заказчику;
связи:
мощность и полнота связи, кардинальные числа,
ссылочная целостность (referential integrity constraints) – для каж-
дого экземпляра сущности, содержащего внешний ключ, должен существовать соответствующий экземпляр, имеющий аналогичный первичный ключ
каскадное обновление в случае изменения первичного ключа в зависимой сущности
запрещение удаления экземпляров в зависимой сущности
67
Литература
______________________
1.Дейт К.Дж. Введение в системы баз данных. 7-е изд. – М.: Издательский дом «Вильямс», 2001. – 1072 с.
2.Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. Учебник для вузов / Под ред. А.Д. Хомоненко. – СПб: Корона принт, 2004. – 736 с.
3.Ульман Д.Д., Уидом Д. Введение в системы баз данных. СПб.:
Лори, 2000. – 374 с.
4.Сибилев
4.Райордан Р. Основы реляционных баз данных. – М.: Издатель- ско-торговый дом «Русская редакция», 2001. – 384 с.
5.ГОСТ 34.320-96. Информационные технологии. Система стандартов по базам данных. Концепции и терминология для концептуальной схемы и информационной базы. – М.: Издательство стандартов, 2001
6.Chen P.P.-S. English sentence structure and entity-relationship diagram // Information Sciences. – 1983. – Vol.1, №1. P. 127-149.
7.Chen P.P.-S. The entity-relationship model – toward a unified view of data // ACM Transactions on Database Systems. – 1976. – Vol.1, №. 1. P. 9-36.
8.Chen P.P.-S. English, Chinese, and ER diagrams // Data & Knowledge Engineering. – 1997. – Vol. 23, № 1. P. 5-16.
9.Chen P.P.-S. The entity-relationship model – a basis for the enterprise view of data / Proc. of National Computer Conference. – AFIPS Press, 1977. P. 77-84.
10.Chen P.P.-S. A preliminary framework for entity-relationship models / Entity-Relationship Approach to Information Modeling and Analysis, (edited by P. Chen). – North-Holland: Elsevier, 1983. P. 19-28.
11.Barker R. CASE method: entity relationship modelling. – Reading, MA: Addison-Wesley Professional, 1990.
12.Hoffer J.A., George J.F., Valacich J.S. Modern systems analysis and design (2nd edition). – Upper Saddler River, NJ: Prentice Hall, Pearson Education, 1999.
13.ICAM architecture. Part II, Volume V: Information modeling manual (IDEF1) (AFWAL-TR-81-4023). – Ohio: Air Force Wright Aeronauti-
68
cal Laboratories, 1981.
14.Song I.-Y., Evans M., Park E.K. A comparative analysis of entityrelationship diagrams // Journal of Computer and Software Engineeringю – 1995. – Vol. 3, № 4. P. 427-459
15.Integration definition for information modeling (IDEF1X) (FIPSPUB 184). – Springfield, VA: National Institute of Standards and Technology, 1994.
69