WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


Pages:     || 2 | 3 |
Федеральное агентство по образованию Санкт-Петербургский государственный архитектурно-строительный университет Факультет городского строительства и ЖКХ Кафедра прикладной математики и информатики ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННЫХ БАЗ ДАННЫХ Методические указания по выполнению лабораторной работы курса «Базы данных» для студентов специальности 230400 – прикладная математика Санкт-Петербург 2009 1 УДК 681.3 Введение Рецензент д-р физ.-мат. наук, профессор Б. Г. Вагер (СПбГАСУ) В настоящее время реляционные базы уверенно являются неотъемПроектирование реляционных баз данных: метод. указания по лемой частью большинства информационных систем. В этой области выполнению лабораторной работы курса «Базы данных» для студентов прикладного программирования стремительно развиваются новые техспециальности 230400 – прикладная математика / сост. В. В. Шацков;

нологии, платформы реализации и среды разработки приложений.

СПбГАСУ. – СПб., 2009. – 24 с.

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

боты по проектированию реляционных баз данных с использованием системы Данная работа имеет целью усвоение и закрепление теоретических управления базами данных MS Access.

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

ны задания на лабораторную работу.

1) концептуальное проектирование, содержащее системный анализ рассматриваемой предметной области поставленной задачи и составление ее словесного описания. Этот этап в данной работе отсутствует, Ил. 6. Библиогр.: 2 назв.

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

2) логическое проектирование базы данных. На этом этапе осуществляется выбор СУБД (системы управления базами данных), с помощью которой база данных будет реализована. В лабораторной работе предполагается использование СУБД MS Access. Поскольку эта СУБД реализует реляционную модель данных, то необходимо осуществить переход от ER-модели к реляционной модели и затем нормализовать полученные отношения;

3) создание таблиц, входящих в реляционную модель с учетом существующих между ними связей. В данной лабораторной работе требуется составить для каждой создаваемой таблицы оператор CREATE TABLE языка SQL.

В отчете по данной работе студенты должны представить ER-диаг© Санкт-Петербургский государственный рамму, созданную на основе выданного им в качестве задания словесноархитектурно-строительный университет, го описания некоторой конкретной предметной области, схему реляционной модели, полученную из ER-модели, тексты операторов SQL CREATE TABLE для создания каждой таблицы реляционной модели.

2 Построение ER-модели ет, что одна из них имеет атрибут или набор атрибутов, составляющий ключ другой сущности. Например, сущность «студенты» и сущность ER-модель (модель «сущность – связь») – широко используемый «учебные группы» связаны между собой атрибутом «номер группы», инструмент разработки баз данных, представляющий собой формализо- который является ключом сущности «учебные группы» и присутствует ванное графическое представление предметной области в виде прямоу- в наборе атрибутов сущности «студенты».

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

заключается в том, что она понятна и разработчикам баз данных, и заказ- 1) связь «один к одному». При этой связи один элемент первой сущчикам, то есть будущим ее пользователям, и потому все возможные из- ности связан не более чем с одним экземпляром второй сущности. Этот менения в структуре данных согласуются между ними именно на уровне тип связи встречается сравнительно редко;

этой модели. ER-модель никак не связана ни с какой конкретной СУБД, 2) связь «один ко многим». В этом случае один экземпляр первой этот выбор осуществляется впоследствии. В основе ER-модели лежат сущности связан с несколькими экземплярами второй сущности, но один понятия «сущность» («entity») и «связь» («relation»). Не существует удов- экземпляр второй сущности связан не более чем с одним экземпляром летворительного формального описания понятия «сущность». Можно второй сущности. Первая сущность считается в данной связи основной, сказать, что это – совокупность значимых объектов, существующих вторая – подчиненной. Примером может служить рассмотренная выше в рамках предметной области. Например, при построении системы уче- связь между сущностями «учебные группы» и «студенты». Сущность та успеваемости студентов придется оперировать сущностями «студен- «учебные группы» является здесь основной, сущность «студенты» – подты», «преподаватели», «дисциплины», а в случае создания банковской чиненной, так как одна группа состоит из нескольких студентов, следосистемы – сущностями «клиенты» и «счета». Каждая сущность включа- вательно, одному экземпляру сущности «группы» соответствует нескольет набор атрибутов, представляющих собой именованные свойства сущ- ко экземпляров сущности «студенты», принадлежащих этой группе;

