Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL.doc
Скачиваний:
15
Добавлен:
10.11.2018
Размер:
472.58 Кб
Скачать

ИНСТИТУТ ЭКОНОМИКИ, УПРАВЛЕНИЯ И ПРАВА

ПИНЯГИНА О.В.,

ФУКИН И.А.

Практикум

по курсу

Базы данных”

Казань – 2006

Аннотация

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

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

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

Содержание

Содержание 3

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

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

Сотрудник 4

Сотрудник 6

Пример ER-модели: КОНТОРА “РОГА И КОПЫТА” 7

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

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

Пример реляционной модели: КОНТОРА “РОГА И КОПЫТА” 14

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

SQL (Structured Query Language) 16

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

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

DDL. Таблицы 19

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

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

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

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

DQL. Запросы 33

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

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

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

Сортировка 37

Подзапросы 38

Группировка 39

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

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

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

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

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

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

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

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

CCL. Курсоры 53

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

Триггеры 57

Задание для индивидуальной работы 10 62

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

Литература 66

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

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

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

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

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

Сотрудник

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

Атрибут сущности (свойство, характеризующее объект)

Ключевой атрибут (атрибут, входящий в первичный ключ)

Связь

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

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

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

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

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

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

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

Ромб связи и прямоугольник объекта соединяются ненаправленными дугами в сторону “ко многим” и направленными в сторону “к одному”.

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

Если связь соединяет две сущности, она называется бинарной.

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

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

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

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

Сотрудник

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

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

Иногда для более удобной классификации используются так называемые подтипы сущностей. Их обозначают с помощью треугольника с надписью “есть” (т.е., “является”). Пусть, например, среди контрагентов могут быть как физические, так и юридические лица. Поскольку они имеют разные атрибуты, то удобно создать для них подтипы:

Сущность “Контрагент” является надтипом для своих подтипов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]