Тема 2. Концептуальные модели данных
Понятие концептуальной модели
Иерархическая модель (1968 год)
Сетевая модель (1969 год)
Реляционная модель (1970 год)
Постреляционная модель
Объектно-ориентированная модель
Многомерная модель
Понятия реляционной модели данных
Нормализация отношений
1-я нормальная форма
Понятие функциональной зависимости
2-я нормальная форма
3-я нормальная форма
Представление связей в реляционной модели
Реляционная алгебра
Объединение отношений
Вычитание отношений
Пересечение отношений
Произведение отношений
Селекция отношений
Проекция отношений
Естественное соединение отношений
Левое соединение отношений
Правое соединение отношений
Полное внешнее соединение отношений
278.50K
Категория: ИнформатикаИнформатика

Концептуальные модели данных

1. Тема 2. Концептуальные модели данных

Организация баз данных в производственных системах
Тема 2.
Концептуальные модели данных
Шевченко А. В.
Тема 2. Концептуальные модели данных
1

2. Понятие концептуальной модели

Организация баз данных в производственных системах
Понятие концептуальной модели
Концептуальные модели
Объектноориентированная
Иерархическая
Сетевая
Многомерная
Реляционная
Постреляционная
Задача концептуального проектирования построение единой концептуальной схемы
базы данных, имеющей минимальную
избыточность и хорошо отражающей
семантику связей между данными
Шевченко А. В.
Тема 2. Концептуальные модели данных
2

3. Иерархическая модель (1968 год)

Организация баз данных в производственных системах
Иерархическая модель (1968 год)
Клиент
Ответственный
Ответственный
Ответственный
Заказ
Заказ
Заказ
Заказ
Заказ
Позиция
заказа
В иерархической модели связи между
данными
описываются
в
виде
упорядоченного графа, в узлах которого
находятся записи, а дуги представляют
отношения предок-потомок.
Шевченко А. В.
Тема 2. Концептуальные модели данных
Заказ
Заказ
Отгрузка
СУБД: IMS, PC/Focus,
Team-Up, Data Edge
3

4. Сетевая модель (1969 год)

Методы проектирования и информатизации автоматизированных производственных и специальных систем
Сетевая модель (1969 год)
Клиент
Ответственный
Продукция
Заказ
В схеме сетевой базы данных присутствуют
два типа элементов - запись и связь.
Шевченко А. В.
Тема 2. Концептуальные модели данных
Технология
СУБД: IDMS, dbVista
4

5. Реляционная модель (1970 год)

Организация баз данных в производственных системах
Реляционная модель (1970 год)
Продукция
Клиент
Заказ
В реляционной модели данные и связи
между ними представляются в виде
двумерных таблиц - отношений.
Шевченко А. В.
Тема 2. Концептуальные модели данных
СУБД:
Oracle,
Ingres,
Informix, Sybase, dBase,
Foxbase, Paradox, Clarion,
Microsoft
SQL
Server,
Microsoft Access, MySQL
5

6. Постреляционная модель

Организация баз данных в производственных системах
Постреляционная модель
Заказ
Детали заказа
Постреляционная модель снимает
ограничения атомарности, то есть
допускает вложенность таблиц.
Шевченко А. В.
Тема 2. Концептуальные модели данных
СУБД:
Dasdb
uniVers,
Bubba,
6

7. Объектно-ориентированная модель

Организация баз данных в производственных системах
Объектно-ориентированная модель
Заказ
Клиент
Данные
Данные
Методы
Методы
В
объектно-ориентированной
модели
при
представлении
данных
имеется
возможность
идентификации отдельных записей. Между записями
базы данных и функциями их обработки
устанавливаются
взаимосвязи
с
помощью
механизмов, подобным соответствующим средствам
объектно-ориентированного программирования.
Шевченко А. В.
Тема 2. Концептуальные модели данных
СУБД: POET, Jasmine,
Versant, O2, ONTOS, Iris,
Orion, Postgres
7

8. Многомерная модель

Организация баз данных в производственных системах
Многомерная модель
Клиент
Заказ
Продукция
Регион
Период
Многомерные СУБД являются узкоспециализированными СУБД, предназначенными
для интерактивной аналитической обработки
информации. Для этих целей важными
понятиями являются агрегируемость, историчность и прогнозируемость данных.
Шевченко А. В.
Тема 2. Концептуальные модели данных
СУБД:
Essbase,
Media
Multi-matrix, Oracle Express
Server, Cache
8

