Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информационные тех ю.2 4204.02.01;РУ.01;1.doc
Скачиваний:
15
Добавлен:
18.08.2019
Размер:
3.42 Mб
Скачать

3.2. Виды структур данных

Ядром любой базы данных является модель данных, которая представляет собой структуру данных, соглашения о способах их представления и операций манипулирования ими. Модель данных представляет собой формализованное описание объектов предметной области и взаимо­связей между ними.

Различают три основных типа моделей данных:

  • иерархическая,

  • сетевая,

  • реляционная.

Иерархическая структура представляет собой совокупность элементов, в которой данные одного уровня подчинены данным другого уровня, а связи между элементами образуют древовид­ную структуру. В такой структуре исходные элементы порождают другие элементы, причем эти элементы в свою очередь порождают следующие элементы и т.д. Существенно то, что каждый порожденный элемент имеет только одного «родителя». В качестве примера иерархической струк­туры (рис. 3.1) приведена организация хранения информации о музыкальных альбомах группы «Ace of Base». Группа «Ace of Base» может быть подчиненной для объектов более высокого уровня иерархии, например страны, стиля или носителя.

Рис. 3.1. Пример иерархической организации данных

Примером иерархической базы данных может служить генеалогическое древо вашей семьи.

Несмотря на то, что в атрибутах, описывающих песню, нет названия альбома, глядя на дерево, по линиям связи можно определить принадлежность альбома группе. Из данной иерархической структуры можно узнать:

  • в каком альбоме больше песен;

  • число альбомов, выпущенных группой;

  • есть ли в альбомах одинаковые песни и т.д.

Существуют и более сложные – сетевые – структуры, в которых каждый порожденный элемент может иметь более одного порождающего элемента. Сетевая модель данных состоит из набора соответствующих связей. На формирование связи особых ограничений не накладывается.

Пример схемы простейшей сетевой БД показан на рис. 3.2. Типы связей здесь обозначены надписями на соединяющих линиях.

Рис. 3.2. Пример сетевой организации данных

И сетевые и иерархические структуры можно свести к простым двумерным таблицам.

Наиболее удобным и для пользователя, и для компьютера является представление данных в виде двумерной таблицы – подавляющее большинство современных информационных систем работает именно с такими таблицами. Базы данных, которые состоят из двумерных таблиц, назы­ваются реляционными (по-английски «relation» – отношение). Основная идея реляционного подхода состоит в том, чтобы представить произвольную структуру данных в виде простой двумерной таблицы.

Примером реализации реляционной модели данных может быть таблица с информацией об учащихся (табл. 3.1).

Таблица 3.1

Информация об учащихся

Код

Фамилия

Имя

Отчество

Год рождения

Школа

Класс

1

Иванникова

Анна

Ивановна

1984

1

9

2

Баранова

Ирина

Алексеевна

1983

3

10

3

Корнилова

Ольга

Владимировна

1984

5

9

4

Воробьев

Алексей

Петрович

1983

1

10

5

Воробьев

Алексей

Иванович

1984

3

9

6

Воробьев

Олег

Григорьевич

1985

5

8

7

Скоркин

Александр

Евгеньевич

1982

1

11

8

Володина

Анна

Алексеевна

1984

3

9

Как видно из приведенного примера, реляционная таблица обладает следующими свойствами:

  • каждая строка таблицы – один элемент данных (сведения об одном учащемся);

  • все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип и длину (например, в столбце Имя отображаются имена учащихся символьного типа длиной не более определенного количества символов);

  • одинаковые строки в таблице не допускаются (запись о каждом учащемся делается только один раз);

  • порядок следования строк и столбцов в таблице может быть произвольным (запись об учащемся в таблицу делается при поступлении в школу).

Основные структурные элементы реляционной базы данных:

  1. В реляционных БД любые совокупности данных представляются в виде двумерных таблиц (отношений), подобных описанному выше списку учащихся. При этом каждая таблица состоит из фиксированного числа столбцов и некоторого (переменного) количества строк. Описание столб­цов принято называть макетом таблицы или схемой отношения.

  2. Каждый столбец таблицы представляет поле – элементарную единицу логической организа­ции данных, которая соответствует неделимой единице информации – реквизиту объекта данных (например, фамилия учащегося, год рождения).

