- •Основная литература
- •Дополнительная литература
- •2.Типы и структуры данных
- •2.1.Основные типы данных.
- •2.1.Методы доступа к данным.
- •2.2.2.Хеширование.
- •3. Представление данных с помощью модели "сущность-связь".
- •3.1.Элементы модели.
- •3.2.Диаграмма "сущность-связь".
- •Выделим интересующие нас сущности и связи:
- •Обобщая все проведенные выше рассуждения, получим диаграмму "сущность-связь", показанную на следующем рисунке.
- •4.1.Иерархическая модель данных.
- •4.1.2.Операции над данными, определенные в иерархической модели:
- •4.2.1.Структура данных.
- •4.2.2.Операции над данными.
- •4.3. Реляционная модель данных
- •1. Основные понятия
- •4.3.1. Структура данных.
- •Фундаментальные свойства отношений
- •4.3.3.Свойства отношений.
- •4.3.4. Реляционная модель и модель сущность - связь
- •4.3.4.1. Преобразование er-модели в реляционную модель
- •Преобразование слабой сущности
- •П реобразование подтипов сущностей.
- •Связь 1:м
- •С вязь 1:1
- •5. Языки запросов к реляционным базам данных
- •5.1. Реляционная алгебра
2.Типы и структуры данных
2.1.Основные типы данных.
Классификация типов данных
Любая модель данных должна содержать три компоненты:
структура данных - описывает точку зрения пользователя на представление данных.
набор допустимых операций, выполняемых на структуре данных. Модель данных предполагает, как минимум, наличие языка определения данных (ЯОД), описывающего структуру их хранения, и языка манипулирования данными (ЯМД), включающего операции извлечения и модификации данных.
ограничения целостности - механизм поддержания соответствия данных предметной области на основе формально описанных правил.
В процессе исторического развития в СУБД использовалось следующие модели данных:
иерархическая,
сетевая,
реляционная
Иерархическая модель является деревом, в котором вершины представляют наборы объектов как пациенты, врачи и сыновья вершины ассоциируются с их отцом в некоторой конкретной связи (отделения – врачи, приписанные этому отделению).
Сетевая модель представляет собой модель ориентированных графов, которая отражает связи в базе данных.
Реляционная модель базируется на теоретико-множественном понятии отношение. Например, отношение между врачом и пациентом определяется отношением (ВРАЧ, ПАЦИЕНТ, ДАТА). (a,b,d) - Пациент a на дату d лечится у врача b.
2.1.Методы доступа к данным.
Вопросы представления данных тесно связаны с операциями, при помощи которых эти данные обрабатываются. К числу таких операций относятся: выборка, изменение, включение и исключение данных. В основе всех перечисленных операций лежит операция доступа, которую нельзя рассматривать независимо от способа представления.
В задачах поиска предполагается, что все данные хранятся в памяти с определенной идентификацией и, говоря о доступе, имеют в виду, прежде всего доступ к данным (называемым ключами), однозначно идентифицирующим связанные с ними совокупности данных.
Существуют два класса методов, реализующих доступ к данным по ключу:
методы поиска по дереву,
методы хеширования.
Обычно при упорядочивании используется лексикографический порядок, который определяется следующими соотношениями
Полагаем
,
тогда и только тогда, когда
1)
и
2)
для некоторого
выполняется
и
Необходимо понимать, что если определен линейный порядок на элементах, необходимо поддерживать этот порядок при операциях вставки, модификации и удаления кортежей.
2.1.1.Методы поиска по дереву.
Определение: Деревом называется конечное множество, состоящее из одного или более элементов, называемых узлами, таких, что:
между узлами имеет место отношение типа "отец-сын";
есть только один узел, не имеющий отца. Он называется корнем;
все узлы за исключением корня имеют только один исходный; каждый узел может иметь несколько сыновей;
отношение "отец-сын" действует только в одном направлении, т.е. ни один потомок некоторого узла не может стать для него предком.
Пример: Пусть дан список студентов, содержащий их фамилии и средний бал успеваемости (см. таблицу 1.1). В качестве ключа используется фамилия студента. Предположим, что все записи имеют фиксированную длину, тогда в качестве указателя можно использовать номер записи. Смещение записи в файле в этом случае будет вычислятся как ([номер_записи] -1 ) * [длина_записи]. Пусть аргумент поиска "Петров". На рисунке 1.2 показаны одно из возможных для этого набора данных бинарных деревьев поиска и путь поиска.
Таблица 1.1. |
|
Студент |
Балл |
Васильев |
4,2 |
Иванов |
3,4 |
Кузнецов |
3,5 |
Петров |
3,2 |
Сидоров |
4,6 |
Тихомиров |
3,8 |
Определение: В-деревом порядка n называется сильно ветвящееся дерево степени 2n+1, обладающее следующими свойствами:
Каждый узел, за исключением корня, содержит не менее n и не более 2n ключей.
Корень содержит не менее одного и не более 2n ключей.
Все листья расположены на одном уровне.
Каждый не листовой узел содержит два списка: упорядоченный по возрастанию значений список ключей и соответствующий ему список указателей (для листовых узлов список указателей отсутствует).
Для такого дерева:
сравнительно просто может быть организован последовательный доступ, т.к. все листья расположены на одном уровне;
при добавлении и изменении ключей все изменения ограничиваются, как правило, одним узлом.