9. Понятия реляционной модели данных

Организация баз данных в производственных системах
Понятия реляционной модели данных
Домен – дискретное множество значений. Множество значений домена всегда конечно.
D1(тип) { винт, гайка, шайба },
D2(покрытие) { нет, цинк, хром },
D3(резьба) { М5, М6, М8, М10 }.
Декартово произведение множеств – множество, элементами которого являются все
возможные комбинации элементов перемножаемых множеств. Декартово произведение
представляется формулой D1 D2 … Dn , где n – число доменов.
Отношение – некоторое подмножество декартова произведения всех доменов.
Кортежи – элементы отношений.
Кардинальное число отношения – число кортежей в отношении.
Атрибуты – компоненты кортежей, соответствующие определенным доменам.
Степень отношения – число атрибутов отношения.
Шевченко А. В.
Тема 2. Концептуальные модели данных
9

10. Нормализация отношений

Организация баз данных в производственных системах
Нормализация отношений
Заказ
Номер
Дата
Клиент
Адрес
Изделие
Количество
1
15.03
А
СПб., ул. Герцена 12
Стойка 600 1200
Подставка
200
120
2
15.03
В
Москва, ул. Мира 8
Короб световой
45
50
75
25
3
20.03
С
СПб., ул. Медиков 7
Стойка 600 1200
Стойка 400 800
Короб световой
4
24.03
А
СПб., ул. Герцена 12
Короб световой
80
2
15.03
В
Москва, ул. Мира 8
Короб световой
45
Шевченко А. В.
Тема 2. Концептуальные модели данных
10

11. 1-я нормальная форма

Организация баз данных в производственных системах
1-я нормальная форма
Заказ
Номер
Дата
Клиент
Адрес
Изделие
Количество
1
15.03
А
СПб., ул. Герцена 12
Стойка 600 1200
200
1
15.03
А
СПб., ул. Герцена 12
Подставка
120
2
15.03
В
Москва, ул. Мира 8
Короб световой
45
3
20.03
С
СПб., ул. Медиков 7
Стойка 600 1200
50
3
20.03
С
СПб., ул. Медиков 7
Стойка 400 800
75
3
20.03
С
СПб., ул. Медиков 7
Короб световой
25
4
24.03
А
СПб., ул. Герцена 12
Короб световой
80
Проблемы:
Избыточность
Аномалии включения
Аномалии удаления
Шевченко А. В.
Тема 2. Концептуальные модели данных
11

12. Понятие функциональной зависимости

Организация баз данных в производственных системах
Понятие функциональной зависимости
Заказ
Номер
Дата
Клиент
Адрес
Изделие
Количество
1
15.03
А
СПб., ул. Герцена 12
Стойка 600 1200
200
1
15.03
А
СПб., ул. Герцена 12
Подставка
120
2
15.03
В
Москва, ул. Мира 8
Короб световой
45
3
20.03
С
СПб., ул. Медиков 7
Стойка 600 1200
50
3
20.03
С
СПб., ул. Медиков 7
Стойка 400 800
75
3
20.03
С
СПб., ул. Медиков 7
Короб световой
25
4
24.03
А
СПб., ул. Герцена 12
Короб световой
80
Шевченко А. В.
Номер
Дата
Номер
Клиент
Номер
Адрес
Клиент
Адрес
Номер,
изделие
Количество
Тема 2. Концептуальные модели данных
12

13. 2-я нормальная форма

Организация баз данных в производственных системах
2-я нормальная форма
Заказ
Позиция заказа
Номер
Дата
Клиент
Адрес
Номер
Изделие
Количество
1
15.03
А
СПб., ул. Герцена 12
1
Стойка 600 1200
200
2
15.03
В
Москва, ул. Мира 8
2
Подставка
120
3
20.03
С
СПб., ул. Медиков 7
2
Короб световой
45
4
24.03
А
СПб., ул. Герцена 12
3
Стойка 600 1200
50
3
Стойка 400 800
75
3
Короб световой
25
4
Короб световой
80
Проблемы:
Избыточность
Аномалии включения
Аномалии удаления
Шевченко А. В.
Тема 2. Концептуальные модели данных
13

14. 3-я нормальная форма

