Банки и базы данных. Системы управления базами данных

Определение и типология банков данных. Уровни и типы моделей БД, построение реляционной схемы. Инфологическое моделирование, даталогическое проектирование. Физические модели БД, CASE-технологии. Защита информации в БД, настройка и администрирование СУБД.

Рубрика Программирование, компьютеры и кибернетика
Вид курс лекций
Язык русский
Дата добавления 29.06.2016
Размер файла 119,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Тема 1. Определение и типология банков данных

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

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

1. Условия предоставления услуг. В соответствии с этим критерием различают бесплатные и платные БнД. Последние, в свою очередь, делятся на бесприбыльные (самоокупаемые) и коммерческие.

2. Обрабатываемая информация. Так называемые OLIP-системы (On-Line Transaction Processing) предназначены для реализации сравнительно простых запросов к хранимым данным. Напротив, в OLAP-системах (On-Line Analytical Processing) предусмотрены возможности проведения сложных аналитических вычислений.

3. Степень доступности. В этом контексте происходит деление БнД на общедоступные и БнД с ограниченным кругом пользователей.

4. Охват. Под охватом понимается классификация БнД по территориальному, временному, ведомственному и тематическому признакам.

5. Характер взаимодействия с пользователем. В пассивных БнД сам пользователь определяет характер своего взаимодействия с БнД. Активные БнД могут при необходимости сами менять свое “поведение”.

6. Форма собственности. БнД могут быть государственными, частными и личными.

К БнД всегда предъявляются следующие общие требования, которые заключаются в следующем:

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

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

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

- быстрая обработка запросов к данным;

- обеспечение контроля целостности данных;

- возможность восстановления данных после сбоев.

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

В настоящее время существует стандарт ANSI (American National Standards Institute), в соответствии с которым имеется три уровня представления данных - физический (внутренний) уровень, концептуальный уровень и уровень внешних моделей.

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

Концептуальный уровень является наиболее общим. На этом уровне отражается обобщенная модель предметной области.

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

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

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

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

3. Разработчики и администраторы приложений. Эта категория пользователей также работает с БнД на всех этапах его существования и отвечает за разработку специализированных программ-приложений для обработки данных.

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

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

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

2. По характеру организации данных БД могут быть неструктурированными, частично-структурированными и структурированными.

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

3. По типу хранимой информации БД делятся на документальные, фактографические и лексикографические.

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

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

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

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

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

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

СУБД так же как и БД делятся на ряд категорий.

1. По языкам общения СУБД делятся на открытые и замкнутые.

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

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

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

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

3. В зависимости от физического расположения различают локальные и сетевые СУБД.

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

Сетевые СУБД делятся на файл-серверные, клиент-серверные и распределенные.

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

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

Распределенные СУБД могут размещаться на десятках и сотнях серверов БД.

4. По выполняемым функциям СУБД делятся на информационные и операционные.

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

5. В зависимости от сферы использования различают универсальные и специализированные СУБД.

6. По мощности СУБД делятся на настольные и корпоративные.

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

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

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

1. Языки описания данных (ЯОД). В эту группу языков входят языки описания схем и подсхем данных, языки описания хранимых данных, языки описания внешних данных.

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

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

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

Тема 2. Уровни и типы моделей БД

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

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

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

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

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

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

Рассмотрим теперь основные типы моделей данных.

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

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

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

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

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

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

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

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

Необходимо отметить, что в ряде нотаций может использоваться иная терминология. Так, в нотации Американской Ассоциации по базам данных DBTG (Data Base Task Group) термину “запись” соответствует термин “сегмент”, а записью называется все множество записей, которые относятся к одному экземпляру типа “дерево”.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Инкапсуляция означает возможность разграничения доступа различных программ, приложений, методов и функций (в более широком смысле и доступа различных категорий пользователей) к различным свойствам объектов данных. В контексте термина “инкапсуляция” часто используется понятие видимости - степень доступности отдельных свойств объекта. В современных объектно-ориентированных системах программирования (таких как Delphi или С++ Builder) имеются следующие уровни инкапсуляции (видимости), которые принято называть разделами:

1. Разделы Public, Published и Automated - с незначительными отличительными особенностями свойства объекта, описанные как принадлежащие к данным разделам, полностью доступны.

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

3. Раздел Protected - в отличие от раздела Private свойства объекта становятся доступными наследникам владельца объекта.

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

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

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

Тема 3. Реляционная алгебра, реляционное исчисление

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

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

Рассмотрим сначала основные операции реляционной алгебры.

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

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

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

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

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

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

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

