Построение реляционной схемы БД - Банки и базы данных. Системы управления базами данных
В основе реляционной модели БД лежит понятие отношения. Под отношением в этой модели понимается двумерная таблица данных. Строки таблицы называются кортежами, а столбцы - атрибутами отношения. Каждый атрибут имеет свое уникальное имя, которому соответствует заголовок столбца таблицы. Реляционной моделью данных является совокупность отношений, изменяющихся во времени. Эта совокупность отношений хранит информацию об объектах некоторой предметной области и связях между ними. Основным понятием реляционной модели является отношение (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. Удаляются зависимости атрибутов составных ключей от неключевых атрибутов.
Таким образом, процесс нормализации отношений осуществляется пошагово и заключается в последовательном переводе отношения от первой нормальной формы к нормальным формам более высокого порядка. При этом каждая следующая нормальная форма сохраняет все свойства предыдущих.
Похожие статьи
-
Целостность БД - Банки и базы данных. Системы управления базами данных
Банк база данный case технология Понятие целостности является одним из основополагающих в теории БД. Любая БД содержит в себе информацию об объектах...
-
Даталогическое проектирование - Банки и базы данных. Системы управления базами данных
Даталогической моделью БД называется модель логического уровня, построенная в рамках конкретной СУБД, в среде которой проектируется БД. Описание...
-
Инфологическое моделирование - Банки и базы данных. Системы управления базами данных
Инфологическое проектирование является вторым этапом проектирования БД, который следует непосредственно после анализа предметной области. Эта стадия...
-
Этапы проектирования и создания БД - Система управления базами данных
При разработке БД можно выделить следующие этапы работы. I этап. Постановка задачи. На этом этапе формируется задание по созданию БД. В нем подробно...
-
Информационные объекты и их связи - Система управления базами данных
Понятие информационного объекта Информационный объект - описание некоторой сущности (реального объекта, явления, события) в виде совокупности логически...
-
Реляционная алгебра, реляционное исчисление - Банки и базы данных. Системы управления базами данных
Для работы с реляционными отношениями используется аппарат реляционной алгебры, предложенный Ф. Э. Коддом. Этот аппарат мог возникнуть потому, что в...
-
Структура SQL - Банки и базы данных. Системы управления базами данных
Широкое развитие информационных систем и связанная с этим унифицированность информационного пространства привело к необходимости создания стандартного...
-
Уровни и типы моделей БД - Банки и базы данных. Системы управления базами данных
Любая БД отражает информацию об определенной предметной области. В зависимости от уровня абстракции, на котором представляется предметная область,...
-
Основные термины теории баз данных - БД (База данных) - совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
Сетевая модель данных, Реляционная модель данных - Система управления базами данных
Отличие сетевой структуры от иерархической заключается в том, что каждый элемент в сетевой структуре может быть связан с любым другим элементом (рис. 8)....
-
Создание представлений - Банки и базы данных. Системы управления базами данных
Представлением (View) называется виртуальная таблица, отображающая данные, получаемые из реальных таблиц БД, а также из других представлений....
-
Физические модели БД - Банки и базы данных. Системы управления базами данных
Под физической моделью БД понимается способ размещения данных на устройствах внешней памяти и способ доступа к этим данным. Каждая СУБД по-разному...
-
Запросы на выборку - Банки и базы данных. Системы управления базами данных
Запросы используются для получения пользователем информации, содержащейся в БД, в удобном для него виде. Результат запроса отображается для пользователя...
-
Модели транзакций - Банки и базы данных. Системы управления базами данных
Под транзакциями понимаются действия, производимые над базой данных и переводящие ее из одного согласованного состояния в другое согласованное состояние....
-
Распределенная обработка данных - Банки и базы данных. Системы управления базами данных
В современных условиях работа пользователя с небольшой по объему БД, расположенной на одном компьютере, в монопольном режиме является нехарактерной....
-
Определение и типология банков данных - Банки и базы данных. Системы управления базами данных
В основе решения практически любой задачи лежит обработка определенной информации. Система обработки информации, в том числе и автоматизированная с...
-
Защита информации в БД - Банки и базы данных. Системы управления базами данных
Целью защиты информации является обеспечение безопасности ее хранения и обрабатывания. Процесс построения эффективной защиты начинается на начальных...
-
Нормализация Базы Данных - Разработка информационной системы "Магазин компьютерных товаров"
Результатом работы с АИС магазина компьютерных товаров является чек, который оформляет продавец. В этом чеке должна содержаться информация о количестве...
-
Информационно-логические модели данных, Иерархическая модель - Система управления базами данных
Иерархическая модель Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам. Графическим способом...
-
Регистрация нового пользователя в системе возможна двумя способоами: 1) Самостоятельная регистрация пользователя; 2) Регистрация пользователя...
-
Пользовательский интерфейс должен позволять заводить в базе данных информацию о новых охранниках, обслуживаемых объектах, автоматизировать составление...
-
Настройка и администрирование СУБД - Банки и базы данных. Системы управления базами данных
Для успешного функционирования разработанной ИС недостаточно выбора СУБД и сервера БД. В процессе эксплуатации всегда на разных этапах приходится...
-
Назначение и функции программной системы Разработанная база данных "Библиотека" предназначена для использования в учреждениях библиотек. Основной...
-
Построение ER диаграмм - Модернизация структуры базы данных на основе анализа требований предприятия
При построении моделей информационных систем важнейшей методикой является ER-моделирование или построение диаграмм сущность-связь. Сущность представляет...
-
ИЕРАРХИЧЕСКАЯ МОДЕЛЬ ДАННЫХ ИМД основана на понятии деревьев, состоящих из вершин и ребер. Вершине дерева ставится в соответствие совокупности атрибутов...
-
1. Связь таблицы "Заказчики" с таблицей "АвансПоОстаткамС2004Года". Поле: "КодЗаказчика" в таблице "Заказчики" с полем "Заказчик" в таблице...
-
Базы данных - Система управления базами данных
Предметная область АИС "материализуется" в форме, хранимой в памяти ЭВМ структурированной совокупности данных, которые характеризуют состав объектов...
-
Причины возникновения систем баз данных Основой решения большинства задач является обработка информации. Информация - это совокупность фактов,...
-
И программа, и базы данных расположены на одном компьютере. В такой архитектуре работает большинство настольных приложений. Файл - серверная архитектура...
-
Введение - Система управления базами данных
Развитие средств вычислительной техники обеспечило для создания и широкого использования систем обработки данных разнообразного назначения....
-
Принципиальная электрическая схема определяет полный состав элементов и связей между ними и дает детальное представление о принципах работы объекта...
-
Начинать следует с определения структуры таблицы, соответствующей предметной области, т. е. с определения полей, которые надо включить в таблицу, типов...
-
CASE-технологии - Банки и базы данных. Системы управления базами данных
В последнее время широкое распространение получила технология автоматизированного проектирования информационных систем (ИС) и программных продуктов,...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
Организационная система управления проектами
Контрольная работа Тема 9 В зависимости от специфики, размера и сложности программного проекта в его реализации могут принимать участие от одной до...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
Рисунок 1. Пример сложной схемы БД Пример проблемной ситуации, которую этот проект должен разрешить представлен на рис. 1. Организатор проводит события...
-
Для упрощения работы с трехмерной моделью на любом этапе проектирования и повышения ее наглядности в SolidWorks используется Дерево Построений (Feature...
-
Структурированный язык запросов SQL - Система управления базами данных
Запрос представляет собой специальным образом описанное требование, определяющее состав производимых над БД операций по выборке, удалению или модификации...
Построение реляционной схемы БД - Банки и базы данных. Системы управления базами данных