2. Общая характеристика моделей данных
Архитектура ANSI/SPARC (1) CODASYL – Conference on Data System Languages ANSI – American National Standard Institute SPARC – Standards Planning and Requirements Committee 1975 г. – необходимость использования трехуровневого подхода
Архитектура ANSI/SPARC (2)
Архитектура ANSI/SPARC (3) Представление 1: ФИО, дата рождения, сумма выплат за год; Представление 2: ФИО, дата приема на работу, подразделение Обобщенное представление: ФИО, дата рождения, дата приема на работу, подразделение, сумма выплат за год
Архитектура ANSI/SPARC (4) Внутреннее представление: struct Employee { int номер_сотрудника; int номер_подразделения; char фамилия [50], имя[50], отчество[50]; struct Date дата_рождения, дата_приема; float сумма_выплат; };
Модель данных Модель данных – это интегрированный набор понятий для описания данных, связей между ними и ограничений, накладываемых на данные в некоторой организации На основе объектов –семантические (сущность – связь) На основе записей –реляционная –сетевая –иерархическая
Общая характеристика моделей данных (1) Сильно типизированные и слабо типизированные модели данных Структурные компоненты –категории –свойства категорий –связи между категориями
Общая характеристика моделей данных (2) Определение схемы Пример: ВОДИТЕЛЬ (Имя, Возраст, Стаж работы) АВТОМОБИЛЬ (Модель, Гос. номер, Дата приобретения) УПРАВЛЯЕТ (ВОДИТЕЛЬ, АВТОМОБИЛЬ)
Общая характеристика моделей данных (3) Реализация базы данных совокупность данных, структура которых соответствует некоторой схеме База данных совокупность реализаций, полученных в результате некоторых преобразований и удовлетворяющих одной и той же схеме Состояние базы данных
Представление статических и динамических свойств (1) Правила порождения G (Generate Rules) – ЯОД –правила порождения структуры Gs (Generate Structure) –правила порождения ограничений Gc (Generate Constraints) Операции O (Operators) – ЯМД
Представление статических и динамических свойств (1) Структура Категория: СЛУЖАЩИЙ Свойства категории: –табельный номер – целое –ФИО – символьная строка –возраст – целое –стаж работы – целое Ограничения целостности –Возраст > 17 –стаж работы < возраста
Представление статических и динамических свойств (3)
Структурные компоненты
Множества: домены и атрибуты (1) Множество –интенсионал (intentional): целые положительные четные числа –экстенсионал (extensional): {2, 4, 8, 16, 32, 64} Домены: целые Атрибуты: зарплата, номер служащего, возраст
Множества: домены и атрибуты (2)
Отношения сущности (1) Отношение – агрегат, построенный на множествах D 1, D 2, …, D m – множества доменов Отношение – множество упорядоченных кортежей, таких, что d 1 D 1, d 2 D 2, …, d m D m Схема отношения – именованный список пар : R(A 1 :D 1, A 2 :D 2, …, A m :D m )
Отношения сущности (2) D 1 = {d 1i | d 1i – строчная буква английского алфавита}; экстенсионал – {a, b, c, d, e} D 2 = {d 2j | d 2j – десятичная цифра}; экстенсионал – {1, 3, 5} Отношение: R = { | d 1i D 1, d 2j D 2 }; экстенсионал – R 1 = {,, } Схема отношения: R(Категория:D 1, Индекс:D 2 )
Отношения связи R = { | s 1i S 1, s 2j S 2 } Отображения: прямое – R : S 1 S 2 обратное – R -1 : S 2 S 1 Кардинальные числа (cardinality): R ( S 1 (m 1, n 1 ) : S 2 (m 2, n 2 ) ) Пример: ВЫБИРАЕТ ( СТУДЕНТ (5, 100) : КУРС (1, 3) )
Типы отображений (1) R ( S 1 ( 0, ) : S 2 (1, ) ), S 1 S 2 Полностью определенное на S 1
Типы отображений (2) R ( S 1 ( 0, ) : S 2 ( 0, 1 ) ), S 1 S 2 Неполное функциональное отображение
Типы отображений (3) R ( S 1 ( 0, ) : S 2 ( 1, 1 ) ), S 1 S 2 Полное функциональное отображение
Ограничения целостности (1) Логические ограничения, накладываемые на данные: если значения данных отвечают существующим знаниям об объекте, соответствующие ограничениям логические выражения принимают значение «истина» Язык описания ограничений – ЯОО
Ограничения целостности (1) Ограничение C i –правильно построено –удовлетворено состоянием DBS k –удовлетворяемо –недостоверно Состояние базы данных –удовлетворяет схеме S –непротиворечиво Схема S –удовлетворяема –противоречива
Ограничения целостности (2) Внутренние (неявные) –принадлежность атрибута домену Явные –возраст > стаж работы
Операции над данными Основные операции: –выборка данных –модификация данных Способы доступа к данным: –навигационные языки –ненавигационные языки