естественного языка, математических формул, таблиц, графиков и других
средств,понятных всем людям, работающих над проектированием базы
данных, называют инфологической моделью данных (рис. 1.2).
Рис. 1.2 Уровни моделей данных
Такая человеко-ориентированная модель полностью независима от физических
параметровсреды хранения данных. В конце концов этой средой может быть память
человека, а не ЭВМ. Поэтому инфологическая модель не должна изменяться до тех
пор, покакакие-то изменения в реальном мире не потребуют изменения в ней
некоторого определения, чтобы эта модель продолжала отражать предметную область.
Остальные модели, показанные на рис. 1.2, являются компьютеро-ориентированными.
С ихпомощью СУБД дает возможность программам и пользователям осуществлять доступ
к хранимым данным лишь по их именам, не заботясь о физическом расположении
этихданных. Нужные данные отыскиваются СУБД на внешних запоминающих устройствах
по физическоймодели данных.
Так как указанный доступ осуществляется с помощью конкретной СУБД, то модели
должныбыть описаны на языке описания данных этой СУБД. Такое описание,
создаваемое АБД по инфологической модели данных, называют даталогическоймоделью
данных.
Трехуровневая архитектура (инфологический, даталогический и физический уровни)
позволяетобеспечить независимость хранимых данных от использующих их программ.
АБД может при необходимости переписать хранимые данные на другие
носителиинформации и (или) реорганизовать их физическую структуру, изменив лишь
физическую модель данных. АБД может подключить к системе любое число
новыхпользователей (новых приложений), дополнив, если надо, даталогическую
модель. Указанные изменения физической и даталогической моделей не будут
замеченысуществующими пользователями системы (окажутся "прозрачными" для них),
так же как не будут замечены и новые пользователи. Следовательно,независимость
данных обеспечивает возможность развития системы баз данных без разрушения
существующих приложений.
1.2.3Инфологическая модель данных "Сущность-связь"
Цель инфологического моделирования – обеспечение наиболее естественных для
человекаспособов сбора и представления той информации, которую предполагается
хранить в создаваемой базе данных. Поэтому инфологическую модель данных пытаются
строитьпо аналогии с естественным языком (последний не может быть использован в
чистом виде из-за сложности компьютерной обработки текстов и неоднозначности
любогоестественного языка). Основными конструктивными элементами инфологических
моделей являются сущности, связи между ними и их свойства (атрибуты).
Сущность – любой различимый объект (объект, который мы можем отличить от
другого), информацию о котором необходимо хранитьв базе данных. Сущностями могут
быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие
понятия, как тип сущности и экземплярсущности. Понятие тип сущности относится к
набору однородных личностей, предметов, событий или идей, выступающих как целое.
Экземпляр сущностиотносится к конкретной вещи в наборе. Например, типом сущности
может быть ГОРОД, а экземпляром – Москва.
Атрибут – поименованная характеристика сущности. Его наименование должно быть
уникальным для конкретного типа сущности, но можетбыть одинаковым для различного
типа сущностей (например, ЦВЕТ может быть определен для многих сущностей:
СОБАКА, АВТОМОБИЛЬ, ДЫМ и т.д.). Атрибутыиспользуются для определения того,
какая информация должна быть собрана о сущности.
Абсолютное различие между типами сущностей и атрибутами отсутствует. Атрибут
являетсятаковым только в связи с типом сущности. В другом контексте атрибут
может выступать как самостоятельная сущность. Например, для автомобильного
заводацвет – это только атрибут продукта производства, а для лакокрасочной
фабрики цвет – тип сущности.
Ключ – минимальный набор атрибутов, по значениям которых можно однозначно найти
требуемый экземпляр сущности.Минимальность означает, что исключение из набора
любого атрибута не позволяет идентифицировать сущность по оставшимся.
Связь – ассоциирование двух или более сущностей. Если бы назначением базы данных
было только хранение отдельных, несвязанных между собой данных, то ее структура
могла бы быть очень простой. Однако одно из основных требований к организации
базы данных – это обеспечениевозможности отыскания одних сущностей по значениям
других, для чего необходимо установить между ними определенные связи. А так как
в реальных базах данныхнередко содержатся сотни или даже тысячисущностей, то
теоретически между ними может быть установлено более миллиона связей. Наличие
такого множества связей иопределяет сложность инфологических моделей.
1.2.4Реляционная структура данных
В конце 60-х годов появились работы, в которых обсуждались возможности
применения различныхтабличных даталогических моделей данных, т.е. возможности
использования привычных и естественных способов представления данных. Наиболее
значительнойиз них была статья сотрудника фирмы IBM д-ра Э.Кодда (Codd E.F., A
Relational Model of Data for Large Shared Data Banks. CACM 13: 6, June 1970),
где,вероятно, впервые был применен термин "реляционная модель данных".
Будучи математиком по образованию Э.Кодд предложил использовать для обработки
данныхаппарат теории множеств (объединение, пересечение, разность, декартово
произведение). Он показал, что любое представление данных сводится ксовокупности
двумерных таблиц особого вида, известного в математике как отношение – relation
Наименьшая единица данных реляционной модели – это отдельное
атомарное(неразложимое) для данной модели значение данных. Так, в одной
предметной области фамилия, имя и отчество могут рассматриваться как единое
значение, а вдругой – как три различных значения.
Доменом называется множество атомарных значений одного и того же типа. Смысл
доменов состоит в следующем. Если значения двухатрибутов берутся из одного и
того же домена, то, вероятно, имеют смысл сравнения, использующие эти два
атрибута (например, для организации транзитногорейса можно дать запрос "Выдать
рейсы, в которых время вылета из Москвы в Сочи больше времени прибытия из
Архангельска в Москву"). Если же значениядвух атрибутов берутся из различных
доменов, то их сравнение, вероятно, лишено смысла: стоит ли сравнивать номер
рейса со стоимостью билета?
Заголовок состоит из такого фиксированного множества атрибутов A1, A2, ..., An,
что существует взаимно однозначноесоответствие между этими атрибутами Ai и
определяющими их доменами Di (i=1,2,...,n).
Тело состоит из меняющегося во времени множества кортежей, где каждый кортеж
состоит в свою очередь измножества пар атрибут-значение (Ai:Vi), (i=1,2,...,n),
по одной такой паре для каждого атрибута Ai в заголовке. Для любой заданной пары
атрибут-значение(Ai:Vi) Vi является значением из единственного домена Di,
который связан с атрибутом Ai.
Степень отношения – это число его атрибутов. Отношение степени один называют
унарным, степени два – бинарным,степени три – тернарным, ..., а степени n –
n-арным.
Кардинальное число или мощность отношения – это число его кортежей. Кардинальное
число отношения изменяетсяво времени в отличие от его степени.
Поскольку отношение – это множество, а множества по определению не содержат
совпадающихэлементов, то никакие два кортежа отношения не могут быть дубликатами
друг друга в любой произвольно-заданный момент времени. Пусть R – отношение
сатрибутами A1, A2, ..., An. Говорят, что множество атрибутов K=(Ai, Aj, ...,
Ak) отношения R является возможным ключом R тогда и только тогда,
когдаудовлетворяются два независимых от времени условия:
Уникальность: в произвольный заданный момент времени никакие два различных
кортежа R не имеют одного и того же значения для Ai, Aj,..., Ak.
Минимальность: ни один из атрибутов Ai, Aj, ..., Ak не может быть исключен из K
без нарушения уникальности.
Каждое отношение обладает хотя бы одним возможным ключом, поскольку по меньшей
мерекомбинация всех его атрибутов удовлетворяет условию уникальности. Один из
возможных ключей (выбранный произвольным образом) принимается за его
первичныйключ. Остальные возможные ключи, если они есть, называются
альтернативными ключами.
Вышеупомянутые и некоторые другие математические понятия явились теоретической
базой длясоздания реляционных СУБД, разработки соответствующих языковых средств
и программных систем, обеспечивающих их высокую производительность, и
созданияоснов теории проектирования баз данных. Однако для массового
пользователя реляционных СУБД можно с успехом использовать неформальные
эквиваленты этихпонятий:
Отношение–Таблица(иногдаФайл),Кортеж – Строка (иногда Запись), Атрибут –
Столбец, Поле. При этом принимается, что"запись" означает "экземпляр записи", а
"поле" означает "имя и тип поля".
Реляционная база данных – это совокупность отношений, содержащих всю информацию,
которая должна храниться вБД. Однако пользователи могут воспринимать такую базу
данных как совокупность таблиц
1.2.5О нормализации, функциональных и многозначных зависимостях
Нормализация – это разбиение таблицы на две или более, обладающих лучшими
свойствами при включении, изменении и удаленииданных. Окончательная цель
нормализации сводится к получению такого проекта базы данных, в котором каждый
факт появляется лишь в одном месте, т.е.исключена избыточность информации. Это
делается не столько с целью экономии памяти, сколько для исключения возможной