- •Введение
- •1. Концепция информационных систем
- •1.1. Информация и данные предметных областей
- •1.2. Структура банка данных
- •1.2.1. База данных
- •1.2.2. Система управления базами данных
- •1.2.3. Словарь данных
- •1.2.4. Администратор базы данных и его функции
- •1.3. Контрольные вопросы
- •2. Инфомационное моделирование предметных областей для баз данных
- •2.1. Отображение явлений реального мира данными
- •2.2. Инфологическое моделирование по
- •2.3. Трехуровневое представление информационных объектов
- •2.4. Структурные элементы для моделирования данных
- •2.5. Ключи бд
- •2.6. Интеграция полей бд в отношения
- •2.7. Требования интеграции полей в отношения
- •2.8. Обобщенная структура модели данных в бнд
- •2.9. Er-модель бд
- •2.10. Формирование связей сущностей
- •Способ 1. Определение связи сущностей введением дополнительной сущности
- •Способ 2. Определение связей сущностей добавлением в тип сущности общих атрибутов
- •2.11. Бинарные отношения сущностей
- •2.12. Формы представления структур данных
- •2.13. Организация систем бд
- •2.14. Средства поддержки бд
- •2.15. Виды моделей данных для бд
- •Иерархическая модель данных
- •Сетевая модель данных
- •Реляционная модель данных
- •Контрольные вопросы
- •3. Системы управления базами данных
- •3.1. Функции и состав универсальной субд
- •3.2. Лингвистическое обеспечение субд
- •3.3. Независимость прикладных программ от данных
- •3.4. Операции над данными
- •Селекция данных
- •Обработка данных
- •Запросы к бд
- •3.5. Схема реализации запроса в БнД
- •Распределенная обработка данных
- •Комбинированная обработка данных
- •3.7. Целостность и ограничения целостности данных
- •3.8. Защита данных в бд
- •Контрольные вопросы
- •4.2.2. Вторичный ключ
- •4.3. Функциональные и многозначные зависимости
- •4.3.1. Функциональные зависимости
- •X y (X влечет y).
- •4.3.2. Аксиомы функциональных зависимостей
- •Контрольные вопросы
- •5. Реляционная алгебра
- •5.1. Операции над отношениями
- •5.2. Оператор "объединение" (union)
- •5.3. Оператор "вычитание" (difference)
- •5.4. Оператор "пересечение" (intersection)
- •5.5. Оператор "проектирование" (proj)
- •5.6. Оператор "выбор" (sel)
- •Комбинированный запрос с операторами proj и sel
- •5.7 Оператор "соединение" (join)
- •Запрос с соединением по одному полю
- •Алгоритм реализации
- •Запрос с соединением по нескольким полям
- •Алгоритм реализации
- •Оператор "соединение по условию"
- •5.8. Оператор "умножение" (product)
- •Запрос с оператором умножения
- •Алгоритм реализации
- •5.9. Оператор "деление" (division)
- •5.10. Оптимизация алгоритмов реализации запросов
- •Контрольные вопросы
- •6. Нормализация реляционных бд
- •6.1. Задачи нормализации Бд
- •6.2. Первая нормальная форма
- •6.3. Декомпозиция реляционных таблиц
- •Проблема дублирования, операторы реляционной алгебры для декомпозиции и объединения таблиц
- •Присоединенные записи
- •Теорема Хита
- •Критерий полной декомпозиции с исключением дублирования
- •6.4. Вторая нормальная форма
- •6.5. Третья нормальная форма
- •6.6. Экстранормализационные формы
- •Нормальная форма Бокса-Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •6.7. Методические аспекты реализации нормализации
- •Контрольные вопросы
2.12. Формы представления структур данных
При создании БнД разрабатываются схемы структур различных данных.
Схемой структуры данныхназывается описание структуры данных некоторого типа на формализованном языке, отражающее совокупность свойств данного типа структуры данных. Реализация схемы, являющаяся конкретной структурой данных соответствующего типа, называется экземпляром схемы.
Формы представления структур данных стандартизированы. В настоящее время широко используются следующие три формы представления структур данных в БД: табличная, графовая и графическая.
Табличная форма структуры данных.
В таблице строки представляют экземпляры записей, а элементы строк (или атрибуты) - экземпляры полей. Пример приведен на Рис. 0 .10.
Тип поля 1 (Р1) |
Тип поля 2 (Р2) |
. . . |
Тип поля N (PN) |
Значение р1,1 |
Значение р2,1 |
. |
Значение рn,1 |
. | |||
Значение р1,2 |
Значение р2,2 |
. |
Значение pn,2 |
. | |||
. . . |
. . . |
. . . |
. . . |
Рис. 0.10
Графовая форма структуры данных
Графовая форма облегчает понимание и интерпретацию данных. На графе сущности, моделируемые записями, отображаются вершинами графа - прямоугольниками (Рис. 0 .11), а связи между сущностями отображаются соответствующими дугами. Над вершинами указываются типы записей, в вершинах приводятся типы полей, причем типы полей-идентификаторов подчеркиваются. Типы связей записываются вдоль дуг.
Отдел
№ Отдела, НазваниеОтдела | |
|
|
|
РаботаетВ |
Сотрудник |
|
№Таб., ФИО, Должность |
Рис. 0.11
Графическая диаграмма структуры данных
Цель диаграммы состоит в более выразительной детализации элементов. На диаграмме используются следующие обозначения:
а) типы сущностей обозначаются прямоугольниками;
б) атрибуты обозначаются овалами, соединенными с соответствующими типами сущностей ненаправленными дугами; ключи подчеркиваются;
в) отношения (или связи) отображаются ромбами, которые соединяются с соответствующими типами сущностей при бинарных связях направленными дугами, а при других связях - ненаправленными дугами.
Пример графической диаграммы структуры данных приведен на Рис. 0 .12.
Рис. 0.12
2.13. Организация систем бд
Аналитические модели для базы данных приведены в выражениях (2.1) и (2.2). Рассмотрим организацию данных в виде системы БД.
Системой баз данных (СБД) называется совокупность структурно самостоятельных баз данных. Ее особенность заключается в объединении в единой среде нескольких самостоятельных БД: БД1, БД2,...,БДL. Рассмотрим аналитическую модель СБД.
СБД можно представить как объединение SBD локальных баз данных (DBl):
(2.7) SBD = U DBl, l=1,..,L,
l
где L - общее количество локальных баз данных в интегрированной БД.
В системе БД каждая локальная база DBl есть в свою очередь объединение записей:
(2.8) DBl = U Zli, i=1,..,Li ,
i
где Li – общее число записей в l-й локальной БД.
Каждую запись можно представить как совокупность полей в виде объединения:
(2.9) Zli = U Plij, j=1,...,Lij ; i = 1,…,Li; l = 1,…,L,
j
где i - номера баз данных; j - номера записей; l - номера полей.