Логическая модель базы данных. Логические модели и виды баз данных

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

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

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

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

Иерархическая модель данных строится по принципу иерархии типов объектов, то есть один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии – подчиненными. Между главным и подчиненными объектами устанавливается взаимосвязь «один ко многим». Для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов.

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

Сетевая модель

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

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

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

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

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

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

3.5 Построение реляционной субд

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

    позволяют обрабатывать очень большие объемы данных;

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

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

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

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

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

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

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

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

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

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

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

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

Альтернативный ключ – это атрибут (или группа атрибутов), не совпадающий с первичным ключом и уникально идентифицирующий экземпляр объекта. Например для объекта «служащий», который имеет атрибуты «ИДЕНТИФИКАТОР», «ФАМИЛИЯ», «ИМЯ», «ОТЧЕСТВО», последние три атрибута могут являться альтернативным ключом по отношению к атрибуту «ИДЕНТИФИКАТОР».

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

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

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

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

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

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

Иерархическая древовидная структура модели БД

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

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

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



Реляционная модель была разработана в начале 70-х годов ХХ в. Коддом. Простота и гибкость этой модели привлекли к ней внимание разработчиков, и уже 80-х годах ХХ в. она получила широкое распространение. Таким образом, реляционные СУБд оказались промышленным стандартом.

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

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

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

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

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

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

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

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

В приведенном примере отношение СОТРУДНИК ссылается на отношение ОТДЕЛ через название отдела.

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

НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2, ..., Поле п).

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

СОТРУДНИК (Номер пропуска, ФИО, Должность, Название отдела, Телефон);

ОТДЕЛ (Название отдела, Расположение отдела, Назначение отдела).

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

Доминирование реляционной модели в современных СУБД определяется:

наличием развитой теории (реляционной алгебры);

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

наличием специальных средств ускоренного доступа к информации;

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

ТИПЫ ВЗАИМОСВЯЗЕЙ В МОДЕЛИ

На практике часто используются связи, устанавливающие различные виды соответствия между объектами «связанных» типов, - это один к одному (1:1), один ко многим (1:М), многие ко многим (М: М).

Связь один к одному означает, что каждому экземпляру первого объекта (А) соответствует только один экземпляр второго объекта (В) и, наоборот, каждому экземпляру второго объекта (В) соответствует только один экземпляр первого объекта (А).

Связь один ко многим означает, что каждому экземпляру одного объекта (А) может соответствовать несколько экземпляров другого объекта (В), а каждому экземпляру второго объекта (В) может соответствовать только один экземпляр первого объекта (А).

Связь многие ко многим означает, что каждому экземпляру одного объекта (А) могут соответствовать несколько экземпляров второго объекта (В) и, наоборот, каждому экземпляру второго объекта (В) могут соответствовать тоже несколько экземпляров первого объекта (А).

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

СТУДЕНТ (Номер студента, ФИО, Дата рождения, Номер группы);

СТИПЕНДИЯ (Номер студента, Размер стипендии);

ГРУППА (Номер группы, Специальность);

ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность).

Здесь информационные объекты СТУДЕНТ и СТИПЕНДИЯ связаны отношением один к одному, так как каждый студент может иметь только одну стипендию и каждая стипендия может быть назначена только одному студенту.

Информационные объекты ГРУППА и СТУДЕНТ связаны отношением один ко многим, так как одна группа может включать в себя много студентов, в то время как каждый студент может обучаться только в одной группе.

Информационные объекты СТУДЕНТ и ПРЕПОДАВАТЕЛЬ связаны отношением многие ко многим, так как один студент может обучаться у многих преподавателей и один преподаватель может обучать многих студентов.

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

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

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

Рисунок 1 Схема иерархической модели данных

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

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

Указанный недостаток снят всетевой модели, где, теоретически возможны связи «всех информационных объек­тов со всеми» (рис. 2). Пример – учебное заведение, где каждый преподаватель может обучать много (теоретически всех) студентов, и каждый студент может обучаться у многих (теоретически всех) преподавателей.

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

Рисунок 2 Сетевая структура модели данных

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

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

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

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

В отличие от столбцов строки не имеют имен, порядок их сле­дования в таблице не определен, а количество логически не ограни­чено. Так как строки в таблице не упорядочены, невозможно вы­брать строку по ее позиции. Хотя в файле у каждой строки имеется номер, он не характеризует строку. Его значение изменяется при удалении строк из таблицы. Логически среди строк не существует «первой» и «последней».

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

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

  1. определение типов и моделей данных
  2. иерархическая и сетевая модели
  3. реляционная модель.

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

Ссылочный тип – указатель – это адрес памяти. Всё дисковое пространство разделено на страницы (2, 4, 8 и т.д. килобайт), и адрес памяти – это номер страницы + относительный номер байта внутри страницы. Абстрактный тип (объект) – это интерпретируемый структурированный тип с функциями, определенными над его элементами. При этом определяются имена, типы элементов, функции (методы), а также правила (ограничения целостности) применения этих функций к описанным элементам. Для поддержания во внешней дисковой памяти более сложных структур данных на уровне СУБД поддерживаются модели данных, включая иерархическую, сетевую и реляционную. Модель данных – это совокупность структур данных и правил их порождения, операций над ними и ограничений целостности как перечень мероприятий, направленных на поддержание БД в актуальном состоянии. Целостность – это точность, корректность данных в базе в любой момент времени. Ограничение целостности – набор мероприятий, направленных на поддержание целостности базы и корректности выборки информации.

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

На первых этапах внедрения БД (50–80 годы) широко использовались СУБД первого поколения на ЕС ЭВМ – иерархические и сетевые СУБД.

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

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

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

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

Сетевая модель.