Организация баз данных в производственных системах
3-я нормальная форма
Заказ
Позиция заказа
Номер
Дата
Клиент
Номер
Изделие
Количество
1
15.03
А
1
Стойка 600 1200
200
2
15.03
В
2
Подставка
120
3
20.03
С
2
Короб световой
45
4
24.03
А
3
Стойка 600 1200
50
3
Стойка 400 800
75
3
Короб световой
25
4
Короб световой
80
Клиент
Клиент
Адрес
А
СПб., ул. Герцена 12
В
Москва, ул. Мира 8
С
СПб., ул. Медиков 7
Шевченко А. В.
Тема 2. Концептуальные модели данных
14

15. Представление связей в реляционной модели

Организация баз данных в производственных системах
Представление связей в реляционной модели
М
Номер
Заказ
Дата
1
1
Позиция
заказа
Клиент
Клиент
М
Адрес
Заказ
Номер
Дата
Изделие
Количество
Клиент
Клиент
Клиент
Адрес
Включение атрибута связи
в подчиненное отношение
Распространение ключа
по структуре отношений
Позиция заказа
Номер
Шевченко А. В.
Изделие
Тема 2. Концептуальные модели данных
Количество
15

16. Реляционная алгебра

Организация баз данных в производственных системах
Реляционная алгебра
Объединение
Деление
Вычитание
Соединение
Результатом любой алгебраической
операции над отношениями является
отношение.
Пересечение
Селекция
Произведение
Шевченко А. В.
Тема 2. Концептуальные модели данных
Проекция
16

17. Объединение отношений

Организация баз данных в производственных системах
Объединение отношений
R1
Номер
Сотрудник
Дата рождения
Должность
Оклад
212
Сергеев Иван Федорович
15.06.1956
Инженер
18000
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
R2
Номер
Сотрудник
Дата рождения
Должность
Оклад
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
423
Игнатьев Семен Васильевич
23.05.1980
Сварщик
8200
R = (R1 UNION R2)
Номер
Сотрудник
Дата рождения
Должность
Оклад
212
Сергеев Иван Федорович
15.06.1956
Инженер
18000
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
423
Игнатьев Семен Васильевич
23.05.1980
Сварщик
8200
Шевченко А. В.
Тема 2. Концептуальные модели данных
17

18. Вычитание отношений

Организация баз данных в производственных системах
Вычитание отношений
R1
Номер
Сотрудник
Дата рождения
Должность
Оклад
212
Сергеев Иван Федорович
15.06.1956
Инженер
18000
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
R2
Номер
Сотрудник
Дата рождения
Должность
Оклад
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
423
Игнатьев Семен Васильевич
23.05.1980
Сварщик
8200
R = (R1 MINUS R2)
Номер
212
Сотрудник
Сергеев Иван Федорович
Дата рождения
15.06.1956
Должность
Инженер
Оклад
18000
R = (R2 MINUS R1)
Номер
423
Шевченко А. В.
Сотрудник
Игнатьев Семен Васильевич
Дата рождения
23.05.1980
Тема 2. Концептуальные модели данных
Должность
Сварщик
Оклад
8200
18

19. Пересечение отношений

Организация баз данных в производственных системах
Пересечение отношений
R1
Номер
Сотрудник
Дата рождения
Должность
Оклад
212
Сергеев Иван Федорович
15.06.1956
Инженер
18000
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
R2
Номер
Сотрудник
Дата рождения
Должность
Оклад
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
423
Игнатьев Семен Васильевич
23.05.1980
Сварщик
8200
R = (R1 INTERSECT R2)
Номер
315
Шевченко А. В.
Сотрудник
Кондратьев Петр Михайлович
Дата рождения
12.10.1974
Тема 2. Концептуальные модели данных
Должность
Наладчик
Оклад
9600
19

20. Произведение отношений

Организация баз данных в производственных системах
Произведение отношений
R1
Поставщик
R2
Город
Наименование
Стандарт
ООО "Метизы"
Санкт-Петербург
Болт ш/г М 12 х 40
ГОСТ 7798-70
АО "Промкомплект"
Москва
Гайка ш/г М12
ГОСТ 5915-70
R = (R1 TIMES R2)
Поставщик
Город
Наименование
Стандарт
ООО "Метизы"
Санкт-Петербург
Болт ш/г М 12 х 40
ГОСТ 7798-70
ООО "Метизы"
Санкт-Петербург
Гайка ш/г М12
ГОСТ 5915-70
АО "Промкомплект"
Москва
Болт ш/г М 12 х 40
ГОСТ 7798-70
АО "Промкомплект"
Москва
Гайка ш/г М12
ГОСТ 5915-70
Шевченко А. В.
Тема 2. Концептуальные модели данных
20

