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

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

Строки не имеют имен, порядок их следования не определен, а количество логически не ограничено. Одним из основных преимуществ РМД является однородность (каждая строка таблицы имеет один формат). Пользователь сам решает вопрос, обладают ли соответствующие сущности однородностью. Этим решается проблема пригодности модели. Основные элементы РМД показаны на рис. 17.

Отношение представляет собой двумерную таблицу, содержащую некоторые данные.

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

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

Схема отношения – список имен атрибутов, например,СОТРУДНИК (№, ФИО, Год рождения, Должность, Кафедра) .

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

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

    Ограниченность: домен имеет границу, данные делятся на возможные и невозможные. Как и для множества, это не означает, что количество элементов конечное.

    Уникальность: можно сравнить одни элементы с другими и избежать дубликатов. Для одного отдельного домена это само собой разумеется.

Понятие домена помогает правильно моделировать предметную область

Домен и атрибуты. А трибуты должны быть увязаны с доменами, или, «определены на некоем домене». На одном домене могут быть заданы несколько атрибутов.

Атомарность значений: значения атрибутов должны быть простыми,атомарными , не составными.

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

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

Ограничить излишние сравнения между атрибутами – основное назначение доменов.

Кортеж – строка таблицы.

Кардинальность (мощность) – количество строк в таблице.

Фамилия, имя, отчество

Год рождения

Должность

Код кафедры

Иванов И.И.

Петров П.П.

профессор

Сидоров С.С.

Васильев В.В.

Вовкин В.В.

преподаватель

Степанов С.С.

профессор

Рис 17. Элементы реляционной модели

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

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

    и м я , например. Фамилия, Имя, Отчество, Дата рождения;

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

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

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

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

Файл (таблица) - совокупность экземпляров записей одной структуры.

Таблицу в реляционной модели данных можно рассматривать как класс однотипных объектов .

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

Типы данных, допустимые в реляционной модели данных.

Основные типы данны, используемые в моделях данных:

Short Integer – короткое целое число;

Long Integer – длинное целое число;

Float – вещественное число (число с плавающей десятичной точкой);

Double – вещественное число (число с плавающей десятичной точкой) двойной точности;

Text – текстовый тип данных;

Logical - логический (да/нет);

Data - временной. Значение определяется как дата с установленным разделителем в установленном формате;

Blob – большие бинарные объекты (binary large object - BLOB), которые могут хранить данные неограниченного размера. Поля этого типа позволяют хранить безразмерную произвольную двоичную информацию.

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

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

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

Ключи, которые можно использовать в качестве первичных, называются потенциальными илиальтернативными ключами .

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

Внешний ключ – это атрибут (атрибуты) одной таблицы, который может служить первичным ключом другой таблицы. Является ссылкой на первичный ключ другой таблицы (рис. 18).

Рис 18. Связь отношений

Отношения СТУДЕНТ (ФИО, Группа, Специальность) иПРЕДМЕТ (Назв Пр, Часы) связаны отношениемСТУДЕНТ_ПРЕДМЕТ (ФИО, Назв Пр, Оценка) , в котором внешние ключиФИО иНазв_Пр образуют составной ключ.

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

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

Эти отношения обладают следующими характеристиками:

отношение имеет имя, которое отличается от имен всех других отношений в реляционной схеме;

каждая ячейка отношения содержит только одно элементарное (неделимое) значение;

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

значения атрибута берутся из одного и того же домена;

каждый кортеж является уникальным, т.е. дубликатов кортежей быть не может;

порядок следования атрибутов не имеет значения;

теоретически порядок следования кортежей в отношении не имеет значения; (Но практически этот порядок может существенно повлиять на эффективность доступа к ним)

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

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

поскольку отношение является множеством, то порядок элементов не имеет значения. Следовательно, порядок кортежей в отношении несуществен.

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

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

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

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

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

Более точно, сущность - это множество индивидуальных объектов - экземпляров, причем все эти объекты являются различными.

Связь - это функциональная зависимость между сущностями. Например, "служащий" совершает "продажи".

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

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

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

Базовые отношения - это реально существующие модели отношения, которые соответствуют реальному объекту предметной области.

Пусть даны отношения R1 и R2. Пусть k1, - это первичный ключ отношения R1.

Если в отношении R2 присутствуют атрибуты k1, то для отношения R2, k1 - это внешний ключ. Если базовое отношение R2 содержит внешний ключ k1, то каждое значение k1 в R2 должно быть либо равным какому-либо значению R1, либо полностью неопределенным.

Достоинствами реляционного подхода являются:

1. Наличие простого, и в тоже время мощного математического аппарата

2. Возможность навигационного манипулирования данными без знания физических основ хранения данных.

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

Итак, условия первой нормальной формы:

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

Гарантировать отсутствие повторяющихся групп данных.

Гарантировать наличие первичного ключа.

Значение всех атрибутов атомарны.

Информационная система находится в первой нормальной форме.

Условия второй нормальной формы:

Отношение в первой нормальной форме.

Независимость первичных ключей и столбцов

Информационная система находится во второй нормальной форме.

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

Условия третьей нормальной формы:

Отношение во второй нормальной форме.

Все поля, не входящие в первичный ключ, зависят от первичного ключа.

Информационная система находится в третьей нормальной форме.

Таким образом, нормализация отношений успешно достигнута.

После нормализации отношений было создано 7 таблиц. Проиллюстрируем эти таблицы в режиме конструктора:

Рисунок 2.2 - Главная таблица в режиме конструктора


Рисунок 2.3 - Таблица "Инструкторы" в режиме конструктора

Рисунок 2.4 - Таблица "Клиенты" в режиме конструктора

Рисунок 2.5 - Таблица "Код операции" в режиме конструктора

Рисунок 2.6 - Таблица "Подъемник" в режиме конструктора

Рисунок 2.7 - Таблица "Прокат (прокат)" в режиме конструктора

Рисунок 2.8 - Таблица "Прокат (экипировка)" в режиме конструктора

Рисунок 2.9 - Таблица "Склон - Трансфер" в режиме конструктора

Рисунок 2.10 - Таблица "Склоны" в режиме конструктора

Рисунок 2.11 - Таблица "Услуга (трансфер)" в режиме конструктора









Реляционная модель данных предложена сотрудником фирмы IBM Эдгаром Коддом и основывается на понятии отношение (relation).

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

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

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

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

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

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

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

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

Математически отношение можно описать следующим образом. Пусть даны n множеств D1, D2, D3,…Dn, тогда отношение R есть множество упорядоченных кортежей , где dkDk, dk – атрибут, а Dk – домен отношения R.

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

Таблица 2.1

Пример отношения в виде таблицы (отношение R)

Данная таблица обладает рядом специфических свойств:

1. В таблице нет двух одинаковых строк.

2. Таблица имеет столбцы, соответствующие атрибутам отношения.

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

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

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

Количество атрибутов в отношении называется степенью, или рангом, отношения.

Следует заметить, что в отношении не может быть одинаковых кортежей, это следует из математической модели: отношение – это подмножество декартова произведения, а в декартовом произведении все n -ки различны. В соответствии со свойствами отношений два отношения, отличающиеся только порядком строк или порядком столбцов, будут интерпретироваться в рамках реляционной модели как одинаковые, то есть отношение R (см. табл. 2.1) и отношение R1, изображенное далее (табл. 2.2), одинаковы с точки зрения реляционной модели данных.

Таблица 2.2

Пример отношения в виде таблицы (отношение R1)

Дисциплина

Теория автоматов

Теория автоматов

Степанов

Теория автоматов

Базы данных

Базы данных

Степанов

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

Если атрибуты принимают значения из одного и того же домена, то они называются T-сравнимыми, где T – множество допустимых операций сравнения, заданных для данного домена. Например, если домен содержит числовые данные, то для него допустимы все операции сравнения, тогда

Как уже говорилось ранее, реляционная модель представляет базу данных в виде множества взаимосвязанных отношений. В отличие от теоретико-графовых моделей в реляционной модели связи между отношениями поддерживаются неявным образом. В реляционной модели, так же как и в остальных, поддерживаются иерархические связи между отношениями. В каждой связи одно отношение может выступать как основное, а другое отношение выступает в роли подчиненного. Это означает, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они связаны. В основном отношении это первичный ключ отношения (PRIMARY KEY), который однозначно определяет кортеж основного отношения. В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу основного отношения. Однако здесь этот набор атрибутов уже является вторичным ключом, то есть он определяет множество кортежей подчиненного отношения, которые связаны с единственным кортежем основного отношения. Данный набор атрибутов в подчиненном отношении принято называть внешним ключом (FOREIGN KEY).

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

Рис. 2.6. Связь между основным и подчиненным отношениями

PRIMARY KEY отношения Сотрудник - атрибут - Паспорт является FOREIGN KEY для отношения «карьера».

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

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

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

Модель данных – это совокупность структур данных и операций их обработки.

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

· Структурный - данные в модели представляют собой набор отношений.

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

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

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

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

Схема отношения – полный перечень имен атрибутов отношения.

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

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

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

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

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

· Один ко многим - устанавливается между первичным ключом одного отношений и внешним ключом другого отношения. При этом одному кортежу одного отношения будет соответствовать несколько кортежей другого отношения.

· Многие к одному - устанавливается между внешним ключом одного отношения и первичным ключом другого отношения. При этом нескольким кортежам одного отношения будет соответствовать только один кортеж другого отношения.

· Многие ко многим - устанавливается между внешними ключами отношений. При этом любым кортежам одного отношения могут соответствовать несколько кортежей другого отношения.

Министерство образования Российской Федерации Министерство образования Республики Таджикистан

Российско-Таджикский (славянский) Университет

Кафедра «И и ИС»

Курсовая работа

по дисциплине: Базы данных

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

Душанбе – 2008


План

Введение

1 Модель данных

2 Базовые понятия реляционной модели данных

3 Общие представления о модели данных

Заключение

Список используемой литературы


Введение

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

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

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


1 Модель данных

Модель данных – совокупность структур данных и операций их обработки.

Модели данных определяются:

a) способами организации данных.

b) ограничением ценности данных.

c) операциями с данными.

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

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

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

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

А Уровень 1

В1 В2 В3 В4 В5 Уровень 2

С1 С2 С3 С4 С5 С6 С7 С8 Уровень 3

Рис. 1

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

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

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

b) Ограничение целостности - целостность ссылок между предком и потомком с учетом основного правила: никакой потомок не может существовать без предка.

Примеры: 1) ОКА 3)TOTAL

2)ИНЭС 4) IMS

с) Операции над данными:

Найти указанное дерево.

Перейти от одного дерева к другому.

Перейти от одной записи к другой.

Перейти от одной записи к другой в порядке обхода иерархии.

Удаление текущей записи.


Институт (специальность, название, ректор)


Рис. 3 Сетевая структура базы данных в виде графа

Студент (номер зачётной книжки , фамилия, группа)



Работа (шифр ,

руководитель,

Рис. 4.

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

с) Операции над данными сетевой модели данных:

Найти конкретную запись в наборе однотипных записей.

Перейти от узла высшего уровня к первому узлу низшего по некоторой связи.

Перейти к следующему узлу по некоторой связи.

Создать новую запись.

Уничтожить запись.

Модифицировать запись.

Включить 1 связь.

Исключить из связи.

Переставить в другую связь.

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

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

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

Понятие реляционной (англ. relation – отношение) связано с разработками известного американского специалиста в области систем баз данных Е. Кодда.

2 Базовые понятия реляционной модели данных

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

Тип данных – эквивалентно понятию типа данных в алгоритмических языках. Существуют:

Целочисленные типы;

Вещественные типы;

Строковые типы;

Типы данных для денежных величин;

Типы данных для временных величин;

Типы двоичных объектов (не имеет аналогов в языках программирования, и обозначаются Blob)

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

Следует отметить также семантическую нагрузку понятия домена: данные счита ются сравнимыми только в том случае, когда они относятся к одному домену. Если же значения двух атрибутов берутся из различных доменов, то их сравнение, вероятно, лишено смысла. Понятие домена используется далеко не во всех СУБД. В качестве примера реляци онных баз данных, использующих домены, можно привести Огасle и InterBase.

Атрибуты, схема отношения, схема базы данных

Столбцы отношения называют атрибутами, им присваиваются имена, по которым к ним затем производится обращение.

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

Степень отношения - это число его атрибутов. Отношение степени один называют унарным, степени два - бинарным, степени три - тернарным,..., а степени п - n-арным.

Схемой базы данных называется множество именованных схем отношений.

Кортеж

Кортеж, соответствующий данной схеме отношения, представляет собой множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. «Значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Тем самым степень кортежа, то есть число элементов в нем, совпадает со степенью соответствующей схемы отношения. Иными словами, кортеж - это набор именованных значений заданного типа. Схему отношения иногда называют также заголовком отношения, а отношение как набор кортежей - телом отношения. Понятие схемы отношения напоминает понятие структурного типа данных в языках про граммирования (структура в С/С++, запись в Pascal). Однако в реляционных базах данных имя схемы отношения всегда совпадает с именем соответствующего отношения-экземпляра. В классических реляционных базах данных после определения схемы базы Данных изменяются только отношения-экземпляры. В них могут появляться новые и удаляться или модифицироваться существующие кортежи. Однако во многих реализациях допускается и изменение схемы базы данных: определение новых и изменение существующих схем отношения. Это принято называть эволюцией схемы базы данных.