Теперь дадим определения специальных операций.

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

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

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

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

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

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

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

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

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

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

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

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

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

Операция реляционного сравнения используется для сравнения значений атрибутов в двух отношениях.

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

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

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

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

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

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

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

Тема 4. Построение реляционной схемы БД

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

Для математического определения отношения рассмотрим n множеств D1, D2, …, Dn, которые в реляционной модели называются доменами. Полным декартовым произведением будет называться набор всевозможных сочетаний из n элементов каждое, причем каждый из элементов берется из своего домена. Отношением будет называться подмножество полного декартова произведения - множество упорядоченных кортежей {d1D1, d2D2, …, dnDn}, где элемент di называется атрибутом отношения.

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

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

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

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

4. Все строки в таблице должны иметь одинаковую структуру.

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

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

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

Связь “один-к-одному” (1:1). При данном типе связи одному кортежу главного отношения соответствует один кортеж подчиненного отношения. В этом случае фактически оба отношения являются равноправными.

Связь “один-ко-многим” (1:M). Одному кортежу основного отношения соответствует множество кортежей подчиненного отношения.

Связь “многие-к-одному” (M:1). Нескольким кортежам основного отношения соответствует единственный кортеж подчиненного.

Связь “многие-ко-многим” (M:M). Нескольким кортежам главного отношения соответствует множество кортежей подчиненного.

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

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

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

1. Каждому кортежу главного отношения должно соответствовать ноль или более кортежей подчиненного отношения.

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

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

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

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

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

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

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

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

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

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

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

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

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

Для определения четвертой нормальной формы необходимо предварительно сформулировать теорему Фейджина.

Теорема Фейджина. Отношение R с атрибутами А, B и С может быть без потерь спроецировано в отношения R1 с атрибутами А и В и R2 с атрибутами А и С только в том случае, когда в исходном отношении существуют две многозначные зависимости атрибутов В и С от атрибута А.

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

Отношение находится в четвертой нормальной форме (4NF) тогда и только тогда, когда в случае существования многозначной зависимости атрибута В от атрибута А все остальные атрибуты этого отношения функционально зависят от атрибута А.

Для определения пятой нормальной формы необходимо ввести понятие зависимости проекции-соединения (project-join зависимости). Отношение R с атрибутами X, Y, ..., Z удовлетворяет зависимости соединения X, Y, ..., Z тогда, когда оно может быть восстановлено без потерь путем соединения своих проекций на X, Y, ..., Z.

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

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

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

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

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

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

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

Тема 5. Инфологическое моделирование

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

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

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

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

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

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

Первым шагом при разработке инфологической модели БД является описание объектов предметной области и связей между ними. Инфологическое моделирование направлено на отображение семантики (то есть смысла) предметной области на модель БД. На ранних этапах развития теории БД было предложено несколько семантических моделей. Все эти модели имели свои преимущества и недостатки и к настоящему моменту времени в подавляющем большинстве случаев используется так называемая модель “сущность-связь”. Эта модель называется также методом ER-диаграмм или ER-моделей (Essence - сущность, Relation - связь). Рассмотрим этот метод более подробно.

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

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

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

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

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

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

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


Подобные документы

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

    реферат [57,1 K], добавлен 20.12.2010

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

    курсовая работа [1,8 M], добавлен 29.10.2008

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

    лекция [15,5 K], добавлен 19.08.2013

  • Этапы проектирования базы данных. Инфологическое проектирование. Определение требований к операционной обстановке. Выбор СУБД и других программных средств. Логическое и физическое проектирование реляционной базы данных. Технология доступа к информации.

    курсовая работа [2,3 M], добавлен 06.10.2016

  • Понятие базы данных, их цели и задачи, требования к БД; система управления базами данных. Файловые системы: именование и структуры файлов, программное обеспечение. Уровни абстракции в СУБД, функции абстрактных данных. Экспертные системы и базы знаний.

    презентация [301,6 K], добавлен 17.04.2013

  • Определение базы данных и банков данных. Компоненты банка данных. Основные требования к технологии интегрированного хранения и обработки данных. Система управления и модели организации доступа к базам данных. Разработка приложений и администрирование.

    презентация [17,1 K], добавлен 19.08.2013

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

    курсовая работа [185,6 K], добавлен 07.12.2010

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

    курсовая работа [24,6 K], добавлен 11.07.2011

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

    курсовая работа [1,8 M], добавлен 04.02.2013

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

    курсовая работа [1,1 M], добавлен 11.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.