21. Селекция отношений

Организация баз данных в производственных системах
Селекция отношений
R1
Номер
Сотрудник
Дата рождения
Должность
Оклад
212
Сергеев Иван Федорович
15.06.1956
Инженер
18000
315
Кондратьев Петр Михайлович
12.10.1974
Наладчик
9600
423
Игнатьев Семен Васильевич
23.05.1980
Сварщик
8200
R = (R1 WHERE Должность != Инженер AND Оклад >= 9000)
Номер
315
Шевченко А. В.
Сотрудник
Кондратьев Петр Михайлович
Дата рождения
12.10.1974
Тема 2. Концептуальные модели данных
Должность
Наладчик
Оклад
9600
21

22. Проекция отношений

Организация баз данных в производственных системах
Проекция отношений
R1
Поставщик
Город
Наименование
Стандарт
ООО "Метизы"
Санкт-Петербург
Болт ш/г М 12 х 40
ГОСТ 7798-70
ООО "Метизы"
Санкт-Петербург
Гайка ш/г М12
ГОСТ 5915-70
АО "Промкомплект"
Москва
Болт ш/г М 12 х 40
ГОСТ 7798-70
АО "Промкомплект"
Москва
Гайка ш/г М12
ГОСТ 5915-70
R = (R1 PROJECT[Наименование, Поставщик, Город])
Наименование
Поставщик
Город
Болт ш/г М 12 х 40
ООО "Метизы"
Санкт-Петербург
Гайка ш/г М12
ООО "Метизы"
Санкт-Петербург
Болт ш/г М 12 х 40
АО "Промкомплект"
Москва
Гайка ш/г М12
АО "Промкомплект"
Москва
Шевченко А. В.
Тема 2. Концептуальные модели данных
22

23. Естественное соединение отношений

Организация баз данных в производственных системах
Естественное соединение отношений
R1
Заказ
R2
Дата
Поставщик
Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
R = (R1 JOIN R2 WHERE R1.Поставщик = R2.Поставщик)
Заказ
Дата
Поставщик
Город
12
15.03.2010 ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
Санкт-Петербург
Шевченко А. В.
Тема 2. Концептуальные модели данных
23

24. Левое соединение отношений

Организация баз данных в производственных системах
Левое соединение отношений
R1
Заказ
R2
Дата
Поставщик
Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
ОАО "Стройсервис"
Санкт-Петербург
15
19.03.2010 ТОО "Крепеж"
R = (R1 LEFT JOIN R2 WHERE R1.Поставщик = R2.Поставщик)
Заказ
Дата
R1.Поставщик
R2.Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
15
19.03.2010 ТОО "Крепеж"
null
null
Шевченко А. В.
Тема 2. Концептуальные модели данных
24

25. Правое соединение отношений

Организация баз данных в производственных системах
Правое соединение отношений
R1
Заказ
R2
Дата
Поставщик
Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
ОАО "Стройсервис"
Санкт-Петербург
15
19.03.2010 ТОО "Крепеж"
R = (R1 RIGHT JOIN R2 WHERE R1.Поставщик = R2.Поставщик)
Заказ
Дата
R1.Поставщик
R2.Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
ОАО "Стройсервис"
Санкт-Петербург
null
Шевченко А. В.
null
null
Тема 2. Концептуальные модели данных
25

26. Полное внешнее соединение отношений

Организация баз данных в производственных системах
Полное внешнее соединение отношений
R1
Заказ
R2
Дата
Поставщик
Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
ОАО "Стройсервис"
Санкт-Петербург
15
19.03.2010 ТОО "Крепеж"
R = (R1 FULL OUTER JOIN R2 WHERE R1.Поставщик = R2.Поставщик)
Заказ
Дата
R1.Поставщик
R2.Поставщик
Город
12
15.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
13
18.03.2010 АО "Промкомплект"
АО "Промкомплект"
Москва
14
19.03.2010 ООО "Метизы"
ООО "Метизы"
Санкт-Петербург
15
19.03.2010 ТОО "Крепеж"
null
null
ОАО "Стройсервис"
Санкт-Петербург
null
Шевченко А. В.
null
null
Тема 2. Концептуальные модели данных
26
English     Русский Правила