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

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

01.03.2019

Д ля вставки изображений в HTML применяются два основных формата GIF и JPEG. Формат GIF может хранить внутри себя простейшую анимацию (динамические баннеры), JPEG отлично подходит для изображений с большим количеством цветов, например фотографий. Третьим форматом для web-графики является формат PNG, но он не получил широкого применения в web-дизайне. Любое изображение в форматах GIF или JPEG вставляется на web-страницу при помощи тега , закрывающего тега нет.

Атрибут SRC

Посредством атрибута src задается адрес (URL) файла с изображением, т.е. браузер находит нужное изображение в каталоге сайта по пути (адресу URL), прописанному в этом атрибуте. Для удобства все изображения сайта находятся в отдельной папке, обычно с именем image . Для примера возьми любое изображение, лучше небольшого формата, и сохрани в созданной папке image, с именем primer.jpg . Далее мы будем обращаться к ней для обучения.

Ну что, попробуем вставить картинку на страницу? Пишем код (путь - URL, прописывается в зависимости от местонахождения папки с изображениями):

src="image/primer.jpg" >

То, без чего не создать сайт: ∼ ∼

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

Для представления данных используются модели, основанные на формах представления информации. Такие модели называются синтаксическими.

В специальной литературе встречается описание довольно большого количества моделей данных . Широкое распространение получили иерархическая, сетевая и реляционная. Кроме них к самым известным относятся еще бинарная модель и семантическая сеть.

Классической, наиболее давно используемой считается модель данных, в основе которой лежит иерархическая структура типа дерева (фрагмент представлен на рис. 10). Часто используется также модель «упорядоченное дерево», в которой значим относительный порядок поддеревьев. В такой модели каждая следующая единица информации связана только с одной предыдущей, а предыдущие могут быть связаны с несколькими последующими.


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


Реляционная модель данных базируется на табличных методах и средствах представления данныхи манипулирования ими. В такой модели информация о предметной области отображается в таблицу, называемую «отношением» (рис. 12). Строка такой таблицы называется кортежем, столбец – атрибутом. Каждый атрибут может принимать некоторое подмножество значений из определенной области – домена.

Подавляющее большинство СУБД, ориентированных на персональные ЭВМ, являются системами, построенными на основе реляционной модели данных, – реляционными СУБД.

Бинарная модель данных – это графовая модель, в которой вершины отражают представления простых однозначных атрибутов, а дуги – представления бинарных связей между атрибутами (рис. 13).


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

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

Таким образом, семантической сетью можно считать любую графовую модель (например, помеченный бинарный граф), если изначально четко оговорено, что обозначают вершины и дуги и как они используются.

Семантические сети являются богатыми источниками идей моделирования данных, чрезвычайно полезных в плане решения проблемы представления сложных ситуаций. Они могут применяться независимо или совместно с идеями, положенными в основу других моделей данных. Их интересной особенностью служит то, что расстояние, измеренное на сети (семантическое расстояние, или метрика), играет важную роль, определяя близость взаимосвязанных понятий. При этом предусмотрена возможность в явной форме подчеркнуть, что семантическое расстояние велико. Как показано на рис. 14, МАГАЗИН соотносится с личностью ПРОДАВЕЦ, и в то же время ПРОДАВЦУ присущ ВЕС. Взаимосвязь личности со специальностью очевидна, однако из этого не обязательно следует взаимосвязь МАГАЗИНА и ВЕСА.


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

Остановимся подробнее на реляционной, иерархической и сетевой моделях данных.

Реляционная модель данных характеризуется следующими компонентами:

– информационной конструкцией: отношением с двухуровневой структурой;

– допустимыми операциями: проекцией, выборкой, соединением и некоторыми другими;

– ограничениями: функциональными зависимостями между атрибутами отношения.

Каждому классу объектов Р материального мира ставится в соответствие некоторое множество атрибутов, например А 1 , А 2 , ..., А n . Отдельный объект класса Р описывается строкой величин (a 1 , а 2 , ..., a n) , где a i – значение атрибута A i .

Строка (a 1 , а 2 , ..., a n ) называется кортежем. Всему классу объектов соответствует множество кортежей, именуемое отношением. Обозначим отношение, описывающее класс объектов Р , также через Р .

