Базы данных (БД) и системы управления базами данных (СУБД)
Организация данных во внутримашинной сфере характеризуется на двух уровнях - логическом и физическом.
Физическая организация данных определяет способ размещения данных непосредственно на машинном носителе. Этот уровень обеспечивается автоматически прикладными программами, без вмешательства пользователя.
Пользователь в прикладных программах оперирует представлениями логической организации данных.
Логическая организация данных
Для размещения одной и той же информации а ЭВМ могут быть использованы различные структуры и модели данных.
Модель данных - это совокупность взаимосвязанных структур данных и операций над этими структурами. Выбор модели данных и структуры данных возлагается на пользователя и зависит от технического и программного обеспечения, определяется сложностью задач и объемом информации.
Существуют три основные модели данных
Файловая
Сетевая и иерархическая
Реляционная
Файловая модель.
Информационная база представляет собой совокупность не связанных между собой файлов из однотипных записей с линейной структурой.
Основные типы структур данных файловой модели - поле, запись, файл.
Запись является основной структурной единицей обработки данных и единицей обмена между оперативной и внешней памятью.
Поле - это элементарная единица логической организации данных которая соответствует отдельной, неделимой единице информации - реквизиту.
Запись - это совокупность полей, соответствующих логически связанным реквизитам. Структура записи определяется составом и последовательностью входящих в нее полей, каждое из которых содержит элементарное данное.
Файл - это множество одинаковых по структуре записей со значениями в отдельных полях, причем поля имеют единственное значение.
Каждый экземпляр записи однозначно идентифицируется уникальным ключом записи.
Ключи бывают 2х типов: первичный и вторичный.
Первичный ключ (ПК) - это одно или несколько полей, однозначно идентифицирующих запись. Если первичный ключ состоит из одного поля, он называется простым, если из нескольких полей - составным ключом.
Вторичный ключ (ВК) - в отличие от первичного, это такое поле, значение которого может повторяться в нескольких записях файла, т.е. он не является уникальным.
Если по значению первичного ключа может быть найден один единственный экземпляр записи, то по вторичному - несколько.
Средством эффективного доступа по ключу к записи файла является индексирование. При индексировании создается дополнительный файл, который содержит в упорядоченном виде все значения ключа файла данных. Для каждого ключа в индексном файле содержится указатель на соответствующую запись файла данных.
С помощью указателя на запись в файле данных осуществляется прямой доступ к этой записи.
Описание логической организации данных файловой модели
При описании логической организации данных каждому файлу присваивается уникальное имя, и дается описание структуры его записей. Описание структуры записей включает перечень входящих в нее полей и их порядок внутри записи.
Для каждого поля задается сокращенное обозначение - имя поля, формат поля - тип хранимого данного, длина поля и точность числовых данных.
Структуру файла можно представить в виде таблицы.
Сетевые и иерархические модели данных
Сетевая или иерархическая модель данных представляет соответствующий метод логической организации базы данных в СУБД. Такая модель является совокупностью взаимосвязанных объектов. Связь двух объектов отражает их подчиненность.
Структуры данных в моделях
К типовым структурам данных относятся элемент данных, агрегат данных, запись, база данных и т.д.
Элемент данных - это минимальная именованная структурная единица данных(аналог поля в файловых системах).
Агрегат данных - это именованное подмножество элементов данных или других агрегатах внутри записи. В агрегатах допускается множественный элемент, который содержит несколько значений элемента в одном экземпляре агрегата.
Запись - составной агрегат, который не входит в состав других агрегатов.
Тип записи - все множество экземпляров записи одинаковой структуры.
Запись конкретного типа является объектом в модели данных.
Особенности моделей
В иерархических моделях непосредственный доступ по ключу, как правило, возможен только к объекту самого высокого уровня, который не подчинен другим объектам.
В сетевых моделях непосредственный доступ по ключу может обеспечиваться к любому объекту независимо от уровня, на котором он находится в модели (структура объекта чаще всего линейная).
Сетевые модели данных по сравнению с иерархическими являются более универсальными.
Сетевые модели позволяют отображать также иерархические связи данных. В них отсутствует дублирование данных и технология работы с сетевыми моделями удобны для пользователя, т.к. доступ к данным не имеет ограничений. Допустимы всевозможные запросы.
Реляционная модель данных
Реляционная модель имеет простую структуру данных, удобное для пользователя табличное представление данных и удобный доступ к данным. Реляционная модель данных является совокупностью простейших двумерных таблиц-отношений. Связи между двумя логически связанными таблицами в реляционной модели устанавливаются по равенству значений одинаковых атрибутов таблиц-отношений.
Операции обработки реляционной модели основаны на использовании универсального аппарата алгебры отношений и реляционного счисления.
Структура данных реляционной модели.
Таблица является основным типом структуры данных реляционной модели. Структура таблицы определяется совокупностью столбцов. В каждой строке таблицы содержатся по одному значению в соответствующем столбце. В таблице не может быть двух одинаковых строк. Общее число строк не ограничено. Столбец - это атрибут (элемент данных). Каждый столбец имеет имя. Один или несколько атрибутов, значения которых однозначно идентифицируют строку таблицы, являются ключом таблицы. В реляционном подходе к построению баз данных используется терминология теории отношений. Простейшая двумерная таблица определяется как отношение. Столбец таблицы со значениями соответствующего атрибута называется доменом, а строки со значением разных атрибутов - кортежем.
R (Отношение)
A1 A2 A3 A4 A5 A6 A7 } имена атрибутов (столбцов)
K1 d11 d12 d13 d14 d15 d16 d17 R={К1, К2, К3, К4}
K2 d21 d22 d23 d24 d25 d26 d27 К2={d21, d22, d23, d24, d25, d26, d27}
K3 …... …... …... ….. d35 …... …. D5={d15, d25, d35, d45}
K4 …... …... …... ….. d45 …... ….
D1 D2 D3 D4 D5 D6 D7
Ki - кортеж
Di - домен
Ai - атрибут
Ri - таблица-отношение
Ключ таблицы - отношения.
Т.к. кортежи не должны повторяться внутри таблицы - отношения, соответственно они имеют уникальный первичный ключ (т.е. один из атрибутов таблицы будет являться ключом).
Для логической связи таблицы-отношения R1 с другой таблицей-отношением R2 первая таблица-отношение должна содержать внешний ключ. Внешним ключом подчиненной таблицы является вторичный ключ этого отношения, который в то же время выполняет роль первичного ключа в главной таблице.
Рассмотрим пример связывания нескольких таблиц отношений
№Договора
КодЗаказчика
Д0001
ЗАК А
Д0002
ЗАК Б
Д0003
ЗАК В
Д0004
№п/п
КодИзделия
Количество
1
И0001
К11
2
И0005
К15
3
К21
4
К31
5
И0002
К32
6
К35
Преимущества и недостатки реляционной модели.
Достоинства:
Простота представления данных благодаря табличной форме, минимальная избыточность данных при нормализации отношений.
В реляционных моделях обеспечивается:
независимость приложений пользователя от данных
изменение атрибутного состава отношений.
В отличие от иерархических и сетевых, реляционные базы данных не требуют описания схемы данных и его генерации.
Недостатки:
нормализация данных реляционной модели приводит к значительной фрагментации данных, в то время как в большинстве задач необходимо объединение фрагментированных данных.
Страницы: 1, 2