- •Оглавление
- •Глава 1 Представление данных 6
- •Глава 2 Реляционные базы данных 10
- •Глава 3 Язык структурированных запросов 42
- •Глава 4 Задание к выполнению лабораторных работ 72
- •Глава 5 Курсовая работа 97 Введение
- •Представление данных
- •Уровни представления данных
- •Инфологическая модель «сущность-связь»
- •Основные понятия
- •Характеристика связей
- •Вопросы для самопроверки
- •Реляционные базы данных
- •Основные понятия
- •Объекты реляционной структуры
- •Операции реляционной алгебры
- •Неопределенные значения
- •Ограничения целостности
- •Разработка реляционной базы данных
- •Основные предпосылки
- •Нормализация
- •Нормальные формы
- •Правила нормализации
- •Алгоритм нормализации
- •Нормализация в примерах.
- •Заключение
- •Вопросы для самопроверки
- •Язык структурированных запросов
- •Основные понятия
- •Типы данных
- •Операции над данными и null
- •Выбор данных из базы
- •Выбор данных из базы – оператор join
- •Выбор данных из базы – источник данных запрос
- •Управление структурой базы данных
- •Типы команд управления структурой
- •Типы объектов структуры
- •Создание таблицы
- •Удаление таблицы
- •Создание представления
- •Удаление представления
- •Изменение представления
- •Создание триггера
- •Изменение данных
- •Удаление данных
- •Ограничения целостности при манипулировании данными
- •Пример создания базы данных
- •Заключение
- •Вопросы для самопроверки
- •Задание к выполнению лабораторных работ
- •Лабораторная работа №1. Изучение команды select – простые запросы
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №2. Изучение команды select – запрос из нескольких источников
- •Задания для самостоятельной работы
- •Контрольные вопросы
- •Видео прокат
- •Вариант 2 Биржа
- •Вариант 3 Биржа труда
- •Вариант 4 Коктейли
- •Вариант 5 Урожай
- •Вариант 6 Фитнес центр
- •Вариант 7 Овощная база
- •Вариант 8 Оборудование
- •Вариант 9 Курортная карта
- •Вариант 10 осаго
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3. Разработка структуры базы данных. Вторая часть
- •Задания для самостоятельного решения
- •Контрольные вопросы
- •Содержание отчета
- •Лабораторная работа №3. Разработка системы протоколирования операций над данными реляционной таблицы с использованием триггеров
- •Задание для самостоятельного решения:
- •Контрольные вопросы:
- •Содержание отчета
- •Лабораторная работа №2. Разработка пользовательских функций и процедур
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Лабораторная работа №2. Импорт данных
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Курсовая работа
- •Библиографический список
Задания для самостоятельного решения
Создать структуру базы данных, разработанную в результате выполнения лабораторной работы №2, в среде СУБД с применением команд управления структурой. Желательно дать таблицам и их полям названия латинскими буквами, например транслитерацией. В таблицах должны быть определены первичный и внешние ключи.
Заполнить таблицы БД с применением команд манипулирования данными.
Разработать запрос, выводящий на экран универсальное отношение.
Создать представление, выводящее на экран универсальное отношение.
Разработать запрос, указанный после универсального отношения (см. задание к лабораторной работе №2).
Контрольные вопросы
Что означает выражение «полная функциональная зависимость» в отношении полей таблицы?
Что означает выражение «таблица находится в первой нормальной форме»?
Что означает выражение «таблица находится во второй нормальной форме»?
Что означает выражение «таблица находится в третьей нормальной форме»?
Что означает выражение «таблица находится в нормальной форме Бойса-Кодда»?
Что такое первичный ключ? Составной первичный ключ?
Что такое внешний ключ?
Что такое универсальное отношение?
Содержание отчета
Отчет о лабораторной работе должен включать: цель работы, постановку задачи, даталогическую схему базы данных, полученной при выполнении лабораторной работы №2 и разрабатываемые SQL команды и запросы.
Лабораторная работа №3. Разработка системы протоколирования операций над данными реляционной таблицы с использованием триггеров
Цель работы: ознакомиться с системой триггеров современных СУБД, приобрести практические навыки по разработке триггеров и реализации системы протоколирования на их основе.
Система триггеров позволяет создавать систему автоматического протоколирования операций над данными таблицы, реализовывать дополнительный контроль за данными таблицы и специфические функции по вычислению значений полей.
Задание для самостоятельного решения:
Создать таблицу исходных данных «mydata» (команда CREATE TABLE), содержащую следующие атрибуты:
ID (integer) – уникальный идентификатор, являющийся первичным ключом таблицы.
STRDATA (varchar(100)) – строковый атрибут
INTDATA (integer)– числовой атрибут
FLOATDATA (float) – числовой атрибут
Создать дополнительную таблицу «mydata1», содержащую все поля исходной таблицы и поле CHANGETIME (datetime), являющегося первичным ключом.
Разработать триггеры, обеспечивающие следующую функциональность системы протоколирования: при изменении и удалении данных исходной таблицы осуществляется создание резервной записи в таблице «mydata1» содержащей предыдущие значения атрибутов, поле CHANGETIME заполняется системным временем (функция GETDATE ()).
Ввести в исходную таблицу целочисленное поле (команда ALTER TABLE). С помощью соответствующих триггеров обеспечить автоматическое заполнение данного поля следующими значениями: при вставке новой записи поле инициализируется значением 0. При изменении данных строки значение увеличивается на единицу, тем самым поле хранит текущее количество изменений каждой строки таблицы.
Создать дополнительную таблицу «mydata2», содержащую все поля исходной таблицы и поле CHANGETIME (datetime), являющееся первичным ключом.
Разработать триггер уровня строки, обеспечивающий при изменении данных исходной таблицы создание резервной записи в таблице «mydata2», содержащей предыдущие значения атрибутов, поле CHANGETIME заполняется системным временем (функция GETDATE ()), при этом резервная копия создается только в случае, если выполняется дополнительное условия (см. табл. 2).
Таблица 2
Вариант |
Условие |
1 |
Уникальный идентификатор записи изменяется. |
2 |
Значение поля INTDATA становится меньше. |
3 |
Если длина строки в поле STRDATA увеличивается. |
4 |
Значение поля INTDATA меняет знак. |
5 |
Сумма полей INTDATA и FLOATDATA увеличивается. |
6 |
Значение поля FLOATDATA устанавливается в NULL. |
7 |
Значения всех полей кроме ID изменяется. |
8 |
Изменение значений полей не происходит. |