Выражение Р (А 1 , А 2 , ..., А n ) называется схемой отношения Р .

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

Каждое отношение отражает состояние класса объектов в некоторый момент времени. Следовательно, одной схеме отношения в разные моменты времени могут соответствовать разные отношения.

Множество значений отношения можно представить в виде таблицы, в которой соблюдаются следующие соответствия:

– название таблицы и перечень названий граф соответствуют схеме отношения;

– строке таблицы соответствует кортеж отношения;

– все строки таблицы (а значит, все кортежи) различны;

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

Описание процессов обработки отношений может быть выполнено двумя способами:

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

– описанием свойств, которым должно удовлетворять результирующее отношение (декларативный подход).

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

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

Т = R [X ],

где R – исходное отношение; Т – результирующее отношение; X – список атрибутов в структуре отношения Т (условие проекции).

Рассмотрим отношение O 1 , содержащее сведения о продаже продукции в 2010 г. (табл. 1).

Таблица 1

Отношение Т 1 , содержащее сведения только о фактическом выпуске продукции, получается в результате выполнения проекции

Т 1 = О 1 [Магазин, Продукция, Факт]

и имеет вид табл. 2.

Таблица 2

Столбцы можно указывать в любом порядке:

Т 1 = О 1 [Продукция, Магазин, Факт].

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

1) Имя атрибута 1 <знак сравнения> Значение, где допускаются знаки сравнения =, #, >, ≥, <, ≤. Например: Цена > 100.

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

T = R [p ],

где R – исходное отношение; Т – результирующее отношение; р – условие выборки.

Например, получим значения Т 2 = О 1 [Продукция = «П 1 »] (табл. 3).

Таблица 3

Операции объединения, пересечения и вычитания производятся над двумя исходными отношениями с одинаковой структурой.

Обозначим исходные отношения через R 1 и R 2 , результирующее – через Т .

Объединение Т = U (R 1 , R 2) содержит строки, присутствующие либо в отношении R 1 , либо в R 2 .

Пересечение Т = I (R 1 , R 2) содержит строки, присутствующие в отношениях R 1 и R 2 одновременно.

Вычитание Т = M (R 1 , R 2) содержит те строки из R 1 , которые отсутствуют в R 2 .

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

Имя атрибута 1 <знак сравнения> Имя атрибута 2,

где Имя атрибута 1 находится в одном исходном отношении, а Имя атрибута 2 – в другом. Будем использовать следующее обозначение операции соединения:

T = R l [p ] R 2 ,

где R 1 и R 2 – исходные отношения; Т – результирующее отношение; р – условие соединения.

Один из наиболее важных частных случаев соединения называется натуральным соединением и имеет следующие особенности:

– знаком сравнения в условии соединения является «=»;

– Имя атрибута 1 и Имя атрибута 2 должны совпадать, а точнее, содержать пересечение списков атрибутов исходных отношений;

– список атрибутов результирующего отношения образуется в результате объединения списков атрибутов исходных отношений.

Обозначение натурального соединения не содержит условия соединения и имеет вид Т = R l * R 2 .

Декларативный подход к обработке реляционных баз данных основан на интерпретации понятий и методов математической логики . В частности, реляционное исчисление базируется на исчислении предикатов. Назовем необходимые для реляционного исчисления понятия математической логики.

1. Символы переменных и констант. В языковых конструкциях реляционного исчисления им соответствуют имена атрибутов и переменных, а также константы.

2. Логические связки «и», «или», «не» и знаки сравнения =, # (не равно), >, <, ≥, ≤.

3. Термы, т. е. любые константы и переменные, а также функции, аргументами которых служат термы.

4. Элементарные формулы – предикаты, аргументами которых выступают термы. Предикаты, связанные операциями «и», «или», «не», также являются элементарными формулами. Элементарными формулами служат, например, выражения Фамилия = «Петров» и Сумма ≤ Итог.

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

Главная задача проектирования базы данных ЭИС – определение количества отношений (или иных составных единиц информации) и их атрибутного состава.

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

– множество отношений должно обеспечивать минимальную избыточность представления информации;