ности. Например, сущность «студенты» может иметь следующие атри- 3) связь «многие ко многим». В этом случае каждый экземпляр буты: первой сущности может быть связан с несколькими экземплярами вто1) номер группы; рой сущности, а каждый экземпляр второй сущности – с несколькими 2) фамилию; экземплярами первой. В качестве примера можно привести связь между 3) имя; сущностями «преподаватели» и «дисциплины» системы учета успевае4) номер зачетной книжки; мости. Эта связь имеет тип «многие ко многим», так как один преподава5) дату рождения. тель может вести несколько учебных дисциплин, а одна дисциплина – Сущность – совокупность объектов, а каждый объект этой сово- вестись несколькими преподавателями.



купности – экземпляр сущности. Экземпляры должны быть различимы, Важной характеристикой связи является ее обязательность, или то есть не должно быть двух экземпляров с одинаковыми наборами ат- модальность. Обязательность связи означает, что любому экземпляру рибутов. Каждая сущность имеет набор атрибутов, уникальный для каж- сущности обязательно соответствует хотя бы один экземпляр другой сущдого экземпляра сущности, называемый ключом. Например, для сущно- ности, состоящей с первой в обязательной связи. В противном случае сти «студенты» ключ состоит из одного атрибута «Номер зачетной книж- связь является необязательной. Связь может иметь неодинаковую модальки», так как точно не существует двух и более студентов с одинаковым ность с разных концов. Например, каждая учебная группа имеет куратозначением этого атрибута. ра из числа преподавателей, однако не каждый преподаватель является Между сущностями могут быть установлены связи, определяю- куратором.

щие, как сущности соотносятся или взаимодействуют между собой. Связь Следовательно, для построения ER-модели необходимо сначала может существовать между двумя сущностями (бинарная связь) или меж- выявить сущности, характерные для заданной предметной области, ду сущностью и ею же самой (рекурсивная связь). Наличие связи означа- и определить для каждой сущности набор атрибутов, имеющих значение 4 с учетом поставленной задачи. Затем необходимо определить все имею- Ключом здесь будет номер зачетной книжки.

щиеся связи между сущностями и характеристики этих связей. После Сущность «преподаватели» будет иметь атрибуты:

этого строится ER-диаграмма, т. е. собственно графическое изображе- 1) табельный номер;

ние модели с использованием одной из существующих нотаций. Для про- 2) фамилия;

стых случаев ER-диаграмму можно рисовать вручную, для более слож- 3) имя;

ных можно воспользоваться специализированным программным обес- 4) отчество.

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

DESIGNER. Сущности в ER-диаграмме изображаются в виде прямоу- У сущности «учебные дисциплины» будет два атрибута: код дисгольников, внутри которых перечисляются имена атрибутов. Ключевые циплины и наименование дисциплины, при этом первый атрибут – клюатрибуты подчеркиваются. Имя сущности указывается в прямоугольни- чевой.

ке первым и отделяется от списка атрибутов чертой. Связи между сущ- Сущность «группы» включает следующие атрибуты:

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

ответствующих сущностей. Для сущности, находящейся со стороны «мно- 2) табельный номер куратора группы.

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

линий. Необязательность связи обозначается значком, имеющим на кон- И, наконец, сущность «оценки» имеет следующие атрибуты:

це небольшую окружность. 1) номер зачетной книжки студента;

В качестве примера создадим несколько упрощенную модель сис- 2) код дисциплины;

темы учета успеваемости студентов. Оценки, получаемые студентами по 3) код преподавателя;

изучаемым дисциплинам, заносятся в специальную таблицу, где указы- 4) дата получения оценки;

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

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

щие сущности: Теперь рассмотрим связи, имеющиеся между сущностями.

1) студенты; 1. Так как в одной группе числятся несколько студентов, между 2) преподаватели; сущностями «группы» и «студенты» существует связь «один ко многим».

3) учебные дисциплины; Эта связь обязательна с обеих сторон.

4) группы; 2. Так как у каждой группы есть куратор из числа преподавателей, 5) оценки. между сущностями «группы» и «преподаватели» существует связь «один Атрибутами сущности «студенты» будут: к одному», необязательная со стороны «преподаватели», так как не каж1) номер зачетной книжки; дый преподаватель является куратором какой-либо группы.





2) фамилия; 3. Поскольку каждый преподаватель может вести несколько дис3) имя; циплин, а одна дисциплина – вестись несколькими преподавателями, 4) номер группы. то между сущностями «преподаватели» и «дисциплины» имеется связь 6 «многие ко многим». Поскольку любая дисциплина преподается хотя бы Переход к реляционной модели одним преподавателем, а любой преподаватель преподает хотя бы одну дисциплину, то связь обязательна с обеих сторон. На следующем этапе проектирования необходимо преобразовать 4. Между сущностью «студенты» и сущностью «оценки» суще- ER-модель в реляционную. Основной структурой реляционной модели ствует связь «один ко многим». Каждый студент неоднократно получает является отношение (relation), графической интерпретацией которого оценки по изучаемым дисциплинам. Возможно, что студент не успел служит таблица. Каждое отношение состоит из некоторого ограниченполучить еще ни одной оценки, следовательно, связь является необяза- ного числа кортежей, а содержание каждого кортежа определяется наботельной со стороны «студенты». ром атрибутов отношения. Каждый атрибут имеет определенный тип, 5. Между сущностью «преподаватели» и сущностью «оценки» су- значение которого берется из определенного домена. Кортежам отношеществует связь «один ко многим». Каждый преподаватель выставляет ния соответствуют строки таблицы, количество столбцов таблицы равно оценки по своим дисциплинам. Существует вероятность, что преподава- количеству атрибутов отношения, а тип величины, находящейся в сооттель не поставил ни одной оценки, потому что только что был принят на ветствующем столбце, определяется типом соответствующего атрибута.

работу, следовательно, связь является необязательной со стороны «пре- Отношения могут быть связаны между собой посредством набора подаватели». атрибутов, одинаково содержащихся в обоих отношениях. Связи между 6. Между сущностью «дисциплины» и сущностью «оценки» су- отношениями в реляционной модели (в отличие от ER-модели) могут ществует связь «один ко многим», так как по каждой дисциплине может иметь только тип «один ко многим», т. е. одно отношение всегда будет быть выставлено много оценок. Существует вероятность, что по некото- основным, а второе – подчиненным, и одному кортежу основного отнорой дисциплине не было еще выставлено ни одной оценки, следователь- шения могут соответствовать несколько кортежей подчиненного отноно, связь является необязательной со стороны «дисциплины». шения. Данное соответствие означает, что у обоих кортежей значения На рис. 1 показана ER-диаграмма, построенная для данной задачи набора атрибутов, по которому связаны отношения, совпадают. Обычно с учетом существующих связей. В кружках при каждой линии, обозначаю- у основного отношения данный набор атрибутов является первичным щей связь между сущностями, указан номер этой связи в соответствии ключом и, следовательно, уникальным для каждого кортежа. У второго с приведенной нумерацией. Имя каждой сущности отделено от имен атри- отношения данный набор атрибутов называется внешним ключом для бутов жирной чертой, ключевые атрибуты каждой сущности подчеркнуты. данной связи. Кортежей с одинаковым значением внешнего ключа может быть сколько угодно, но не может существовать кортежей со значением внешнего ключа, которому не соответствовал бы какой-либо первичный ключ основного отношения. Связь «один к одному» рассматривается как частный случай связи «один ко многим». Связи «многие ко многим» в реляционной модели быть не может.

Чтобы преобразовать ER-модель в реляционную модель, необходимо выполнить следующие действия:

1. Каждой сущности ER-модели ставится в соответствие отношение реляционной модели, при этом каждому атрибуту сущности ставит.

ся в соответствие атрибут отношения реляционной модели. Ключ сущности становится первичным ключом соответствующего отношения (PRIMARY KEY). Имена сущностей и отношений, равно как и атрибутов, могут не совпадать. Желательно при указании имен отношений и атрибутов реляционной модели использовать латиницу, поскольку эти Рис. 8 имена чаще всего являются идентификаторами в некотором языке программирования.

2. В каждое отношение, соответствующее подчиненной сущности, добавляется набор атрибутов, соответствующий ключу основной сущности, если, конечно, он там не присутствовал. В любом случае этот набор атрибутов становится внешним ключом в подчиненном отношении (FOREIGN KEY).

3. При обязательном характере связи у атрибутов, соответствующих внешнему ключу, устанавливается свойство отсутствия неопределенных значений (NOT NULL).

4. Если в ER-модели имеются связи «многие ко многим», то их надо преобразовать в связи «один ко многим», поскольку связи «многие ко многим» в реляционной модели не допускаются. Для этого в реляционную модель добавляется связующее отношение, атрибуты которого соответствуют атрибутам первичных ключей обоих отношений, участвующих в связи «многие ко многим». Связующее отношение будет находиться в связи «один ко многим» с каждым из этих отношений. Рис. В рассматриваемом примере связь «один ко многим» имеют сущВ приведенном примере составной первичный ключ имеется у сущности «преподаватели» и «дисциплины». В реляционной модели вводитности «оценки». Неключевым атрибутом здесь является только один атся связующее отношение R, атрибутами которого будут «ID_Subject» рибут «оценка». Его значение определяется всей совокупностью ключеи «Tab_num». Первый атрибут соответствует первичному ключу сущности вых атрибутов, поэтому сущность «оценки» условиям второй нормаль«дисциплины», а второй – первичному ключу сущности «преподаватели».

ной формы удовлетворяет.

Pages:     || 2 | 3 |










© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.