- •1 Основыне понятия
- •2.1.3 Схема отношения, схема базы данных
- •2.1.4 Кортеж, отношение
- •3 Проектирование реляционных бд
- •3.1 Общие положения
- •3.2 Этапы проектирования базы данных
- •3.2.1 Инфологическое проектирование
- •3.2.2 Определение требований к операционной обстановке
- •3.2.3 Выбор субд и других программных средств
- •3.2.4 Логическое проектирование бд
- •3.2.5. Физическое проектирование бд
- •3.3 Особенности проектирования реляционной базы данных
- •3.3.1 Нормализация отношений
- •4 Пример проектирования реляционной базы данных
- •4.1 Инфологическое проектирование
- •4.1.1 Анализ предметной области
- •2.1.2 Анализ информационных задач и круга пользователей системы
- •4.3 Логическое проектирование реляционной бд
- •4.3.1 Преобразование er–диаграммы в схему базы данных
- •4.3.2 Составление реляционных отношений
- •4.3.3. Нормализация полученных отношений (до 4нф)
- •4.3.3. Определение дополнительных ограничений целостности
- •5 Задание на лабораторную работу
- •5.1 Варианты
- •5.2 Задание
- •5.3 Требования к оформлению
- •5.4 Требования к защите
1 Основыне понятия
Реляционная база данных (БД) – это реализация реляционной модели (модели данных) на физическом уровне, и потому важно четко различать эти два понятия: модель данных и базу данных.
Терминология, используемая в области баз данных, включает множество нюансов, столь же тонких, как например, употребление термина «объектно-ориентированное программирование». Само понятие «база данных» может обозначать как отдельный набор данных (например, список телефонов), так и гораздо более сложную систему (например, SQL Server). Попытаемся внести ясность в этот вопрос – на рисунке 1 показана взаимосвязь между терминами, которые будут обсуждаться далее.
Рисунок 1 – Взаимосвязь между терминами
Хотя для реляционных БД нет прямых аналогий в реальном мире, большинство их предназначено для моделирования некоторых аспектов реальности. Именно этот «кусочек» реального мира, другими словами, аспект реальности, мы будем называть предметной областью.
Предметная область имеет сложную структуру и не упорядочена – и это естественно, ведь если бы она была простой и упорядоченной, нам не понадобилась бы ее реляционная модель. Но для успешной реализации проекта необходимо ограничить проектируемую систему определенными рамками, в которые будет входить отдельная, четко определенная совокупность объектов и связей между ними. Только после этого вы сможете правильно оценить масштабы проектируемой системы.
Под термином модель данных договоримся понимать концептуальное описание предметной области. Она включает определения сущностей и их атрибутов: например, сущность Customer (Покупатель) может иметь атрибуты Name (Имя) и Address (Адрес). Сюда входят также определяемые для сущностей ограничения: например, Customer-Name не может допускать «пустых» значений.
Кроме того, модель данных включает в себя описание взаимоотношений между сущностями и ограничения, определенные для этих взаимоотношений: например, ограничение, декларирующее, что для каждого менеджера число отчитывающихся перед ним сотрудников не должно быть более пяти. Модель данных не содержит ссылок и указаний на физическую модель самой системы.
Определение физической модели – создаваемых таблиц и представлений, называется схемой базы данных или просто схемой. Схема – это перевод концептуальной модели в физическое представление, осуществляемое, как правило, средствами СУБД. Схема – это понятие, относящееся к концептуальному, а не к физическому уровню. Это все та же модель данных, описываемая в терминах, используемых механизмом СУБД – таблицы, триггеры и т. п.
Когда вы при помощи программного кода или интерактивной среды, например Microsoft Access, «объясните» механизму СУБД, что же будут представлять собой ваши данные, он создаст физические объекты, в которых эти данные будут храниться. Как правило, такие объекты размещаются на жестком диске, впрочем, это совсем не обязательно. Структура и данные вместе составляют то, что я обычно называю базой данных. БД содержит физические таблицы, представления, запросы, хранимые процедуры, а также правила, используемые механизмом СУБД для зашиты данных.
В понятие «БД» не входят приложение, состоящее, как правило, из форм и отчетов, с которыми работают пользователи, а также средства, обеспечивающие связь между серверной и клиентской частями клиент-серверных приложений. Кроме того, в БД не входит механизм СУБД.
2 ОБЩИЕ ПОНЯТИЯ РЕЛЯЦИОННОГО ПОДХОДА К ОРГАНИЗАЦИИ БД. ОСНОВНЫЕ КОНЦЕПЦИИ И ТЕРМИНЫ
2.1 Базовые понятия реляционных баз данных
Основными понятиями реляционных БД являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Для начала покажем смысл этих понятий на примере отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторой организации (рисунок 2):
Рисунок 2 – Базовые понятия реляционных баз данных
2.1.1 Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал).
2.1.2 Домен
Понятие домена более специфично для БД, хотя и имеет некоторые аналогии с подтипами в некоторых языках программирования. Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен «Имена» в нашем примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя (в частности, такие строки не могут начинаться с мягкого знака).
Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера групп» относятся к типу целых чисел, но не являются сравнимыми.
