Базы данных: модели, разработка, реализация
Проектирование реляционных баз данных с использованием декомпозиционного и ER–методов. Вопросы поддержки целостности, защиты информации и параллельной обработки данных. Приложения для работы с базами данных с использованием СУБД Access и языка VBA.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | учебное пособие |
Язык | русский |
Дата добавления | 01.03.2011 |
Размер файла | 211,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
5
Введение
Одна из причин применения средств вычислительной техники во многих сферах человеческой деятельности (науке, экономике, управлении, технике, технологии и др.) связана с резким ростом объемов перерабатываемой информации. Информация, данные все чаще рассматриваются как жизненно важные национальные ресурсы, которые должны быть организованы так, чтобы ценность их была, по возможности, максимальной. Базам данных посвящен целый ряд литературных источников, изданных в разное время. Однако литературы, посвященной проектирования реляционных баз данных, явно недостаточно, хотя вопросы проектирования таких баз данных при построении различных информационных систем, выполнении курсовых и дипломных проектов являются весьма актуальными. Данное учебное пособие состоит из трех частей.
Первая часть посвящена проектированию реляционных баз данных с использованием декомпозиционного и ER - методов.
Во второй части рассмотрены вопросы поддержки целостности, защиты информации, параллельной обработки данных, математический аппарат, используемый при работе с реляционными базами данных.
Третья часть посвящена разработке приложений для работы с базами данных с использованием СУБД Access, языка VBA и системы Microsoft SQL - сервер.
Часть 1. Проектирование баз данных
1.1 Некоторые понятия и определения
База данных (БД) -- именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.
Система управления базами данных (СУБД) -- совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.
Программы, с помощью которых пользователи работают с базой данных, называются приложениями. В общем случае с одной базой данных могут работать множество различных приложений. Например, если база данных моделирует некоторое предприятие, то для работы с ней может быть создано приложение, которое обслуживает подсистему учета кадров, другое приложение может быть посвящено работе подсистемы расчета заработной платы сотрудников, третье приложение работает как подсистема складского учета, четвертое приложение посвящено планированию производственного процесса и т. д. При рассмотрении приложений, работающих с одной базой данных, предполагается, что они могут работать параллельно и независимо друг от друга, и именно СУБД призвана обеспечить работу множества приложений с единой базой данных таким образом, чтобы каждое из них выполнялось корректно, но учитывало все изменения в базе данных, вносимые другими приложениями.
Одним из основополагающих в концепции баз данных являются обобщенные категории данные и модель данных.
Понятие данные в концепции баз данных - это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию или любые другие факторы. Примеры данных: Иванов Иван Иванович, 100 рублей и т. д. Данные не обладают определенной структурой, данные становятся информацией тогда, когда пользователь задает им определенную структуру, т. е. осознает их смысловое содержание. Например, если мы выпишем столбиком набор чисел: 534322, 523498, 453478, 796475 и т.д., то это данные, но не информация. Если теперь против каждого набора мы запишем название организации, эти данные превратятся в информацию, которую можно использовать. Таким образом, информация - это используемые данные.
1.2 Модели данных
Центральным понятием в области баз данных является понятие модели данных. Модель данных является ядром любой базы данных.
Модель данных - совокупность структур данных и операций их обработки.
Модель данных - это некоторая абстракция, которая, будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, т.е. сведения, содержащие не только данные, но и взаимосвязь между ними.
Среди множества моделей данных выделим иерархические, сетевые, реляционные и комбинированные модели данных.
база данных информация vba субд access
1.2.1 Иерархическая модель данных
Иерархическая модель данных является наиболее простой. Исторически она появилась первой и именно эту модель поддерживает первая из зарегистрированных промышленных СУБД IMS фирмы IBM.
Появление иерархической модели связано с тем, что в реальном мире очень многие связи соответствуют иерархии, когда один объект выступает как родительский, а с ним может быть связано множество подчиненных объектов. Иерархия проста и естественна в отображении взаимосвязи между объектами.
Иерархическая структура представляет совокупность элементов, связанных между собой по определенным правилам.
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.
Узел - это совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящемся на более высоком уровне. Иерархическое дерево имеет только одну вершину, не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т.д. уровнях.
К каждой записи БД существует только один (иерархический) путь от корневой записи. Например, как видно из рис.2.1. для записи Д5 путь проходит через записи А, В2 и С4.
Примерами иерархических моделей данных являются всевозможные классификаторы, функциональные структуры управления, различные организации, учебные заведения и т.д.
1.2.2 Сетевая модель данных
Стандарт сетевой модели впервые был определен в 1975 году организацией CODASYL (Conference of Data System Languages), которая определила базовые понятия модели и формальный язык описания.
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом.
В качестве примера сетевой модели можно привести структуру, содержащую сведения о студентах, участвующих в НИРС. Возможно участие одного студента в нескольких НИРС, а также участие нескольких студентов в разработке одной НИРС. Другой пример сетевой модели это ситуация, описывающая изучение студентами различных дисциплин, читаемых различными преподавателями.
Иерархические и сетевые модели данных относятся к так называемым теоретико-графовым моделям.
1.2.3 Реляционная модель данных
Основные определения
Реляционные модели относятся к теоретико-множественным моделям. Появление теоретико-множественных моделей в системах баз данных было предопределено настоятельной потребностью пользователей в переходе от работы с элементами данных, как это делается в графовых моделях, к работе с некоторыми макрообъектами. Основной моделью в этом классе является реляционная модель данных. Простота и наглядность модели для пользователей-непрограммистов, с одной стороны, и серьезное теоретическое обоснование, с другой стороны, определили большую популярность этой модели. Кроме того, развитие формального аппарата представления и манипулирования данными в рамках реляционной модели сделали ее наиболее перспективной для использования в системах представления знаний, что обеспечивает качественно иной подход к обработке данных в больших информационных системах.
Теоретической основой этой модели стала теория отношений, основу которой заложили два логика -- американец Чарльз Содерс Пирс (1839-1914) и немец Эрнст Шредер (1841-1902). В руководствах по теории отношений было показано, что множество отношений замкнуто относительно некоторых специальных операций, то есть образует вместе с этими операциями абстрактную алгебру. Это важнейшее свойство отношений было использовано в реляционной модели для разработки языка манипулирования данными, связанного с исходной алгеброй. Американский математик Э. Ф. Кодд в 1970 году впервые сформулировал основные понятия и ограничения реляционной модели, ограничив набор операций в ней семью основными и одной дополнительной операцией. Предложения Кодда были настолько эффективны для систем баз данных, что за эту модель он был удостоен престижной премии Тьюринга в области теоретических основ вычислительной техники.
Основной структурой данных в модели является отношение, именно поэтому модель получила название реляционной (от английского relation -- отношение).
Отношением R называют подмножество декартова произведения D1хD2х... xDn множеств d1,D2, ..., Dn (n 1), необязательно различных. Исходные множества D1, D2, ..., Dn называют в модели доменами.
R D1xD2x...xDn,
где D1xD2x ...xDn-- полное декартово произведение.
Полное декартово произведение -- это набор всевозможных сочетаний из n элементов каждое, где каждый элемент берется из своего домена. Например, имеем три домена: D1 содержит три фамилии, D2 -- набор из двух учебных дисциплин и D3 -- набор из трех оценок. Допустим, содержимое доменов следующее:
- D1 = {Иванов, Крылов, Степанов};
- D2 = {Теория управления, Базы данных};
- D3 = {3, 4, 5}
Тогда полное декартово произведение содержит набор из 18 троек, где первый элемент -- это одна из фамилий, второй -- это название одной из учебных дисциплин, а третий -- одна из оценок.
<Иванов, Теория управления,3>;<Иванов, Теория управления, 4>;<Иванов, Теория управления,5>;<Крылов, Теория управления, 3>;<Крылов, Теория управления,4>;<Крылов, Теория управления, 5>; <Степанов, Теория управления, 3>; <Степанов Теория управления, 4>;<Степанов, Теория управления.5>; <Иванов, Базы данных, 3>; <Иванов, Базы данных, 4> ; <Иванов, Базы данных, 5>; <Крылов, Базы данных, 3>; <Крылов, Базы данных, 4>; <Крылов, Базы данных,5>;<Степанов, Базы данных,3>; <Степанов, Базы данных. 4>; <Степанов, Базы данных,5>.
Отношение R моделирует реальную ситуацию и оно может содержать, допустим, только 5 строк, которые соответствуют результатам сессии (Крылов экзамен по «Базам данных» еще не сдавал):
<Иванов, Теория управления ,4>;<Крылов, Теория управления, 5>; <Степанов, Теория управления, 5>; <Иванов, Базы данных,3>; <Степанов, Базы данных,4>;
Отношение имеет простую графическую интерпретацию, оно может быть представлено в виде таблицы, столбцы которой соответствуют доменам входящим в отношение, а строки наборам из n значений, взятых из исходных доменов, которые расположены в строго определенном порядке в соответствии с заголовком. Такие наборы из n значений часто называют n-ками.
R |
|||
Фамилия |
Дисциплина |
Оценка |
|
Иванов |
Теория управления |
4 |
|
Иванов |
Базы данных |
3 |
|
Крылов |
Теория управления |
5 |
|
Степанов |
Теория управления |
5 |
|
Степанов |
Базы данных |
4 |
Данная таблица обладает рядом специфических свойств:
1. В таблице нет двух одинаковых строк.
2. Таблица имеет столбцы, соответствующие атрибутам отношения.
3. Каждый атрибут в отношении имеет уникальное имя.
4. Порядок строк в таблице произвольный.
Домен входящий в отношение принято называть атрибутом. Строки отношения называются кортежами.
Количество атрибутов в отношении называется степенью, или рангом, отношения.
Следует заметить, что в отношении не может быть одинаковых кортежей, это следует из математической модели, отношение -- это подмножество декартова произведения, а в декартовом произведении все n-ки различны.
В соответствии со свойствами отношений два отношения, отличающиеся только порядком строк или порядком столбцов, будут интерпретироваться в рамках реляционной модели как одинаковые, то есть отношение R и отношение R1, изображенное далее, одинаковы с точки зрения реляционной модели данных.
R1 |
|||
Дисциплина |
Фамилия |
Оценка |
|
Теория управления |
Крылов |
5 |
|
Теория управления |
Степанов |
5 |
|
Теория управления |
Иванов |
4 |
|
Базы данных |
Иванов |
3 |
|
Базы данных |
Степанов |
4 |
Любое отношение является динамической моделью некоторого реального объекта внешнего мира. Поэтому вводится понятие экземпляра отношения, которое отражает состояние данного объекта в текущий момент времени, и понятие схемы отношения, которая определяет структуру отношения.
Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся:
Sr = (A1, А2, Аn), Ai Di.
Если атрибуты принимают значения из одного и того же домена, то они называются - сравнимыми, где -- множество допустимых операций сравнения, заданных для данного домена. Например, если домен содержит числовые данные , то для него допустимы все операции сравнения, тогда = {=, <>,>=, <=,<,>}. Однако и для доменов, содержащих символьные данные, могут быть заданы не только операции сравнения по равенству и неравенству значений. Если для данного домена задано лексикографическое упорядочение, то он имеет также полный спектр операций сравнения.
Схемы двух отношений называются эквивалентными, если они имеют одинаковую степень и возможно такое упорядочение имен атрибутов в схемах, что на одинаковых местах будут находиться сравнимые атрибуты, то есть атрибуты, принимающие значения из одного домена.
Sri = (А1, А2, ..., Аn) -- схема отношения R1.
Sr2 = (В11, В12,..., В1n) -- схема отношения R2 после упорядочения имен атрибутов.
Как уже говорилось ранее, реляционная модель представляет базу данных в виде множества взаимосвязанных отношений. В отличие от теоретико-графовых моделей в реляционной модели связи между отношениями поддерживаются неявным образом. Какие же связи между отношениями поддерживаются в реляционной модели? В этой модели, так же как и в остальных, поддерживаются иерархические связи между отношениями. В каждой связи одно отношение может выступать как основное, а другое отношение выступает в роли подчиненного. Это означает, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они связаны. В основном отношении это первичный ключ отношения (PRIMARY KEY).
Первичный ключ - такой атрибут или набор атрибутов, который может быть использован для однозначной идентификации конкретного кортежа. Если первичный ключ состоит из набора атрибутов, то такой ключ называется составным.
В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу основного отношения. Однако здесь этот набор атрибутов уже является вторичным ключом, то есть он определяет множество кортежей подчиненного отношения, которые связаны с единственным кортежем основного отношения. Данный набор атрибутов в подчиненном отношении принято называть внешним ключом (FOREIGN KEY).
Возможно индексирование отношения с использованием атрибутов, отличных от первичного ключа. Данный тип индекса называется вторичным индексом и применяется в целях уменьшения времени доступа при поиске данных в отношении.
Число отношений в БД и конкретные атрибуты, приписываемые каждому отношению, определяются в процессе проектирования БД. Собственно процесс проектирования может быть довольно продолжительным. Однако после завершения этапа проектирования создание БД средствами СУБД можно выполнить достаточно быстро.
Типы связей между отношениями
Все отношения в БД должны быть связаны между собой. Различают связи нескольких типов, для которых введены следующие обозначения: один к одному (1: 1), один ко многим (1: N), многие к одному (N : 1) (перевернутая связь один ко многим) и многие ко многим (N : M).
Рассмотрим эти связи на примере. Дана совокупность отношений, отображающих учебный процесс в ВУЗе:
СТУДЕНТ(Номер, Ф.И.О., пол, Дата рождения, Группа)
СЕССИЯ(Номер, Оценка1, Оценка2, Оценка3, Оценка4, Средний балл)
СТИПЕНДИЯ(Средний балл, Размер стипендии)
ПРЕПОДАВАТЕЛЬ(Код преподавателя, Ф.И.О.).
Связь один к одному (1:1) предполагает, что в каждый момент времени одному кортежу отношения А соответствует не более одного кортежа отношения В и наоборот.
Примером связи 1:1 может служить связь между отношениями СТУДЕНТ и СЕССИЯ: каждый студент имеет определенный набор экзаменационных оценок в сессию.
При связи один ко многим (1:N) одному кортежу отношения А соответствует 0,1 или более кортежей отношения В, но каждый кортеж отношения В связан не более чем с одним кортежем отношения А.
Примером связи 1:N служит связь между отношениями СТИПЕНДИЯ и СЕССИЯ. Установленный размер стипендии по результатам сдачи сессии может повторятся многократно для различных студентов. Примером же связи N:1 является связь между отношениями СЕССИЯ и СТИПЕНДИЯ.
Связь многие ко многим (N:M) предполагает, что в каждый момент времени одному кортежу отношения А соответствует 0,1 или более кортежей отношения В и наоборот. Примером данного типа связи служит связь между отношениями СТУДЕНТ и ПРЕПОДАВТЕЛЬ. Один студент обучается у многих преподавателей, один преподаватель обучает многих студентов.
1.3 Классификация баз данных
По технологии обработки данных базы данных подразделяются на централизованные и распределенные.
Централизованная база данных хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования БД часто применяется в локальных сетях ПК.
Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
По способу доступа к данным БД разделяются на БД с локальным доступом и БД с удаленным (сетевым) доступом.
Системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
файл-сервер;
клиент-сервер.
Файл-сервер. Архитектура системы БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (сервер файлов). На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ пользовательской системы к централизованной базе данных. Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка. При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут также создавать на рабочих станциях локальные БД, которые используются ими монопольно.
Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SQL (Structured Query Language).
1.4 Цели проектирования баз данных
Среди множества целей, стоящих перед проектированием, следующие представляются наиболее важными:
1. Возможность хранения всех необходимых данных в БД.
2. Исключение избыточности данных.
3. Сведение числа хранимых в БД отношений к минимуму.
4. Нормализация отношений для упрощения решения проблем, связанных с обновлением и удалением данных.
Цель 1: Возможность хранения всех необходимых данных в БД.
Эта цель кажется очевидной, тем не менее она очень важна. Предполагается, что БД должна содержать все данные, представляющие интерес для пользователя, так что при проектировании следует предусмотреть возможность размещения в БД всех необходимых данных. Первым шагом в процессе проектирования является определение всех атрибутов, которые впоследствии будут помещены в БД.
После определения атрибутов проектировщик обдумывает, сколько отношений необходимо и какие атрибуты включать в какие отношения. Кроме того, дополнительно необходимо решить, следует ли предназначенные для хранения данные использовать для построения одной базы или, возможно двух и более.
Цель 2: Исключение избыточности данных.
Сущность этой цели отнюдь не очевидна для начинающего проектировщика БД. Ключ к ее пониманию заключается в уяснении четкого различия междудублированием данных и избыточным дублированием. Например, обратимся к отношению С - Н, приведенному на рис.4.1,а. Отношение имеет два атрибута Слж# (табельный номер служащего) и Начк (начальник).
С - Н С - Н
В отношении содержатся данные, указывающие непосредственного начальника каждого служащего предприятия. Фамилии начальников могут неоднократно появляться в отношении. В действительности фамилия начальника появляется один раз для каждого подчиненного ему служащего. Хотя "Иванов" и "Петров" появляются дважды в отношении С-Н, приведенном на рис.4.1,а, ни одна из дублируемых фамилий не является избыточной. Причина отсутствия избыточности заключается в том, что при удалении одной из фамилии из отношения будет утеряна информация. Например, на рис.4.1,б показано отношение С-Н при удалении дублированных фамилий. В этом случае нет возможности узнать фамилии начальников служащих с номерами 195 и 200.
На рис.4.2,а приведен пример отношения с избыточным дублированием данных. Отношение С-Н-Т похоже на отношение С-Н, но включает дополнительный атрибут Нтел., представляющий собой номер телефона начальника. Предполагается, что каждый начальник имеет только один телефонный номер. В этом экземпляре отношения номера телефонов Иванова и Петрова появляются более чем один раз и дублированная информация о телефонных номерах является избыточной. Причина избыточности в том, что если, скажем, удалить один из номеров Иванова, эта информация может быть получена из других кортежей отношения.
Данный метод устранения избыточности неудовлетворен по двум причинам. Во-первых, пустых полей в БД следует избегать, так как необходимы дополнительные усилия при программировании, направленные на определение реальных значений "нулей". В рассматриваемом случае чтение третьего кортежа <195, Петров> отношения не позволяет узнать телефонный номер Петрова. Пользователь должен уметь находить в отношении другой кортеж, для которого значение атрибута Начк является Петров, а значение атрибута Нтел не является нулевым. Во-вторых, что более важно, отношение, представленное на рис.4.2,б, имеет структуру, чреватую возникновением серьезных проблем при удалении информации. Если служащий с номером Слж#=125 увольняется с предприятия и кортеж <125, Иванов, 3051> будет удален из отношения произойдет утеря телефонного номера Иванова, поскольку нигде более в отношении он не представлен.
Рис.4.2,в показывает лучший способ исключения избыточности телефонных номеров. Здесь отношение С-Н-Т заменяется двумя отношениями, одно из которых содержит информацию о табельных номерах служащих и фамилиях руководителей, а другое - информацию о начальниках и их номерах телефонов.
Разбиение отношений представляет собой стандартную процедуру проектирования, которая должна осуществляться при соблюдении определенных ограничений, о чем речь далее.
Как следует из рис.4.2,в, служащий с номером 125 теперь может быть удален из отношения С-Н без потери номера телефона бывшего начальника этого служащего, хранимого в отношении Н-Т.
Цель 3: Сведение числа хранимых в БД отношений к минимуму.
Эта цель обусловлена тем, что разбиение одного отношения на два или более меньших отношений желательно с точки зрения исключения определенных проблем, но это неудобно для пользователя. Таким образом, нельзя допускать неограниченный рост числа отношений.
Цель 4: Нормализация отношений.
Для некоторых отношений очень важна проблема удаления и обновления (например, обсуждавшаяся выше в цели 2 потеря телефонного номера руководителя). Проектировщик должен уметь обнаруживать эти потенциально опасные отношения и "нормализовать их" посредством разбиения отношений предписанным образом. Нормализация представляет собой разбиение одного отношения на два или более в соответствии со специальной процедурой разбиения. Нормализация будет обсуждаться далее.
Цели 3 и 4 противоречат друг другу, поэтому здесь требуется взаимный компромисс. Это будет частью завершающего этапа проектирования.
1.5 Проектирование баз данных с использованием универсального отношения
Рассматриваемый метод проектирования называют декомпозиционным методом.
1.5.1 Универсальное отношение
Предположим, что требуется разработать небольшую БД для деканата института для учета успеваемости студентов, проживающих в общежитии.
Первый шаг процесса проектирования состоит в определении как всех атрибутов, наличие которых обязательно в БД, так и связей между атрибутами.
Имена и условия, связанные с атрибутами, хранение которых предполагается, определим следующим образом:
Сном: Номер студента. Целое значение, уникальное для каждого студента института.
Сфам: Фамилия студента. Каждый студент имеет только одну фамилию, но возможно, что одну фамилию носят несколько студентов.
Кном: Номер комнаты в общежитии. В одной комнате может проживать более одного студента.
Тном: Номер телефона студента. Каждая комната общежития имеет один телефон и им пользуются все студенты, проживающие в этой комнате.
Дисц: Название дисциплины. В БД будут храниться данные о дисциплинах, по которым проведена итоговая аттестация студента.
Семестр: Институтский семестр. Представляет собой семестр, в котором данная дисциплина была завершена студентом.
Возможно, что студент изучал одну и ту же дисциплину в различных семестрах.
Оценка: Оценка за дисциплину. Оценка, полученная студентом за определенную дисциплину в данном семестре.
На рис.5.1 представлена таблица с данными, которые должны хранится в БД. Хотя на рисунке приведен пример в виде таблицы данных, которые могут храниться в БД в некоторый момент времени, указанная таблица отношением не является.
Рис.5.1. Данные для размещения в БД
Сном |
Сфам |
Кном |
Тном |
Дисц. |
Сем. |
Оценка |
|
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
|
ТМ |
2 |
4 |
|||||
Физика |
3 |
5 |
|||||
222 |
Перов |
211 |
3257 |
ВМ |
3 |
4 |
|
Химия |
1 |
5 |
|||||
ВТ |
4 |
4 |
|||||
333 |
Иванов |
301 |
3589 |
ТМ |
2 |
5 |
|
110 |
Поляков |
201 |
3290 |
ВМ |
1 |
4 |
Для иллюстрации того, почему таблица на рис.5.1 не является отношением, выделим одну "строку" из таблицы (рис.5.2.).
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
|
ТМ |
2 |
4 |
|||||
Физика |
3 |
5 |
Рис.5.2 Одна "строка" таблицы, приведенной на рис.5.1.
На этом рисунке значения четырех полей Сном, Сфам, Кном и Тном - атомарные (атомарным называется неделимое значение, а не множество, или кортеж, значений из некоторых доменов), в то время как значения в полях Дисциплина, Семестр и Оценка - множественные.
Данная "строка" очевидным образом отличается по форме от кортежей. Отличие в том, что не все поля строки содержат атрибуты, значения которых атомарные. Для придания данным, приведенным на рис.5.1, формы отношения необходимо реконструировать их таким образом, чтобы каждый элемент кортежа имел атомарное значение. Обычно это удается сделать с помощью простого процесса вставки (результат для данного случая показан на рис.5.3). В результате этого процесса добавляется большой объем избыточных данных - исключение избыточности достигается на следующих этапах проектирования.
Рис.5.3 Данные из таблицы, приведенной на рис.5.1, помещенные в корректное отношение.
Сном |
Сфам |
Кном |
Тном |
Дисц. |
Сем. |
Оценка |
|
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
|
111 |
Серов |
120 |
2135 |
ТМ |
2 |
4 |
|
111 |
Серов |
120 |
2135 |
Физика |
3 |
5 |
|
222 |
Перов |
211 |
3257 |
ВМ |
3 |
4 |
|
222 |
Перов |
211 |
3257 |
Химия |
1 |
5 |
|
222 |
Перов |
211 |
3257 |
ВТ |
4 |
4 |
|
333 |
Иванов |
301 |
3589 |
ТМ |
2 |
5 |
|
110 |
Поляков |
201 |
3290 |
ВМ |
1 |
4 |
Таблица на рис.5.3 представляет собой экземпляр корректного отношения. Его называют универсальным отношением проектируемой БД. В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД в будущем. Для малых БД (включающих не более 20 атрибутов) универсальное отношение может использоваться в качестве отправной точки при проектировании БД.
Справедливости ради следует заметить, что большое количество атрибутов не является ограничивающим фактором при выборе метода проектирования, так как на начальном этапе проектирования можно воспользоваться обобщенными атрибутами, включающими в себя любое количество атрибутов. Например, вместо атрибутов характеризующих студента можно использовать атрибут - характеристика студента, вместо атрибутов, характеризующих технологический процесс можно использовать атрибут - характеристики техпроцесса и т.д. На следующих этапах проектирования эти обобщенные атрибуты должны быть раскрыты.
1.5.2 Проблемы, вызываемые использованием универсального отношения
Существует несколько причин, почему не следует использовать универсальное отношение в качестве единственного в БД. Различают три специфические проблемы: проблема, связанная с обновлением (модификацией) данных в БД; проблема, обусловленная необходимостью удаления кортежей; проблема, обусловленная необходимостью включения новых кортежей. Выделенные проблемы обычно называют аномалиями обновления, удаления и вставки, понимая под аномалией отклонение от нормы.
Проблема вставки
Если появляется новый студент еще не закончивший изучение дисциплины, для него необходимо включить в БД кортеж с нулевыми (пустыми) значениями атрибутов Дисциплина, Семестр и Оценка. Нулевых значений следует избегать. Следовательно, включение в БД нового студента невозможно вплоть до завершения им изучения дисциплины.
На рис.5.4,а показан пример того, как будет выглядеть отношение УСПЕВАЕМОСТЬ в случае принудительного включения в него информации о студенте, не завершившем изучение ни одной дисциплины.
Сном |
Сфам |
Кном |
Тном |
Дисц. |
Сем. |
Оценка |
|
111 |
Серов |
120 |
2135 |
ВМ |
3 |
2 |
|
111 |
Серов |
120 |
2135 |
ТМ |
2 |
4 |
|
111 |
Серов |
120 |
2135 |
Физика |
3 |
5 |
|
222 |
Перов |
211 |
3257 |
ВМ |
3 |
4 |
|
222 |
Перов |
211 |
3257 |
Химия |
1 |
5 |
|
222 |
Перов |
211 |
3257 |
ВТ |
4 |
4 |
|
333 |
Иванов |
301 |
3589 |
ТМ |
2 |
5 |
|
110 |
Поляков |
201 |
3290 |
ВМ |
1 |
4 |
|
444 |
Белов |
401 |
5452 |
Рис.5.4. а- результат вставки записи с пустыми полями; б- ошибочный результат выполнения запроса, вызванный наличием пустых полей.
Пустые символьные строки представляются пробельными полями (Дисциплина и Семестр), в то время как нулевые численные значения в поле Оценка интерпретируются как 0.
Рис.5.4,б иллюстрирует возможные последствия появления 0.0 при отсутствии информации. Получен ответ на запрос "Выдать список Сном и Сфам всех студентов, получивших хотя бы одну оценку ниже 3.0". В число таких студентов попал Белов, хотя он не закончил изучение ни одной дисциплины.
Проблемы обновления
В отношении УСПЕВАЕМОСТЬ большое число избыточных данных. Она характеризуется как явной, так и неявной избыточностью. Явная избыточность заключается в том, что фамилия данного студента, номер комнаты и номер телефона могут появляться в отношении несколько раз.
Неявная избыточность обнаруживается в том, что один и тот же номер телефона имеют все студенты, живущие в одной комнате.
Как в первом, так и во втором случае обновление информации, связанное с внесением изменений может приводить к ошибкам. Например, если изменился номер телефона в комнате, то это изменение необходимо выполнить во всех кортежах, в которых имеется изменяемый номер телефона. Если по той или иной причине этого не сделать, то в базе данных возможна ситуация, когда одна и та же комната будет иметь разные номера телефонов.
Проблемы удаления
В экземпляре отношения УСПЕВАЕМОСТЬ (рис.5.4) присутствует только один кортеж, в котором Сном=110. Этот кортеж соответствует студенту с фамилией Поляков.
Предположим, что этот студент не закончил изучение дисциплины как это отмечено, и запись внесена ошибочно. Если теперь удалить этот кортеж из отношения, то поскольку это единственный кортеж с информацией об этом студенте, его удаление приведет к исключению студента из БД. Если теперь потребуется список всех студентов, проживающих в общежитии, то фамилии Поляков в этом списке будет отсутствовать.
1.5.3 Нормальная форма Бойса -Кодда
Приведенное на рис.5.3. универсальное отношение находится в первой нормальной форме (1НФ).
Говорят, что отношение находится впервой нормальной форме, если каждый его элемент имеет и всегда будет иметь атомарное значение.
Функциональные зависимости
Процесс разбиения отношения с целью уменьшения вероятности возникновения аномалий называется декомпозицией.
Ключевым для осуществления декомпозиции является понятие функциональных зависимостей между атрибутами в рассматриваемом отношении.
Функциональная зависимость (ФЗ) определяется следующим образом:
Если даны два атрибута А и В, то говорят, что В функционально зависит от А, если для каждого значения А существует ровно одно связанное с ним значение В (в любой момент времени). А и В могут быть составными, т.е. они могут представлять собой не единичные атрибуты, а группы, состоящие из двух и более атрибутов.
С практической точки зрения смысл данного определения состоит в том, что если В функционально зависит от А, то каждый из кортежей, имеющих одно и то же значение А, должен иметь также одно и то же значение В. Значение А и В могут изменяться время от времени, но при этом они должны изменяться так, чтобы каждое уникальное значение А имело только одно значение В, связанное с ним. ФЗ описываются с помощью нескольких различных способов, два из которых изображены на рис.5.5.
А -> В - математическая форма записи
- диаграмма или графическая форма записи
Рис.5.5 Два возможных способа записи того, что атрибут В функционально зависит от атрибута А.
При графической форме атрибуты могут помещаться в прямоугольник, круг, овал и т.д.
В конкретной ситуации ФЗ определяется путем детализации свойств всех атрибутов в отношении и заключения о том, как атрибуты соотносятся между собой. ФЗ не могут быть доказаны путем простого просмотра отдельного экземпляра отношения и нахождения двух атрибутов, имеющих те же значения в более чем одном кортеже. Это может служить ключом к тому, в каком направлении следует вести поиск ФЗ, но не доказательством. ФЗ необходимо получить исходя из базовых свойств самих атрибутов.
В качестве примера вновь обратимся к атрибутам в отношении УСПЕВАЕМОСТЬ (рис.5.3). И, в частности, к подробному объяснению того, как эти атрибуты связаны между собой. После изучения описаний атрибутов могут быть выведены ФЗ, приведенные на рис.5.5.
Сном -> Сфам
Сном -> Кном
Кном -> Тном
Тном -> Кном
Сном -> Тном
Сном, Дисциплина, Семестр -> Оценка
Рис.5.5. Различные способы представления ФЗ, существующих между атрибутами отношения.
Соображение, приведшие к ФЗ, изображенным на рис.5.5 в деталях обсуждаются ниже.
1. Номера студентов являются уникальными. Каждому студенту назначается номер Сном, причем все номера различны. Таким образом, если известны Сном, то с ним связана только одна фамилия Сфам: Сном -> Сфам. Обратное не является верным, поскольку несколько студентовмогут иметь одинаковые фамилии.
2. Каждый студент прикреплен к одной комнате общежития, но в одной комнате может проживать более чем один студент. Таким образом, Сном -> Кном является верным, а Кном -> Сном - нет.
3. Поскольку в каждой комнате только один телефон и каждый телефон, в свою очередь, имеет уникальный номер, получаем Кном -> Тном и Тном-> Кном. Данная ситуация обычно обозначается в виде Кном <--> Тном, и говорят, что Сном и Тном взаимозависимы.
4. Поскольку в каждой комнате только один телефон и этот телефон имеет уникальный номер, следовательно только один телефонный номер может быть связан с данным студентом, или иначе Сном -> Тном.
5. Последняя ФЗ представляет собой пример сложного набора атрибутов, входящих в ФЗ. Зависимость Сном, Дисциплина, Семестр -> Оценка означает, что оценка однозначно определяется только в том случае, если известен Сном студента, изучающего данную Дисциплину в данном семестре. (Необходимо помнить, что студент может пересдать данную дисциплину и получить при этом другую оценку).
Возможный ключ и детерминант
Возможный ключ.Возможный ключ представляет собой атрибут или набор атрибутов, который может быть использован для данного отношения в качестве первичного ключа. Первичный ключ всегда является возможным ключом; однако не исключено наличие других возможных ключей, которые могли бы быть, но не были использованы в качестве первичного ключа.
Детерминант. Если А -> В есть ФЗ и В не зависит функционально от любого подмножества А, то говорят, что А представляет собой детерминант В.
Из рис.5.5 можно заключить, что отношение УСПЕВАЕМОСТЬ имеет только один возможный ключ, а именно набор атрибутов <Сном, Дисциплина, Семестр >. Этот вывод получен путем нахождения минимального набора значений атрибутов, которые, если они известны, определяют значение всех других атрибутов кортежа. С помощью ФЗ, представленных на рис.5.5, легко видеть, что один номер Сном определяет Сфам, Кном, Тном и для определения оценки должен быть известен весь набор Сном, Дисциплина и Семестр.
Таким образом, если известны значения атрибутов данного возможного ключа, то значения всех других атрибутов кортежа, содержащегося указанный возможный ключ, будут однозначно определены.
Детерминантами в отношении УСПЕВАЕМОСТЬ являются левые части всех ФЗ в отношении. Детерминантами здесь являются
<Сном, Дисциплина, Семестр >, <Сном>, <Кном> и <Тном>.
Детерминанты заключены в угловые скобки для того, чтобы в данном случае выделить четыре различных детерминанта. Следует заметить, что взаимные зависимости дают два детерминанта.
Коддом доказано, что большинство потенциальных аномалий в БД будет устранено в случае должной декомпозиции каждого отношения в нормальную форму Бойса-Кодда (НФБК), которая определяется следующим образом:
Отношение находится в НФБК, если каждый детерминант отношения является возможным ключом.
Отношение УСПЕВАЕМОСТЬ не находится в НФБК. Это легко обнаружить, если расположить рядом перечень всех детерминантов и перечень всех возможных ключей и посмотреть, является ли каждый детерминант возможным ключом.
Возможные ключи Детерминанты
<Сном,Дисц,Семестр> <Сном,Дисц,Семестр>
<Сном>
<Тном>
<Кном>
Поскольку не каждый детерминант в отношении УСПЕВАЕМОСТЬ является возможным ключом, следовательно оно не находится в НФБК и его необходимо подвергнуть декомпозиции.
Общий подход к декомпозиции
В общем виде алгоритм проектирования БД может выглядеть следующим образом:
1. Разработка универсального отношения для БД.
2. Определение всех ФЗ между атрибутами отношения.
3. Определение того, находится ли отношение в НФБК. Если да, проектирование завершается; если нет, отношение должно быть разложено на два отношения.
4. Повторение шагов 2 и 3 для каждого нового отношения, полученного в результате декомпозиции. Проектирование завершается, когда все отношения будут находится в НФБК.
Предложенный алгоритм не определяет, как осуществлять декомпозицию отношения, не приведенного к НФБК, на два отношения. Это осуществляется с помощью ФЗ следующим образом.
Пусть отношение R(A,B,C,D,E,...) не приведено к НФБК. Определяется ФЗ, например, С -> D, про которую известно, что она является причиной того, что отношение R не находится в НФБК (С является детерминантом, но не является возможным ключом).
Создается два новых отношения: R1(A,B,C,E,...) и R2(C,D), где зависимостная часть ФЗ была выделена из R и опущена при формировании отношения R1 и ФЗ была использована полностью при формировании отношения R2. Теперь необходимо проверить, находятся ли в НФБК отношения R1 и R2. Про отношение R2(C,D) говорят, что одно является проекцией отношения R. Этот тип декомпозиции называется декомпозицией без потерь при естественном соединении. Указанный метод декомпозиции может быть использован на шаге 3 приведенного выше алгоритма проектирования.
В качестве примера использования метода выполним декомпозицию отношения УСПЕВАЕМОСТЬ. Обращаясь вновь к детерминантам и возможным ключам отношения УСПЕВАЕМОСТЬ, видим, что имеются три детерминанта, не являющихся возможными ключами: <Сном>, <Тном> и <Кном>
Кандидатами среди ФЗ для осуществления проекции являются: Сном -> Кном; Сном -> Тном; Кном-> Тном и Тном-> Кном.
На этом этапе должно быть принято решение, какую ФЗ следует выбрать для проведения первой проекции. Не исключено, что в итоге выбора той или иной начальной проекции будут получены различные БД. Если это именно так, то каждая из получившихся БД должна быть подвергнута анализу с целью выбора наиболее полно отвечающей требованиям и условиям пользователя.
Простым правилом выбора ФЗ для проекции может служить поиск "цепочки" вида А -> В -> С с последующим использованием для проекции крайней правой зависимости. В нашем случае такой "цепочкой" является Сном -> Кном -> Тном и "конец цепочки" Кном -> Тном порождает первую проекцию. Полученные в итоге отношения R1 и R2 приведены на рис.5.6 вместе со связанными с ними ФЗ.
R1(Cном, Дисц, Семестр, Сфам, Кном, Оценка)
Возможные ключи Детерминанты
<Сном, Дисц, Семестр> < Сном, Дисц, Семестр >
< Сном >
R2(Кном, Тном)
Возможные ключи Детерминанты
< Кном > < Кном >
< Тном > < Тном >
Отношение R2(Кном, Тном) находится в НФБК, поскольку все его детерминанты являются возможными ключами и оно не нуждается более в декомпозиции. Первичным ключом отношения R2 могут быть как Кном, так и Тном. Отношение R1 не находится в НФБК, т.к. детерминант <Сном> не является возможным ключом.
Следовательно отношение R1 необходимо подвергнуть дальнейшей декомпозиции.
Детерминант <Сном> имеет два зависимых от него атрибута Сном -> Сфам, Сном -> Кном, что можно рассматривать в качестве единичной ФЗ с составной правой частью Сном -> Сфам, Кном.
Проекция отношения R1, порождаемая этой ФЗ приводит к получению отношений R3 и R4, показанных на рис.5.7. Эти два отношения находятся в НФБК и вместе с отношением R2 могут использоваться при формировании БД для учета успеваемости.
Анализ исходных аномалий
Зададимся вопросом: присутствует ли в БД УСПЕХИ те же аномалии, которые характеризовали отношение УСПЕВАЕМОСТЬ, или декомпозиция автоматически привела к их устранению? Для того, чтобы подтвердить устранение аномалий, а именно эта цель ставилась в первую очередь при осуществлении декомпозиции, рассмотрим, опираясь на приведенную на рис.5.8 БД УСПЕХИ, проблемы вставки, удаления и обновления.
Вставка. Когда отношение УСПЕВАЕМОСТЬ служило основой БД, новый студент не мог быть в нее включен до действительного завершения им хотя бы одного семестра. В БД УСПЕХИ информация общего характера о студентах хранится в отношении R4. Как только новый студент принимается в институт и ему отводится комната, так этот студент может быть включен в БД (в R4). Студенту даже нет необходимости просто приступить к посещению занятий для того, чтобы быть включенным в БД. Таким образом, исходная аномалия вставки исключена с помощью декомпозиции.
Обновление. В исходном отношении УСПЕВАЕМОСТЬ попытка изменить номер телефона Серова, проживающего в комнате 120 может привести к тому, что в БД появится два различных телефонных номера, установленного в комнате 120. В БД УСПЕХИ телефонные номера располагаются в отношении R2 и каждая комната может иметь только один телефонный номер. Следует помнить, что Кном является первичным ключом отношения R2, а значения первичного ключа по определению должны быть уникальными. Для изменения телефонного номера Серова следует в кортеже отношения R2, в котором Кном=120, изменить номер Тном. При этом будет изменен номер телефона для всех студентов, живущих в этой комнате. Таким образом, исходная аномалия обновления устраняется с помощью НФБК-проектирования.
Необходимо еще раз подчеркнуть, что устранение аномалии обновления базируется на том положении, что СУБД, в среде которой будет создаваться БД, не допускает дублирования значений первичных ключей.
Удаление. Когда отношение УСПЕВАЕМОСТЬ использовалось в качестве БД, удаление кортежа включавшего значения Сном=110 и Дисц. ВМ, привело к исчезновению из БД студента с номерами 110. Этого не может произойти в случае БД УСПЕХИ, поскольку информация о студентах общего характера разнесена в два различных отношения (R3 и R4). При исключении из отношения R3 кортежа <110,ВМ,1,4>, общая информация о студенте, хранимая в R4, останется.
Итак, все три аномалии, присутствовавшие в БД, состоящей из одного отношения, устраняются при таком проектировании. Результат устранения аномалий - появление вместо одного трех, требующих хранения, отношений. Это означает, что запросы, которые должны быть составлены для получения информации из БД, возможно, станут более сложными, поскольку они должны поддерживать прохождение цепочки из двух или трех отношений при поиске требуемых данных.
1.5.4 Возможные потери ФЗ при декомпозиции
Ранее было сказано, что в процессе проектирования с помощью проекции декомпозицию следует осуществлять путем поиска цепочек ФЗ, а именно: A -> B -> C с последующим проецированием, порождаемым ФЗ, замыкающей цепочки. В данном случае это ФЗ В -> С.
Отступим от этого правила и в качестве ФЗ для композиции возьмем А -> В. Если исходное отношение имеет вид R(A,B,C),то полученные в результате отношения будут R1(A, В) и R2(A, С).
Хотя оба эти отношения находятся в НФБК, со всей отчетливостью обнаруживается следующая проблема. Ни отношение R1(А,В), ни R2(A,C) не содержит ФЗ В -> С, которая является ФЗ исходного отношения.
Эта зависимость утеряна в процессе декомпозиции. С практической точки зрения это означает, что если приведенные выше отношения R1 и R2 будут использованы для создания БД, то нельзя будет утверждать, что некорректные связи между В и С не будут привнесены в БД.
Проблема в данном примере возникает из-за проекции, порожденной ФЗ, зависимостная часть которой сама является детерминантом другой ФЗ. При использовании правила цепочки эта проблема не возникает.
Таким образом, следует избегать выбора ФЗ, зависимостная часть которой сама - целиком или частично является детерминантом другой ФЗ.
Другим случаем возможной потери ФЗ в процессе декомпозиции является ситуация, в которой один атрибут зависит от двух различных детерминантов. Пусть для отношения R(A,B,C) определены зависимости, показанные на рис.5.9.
Это отношение не находится в НФБК, т.к. имеется только один возможный ключ <A,C>, в то время как детерминантами являются <А> и <C>. Правило цепочек здесь не приемлемо по причине их отсутствия. Кроме того, если одна из ФЗ будет выделена обычным способом, то другая будет потеряна. Например, при выделении из R(A, B,C) зависимости А -> В будут получены отношения R1(A,C) и R2(A,B), ни одно из которых не будет содержать зависимости С -> В. Наоборот, при первоочередном выделении С -> В будет утеряна зависимость А -> В.
Таким образом, возникла ситуация, обязывающая проектировщика найти способ разбиения отношения R(A,B,C) на два, не приводящей к утере ни одной ФЗ. Этот путь не соответствует стандартному методу декомпозиции, но может привести к лучшему результату. Единственное что может сделать проектировщик, столкнувшись с указанной ситуацией, это проверить три возможных набора отношений и оценить, какой из трех наиболее соответствует нуждам пользователя. В частности, полученные в последнем случае отношения необходимо проверить на предмет возникновения проблем в случае соединения двух итоговых отношений при поиске данных на этапе эксплуатации окончательного варианта базы.
Второй метод разбиения отношения, основан на подходе к проектированию, отличном от декомпозиции, тем не менее используется многими проектировщиками. В основе подхода, называемого некоторыми МЕТОДОМ СИНТЕЗА, лежит утверждение (в своей простейшей форме), что необходимо все ФЗ с одинаковыми детерминантами выделять в группы и каждой группе отводить свое собственное отношение. Получаемые отношения проверяются на их соответствие НФБК. В последнем примере были две зависимости с различными детерминантами. Согласно методу синтеза каждой ФЗ следует выделить ее отношение - R1(A,B) и R2(C,B). Метод синтеза может быть использован как самостоятельно, так и в сочетании с методом декомпозиции.
Тот факт, что существует различные методы проектирования, которые могут быть использованы как порознь, так и смешанным образом, свидетельствует о том, что проектирование БД является частично наукой, а частично искусством. Возможность развития нескольких вполне "законных" проектов, имеющих общую исходную точку, является неотъемлемым фактором области проектирования БД. Часть процесса проектирования заключается в оценке нескольких альтернатив с целью выявления наиболее отвечающей нуждам пользователя.
1.5.5 Избыточные функциональные зависимости
Алгоритм проектирования БД, описанный в общих чертах ранее, кажется на первый взгляд довольно естественным, однако он не свободен от некоторых внутренних проблем. Одна проблема заключается в том, что процесс декомпозиции может осложниться в результате присутствия избыточных ФЗ.
Зависимость, заключающая в себе такую информацию, которая могла бы быть получена на основе других зависимостей из числа использованных при проектировании БД, называется избыточной ФЗ. Поскольку избыточная ФЗ не содержит уникальной информации, она может быть удалена из набора ФЗ без отрицательного воздействия на результат. Избыточные ФЗ удаляются на начальном этапе проектирования до применения алгоритма декомпозиции.
Приемы удаления избыточных ФЗ
Транзитивные зависимости. Одним из вариантов появления в наборе ФЗ избыточных зависимостей является наличие ФЗ, представляющих транзитивные зависимости, которая определяется следующим образом:
Если A -> B и B -> C, то A -> C - транзитивная зависимость.
Здесь следует подчеркнуть два момента:
1. Транзитивная зависимость A -> C, приведенная в определении выше, является вполне корректной зависимостью.
2. Если A -> B, B -> C и A -> C входят в набор ФЗ, то A -> C является избыточной и ее использование в процессе проектирования не требуется. Действительно, транзитивная зависимость A -> C причинит больше вреда, чем пользы при проектировании, и ее следует исключить из набора перед началом проектирования.
Добавление атрибутов в ФЗ. Второй путь возникновения избыточных ФЗ связан с концепцией добавления. Эта форма избыточности имеет несколько видов, из которых только два самые простые, но и крайне полезные, обсуждаются ниже.
Вид первый формулируется следующим образом: Если А -> В, то А,Z -> В является корректной, но избыточной ФЗ. Атрибут Z был добавлен к детерминанту А без привнесения какой-либо новой информации в процесс проектирования. (Здесь А,В и Z - атрибуты, каждый из которых может быть составным).
Подобные документы
Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.
реферат [57,1 K], добавлен 20.12.2010Базы данных (БД) и системы управления базами данных (СУБД) как основы современной информационной технологии, их роль в хранении и обработке информации. Этапы реализации БД, средств ее защиты и поддержки целостности. Протоколы фиксации и отката изменений.
презентация [364,2 K], добавлен 22.10.2013Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.
курсовая работа [7,8 M], добавлен 13.02.2023Основные этапы проектирования базы данных. Access как система управления базами данных (СУБД), ее предназначение, отличительные возможности. Работа с таблицами, их создание и редактирование. Порядок создания запросов. Способы защиты баз данных.
лабораторная работа [3,1 M], добавлен 18.08.2009Системы управления базами данных: сущность и характеристика. Типы данных и свойства полей СУБД Access. Объекты базы данных: таблицы, схемы данных, формы, запросы, отчеты. Разработка и проектирование базы данных "Продажи книг" в среде Microsoft Access.
курсовая работа [1,8 M], добавлен 04.02.2013Базы данных и системы управления базами данных. Структура простейшей базы данных, свойства полей. Понятие языка SQL. Проектирование баз данных, режимы работы, объекты. СУБД Microsoft Access. Создание базы данных "Электротовары" средствами Visual FoxPro.
курсовая работа [5,7 M], добавлен 29.04.2014Изучение основных понятий баз данных: структура простейшей базы данных, компоненты базы данных Microsoft Access. Проектирование базы данных "Туристическое агентство" в СУБД Access 2010, в которой хранятся данные о клиентах, которые хотят поехать отдыхать.
курсовая работа [3,3 M], добавлен 20.09.2013Основные принципы проектирования реляционных баз данных и их практическая реализация в MS Access. Концептуальная и логическая модели реляционной базы данных, ее физическое проектирование. Автоматизация процесса взаимодействия с клиентами и поставщиками.
курсовая работа [2,8 M], добавлен 10.03.2015Операции в системе управления базами данных (СУБД). MS Access как функционально полная реляционная СУБД. Разработка реляционных моделей баз данных экономического направления. Применение прикладных программ для решения экономико-управленческих задач.
курсовая работа [2,1 M], добавлен 14.01.2015Понятие и сущность базы данных, их классификация и характеристика. Системы управления базами данных. СУБД структуры "сервер-клиент", его суть. Microsoft Access - функционально полная реляционная СУБД. Предназначение СУБД Access, и описание ее работы.
реферат [44,3 K], добавлен 27.02.2009