Базы данных (БД) и системы управления базами данных (СУБД)
Организация данных во внутримашинной сфере характеризуется на двух уровнях – логическом и физическом.
Физическая организация данных определяет способ размещения данных непосредственно на машинном носителе. Этот уровень обеспечивается автоматически прикладными программами, без вмешательства пользователя.
Пользователь в прикладных программах оперирует представлениями логической организации данных.
Логическая организация данных
Для размещения одной и той же информации а ЭВМ могут быть использованы различные структуры и модели данных.
Модель данных – это совокупность взаимосвязанных структур данных и операций над этими структурами. Выбор модели данных и структуры данных возлагается на пользователя и зависит от технического и программного обеспечения, определяется сложностью задач и объемом информации.
Существуют три основные модели данных
Файловая
Сетевая и иерархическая
Реляционная
Файловая модель.
Информационная база представляет собой совокупность не связанных между собой файлов из однотипных записей с линейной структурой.
Основные типы структур данных файловой модели – поле, запись, файл.
Запись является основной структурной единицей обработки данных и единицей обмена между оперативной и внешней памятью.
Поле – это элементарная единица логической организации данных которая соответствует отдельной, неделимой единице информации – реквизиту.
Запись – это совокупность полей, соответствующих логически связанным реквизитам. Структура записи определяется составом и последовательностью входящих в нее полей, каждое из которых содержит элементарное данное.
Файл – это множество одинаковых по структуре записей со значениями в отдельных полях, причем поля имеют единственное значение.
Каждый экземпляр записи однозначно идентифицируется уникальным ключом записи.
Ключи бывают 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 | И0001 | К11 |
2 | Д0001 | И0005 | К15 |
3 | Д0002 | И0001 | К21 |
4 | Д0003 | И0001 | К31 |
5 | Д0003 | И0002 | К32 |
6 | Д0003 | И0005 | К35 |
Преимущества и недостатки реляционной модели.
Достоинства:
Простота представления данных благодаря табличной форме, минимальная избыточность данных при нормализации отношений.
В реляционных моделях обеспечивается:
независимость приложений пользователя от данных
изменение атрибутного состава отношений.
В отличие от иерархических и сетевых, реляционные базы данных не требуют описания схемы данных и его генерации.
Недостатки:
нормализация данных реляционной модели приводит к значительной фрагментации данных, в то время как в большинстве задач необходимо объединение фрагментированных данных.
База данных ACCESS
В СУБД Access поддерживается реляционная модель данных.
СУБД Microsoft Access входит в пакет Microsoft Office. Мы будем рассматривать версию MS Access 2000.
Структура БД
Даже если в базе нет никаких данных (пустая база), то это все равно полноценная база данных, т.к. она имеет определенную структуру. Структура определяет методы занесения данных и хранения их в базе.
Т.к. структура двумерной таблицы образуют столбцы и строки, их аналогами в структуре простейшей базы данных являются поля и записи. Значит если записей в таблице нет, то структура образована только набором полей.
Изменяя состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и получаем новую базу данных.
Свойства полей БД Access.
Имя поля – как нужно обращаться к данным.
Тип поля – определяет тип данных.
Размер поля – определяет предельную длину данных.
Формат поля – способ формирования данных в ячейках.
Маска ввода – форма ввода данных в поле(средства автоматизации данных).
Подпись – заголовок столбца таблицы(по умолчанию – имя поля).
Значение по умолчанию – (ввод автоматически).
Условие на значение – ограничение, для проверки правильности ввода(числовой, денежный или тип даты).
Сообщение об ошибке – если вводятся ошибочные данные.
Обязательное поле – данные обязательного заполнения.
Индексированное поле – быстрая обработка(папок и сортировка).