– корректировка отношений не должна приводить к двусмысленности или потере информации;

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

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

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

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

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

Простейший случай функциональной зависимости охватывает два атрибута. В отношении R (A , B , ..., J ) атрибут А функционально определяет атрибут В , если в любой момент времени каждому значению А В (обозначается А В ).

Иначе говоря, В функционально зависит от А (В = f (A )). Первое обозначение оказывается более удобным, когда число функциональных зависимостей растет и их взаимосвязи становятся труднообозримыми; оно и будет использоваться в дальнейшем. Отсутствие функциональной зависимости обозначается как А В .

Для атрибутов А и В некоторого отношения возможны следующие ситуации:

– отсутствие функциональной зависимости;

– наличие А В (или В А ), но не обеих зависимостей вместе;

– наличие взаимно-однозначного соответствия А В .

Понятие функциональной зависимости распространяется на ситуацию с тремя и более атрибутами в следующей форме. Группа атрибутов (А , В , С ) функционально определяет атрибут D в отношении T (A , B , C , D , ..., J ), если каждому сочетанию значений <а, b , с > соответствует единственное значение d (а – значение A ; b – значение В ; с – значение С ; d – значение D ). Наличие такой функциональной зависимости будем обозначать А , В , С D .

Существование функциональных зависимостей связано с применяемыми способами кодирования атрибутов. Так, для множества учреждений можно утверждать, что каждый отдел (как объект предметной области) относится к единственному учреждению. Однако этого недостаточно для доказательства функциональной зависимости Отдел → Учреждение. Если в каждом учреждении отделы нумеруются последовательно, начиная с 1, то функциональная зависимость неверна. Если же код отдела, кроме номера, содержит и код учреждения (или уникальность кодов обеспечивается каким-либо другим способом), то функциональная зависимость Отдел → Учреждение справедлива.

Для показателя со множеством атрибутов-признаков Р = (Р 1 , Р 2 , ..., Р n ) и атрибутом-основанием Q справедлива функциональная зависимость Р Q , хотя нельзя утверждать, что это единственная зависимость на указанных атрибутах.

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

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

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

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

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

Каждое значение первичного ключа встречается только в одной строке отношения. Значение любого атрибута в этой строке также единственное. Если через К обозначить атрибуты первичного ключа в отношении R (A , B , C , ..., J ), то справедливы следующие функциональные зависимости: К А , К В , К С , ..., К J . Набор атрибутов первичного ключа функционально определяет любой атрибут отношения. Обратное утверждение также верно: если найдена группа атрибутов, которая функционально определяет все атрибуты отношения по отдельности, и эту группу нельзя сократить, то найден первичный ключ отношения.

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

– если А , В А , то и А , В В ;

– А В и А С тогда и только тогда, когда А ВС ;

– если А В и В С , то А С ;

– если А В , то АС В (С произвольно);

– если А В , то АС ВС (С произвольно);

– если А В и ВС D , то АС D .

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

Отношение имеет вторую нормальную форму (2НФ), если оно соответ-ствует 1НФ и не содержит неполных функциональных зависимостей.

Неполная функциональная зависимость состоит из двух зависимостей:

– вероятный ключ отношения функционально определяет некоторый неключевой атрибут,

– часть вероятного ключа функционально определяет этот же неключевой атрибут.

Отношение, не соответствующее 2НФ, характеризуется избыточностью хранимых данных. База данных находится в 2НФ, если все ее отношения находятся в 2НФ.

Отношение соответствует 3НФ, если оно соответствует 2НФ и среди его атрибутов отсутствуют транзитивные функциональные зависимости (ФЗ).

Транзитивная ФЗ включает в себя две ФЗ:

– вероятный ключ отношения функционально определяет неключевой атрибут;

– этот атрибут функционально определяет другой неключевой атрибут.

Если К – ключ отношения, А , В – неключевые атрибуты и К А , А В – справедливые ФЗ, то они являются транзитивными. Частный случай транзитивной ФЗ – неполная ФЗ, когда К = С , Е и К Е , Е А .

База данных находится в 3НФ, если все ее отношения находятся в 3НФ.

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

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

