Файл: Базы_данных-Курсовая.pdf

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Базы данных

Добавлен: 21.10.2018

Просмотров: 1338

Скачиваний: 13

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

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

Если бы назначением базы данных было только хранение отдельных, не 

связанных между собой данных, то ее структура могла бы быть очень простой. 
Однако  одно  из  основных  требований  к  организации  базы  данных  –  это 
обеспечение  возможности  отыскания  одних  сущностей  по  значениям  других, 
для чего необходимо установить между ними определенные связи. А так как в 
реальных базах данных нередко содержатся сотни или даже тысячи сущностей, 
то теоретически между ними может быть установлено более миллиона связей. 
Наличие  такого  множества  связей  и  определяет  сложность  инфологических 
моделей. 

Например,  связи  между  сущностями  могут  выражаться  следующими 

фразами  -  "СОТРУДНИК  может  иметь  несколько  ДЕТЕЙ",  "каждый 
СОТРУДНИК обязан числиться ровно в одном ОТДЕЛЕ".  

Графически связь изображается линией, соединяющей две сущности:  

 

Каждая  связь  имеет  два  конца  и  одно  или  два  наименования. 

Наименование  обычно  выражается  в  неопределенной  глагольной  форме: 
"иметь",  "принадлежать"  и  т.п.  Каждое  из  наименований  относится  к  своему 
концу связи. Иногда наименования не пишутся ввиду их очевидности.  

Каждая связь может иметь один из следующих типов связи:  

 

Связь  типа  один-к-одному  означает,  что  один  экземпляр  первой 

сущности  (левой)  связан  с  одним  экземпляром  второй  сущности  (правой). 
Связь один-к-одному чаще всего свидетельствует о том, что на самом деле мы 
имеем всего одну сущность, неправильно разделенную на две.  

Связь  типа  один-ко-многим  означает,  что  один  экземпляр  первой 

сущности  (левой)  связан  с  несколькими  экземплярами  второй  сущности 
(правой).  Это  наиболее  часто  используемый  тип  связи.  Левая  сущность  (со 
стороны  "один")  называется  родительской,  правая  (со  стороны  "много")  - 
дочерней. (см. рис. графического изображения связи) 


background image

 

Связь  типа  много-ко-многим  означает,  что  каждый  экземпляр  первой 

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

Каждая связь может иметь одну из двух модальностей связи:  

 

Модальность  "может"  означает,  что  экземпляр  одной  сущности  может 

быть связан с одним или несколькими экземплярами другой сущности, а может 
быть и не связан ни с одним экземпляром.  

Модальность  "должен"  означает,  что  экземпляр  одной  сущности  обязан 

быть связан не менее чем с одним экземпляром другой сущности.  

Связь может иметь разную модальность с разных концов.  
Описанный  графический  синтаксис  позволяет  однозначно  читать 

диаграммы, пользуясь следующей схемой построения фраз:  
<Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> 
<НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>.  

Каждая  связь  может  быть  прочитана  как  слева  направо,  так  и  справа 

налево. Например, связь, представленная на рисунке выше 4 читается так:  

Слева направо: "каждый сотрудник может иметь несколько детей".  
Справа  налево:  "Каждый  ребенок  обязан  принадлежать  ровно  одному 

сотруднику".  

Получение реляционной схемы из ER-схемы 

Шаг 1. Каждая простая сущность превращается в таблицу. Простая сущность 
-  сущность,  не  являющаяся  подтипом и  не  имеющая  подтипов.  Имя  сущности 
становится именем таблицы.  

Шаг 2. Каждый атрибут становится возможным столбцом с тем же именем; 
может  выбираться  более  точный  формат.  Столбцы,  соответствующие 
необязательным  атрибутам,  могут  содержать  неопределенные  значения; 
столбцы, соответствующие обязательным атрибутам, - не могут.  

Шаг 3. Компоненты уникального идентификатора сущности превращаются в 
первичный  ключ  таблицы.  Если  имеется  несколько  возможных  уникальных 
идентификатора,  выбирается  наиболее  используемый.  Если  в  состав 
уникального  идентификатора  входят  связи,  к  числу  столбцов  первичного 
ключа 

добавляется 

копия 

уникального 

идентификатора 

сущности, 

находящейся  на  дальнем  конце  связи  (этот  процесс  может  продолжаться 


background image

 

рекурсивно).  Для  именования  этих  столбцов  используются  имена  концов 
связей и/или имена сущностей.  

Шаг  4.  Связи  многие-к-одному  (и  один-к-одному)  становятся  внешними 
ключами.  Т.е.  делается  копия  уникального  идентификатора  с  конца  связи 
"один", 

и 

соответствующие 

столбцы 

составляют 

внешний 

ключ. 

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

Шаг  5.  Индексы  создаются  для  первичного  ключа  (уникальный  индекс), 
внешних  ключей  и  тех  атрибутов,  на  которых  предполагается  в  основном 
базировать запросы.  

 

3. Разработка таблиц и схемы базы данных 

 

Для  создания  данной  системы  управления  данными  понадобятся 

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

Для  создания  таблицы  в  СУБД  MySQL  используется  команда  CREATE 

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

Описать структуру каждой таблицы и представить данные, которые они 

содержат. 

Задать  связи  между  таблицами  и  представить  даталогическую  схему 

данных. 

4. Запросы системы 

 

Запросы  позволяют  отбирать  необходимую  информацию  из  таблиц  и 

представлять  ее  в  табличном  виде.  Запросы  создаются  с  помощью  команды 
SELECT. 

 
Существует четыре типа запросов для различных целей: 
Запросы на выборку отображают данные из одной или нескольких таблиц 

в виде таблицы. 

Перекрестные  запросы  собирают  данные  из  одной  или  нескольких 

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

Запросы  на  изменение  используются  для  создания  новых  таблиц  из 

результатов  запроса  и  для  внесения  изменений  в  данные  существующих 
таблиц.  С  их  помощью  можно  добавлять  или  удалять  записи  из  таблицы  и 


background image

 

изменять  записи  согласно  выражениям,  задаваемым  в  режиме  конструктора 
запроса. 

Многотабличные  запросы,  в  свою  очередь,  делятся  по  типу 

используемого соединения таблиц: 

- внутреннее соединение по одному полю,  
- внутреннее соединение по нескольким полям, 
- косвенное соединение таблиц, 
- внешнее соединение 
- рекурсивное соединение 
- соединение по отношению 

 Для  данной  системы  было  создано  N  запросов.  Запросы  создавались  в 

режиме  конструктора.  В окне конструктора запросов добавляем необходимые 
таблицы, затем перетаскиваем нужные поля из таблиц в строку «поле» нижнего 
окна, где автоматически фиксируется начальное местоположение каждого поля 
(таблицы).  В  строке  «Условия»  задаем  условия  отбора  записей.  В  строке 
«Групповая  операция»  выбираем  агрегатные  функции.  После  ввода  всех 
параметров  запроса  сохраняем  его  в  базе  данных,  предварительно  задав  ему 
свое имя. 

Запрос  1  создается  по  данным  таблиц  (название  таблиц)  и  является 

запросом (указать тип запроса). Представить запрос в виде команды SELECT и 
результаты его выполнения. 

Таким образом описываются все запросы. 

 

5. Выводы 

Содержат основные выводы о проделанной работе: 
-  в  данной  работе  была  исследована  предметная  область  по  теме  -  название 
темы; 
- построена инфологическая модель; 
- разработана даталогическая модель базы данных средствами MySQL, 
включающая N таблиц и связи между ними; 
- разработаны N запросов для отображения данных из таблиц. 
 


background image

 

10 

 

Требования к БД: 

 

 

наличие таблиц и связей между ними в соответствии с инфологической 

моделью проектируемой предметной области, 

 

наличие  не  менее  10  запросов  всех  типов,  реализуемых  средствами 

СУБД MySQL: 

1.  С использованием внутреннего соединения по одному полю. 
2.  С использованием косвенно связанных таблиц. 
3.  С использованием таблиц, связанных более чем по одному полю. 
4.  С использованием внешнего соединения таблиц. 
5.  С использованием рекурсивного соединения. 
6.  С использованием соединений по отношению. 
7.  С использованием функций агрегирования. 
8.  Перекрестный запрос. 
9.  Запрос на изменение. 
10.  С вычисляемым полем.