Ключи отношения

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

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

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

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

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

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

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

Естественный ключ - ключ, в который включены значимые атрибуты и который, таким образом, содержит информацию.

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

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

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

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

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

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

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

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

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

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

Перекрывающиеся ключи - сложные ключи, которые имеют один или несколько общих столбцов.

Связанные отношения

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

При рассмотрении связанных таблиц важное значение имеет понятие внешнего ключа. Рассмотрим его более подробно.

Внешние ключи отношения

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

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

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

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

Условия целостности данных

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

· Важнейшими ограничениями целостности данных являются: категорийная целостность;ссылочная целостность.

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

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

Если две таблицы связаны между собой, то внешний ключ таблицы должен содержать только те значения, которые уже имеются среди значений ключа, по которому осуществляется связь. Если корректность значений внешних ключей не контролируется СУБД, то может нарушиться ссылочная целостность данных.Ограничения категорийной и ссылочной целостности должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсут ствие в любом отношении кортежей с одним и тем же значением первичного ключа. Что же касается ссылочной целостности, то здесь обеспечение целостности выглядит несколько сложнее. При обновлении ссылающегося отношения (при вставке новых кортежей или модификации значения внешнего ключа в существующих кортежах) достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа. А вот при удалении кортежа из отношения, на которое ведет ссылка, возможно использовать один из трех подходов, каждый из которых поддерживает целостность по ссылкам:

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

· при втором подходе при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным;

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

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

Типы связей между таблицами

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

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

· один к одному - каждой записи одной таблицы соответствует только одна запись другой таблицы;

· один ко многим - одной записи главной таблицы могут соответствовать несколько записей подчиненной таблицы;

· многие к одному - нескольким записям главной таблицы может соответствовать одна и та же запись подчиненной таблицы;

· многие ко многим - одна запись главной таблицы связана с несколькими записями подчиненной таблицы, а одна запись подчиненной таблицы связана с не сколькими записями главной таблицы.

Различие между типами связей «один ко многим» и «многие к одному» зависит от того, какая из таблиц выбирается в качестве главной, а какая в качестве подчиненной.

Основные свойства отношений

Рассмотрим теперь некоторые важнейшие свойства отношений реляционной мо дели данных.

3 Общие представления о модели данных

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

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

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

Запись – поименованная совокупность полей. Используется для представления совокупности атрибутов сущности (записи о сущности).

Экземпляр записи – запись с конкретными значениями полей.

Агрегат данных – поименованная совокупность элементов данных внутри записи, которую можно рассматривать как единое целое.

Файл – поименованная совокупность экземпляров записей одного типа. Используется для представления однородного набора сущностей.

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

Введем понятие «группа», обобщающее понятия «агрегат» и «запись».

Группа – это поименованная совокупность элементов данных или элементов данных и других групп.

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

Групповое отношение – поименованное бинарное отношение, заданное на двух множествах экземпляров рассматриваемых групп. По характеру бинарных связей различают групповые отношения вида 1:1, 1:M, M:1, M:N. Пары чисел называют коэффициентами группового отношения. В групповом отношении один член группы назначается владельцем отношения, другой – членом.

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

Для представления группового отношения используется две формы:

а) Графовая . Группы изображаются вершинами графа, связи между группами – дугами, направленными от группы-владельца к группе-члену с указанием имени отношения и коэффициента.

По типу графов различают:

􀂃 иерархическую модель (граф без циклов – дерево);

􀂃 сетевую модель (ориентированный граф общего вида).

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

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

􀂃 определяются типы и характеристики логических структур данных

(полей, записей, файлов);

􀂃 описываются правила составления структур более общего типа из структур более простых типов;

􀂃 описываются возможные действия над структурами и правила их

выполнения, включающие:

− основные элементарные операции над данными;

− обобщенные операции (процедуры);

− средства контроля относительно простых условий корректности ввода данных (ограничения);

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

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

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


Заключение

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


Список используемой литературы

1. Компьютеры в офисе и дома: Реляционные БД: 2004г. 228 стр.

2. Мичи Д., Джонатон Р. Реляционные СУБД. 2004г. №8, стр. 4

3. www.libbooks.ru (2006 по 2008г. Раздел: База данных).

4. www.bankreferatov.ru (2004 по 2008г. Раздел: База данных).

5. Джонс Э., Саттон Д. пользователя Office 97./ К.: Диалектика, 1999г.

6. Петров В.Н. Информационные системы: учебное пособие для студентов высших учебных заведений, 2003г. 2е изд. стр. 139