2. Зафиксировать множество атрибутов оболочки. Если все необходимые атрибуты находятся в каком-либо одном отношении, то последующие операции выборки и проекции проводятся только с ним. Если требуемые атрибуты распределены по нескольким отношениям, то эти отношения необходимо соединить. Каждая пара отношений соединяется по условию равенства атрибутов с совпадающими именами (или определенных на общем домене). После каждого соединения с помощью проекции можно отсечь ненужные для последующих операций атрибуты.

4. Если запрос можно разделить на части (подзапросы), то его реализация также разделяется на части, где результатом каждого подзапроса является отдельное отношение.

5. Указанная последовательность действий стандартна, но, возможно, создает промежуточные отношения слишком большого размера. Этот недостаток можно компенсировать, выполняя некоторые выборки и проекции над исходными отношениями (до проведения соединения) и меняя взаимный порядок требуемых соединений.

Сетевая БД представляется как множество отношений и веерных отношений . Отношения разделяются на основные и зависимые.

Веерным отношением W (R , S ) называется пара отношений, состоящая из одного основного (R ), одного зависимого отношения (S ) и связи между ними, при условии, что каждое значение зависимого отношения связано с единственным значением основного отношения . Это условие является ограничением, характерным для сетевой модели данных в целом. Способ реализации этого ограничения в памяти ЭВМ неодинаков у различных сетевых СУБД.

Допустимые в сетевой модели данных операции представляют собой различные варианты выборки.

Сетевые базы данных в зависимости от ограничений на вхождение отношений в веерные отношения разделяются на двухуровневые и многоуровневые сети.

Ограничение двухуровневых сетей состоит в том, что каждое отношение может существовать в одной из перечисленных ниже ролей:

– вне каких-либо веерных отношений;

– в качестве основного отношения в любом количестве веерных отношений;

– в качестве зависимого отношения в любом количестве веерных отношений.

Запрещается существование отношения в качестве основного в одном контексте и одновременно в качестве зависимого – в другом.

Многоуровневые сети не предусматривают никаких ограничений на взаимосвязь веерных отношений, в некоторых сетевых СУБД разрешены даже циклические структуры сети.

Для двухуровневых сетевых СУБД вводятся еще два ограничения (с теоретической точки зрения необязательные):

– первичный ключ основного отношения может быть только одноатрибутным;

– веерное отношение существует, если первичный ключ основного отношения выступает частью первичного ключа зависимого отношения.

Для организации веерного отношения в памяти ЭВМ в структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи. Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S единственному значению основного отношения R .

Значение отношения при хранении в памяти ЭВМ часто называется записью. Адресом связи именуется атрибут в составе записи, в котором хранится начальный адрес или номер следующей обрабатываемой записи.

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

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

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

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

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

В схеме сетевой БД отношения и веерные отношения часто трактуются как файлы и связи, что позволяет рассматривать сетевую структуру как множество файлов

F = {F l (X 1), F 2 (X 2), ..., F i (X i ), ..., F n (X n )},

где X i – атрибуты ключа в файле F i .

Дополнительно вводится граф сетевой структуры В с вершинами {X l , X 2 , ..., X i , ..., X n }. Дуга <X i , X j > в графе В существует, если X i является частью X j и F j [X i ] представляет собой подмножество F i . Последнее условие имеет тот же смысл, что и синтаксическое включение отношений в реляционной модели данных. Здесь предполагается, что ключ основного файла содержится в зависимом файле. Граф В аналогичен графу соединений для реляционной БД.

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

Для множества файлов F ациклической базы данных DBA вполне применима операция

m (DBA ) = F 1 & F 2 & ... & F i & ...& F n ,

называемая максимальным пересечением . Ее аналогом может служить последовательность соединений в реляционной БД.

