ER-модель (entity-relationship model)
ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ
ПИНЯГИНА О.В., ФУКИН И.А.
Практикум По курсу “Базы данных”
Казань – 2012
УДК 004.6 ББК 32.973.26 – 018.2 Печатается по решению Редакционно-издательского совета ФГАОУВПО «Казанский (Приволжский) федеральный университет», Редакционно-издательского совета Института вычислительной математики и информационных технологий Протокол № 1 от 13.03.12, заседания кафедры экономической кибернетики Протокол № 4 от 24.02.12.
Рецензенты: доцент кафедры прикладной информатики и управления ИНЭКА, к.ф.-м.н. Мингалеева Л.Б., старший преподаватель кафедры системного анализа и информационных технологий Казанского федерального университета Тагиров Р.Р.
Пинягина О.В., Фукин И.А. Практикум по курсу «Базы данных»: Учебное пособие / О.В. Пинягина, И.А. Фукин – Казань: Казанский университет, 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|