Для описания поля используются характеристики:

  • имя поля (атрибут), например, Код, Фамилия.

  • тип поля, например, числовой, текстовый;

  • дополнительные характеристики (длина поля, формат, точность).

  1. Каждая строка таблицы называется записью (кортеж). Запись – строка таблицы, логически объединяющая все поля, описывающие один объект данных, например, все поля в первой строке табл. 3.1 описывают данные об учащейся Иванниковой Анне Ивановне, 1984 года рождения, обучающейся в школе № 1 в 9 классе, код учащегося 1.

В отличие от количества полей (столбцов) в таблице, количество записей в процессе эксплуа­тации БД может как угодно меняться (от нуля до миллионов). Количество полей, их имена и типы тоже можно изменить, но это уже особая операция, которая называется изменением макета таблицы.

В структуре записи указываются поля, значения которых являются первичным ключом, кото­рые идентифицируют экземпляр записи. Первичный ключ – это поле или минимальный набор полей, однозначно определяющих каждую строку таблицы. Первичные ключи используются в целях: идентификации строк в таблице; ускорения работы со строками таблицы; связывания таблиц. Примером такого простого ключа (см. табл. 3.1) является поле Код, значение которого однозначно определяет один объект таблицы – одного учащегося, так как в таблице нет двух уча­щихся с одинаковым кодом.

  1. Каждое поле может входить в несколько таблиц. Например, код учащегося может входить в табл. 3.2, которая хранит информацию об адресах и оценках.

Таблица 3.2

Связанная таблица. Связь «один-к-одному»

Код

Адрес

Телефон

Word

Excel

Access

1

Центральная 11-5

51-17-22

5

5

5

2

Солнечная 8-117

51-18-22

4

4

4

3

Сиреневый 7-16

51-19-22

3

4

5

4

Центральная 14-81

51-20-22

5

5

4

5

Сиреневый 7-16

51-21-22

5

4

4

6

Солнечная 2-121

51-22-22

4

4

4

7

Школьная 5-34

51-23-22

5

5

5

8

Центральная 30-7

51-24-22

3

3

3

В табл. 3.1 и 3.2 поле Код однозначно определяет запись. Поле Код является первичным ключом для этих таблиц. Каждая запись в табл. 3.1 и табл. 3.2 связаны между собой полем Код. Такая связь называется «один-к-одному».

Может существовать связь другого рода.

В табл. 3.3 первичным ключом является поле Школа. Это поле идентифицирует запись в таблице и не может повторяться. В табл. 3.1 номер школы может повторяться многократно. Табл. 3.1 и 3.3 также связаны между собой и такая связь называется «один-ко-многим».

Таблица 3.3

Связанная таблица. Связь «один-к-многим»

Школа

Директор

1

Верзаков С.А.

2

Белоусов А.И.

3

Масалова В.А.

4

Новикова Е.В.

5

Зачесова Т.П.

Ключи обычно используют для исключения дублирования значений в ключевых полях (атри­бутах), упорядочения записей. ускорения работы с записями, организации связывания таблиц.

Если первичный ключ состоит из одного поля, он называется простым, если из нескольких полей – составным ключом. Вторичный ключ – это такое поле, значение которого может повто­ряться в нескольких записях, т.е. он не является уникальным. Если по значению первичного ключа может быть найден один-единственный экземпляр записи, то по вторичному ключу – несколько записей.

Достоинства реляционной модели:

  • Простота и доступность для понимания конечным пользователем. Единственной информа­ционной конструкцией является таблица.

  • При проектировании реляционных БД применяются строгие правила, базирующиеся на математическом аппарате.

  • Полная независимость данных. При изменении структуры реляционной БД изменения, которые требуется произвести в прикладных программах, минимальны.

  • Для построения запросов и написания прикладных программ нет необходимости знания конкретной организации БД во внешней памяти.

Недостатки реляционной модели:

  • По сравнению с другими моделями реляционная модель имеет более низкую скорость доступа и требует большего объема внешней памяти.

  • Появление большого количества таблиц в результате логического проектирования затруд­няет понимание структуры данных.

  • Далеко не всегда предметную область можно представить в виде совокупности таблиц.

Для преодоления недостатков, присущих реляционной модели, в настоящее время разви­ваются постреляционная, многомерная и объектно-ориентированная модели. Эти модели в той или иной степени опираются на реляционную модель. Но реляционная модель и коммерческие продукты, основанные на этой модели, доминируют при построении экономических ИС.