В сетевых СУБД количество операций выборки достаточно велико. Функции операции проекции для сетевой СУБД выполняет описание подсхемы сетевой базы данных. Схемой сетевой БД называется описание всех отношений с указанием атрибутного состава и ключей каждого отношения, а также веерных отношений. В прикладной программе имеется возможность объявить часть отношений сетевой базы данных, в каждом отношении – некоторое подмножество атрибутов (с обязательным оставлением атрибутов-ключей) и лишь некоторые веерные отношения. Соответствующее описание данных называется подсхемой. Отношения, веерные отношения и атрибуты, не указанные в подсхеме, становятся недоступными прикладной программе. В отличие от операции проекции база данных, соответствующая подсхеме, создается не физически, а путем ограничения доступа к исходной БД, которая определена в схеме.

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

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

Понятия отношения и веерного отношения в иерархической модели данных не изменяются.

Иерархической базой данных называется множество отношений и веерных отношений, для которых соблюдаются два ограничения :

1) существует единственное отношение, называемое корневым, которое не является зависимым ни в одном веерном отношении;

2) все остальные отношения (за исключением корневого) являются зависимыми отношениями только в одном веерном отношении.

Схема иерархической БД по составу компонентов идентична сетевой БД. Названные выше ограничения поддерживаются иерархическими СУБД.

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

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

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

2. Перечисляются все значения в том веерном отношении, на котором остановился шаг 1.

3. Перечисляются значения всех вееров этого веерного отношения.

4. От достигнутого уровня происходит подъем на предыдущий уровень, и если возможно применить шаг 1, то процесс повторяется.

Записью иерархической базы данных называется множество значений, содержащее одно значение корневого отношения и все вееры, отходящие от него в соответствии со структурой иерархической базы данных. В нашем примере одну запись образуют данные, относящиеся к одному факультету (см. рис. 11).

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

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

Алгоритм получения структуры иерархической БД составлен А.И. Мишениным .

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

Рассматривая преимущества и недостатки самых известных моделей данных, следует отметить ряд несомненных достоинств реляционного подхода:

– простота: в реляционной модели всего одна информационная конструкция, которая формализует табличное представление данных, привычное для пользователей-экономистов;

– теоретическое обоснование: наличие теоретически аргументированных методов нормализации отношений и проверки ацикличности структуры позволяет получать базы данных с требуемыми характеристиками;

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

Среди недостатков реляционной модели данных необходимо назвать следующие:

– низкую скорость при выполнении операции соединения;

– большой расход памяти для представления реляционной БД. Хотя проектирование в 3НФ рассчитано на минимальную избыточность (каждый факт представляется в БД один раз), другие модели данных при тех же условиях обеспечивают меньший расход памяти. Например, длина адреса связи обычно намного меньше, чем длина значения атрибута.

Достоинствами иерархической модели данных являются:

– простота: хотя модель использует три информационные конструкции, иерар­хический принцип соподчиненности понятий естественен для многих экономических задач (например, для организации статистической отчетности);

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

Недостатки иерархической модели:

– неуниверсальность: многие важные варианты взаимосвязи данных невозможно реализовать средствами иерархической модели без повышения избыточности в базе данных;

– допустимость только навигационного принципа доступа к данным;

– доступ к данным производится только через корневое отношение.

Необходимо отметить следующие преимущества сетевой модели данных:

– универсальность: выразительные возможности сетевой модели данных наиболее обширны в сравнении с остальными моделями;

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

В качестве недостатков сетевой модели данных можно назвать:

– сложность, т. е. обилие понятий, вариантов их взаимосвязей и особенностей реализации;

– допустимость только навигационного принципа доступа к данным.

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

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

На окончательный выбор модели данных влияют многие дополнительные факторы, например, наличие хорошо зарекомендовавших себя СУБД, квалификация прикладных программистов, размер базы данных и др.

В последнее время реляционные СУБД заняли преимущественное положение как средство разработки ЭИС. Недостатки реляционной модели компенсируются ростом быстродействия и ресурсов памяти современных ЭВМ. Вследствие процессов децентрализации управления в экономике многие базы данных ЭИС имеют простую структуру, которая легко трансформируется в понятные системы таблиц (отношений).

Контрольные вопросы и задания

1. Перечислите наиболее известные виды моделей данных.

2. Расскажите об иерархической и сетевой моделях данных. В чем их сходство и различия?

3. Охарактеризуйте реляционную модель.

4. Опишите бинарную модель и область ее применения.

5. Какова специфика семантических сетей и их назначения?

6. Перечислите информационные конструкции для различных технологий.

7. Назовите компоненты реляционной модели данных.

8. Дайте определения кортежа и отношения.

9. Какими способами можно описать процессы обработки отношений?

10. Раскройте сущность процедурного описания процессов обработки данных.

11. Расскажите о декларативном подходе к обработке реляционных баз данных.

12. Что такое нормализация отношений?

13. Сколько атрибутов в простейшей функциональной зависимости?

14. Дайте определение функциональной зависимости атрибутов в терминах реляционного подхода.

15. Что такое вероятный ключ отношения?

16. Что такое первичный ключ? Как по-другому он называется?

17. Расскажите о закономерностях для множества функциональных зависимостей.

18. Охарактеризуйте вторую и третью нормальные формы отношений.

19. Расскажите о доступе к реляционной базе данных.

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

21. Что такое «веерное отношение»?

22. Дайте определение двухуровневых сетей.

23. Дайте определение многоуровневых сетей.

24. Что представляет собой «адрес связи»?

25. Что называют «веером»?

26. Какие компоненты содержит схема сетевой БД?

27. Какие стандартные соглашения о способах включения и исключения данных в веерном отношении вам известны?

28. Что такое файлы и связи?

29. Что такое «максимальное пересечение»?

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

31. Дайте определение иерархической базы данных.

32. Расскажите о правилах концевого прохождения.

33. Дайте определение записи иерархической базы.

34. Назовите преимущества и недостатки реляционного подхода.

35. Перечислите достоинства и недостатки иерархической модели.

36. Охарактеризуйте сильные и слабые стороны сетевой модели данных.

38. Выполните задания 2.1–2.20 по операциям над отношениями из практикума .

39. Выполните задания 2.21–2.32 по теме «Функциональные зависимости и ключи» из практикума .

40. Выполните задания 2.33–2.60 по теме «Нормальные формы отношений» из практикума .

41. Выполните задания 2.61–2.71 по теме «Ациклические базы данных» из практикума .

42. Выполните задания 2.72–2.93 по теме «Сетевая и иерархическая модели данных» из практикума .

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

8.1. Иерархическая модель базы данных

Иерархические модели баз данных исторически возникли одними из первых. Информация в иерархической базе организована по принципу древовидной структуры, в виде отношений "предок-потомок ". Каждая запись может иметь не более одной родительской записи и несколько подчиненных. Связи записей реализуются в виде физических указателей с одной записи на другую. Основной недостаток иерархической структуры базы данных - невозможность реализовать отношения "многие-ко-многим ", а также ситуации, когда запись имеет несколько предков.

Иерархические базы данных . Иерархические базы данных графически могут быть представлены как перевернутое дерево , состоящее из объектов различных уровней. Верхний уровень (корень дерева ) занимает один объект , второй - объекты второго уровня и так далее.

Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект , более близкий к корню) к потомку (объект более низкого уровня), при этомобъект -предок может не иметь потомков или иметь их несколько, тогда как объект -потомок обязательно имеет только одного предка. Объекты, имеющие общего предка, называются близнецами.

Рис. 6. Иерархическая база данных

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

Атрибут (элемент данных)

Наименьшая единица структуры данных. Обычно каждому элементу при описании базы данных присваивается уникальное имя. По этому имени к нему обращаются при обработке. Элемент данных также часто называют полем.

Запись

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

Групповое отношение

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

Пример. Рассмотрим следующую модель данных предприятия (см. рис. 7): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.

Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. 7 (а) (Для простоты полагается, что имеются только две дочерние записи).

Для автоматизации учета контрактов с заказчиками необходимо создание еще одной иерархической структуры: заказчик - контракты с ним - сотрудники, задействованные в работе над контрактом. Это дерево будет включать записи ЗАКАЗЧИК (НАИМЕНОВАНИЕ_ЗАКАЗЧИКА, АДРЕС), КОНТРАКТ(НОМЕР, ДАТА,СУММА), ИСПОЛНИТЕЛЬ (ФАМИЛИЯ, ДОЛЖНОСТЬ, НАИМЕНОВАНИЕ_ОТДЕЛА) (рис. 7b).

Рис. 7. Пример иерархической БД

Из этого примера видны недостатки иерархических БД :

Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем виерархической модели данных не предусмотрена поддержка соответствия между парными записями.

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

Допустим теперь, что исполнитель может принимать участие более чем в одном контракте (т.е. возникает связь типа M:N). В этом случае в базу данных необходимо ввести еще одно групповое отношение , в котором ИСПОЛНИТЕЛЬ будет являться исходной записью, а КОНТРАКТ - дочерней (рис. 7 c). Таким образом, мы опять вынуждены дублировать информацию.

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

Виды моделей данных БД

Модели организации данных. Сетевые, реляционные, иерархические модели.

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

Модель данных - это совокупность структур данных и операций их обработки. Рассмотрим три основных типа моделей данных: иерархическую, сетевую и реляционную.

Виды моделей данных БД

Иерархическую модель БД изображают в виде дерева. Элементы дерева вершины представляют совокупность данных, например логические записи.

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

К основным понятиям иерархической структуры относятся уровень, узел и связь. Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину, не подчиненную никакой другой вершине и находящуюся на самом верхнем - первом уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т. д. уровнях. Количество деревьев в базе данных определяется числом корневых записей. К каждой записи базы данных существует только один иерархический путь от корневой записи.

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

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

Реляционная модель БД представляет объекты и взаимосвязи между ними в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. На этой модели базируются практически все современные СУБД. Эта модель более понятна, "прозрачна" для конечного пользователя организации данных.

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

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

Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:

1. Каждый элемент таблицы соответствует одному элементу данных.

2. Все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип и длину.

3. Каждый столбец имеет уникальное имя.

4. Одинаковые строки в таблице отсутствуют;

5. Порядок следования строк и столбцов может быть произвольным.

Ядром любой базы данных является модель данных. Модель данных - совокупность структур данных и операций их обработки.

СУБД основывается на использовании иерархической, сетевой или реляционной модели, на комбинации этих моделей или не некотором их подмножестве.

Иерархическая модель данных.

К основным понятиям иерархической структуры относятся: уровень, элемент, связь. Узел это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне (см. рис. 5).

Рис. 5. Иерархическая модель данных

К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, для записи С4 путь проходит через записи А и В3.

Пример иерархической структуры. Каждый студент учится в определенной (только одной) группе, которая относится к определенному (только одному) факультету (см. рис. 6).

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

Сетевая модель данных

В сетевой структуре каждый элемент может быть связан с любым другим элементом (см. рис 7).

Рис. 7. Сетевая модель данных

Пример сетевой структуры. База данных, содержащая сведения о студентах, участвующих в научно-исследовательских работах (НИРС). Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС (см. рис. 8).

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

Реляционная модель данных

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

Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица (отношение) представляет собой двумерный массив и обладает следующими свойствами:

· каждый элемент таблицы - один элемент данных;

· все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т.д.) и длину;

· каждый столбец имеет уникальное имя;

· одинаковые строки в таблице отсутствуют;

· порядок следования строк и столбцов может быть произвольным.

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

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

Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей); в противном случае нужно ввести в структуру первой таблицы внешний ключ - ключ второй таблицы.

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

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

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

Процедуру нормализации рассмотрим на примере проектирования многотабличной БД Продажи , содержащей следующую информацию:

· Сведения о покупателях.

· Дату заказа и количество заказанного товара.

· Дату выполнения заказа и количество проданного товара.

· Характеристику проданного товара (наименование, стоимость, марка).

Таблица 2. Структура таблицы Продажи

Таблицу Продажи можно рассматривать как однотабличную БД. Основная проблема заключается в том, что в ней содержится значительное количество повторяющейся информации. Такая структура данных является причиной следующих проблем, возникающих при работе с БД:

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

· При изменении адреса или телефона покупателя необходимо корректировать все записи, содержащие сведения о заказах этого покупателя.

· Наличие повторяющейся информации приведет к неоправданному увеличению размера БД. В результате снизится скорость выполнения запросов. Кроме того, повторяющиеся данные нерационально используют дисковое пространство компьютера.

· Любые нештатные ситуации потребуют значительного времени для получения требуемой информации.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows