Между различными объектами
Связи бывают:
· один к одному (1:1);
· один ко многим (1:М);
· многие ко одному (М:1);
· многие ко многим (М:М).
Например:
1) Работник получает зарплату:
(1:1)
2) В общежитии много студентов:
(1:М)
3) Несколько студентов представляет собой студенческую группу:
(М:1)
4) У студентов учебные занятия по дисциплинам ведут множество преподавателей:
(М:М)
Создавая БД, пользователь стремится упорядочить информацию по различным признакам и быстро извлечь выборку с произвольным сочетанием признаков. Сделать это возможно только, если данные структурированы.
Отличительной чертой БД следует считать совместное хранение данных с их описаниями. При этом описание БД становится независимым от программ пользователя и составляет самостоятельный объект хранения.
Описания баз данных относятся к метаинформации, т.е. информация об информации. Описание БД часто называют схемой. Кроме того, в БнД могут присутствовать описания отдельных частей БД с точки зрения отдельных пользователей, т.е. подсхемы.
Для поддержания БД в актуальном состоянии и обеспечения эффективного доступа пользователей к содержащимся в ней данным служат СУБД.
СУБД – это комплекс программных и языковых средств, необходимых для создания БД, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
СУБД осуществляет:
- ввод данных;
- организацию массивов данных в памяти ЭВМ, на магнитных носителях;
- корректировки массивов в БД;
- восстановление базы данных после обнаружения и устранения ошибок в ней;
- доступ к данным любого пользователя из прикладных программ или с терминалов;
- оперативную, синхронно-последовательную обработку запросов, поступивших одновременно от различных пользователей в ходе решения нескольких задач;
- логическую защиту данных;
- защиту секретности данных.
СУБД предназначена для централизованного управления БД в интересах всех работающих в этой системе.
По степени универсальности различают два класса систем управления базами данных:
· СУБД общего назначения
· специализированные СУБД.
СУБД общего назначения ориентированы на какую-либо предметную область или информационные потребности какой-либо группы пользователей. Каждая система такого рода, реализуемая как программный продукт, способный функционировать на некоторой модели ЭВМ в определенной ОС, поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной БД.
Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
СУБД общего назначения – это сложные программные комплексы, предназначенные для выполнения всей совокупности функций, связанных с созданием и эксплуатацией БД ИС.
Производительность СУБД оценивается:
- временем выполнения запросов;
- скоростью поиска информации в неиндексированных полях;
- временем выполнения операций импортирования БД из других форматов;
- скоростью создания индексов и выполнения таких массовых операций, как обновление, вставка, удаление данных;
- максимальным числом параллельных обращений к данным в многопользовательском режиме;
- временем генерации отчетов.
Языковые средства СУБД являются важнейшей компонентой БнД, т.к. в конечном счете они обеспечивают интерфейс пользователей разных категорий с БнД. Спектр языковых средств, применяемых в СУБД, широк. Различают языки описания данных (ЯОД), языки манипулирования данными (ЯМД), языки запросов и др.
В состав ЯОД входят: язык описания схем, язык описания подсхем, язык описания хранимых данных, языки описания внешних данных (входных, выходных).
ЯМД делятся на процедурные (ориентированные на позаписную обработку данных и операции над множеством записей) и непроцедурные языки (основанные на реляционном исчислении кортежей, например язык запросов SQL).
Наиболее распространенными СУБД являются Access, dBase, Paradox, Foxbase, Foxpro, Clipper, Clarion, Orachle, Ingres, Informix и др.
На рис.8.1. представлены компоненты банка данных.
Рис 8.1. Компоненты БнД.
Кроме БД и СУБД в банк данных включает и ряд других составляющих:
- методические средства – это инструкции, рекомендации по созданию и функционированию БнД, выбору СУБД, регламентирующие материалы, предназначенные для пользователей разных категорий, взаимодействующих с БнД,
- технические средства БнД – ЭВМ, периферийные средства,
- администратор БнД – группа специалистов, обеспечивающих создание, функционирование и развитие БнД. В обязанности администратора БнД входят:
· определение информационного содержания БД;
· определение структуры памяти (физической организации данных) и стратегии доступа;
· определение стратегии отказа и восстановления (защита от разрушения);
· модернизация и эффективность работы БД;
· обеспечение совместимости и взаимодействия всех составляющих БнД, надежной и эффективной работы БД.
Модели баз данных.
При проектировании баз данных важное место занимает разработка моделей БД. Данные в базе данных систематизируются на основе выбора и построения модели. Под моделью баз данных понимают формализованное представление объектов предметной области и связей между ними, в совокупности отражающих функциональные аспекты организации и использования данных. Понятие модели БД рассматривается, прежде всего как средство их структуризации. Результатом структуризации является описание моделей данных одного из следующих видов: иерархического, сетевого и реляционного. Конкретный вид модели определяется методами, применяемыми при ее создании, и влияет на эксплуатационные возможности базы данных.
Иерархическая модель данных организует данные в виде древовидной структуры и является реализацией логических связей родо-видовых отношений «целое-часть» (рис. 8.2).
Рис.8.2. Представление связей в иерархической модели.
Дерево представляет собой иерархию элементов, называемых узлами. Под элементамипонимается список (совокупность, набор) атрибутов, описывающих объекты. В иерархической модели имеется корневой узел или просто корень дерева. Корень находится на самом верхнем уровне и не имеет узлов, стоящих выше него. У одного дерева может быть только один корень. Остальные узлы, называемые порожденными (потомками), связаны между собой следующим образом: каждый узел имеет исходный (предка), находящийся на более высоком уровне. Если каждый узел может быть связан только с одним исходным узлом, то на последующим уровне он может иметь один, два и большее количество узлов, либо не иметь ни одного.
В общем случае иерархия должна удовлетворять следующим условиям:
- исходный узел, из которого строится дерево, называется корневым узлом или просто корнем, причем одно дерево может иметь только один корень;
- узел содержит один или несколько атрибутов, описывающих объект в данном узле;
- порожденные узлы могут добавляться в горизонтальном или вертикальном направлениях;
- доступ к порожденным узлам возможен через исходный узел, поэтому существует только один путь доступа к каждому узлу;
- теоретически возможно существование неограниченного числа экземпляров узла каждого уровня. При этом каждый экземпляр исходного узла начинает логическую запись;
- между исходным узлом и порожденными узлами существуют отношения 1:М и 1:1.
К основным операциям манипулирования иерархически организованными данными относятся:
· поиск указанного экземпляра БД;
· переход от одного «дерева» к другому;
· переход от одной записи к другой внутри «дерева»;
· вставка новой записи в указанную позицию;
· удаление текущей записи.
Основное правило целостности: потомок не может существовать без родителей, а у некоторых родителей может не быть потомков.
К достоинствамиерархической модели относятся простота моделирования предметных областей, эффективное использование памяти ЭВМ, хорошие показатели времени выполнения основных операций над данными. Иерархическая модель удобна для работы с иерархически упорядоченной информацией.
Недостаткамииерархической модели являются жесткая фиксированность взаимосвязей между элементами данных, вследствие чего любые изменения связей требуют изменения структуры; сложность отображения связей М:М, иерархия в значительной степени усложняет операции включения информации о новых объектах в БД и удаления устаревшей; доступ к любому узлу возможен только через корневой.
На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать IMS, PC/Focus Data Edige и др.
Сетевая модельданных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа (рис. 8.3).
Рис. 8.3 Представление связей в сетевой модели.
Концепция сетевой БД впервые была предложена группой КОДАСИЛ.
Сетевая модель БД состоит из набора типов записей и набора соответствующих типов связей между ними.
Набор – это экземпляр поименованной совокупности записей. Каждый тип набора представляет собой отношение между двумя или несколькими типами записей. Необходимо различать тип записи и экземпляр записи. Например, СТУДЕНТ – это тип записи, а строка символов «Иванов Иван, комната 23» - экземпляр типа записи «СТУДЕНТ». В базе данных может храниться один или несколько экземпляров записи некоторого типа.
В отличие от иерархической, в сетевой модели объект – потомок может иметь любое количество объектов – предков. Тем самым допускаются любые связи-отношения, в т.ч. одноуровневые.
К числу операций манипулирования данными сетевого типа можно отнести:
- поискзаписи БД;
- переход от предка к первому потомку;
- переход от потомка к предку;
- создание новой записи;
- удаление текущей записи;
- обновление текущей записи;
- включение записи в связь;
- исключение записи из связи;
- изменение связей.
Достоинствасетевой модели: возможность эффективной реализации по показателям затрат памяти и оперативности, отсутствие дублирования данных в различных элементах модели, доступ возможен к объекту любого уровня, модель предоставляет большие возможности в смысле допустимости образования произвольных связей.
Недостатки:сложность схемы БД, возможная потеря независимости данных при реорганизации базы данных, ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями.
Системы на основе сетевой модели также не получили широкого распространения на практике. Наиболее известны IDMS, СЕТЬ, БАНК, СЕТОР.
Реляционная модель данных отличается от рассмотренных выше сетевых и иерархических простотой структур данных, удобным для пользователя табличным представлением и доступом к данным.
Реляционная модель основывается на понятии отношение(relation). Наглядной формой представления отношения является привычная для человеческого восприятия двумерная таблица. Строку таблицы называют кортежом,а заголовок столбцасоответствует атрибуту. Каждый атрибут определен на некотором домене. Доменомназывают множество атомарных значений. Несколько значений атрибута отношения могут быть определены на одном и том же домене.
При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы реляционной модели и формы их представления приведены в таблице:
Элементы реляционной модели | Формы представления |
Отношение | Таблица |
Схема отношения | Строка заголовка таблицы (заголовок таблицы) |
Кортеж | Строка таблицы |
Сущность | Описание свойств таблицы |
Атрибут | Заголовок столбца таблицы |
Домен | Множество допустимых значений атрибутов |
Значение атрибута | Значение поля записи |
Первичный ключ | Один или несколько атрибутов |
Тип данных | Тип значений элементов таблицы |
Для пояснения математического понятия «отношение» приведем два определения:
Декартово произведение. Пусть D1, D2,… Dn – произвольные конечные множества и необязательно различные. Декартовым произведением этих множеств D1*D2*…*Dn называется множество n-k вида
(d1, d2, …dn),
Например: пусть первое множество состоит из двух элементов D1{а1, а2}, второе из трех D2={b1, b2, b3}. Тогда декартово произведение есть D1*D2={a1b1, a1b2, a1b3, a2b1, a2b2, a2b3}.
Отношение. Отношением R, определенным на множествах D1, D2,… Dn называется подмножество декартова произведения D1*D2*…*Dn. При этом множества D1, D2,… Dn (Di) называются доменами отношения, а элементы декартова произведения (строки) кортежами(Kj) отношения.
На рис. 8.4. представлены пояснения понятий реляционной БД.
|
Домены
о т н о ш е н и е | КОД | Ф.И.О. | СУММА | |||
Петров В.Ф. | к о р т е ж ы | |||||
Косарева Н.В. | ||||||
Сидоров И.И. | ||||||
Артамонов И.Н. | ||||||
Волкова Т.Н. |
Первичный Атрибуты
ключ
Рис. 8.4. Пояснения понятий реляционной БД
Отношение КАДРЫ включает 3 домена:
· домен 1 содержит коды всех сотрудников;
· домен 2 содержит фамилии сотрудников;
· домен 3 содержит суммы заработной платы.
Каждый домен образует значения одного типа данных, например, числовые или символьные.
Отношение КАДРЫ содержит 5 кортежей. Кортеж рассматриваемого отношения состоит из 3х элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы.
Схема отношения (заголовок) представляет список имен атрибутов. Схема отношения имеет вид КАДРЫ (KOД, Ф.И.О., СУММА).
Первичным ключомявляется атрибут отношения, однозначно идентифицирующий каждый из его кортежей. Например в отношении «КАДРЫ» таким ключом является KOД.
Связи между отношениями устанавливаются с помощью внешних ключей.
Сотрудники | Отделы | |||||||
Таб. № | Ф.И.О. | Должность | Номер отдела | Номер отдела | Наименование | Руководитель | Кол-во сотрудников | |
Рис. 8.5.Пример связи в реляционных таблицах
Внешним ключом на рис. 8.5. является «Номер отдела».
Ключи обычно используют для достижения следующих целей:
· исключения дублирования значений в ключевых атрибутах;
· упорядочения кортежей;
· ускорения работы с кортежами отношения;
· организации связывания таблиц.
Таблица-отношение размещается наиболее часто в одном файле. В общем случае БД включает одну или несколько таблиц, объединенных смысловым содержанием, а также процедурами контроля целостности и обработки информации в интересах решения некоторой прикладной задачи.
Основной единицей обработки данных в реляционных БД является отношение, а не отдельные кортежи (записи).
Вместе с тем, операции обработки данных в реляционной модели включают операции над отношениями и операции над строками (кортежами) таблиц (отношений), т.е. работа с таблицами осуществляется на уровне:
· отдельной таблицы;
· нескольких таблиц.
Операциями, выполняемыми над строками отношений, являются включение, удаление, обновление, а основными операциями над отношениями – объединение, пересечение, разность (вычитание), декартово произведение, выбор, проекция, соединение, деление.
Отношение имеет ряд свойств:
· каждый элемент имеет таблицы представляет собой один элемент данных, повторяющиеся группы отсутствуют;
· все столбцы в таблице однородные, т.е. элементы столбца имеют одинаковую структуру;
· в таблице нет двух одинаковых строк;
· в операциях с такой таблицей ее строки и столбцы могут просматриваться в любом порядке и в любой последовательности безотносительно к их информационному содержанию и смыслу.
Реляционные модели данных имеют ряд достоинств. К ним относятся: простота представления данных благодаря табличной форме, минимальная избыточность данных при нормализации отношений, независимость данных, возможность представления всех типов связей от 1:1 до М:М, равнозначность данных, легкость обновления базы данных и др. Недостатками модели являются значительная фрагментация данных, большие затраты на реализацию модели.
Примеры реляционных СУБД – Visual FoxPro, Access, Oracle и др.
В начале 90х годов реляционные СУБД стали фактически стандартом для построения самых разнообразных информационных систем. Вместе с тем, появились и ограничения реляционной модели, которые не позволяют адекватно описывать такие сложные предметные области, как конструирование, производственные технологические процессы. Поэтому в 90х годах были предприняты попытки создания новых усовершенствованных моделей организации данных в виде постреляционных и объектно-ориентрованных СУБД. К сожалению, до сих пор ни одна из попыток создания и описания новых моделей не стандартизирована и количество коммерческих СУБД, основанных на новых моделях данных, исчисляется единицами.