Табличная или реляционная структура
Предположим мы хотим собрать информацию об альбомах музыкальных групп. Пусть имеется информация о некоторых альбомах: 1965, Led Zeppelin 4, Lp, Help!, Atlantic, 1971, Lp (England), EMI, 1970, Flash Gordon, Parlophone, 1980, Led Zeppelin 3, Soundtrack, Lp, Atlantic. Этот список мало о чем говорит. Извлечь какую-либо информацию из этого набора данных практически невозможно.
Представим данные в виде табл. 9.1.1.
Таблица 9.1.1.
Информация об альбомах музыкальных групп
Название альбома | Год выпуска | Тип | Фирма альбома |
Help! | Lp (England) | Parlophone | |
Led Zeppelin 4 | Lp | Atlantic | |
Led Zeppelin 3 | Lp | Atlantic | |
Flash Gordon | Soundtrack | EMI |
Теперь воспринимать и использовать информацию стало гораздо удобнее. Представленная таблица является информационной моделью. Объектами, отраженными в этой модели, являются музыкальные альбома (групп), причем все данные взаимосвязаны. Свойствами этих объектов находятся в столбцах таблицы («Название альбома», «Год выпуска», «Тип альбома», «Фирма»), их называют атрибутами объектов. Таким образом, каждая строка таблицы – есть совокупность атрибутов объекта. Такую строку называют записью, а столбец – полем записи.
Табличная организация данных позволяет получить дополнительную информацию, помимо сведений, указанных в атрибутах. К примеру:
· какая группа выпустила больше альбомов за определенный период;
· число альбомов данной группы;
· сколько имеется альбомов типа Soundtrack (музыка к фильму);
· какая фирма выпустила наибольшее число альбомов данной группы.
Иерархическая структура
Рис. 9.1.1. Пример иерархической организации данных
Для иерархической структуры (рис. 7.1.1) характерна подчиненность объектов нижнего уровня объектам верхнего уровня.
Важно отметить, что в дереве, между верхними и нижними объектами, задано отношение «один ко многим» (т.е. одной группе соответствует много альбомов, одному альбому соответствует много песен).
В атрибутах, описывающих песню, нет названия альбома, но по линиям связи можно сказать, какая песня принадлежит альбому. По линиям связи можно также определить принадлежность альбома группе. Из данной иерархической структуры можно узнать:
· В каком альбоме больше песен;
· Число альбомов выпущенных группой;
· Есть ли в альбомах одинаковые песни и т.д.
Сетевая структура
Сетевую структуру данных можно представить в виде схемы, рис. 7.1.2.
Рис. 9.1.2. Пример сетевой организации данных
В этом случае есть два уровня взаимосвязанных объектов, но отношения между ними «многие ко многим». Глядя на схему можно определить, какими инструментами владеет музыкант, является ли он вокалистом.
Схема позволяет ответить на следующие вопросы:
· Гитары, какой фирмы предпочитает большинство музыкантов;
· Какой музыкант владеет наибольшим количеством инструментов и т.д.
Построение структуры данных происходит в следующем порядке:
· Определяются объекты описания;
· Определяются структуры этих объектов;
· Выбирается тип структуры, отображающий отношения между объектами (табличная, иерархическая, сетевая);
· Строится конкретная информационная структура.
9.1.4. Виды баз данных.
Дадим основное определение. База данных – это реализованная с помощью компьютера информационная структура (модель), отражающая состояние объекта и их отношения. Поскольку основу любой БД составляет информационная структура, соответственно возможностям организации реляционных (табличных), иерархических или сетевых информационных структур существуют и аналогичные виды БД. В них данные представлены в формах, адекватных соответствующим структурам.
Опыт использования БД позволяет выделить общий набор их рабочих характеристик:
· Полнота – чем полнее БД, тем вероятнее, что она содержит нужную информацию (однако, не должно быть избыточной информации);
· Правильная организация – чем лучше структурирована БД, тем легче в ней найти необходимые сведения;
· Актуальность – любая БД может быть точной и полной, если она постоянно обновляется, т.е. необходимо, чтобы база данных в каждый момент времени полностью соответствовала состоянию отображаемого ею, объекта;
· Удобство для использования – БД должна быть проста и удобна в использовании, и иметь развитые методы доступа к любой части информации.
Наиболее распространенными являются реляционные БД, чем иерархические и сетевые, которые не могут быть реализованы с помощью наиболее популярных СУБД, входящих в состав ПО ЭВМ. Поэтому мы рассмотрим подробнее реляционные БД.
Лекция 9.2. Реляционные БД
Название «реляционные» (в переводе с англ. relation-отношение) связано с тем, что каждая запись в таблице содержит информацию, относящуюся только к одному конкретному объекту. БД могут содержать различные объекты, но основными объектами любой БД являются ее таблицы. Простейшая БД имеет хотя бы одну таблицу. Соответственно, структура простейшей БД тождественно равна структуре ее таблицы. Структуру таблицы простейшей БД составляют поля и записи. Если записей в таблице пока нет, значит, ее структура образована только набором полей. Однако, чаще, БД строятся на основе нескольких таблиц, связанных между собой через общие атрибуты.
Свойства полей БД
Поля БД не просто определяют структуру базы - они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Рассмотрим основные свойства полей таблиц, на примере СУБД MS Access.
Имя поля - определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблицы);
Тип поля - определяет тип данных, которые могут содержаться в данном поле;
Размер поля - определяет предельную длину (в символах) данных, которые могут размещаться в данном поле;
Формат поля - определяет способ форматирования данных в ячейках, принадлежащих полю;
Маска ввода - определяет форму, в которую вводятся данные в поле (средства автоматизации ввода данных);
Подпись - определяет заголовок столбца таблицы для данного поля (если подпись не задана, то в качестве заголовка столбца используется имя поля);
Значения по умолчанию - то значение, которое вводится в ячейку поля автоматически (средства автоматизации ввода данных);
Условия на значение – ограничение, используемое для проверки правильности ввода данных;
Сообщение об ошибке – текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных (проверка ошибочности производится автоматически, если задано свойство Условие назначения);
Обязательное поле – свойство, определяющее обязательность заполнения данного поля при наполнении базы;
Пустые строки – свойство, разрешающее ввод пустых строковых данных (от свойства обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например, к текстовым);
Индексированное поле – если поле обладает этим свойством, все операции, связанные с поиском записи по значению, хранящемуся в данном поле, или сортировкой существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значения в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.
Перечисленные свойства полей относятся в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним новые. Например, для данных, представляющих действительные числа, важным свойством является число десятичных знаков.
Типы полей
Таблицы БД, как правило, допускают работу с большим количеством разных типов данных. Например, БД MS Access работают со следующими типами данных:
Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов);
Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65535 символов). Физически текст не хранится в поле. Он хранится в другом месте БД, а в поле хранится указатель на него (поле для комментариев);
Числовой – тип данных для хранения действительных чисел;
Дата/время – тип данных для хранения календарных дат и текущего времени (от 100 до 9999 г.).
Денежный – тип данных для хранения денежных сумм;
Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей;
Логический – тип для хранения логических данных (может принимать только одно из значений «Да» или «Нет»);
Поле объекта OLE – специальный тип, предназначенный для хранения объектов OLE, например, мультимедийных. В основном, для хранения объектов, созданных другими приложениями: рисунки или таблицы, созданные, например MS Excel;
Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернет. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объекта в его окне;
Мастер подстановок – это объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать из раскрывающегося списка.