Это ориентированный граф, в узлах которого расположены типы записей, граф произвольного вида и в вершину может входить несколько дуг. Идея сетевой модели предложена ассоциацией КОДАСИЛ. Характеристика модели КОДАСИЛ:

  1. элемент данных – базовая поименованная единица
  2. агрегат – совокупность данных: массив, структура
  3. запись – поименованная совокупность элементов и/или агрегатов данных
  4. набор – поименованная совокупность записей, образующих двухуровневую иерархическую структуру «исодный–порожденный». Каждый тип набора представляет собой отношение между двумя типами записей. Каждый экземпляр набора содержит один экземпляр записи «владелец» и ноль, один или несколько экземпляров «член набора».

Сеть – это совокупность иерархий.

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

Сетевые СУБД – IDMS –> СЕТЬ и СЕТОР.

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

Пример сетевой модели базы «склад деталей».

Таким образом в БД хранятся экземпляры типов записей «город», «поставщик», «поставка», «деталь» и т.д., которые связаны в рамках определенных экземпляров наборов отношениями «один ко многим». Например, деталь 1 в типе набора «деталь – поставка» является владельцем экземпляров поставка 2 и поставка 6, а деталь 2 в этом типе набора является владельцем поставки 1, 2, 7. Деталь 1 и 2 находятся в разных связках, то есть в разных экземпляров набора.

К ранним видом СУБД относятся псевдореляционные. Они получили распространение на ПЭВМ, это системы dBase группы. К ним относятся Clipper, FoxPro, FoxBase. В этих системах каждая таблица (тип записи) хранится в отдельном файле с расширением dbf, например, отдельно файл «Город», файл «Поставщик» и т.д. Между файлами связи поддерживались на программном уровне в клиентском приложении. Для каждого файла создавались индексы для обеспечения быстрого доступа к записям файлов по ключу. Далее мы перейдем к реляционной модели, которая поддерживает ссылочную целостность между сущностями.

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

Характеристика модели.

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

Имя отношения
А1 А2 А3 А4 – атрибуты
А11 А12 А13 А14 – кортежи выборки
А21 А22 А23 А24
А31 А32 А33 А34

А11, А12 – это значения атрибутов.

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

Правила отображения концептуальной модели предметной области в реляционную БД.

На рисунке 5 изображена концептуальная модель. Отобразим её в реляционную.

  1. отображение сущностей в реляционные отношения, которые нормализованы
  2. отображение ассоциаций связано с использованием ссылочной целостности между таблицами. Ассоциативное отношение 1:1, 1:М, М:1 реализуются посредством помещения внешнего вторичного ключа в сущность, из которой исходит стрелка ассоциации. Этот ключ соответствует первичному ключу, на который указывает стрелка. Связи «многие ко многим» требует ведения перекрестной таблицы, в которую включается в качестве вторичных ключей первичные ключи связываемых сущностей.

  1. отображение агрегации осуществляется с помощью ассоциаций, при этом заводится отдельная таблица «часть» с вторичным ключом, связывающим её с таблицей владельцев (целое)
  2. отображение обобщения чаще всего осуществляется посредством отображения каждого подтипа в отдельную таблицу с включением в неё вторичного ключа, соответствующего первичному ключу таблицы супертипа. Пример: «клиент» (код клиента ) для подтипов «организация» (ОГРН , код клиента), «ИП» (ИНН , код клиента).

Целостность реляционной модели.

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

Ссылочная целостность – БД не должна содержать несогласованных значений внешних ключей (FK). Если отношение R2 имеет среди своих атрибутов какой-то внешний ключ, который соответствует первичному ключу (PK) отношения R1, то каждое значение FK должно быть равно значению РК. Пример: все коды материалов таблицы «деталь» должны присутствовать как первичные ключи в таблице материалов.

Аннотация

В данной курсовой работе описывается проектирование базы данных центральной городской больницы и ее реализация в Oracle Datebase. Была представлена предметная область, разработаны концептуальная, логическая и физическая модели данных. Средствами Oracle Datebase созданы необходимые таблицы, запросы, отчеты. Курсовая работа состоит из.

Введение 3

1.Предметная область 4

2.Концептуальная модель 5

3.Логическая модель базы данных 7

4.Модель физической организации данных 9

5.Реализация баз данных в Oracle 9

6.Создание таблиц 10

7.Создание запросов 16

8.Заключение 27

Список литературы 28

Введение

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

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

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

Предметная область

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

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

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


Концептуальная модель

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

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

Самой популярной моделью концептуального проектирования является модель «сущность-связь» (ER-модель), она относится к семантическим моделям.

Основными элементами модели являются сущности, связи между ними и их свойства (атрибуты).

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

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

Атрибут – характеристика (параметр) не которой сущности.

Домен – множество значений (область определения атрибутов).

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

Набор сущностей для центральной больницы (в скобках указаны атрибуты сущностей, подчёркнуты ключевые атрибуты):

ПАЦИЕНТЫ (Код пациента , фамилия, имя, дата рождения, номер страхового полиса, код отделения);

ЛЕЧЕНИЕ (Код больного , диагноз, дата выписки, код врача, стоимость);

ОТДЕЛЕНИЯ(Код отделения , название отделения, количество палат);

ПОСТУПЛЕНИЯ (Код больного, дата поступления, код палаты);

ПАЛАТЫ (Код палаты , кол-во мест, код отделения);

ВРАЧИ (Код врача, фамилия, имя, дата рождения, номер личного дела, код отделения);

Диаграмма «сущность-связь» для районной больницы изображена на рисунке 1.


Логическая модель базы данных

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

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

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

Атрибут (поле) – любой столбец в таблице.

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

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

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

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

Рис.2.
4. Модель физической организации данных

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

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


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26



Понравилась статья? Поделиться с друзьями: