Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
чудинов_бд.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
584 Кб
Скачать
☆

3. Модели данных

3.1. Понятия модели и структуры данных

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

В период, предшествующий применению СУБД, использовались простые линейные структуры записей файлов, связь между записями различных файлов устанавливалась алгоритмически в программе обра­ботки (описаний связей не было). Имевшаяся в то время возможность описания иерархических структур (например, в языке PL/1 или COBOL) внутри одной записи не привела к широкому применению из- за того, что требовалось указывать и физически резервировать память под максимально возможное число повторений соподчиненных групп (агрегатов) данных.

С возникновением концепции баз данных получила развитие тео­рия структуризации данных, были определены типовые структуры (мо­дели) данных:

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

  • сетевая,

  • реляционная модель.

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

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

Под моделью данных будем понимать соответствующий тип структуры данных и типовые операции по управлению данными.

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

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

3.2. Линейная модель данных

Свойства линейной структуры:

  • элементами линейной структуры являются простые данные. Простыми считаем данные, разделение которых на составляющие не имеет смысла;

  • каждое данное имеет имя (идентификатор) и множество воз­можных значений, задаваемое словарем, диапазоном или правилом формирования;

  • множество данных, составляющих линейную структуру, описы­вает множество однотипных объектов;

  • все экземпляры линейной структуры (записи) однородны в том смысле, что:

  • порядок следования данных во всех экземплярах структуры один и тот же;

  • размер и тип данных одного имени во всех экземплярах струк­туры одинаковы. Разные данные могут иметь различные раз­меры и типы;

  • линейной структуре в информационных системах соответствует файл однотипных записей.

Отметим особо, что связь между элементами состоит в определен­ном порядке их следования в экземплярах структуры.

Пример линейной структуры, объектом описания (моделирования) которой является студент, приведен на рис. 3.1.

Схема структуры СТУДЕНТ

Код студента

Ф.И.О.

Номер группы

Пол

Дата рождения

Экземпляры структуры СТУДЕНТ

•

427101

Гончар Е.

4271

Ж

29.04.78

427102

Драганов М.

4271

м

19.01.79

427103

Зюкин М.

4271

м

26.03.79

477001

Акулинин А.

477

м

29.04.76

Рис. 3.1. Простая линейная структура данных

Представленная структура описывает материальный объект - лич­ность.

Другой пример линейной структуры, объектом описания которой является нечто не материальное что-то вроде семестр студента, приве­ден на рис. 3.2.

Схема структуры СЕМЕСТР

Код

Номер

Тип

Рейтинг

студента

семестра

стипендии

за семестр

Экземпляры структуры СЕМЕСТР

•

427101

1

стандартная

105

427101

2

стандартная

100

427101

3

не получает

70

•

427102

1

стандартная

100

427102

2

повышенная

130

•

477001

1

стандартная

100

477001

2

стандартная

110

477001

3

стандартная

100

•

Рис. 3.2. Линейная структура, ключ которой состоит из двух данных

Типовые операции по управлению данными линейной структуры:

  • вставка - включение новых экземпляров (записей) в структуру;

  • удаление - удаление определенных экземпляров из структуры;

  • замена - изменение значений некоторых данных в определен­ных экземплярах структуры;

  • выборка - чтение экземпляров для обработки.

При удалении или замене соответствующие записи вначале долж­ны быть найдены.

Не следует путать эти операции с операциями вставки новых атри­бутов, удаления и замены существующих атрибутов, являющихся опе­рациями по изменению структуры.

Представленные на рис 3.1 и 3.2 схемы реализованы в нотации Байхмана, что наиболее точно соответствует обычному изображению линейной структуры в виде таблицы, однако вызывает трудности в изо­бражении значительного числа данных-столбцов, особенно при отобра­жении с помощью компьютера. Поэтому в большинстве СУБД исполь­зуется другой способ - отображение названий столбцов в виде строк не­которой таблицы (рис. 3.3).

Например, такая структура

Номер

Но­

Но­

Рей­

Дис-

Кол-во

Оценка

Рейтинг

зач.

мер

мер

тинг

цип-

пропус­

по дис­

по дис­

книжки

груп­

се­

сту­

лина

ков по

циплине

циплине

сту­

пы

ме­

дента

дисцип

в се­

в семе­

дента

стра

за се­местр

лине в семестре

местр

стре

Представляется в следующем виде

Номер зачетной книжки студента

Номер учебной группы студента

Номер семестра

Рейтинг студента за семестр

Дисциплина

Количество пропусков по дисциплине в семестре

Оценка по дисциплине в семестре

Рейтинг по дисциплине в семестре

Рис. 3.3. Варианты отображения описания линейной структуры

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

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