Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

ER-модель (entity-relationship model)




Практикум

По курсу

“Базы данных”

 

Казань – 2012


УДК 681.3.06

ББК 32.988 – 018

Печатается по решению Редакционно-издательского совета

ФГАОУВПО «Казанский (Приволжский) федеральный университет»,

Редакционно-издательского совета Института вычислительной

математики и информационных технологий

Протокол № от,

заседания кафедры экономической кибернетики

Протокол № от

 

 

Рецензенты:

………………………………..

………………………………….

 

 

Пинягина О.В., Фукин И.А.

Практикум по курсу «Базы данных»: Учебное пособие / О.В. Пинягина, И.А. Фукин – Казань: Казанский университет, 2012. – 92 с.

 

 

Данное учебное пособие разработано для поддержки компьютерных лабораторных занятий и самостоятельной работы по курсу «Базы данных» для студентов, обучающихся по специальностям «Бизнес-информатика», «Прикладная информатика».

В пособии рассматриваются основы проектирования и построения баз данных: ER-модель и реляционная модель, а также основы языка SQL. Каждая тема содержит задания для индивидуальной работы.

В качестве среды программирования используется Microsoft SQL Server 2005 (или более поздняя версия).

Электронный ресурс по данному курсу располагается на сайте кафедры экономической кибернетики КФУ по адресу: http://kek.ksu.ru/EOS/BD/index.html.

 

ã Казанский университет, 2012

ã Пинягина О.В., Фукин И.А., 2012


Содержание

Содержание.......................................................................................... 3

Проектирование баз данных.................................................... 5

ER-модель (entity-relationship model)........................................ 5

Пример ER-модели: Коньора «Рога и копыта».......................... 11

Пример ER-модели: «Музыканты»................................................ 12

Задание для индивидуальной работы 1........................................... 13

Преобразование ER-модели в реляционную модель 14

Пример реляционной модели: Контора «Рога и копыта»...... 20

Пример реляционной модели: «Музыканты»............................. 21

Задание для индивидуальной работы 2........................................... 22

SQL (Structured Query Language)........................................ 23

SQL Server – коротко о главном.................................................... 23

DDL. Таблицы....................................................................................... 26

Пример сценария создания БД "РОГА И КОПЫТА"................ 31

Задание для индивидуальной работы 3........................................... 35

DML. Изменение данных................................................................... 36

Задание для индивидуальной работы 4........................................... 45

DQL. Запросы....................................................................................... 46

Выборка из одной таблицы................................................................. 46

Использование условий отбора........................................................... 47

Использование агрегирующих функций.............................................. 49

Сортировка........................................................................................... 50

Подзапросы........................................................................................... 51

Группировка.......................................................................................... 53

Выборка из нескольких таблиц........................................................... 54

Объединение запросов.......................................................................... 55

И еще несколько примеров................................................................... 56

Задание для индивидуальной работы 5........................................... 58

DDL. Представления.......................................................................... 59

Задание для индивидуальной работы 6........................................... 61

Хранимые процедуры......................................................................... 62

Задание для индивидуальной работы 7........................................... 66

CCL. Курсоры....................................................................................... 67

Задание для индивидуальной работы 8........................................... 70

Триггеры................................................................................................ 71

Задание для индивидуальной работы 9........................................... 77

 

Приложение 1. Работа с ERModeler.................................... 78

Приложение 2. Некоторые типичные ошибки SQL.. 82

Приложение 3. Реляционная алгебра и SQL.................. 86

Литература.......................................................................................... 92


Проектирование баз данных

ER-модель (entity-relationship model)

 

Работа с базой данных начинается с построения модели предметной области. Наиболее распространенной является ER-модель (entity-relationship model) – модель «Сущность-связь».

Для построения ER-модели на практике будем использовать простую систему обозначений, предложенную Питером Ченом (обозначения, встречающиеся в разных источниках, могут несколько отличаться от нижеприведенных).

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

 

Базовые понятия:

 

Сотрудник  

Сущность (объект)

 

   
Атрибут сущности (свойство, характеризующее объект)    
Ключевой атрибут (атрибут, входящий в первичный ключ)    
Связь     Работает

 

Первичный ключ (primary key) – это атрибут или группа атрибутов, однозначно идентифицирующих объект.

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

Объект и его атрибуты соединяются ненаправленными дугами.

 

 

Связи между объектами могут быть 3-х типов:

Один – к одному. Этот тип связи означает, что каждому объекту первого вида соответствует не более одного объекта второго вида, и наоборот.

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

 

 

Один – ко многим (или в обратную сторону Многие – к одному). Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, но каждому объекту второго вида соответствует не более одного объекта первого вида.

 

Например: в каждом отделе может быть множество сотрудников, но каждый сотрудник работает только в одном отделе.

Многие – ко многим. Этот тип связи означает, что каждому объекту первого вида может соответствовать более одного объекта второго вида, и наоборот. У этого типа связи иногда бывают собственные атрибуты.

Например: каждый счет может включать множество товаров, и каждый товар может входить в разные счета.

 

 

Связь может соединять сущность саму с собой, например:

 

 

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

Пусть, например, номер сотрудника является уникальным только в пределах отдела, т.е. в разных отделах могут быть сотрудники с одинаковыми номерами. Уникальной в данном случае будет комбинация атрибутов « НомерСотрудника, НомерОтдела ». Сущность «Сотрудник» является слабой.

На схеме слабые сущности и их идентифицирующие связи собозначаются двойными линиями.

 

 
 


Слабая сущность

 

 
Связь слабой сущности    

 

 

Иногда для более удобной классификации используются так называемые подтипы сущностей. Ихобозначают с помощью треугольника, направленного от подтипа к надтипу. Этот треугольник может сопровождаться надписью «есть» или «is a» (т.е., «является»).

 

 

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

Сущность «Контрагент» является надтипом для своих подтипов. Обратите внимание, что у подтипов обычно не бывает собственных первичных ключей.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...