- •Оглавление
- •Глава 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. Импорт данных
- •Задания для самостоятельного решения
- •Контрольные вопросы:
- •Содержание отчета
- •Курсовая работа
- •Библиографический список
Заключение
Современный подход в организации взаимодействия клиентских приложений с системами управления базами данных заключается в использовании специализированного языка управления данными. Наиболее распространенным является язык структурированных запросов (SQL).
Средствами языка обеспечиваются управление структурой данных, манипулирование данными, выбор данных, управление подсистемой безопасности, управление транзакциями и т.д.
Язык структурированных запросов поддерживает различные типы данных (числовые, строковые, дата и время) и широкий набор встроенных функций. Функции могут быть разделены на два больших класса: скалярные и агрегатные.
Вопросы для самопроверки
Перечислите, какие основные функции реализуются SQL.
Какие типы данных поддерживает SQL?
В чем особенность обработки пустых значений (NULL)?
Перечислите ключевые слова команды SELECT?
После какого ключевого слова в команде SELECT указываются источники данных?
Какое ключевое слово команды SELECT задает условие отбора групп?
Перечислите команды относящиеся к группе команд управления структурой базы данных.
укажите команду для создания представления.
Что обеспечивают команды DROP ...?
Что такое триггер?
Перечислите команды относящиеся к группе команд манипулирования данными.
К чему приводит удаление записи в родительской таблице в случае если определено каскадирование операции?
Задание к выполнению лабораторных работ
Лабораторная работа №1. Изучение команды select – простые запросы
Цель работы: ознакомиться с программным обеспечением, предназначенным для обращения пользователя к базе данных, приобрести практические навыки по составлению SQL-запросов для получения данных из одного источника, применению основных конструкций команды SELECT и встроенных функций для решения типовых задач.
В лабораторной работе используется база данных сотрудников фирмы. Таблица LOCATION содержит список городов: код города (Location_ID) и его название (Regional_group), в которых располагаются отделения компании. Таблица DEPARTMENT содержит список отделений компании: код отделения (Department_ID), название отделения (Name) и внешний ключ – код города (Location_ID). Таблица JOB содержит список должностей: код должности (Job_ID) и ее название (Function). Список сотрудников – таблица EMPLOYEE содержит список сотрудников компании с указанием фамилии (Last_name), имени (First_name), даты приема сотрудника на работу (Hire_date), зарплаты (Salary) и надбавки-премии (Commission). Первичный ключ таблицы Employee_ID. Таблица также содержит пару внешних ключей, обеспечивающих связь с таблицей должностей (Job_ID) и отделений (Department_ID). А также устанавливается иерархическая связь между сотрудниками – начальник-подчиненный. В данной связи и родительской, и дочерней таблицей выступает таблица Employee, а внешним ключом является поле Manager_ID, указывающее на начальника.
Вторая часть базы данных содержит информацию о проектах, выполняемых фирмой. Таблица PROJECTTYPE содержит список типов, по которым классифицируются проекты, и состоит из кода типа проекта (ProjectType_ID), являющегося первичным ключом и наименования типа (Name). Таблица PROJECT хранит перечень проектов. Для каждого проекта указывается код (Project_ID), являющийся первичным ключом, название проекта (Name), дата начала проекта (Start_Date), дата окончания проекта (Stop_Date) и код типа проекта (ProjectType_ID), являющийся внешним ключом. Наименование проекта, дата начала и код типа проекта являются обязательными для заполнения. Отсутствие значения в поле окончания проекта говорит о том, что проект не закончен и работы по нему еще ведутся.
Между проектами и сотрудниками устанавливается связь посредством таблицы PROJECTTEAM, первичный ключ которой состоит из двух внешних ключей (Employee_ID и Project_ID), а также внешнего ключа (ProjectJob_ID), указывающего роль сотрудника в данном проекте. Сотрудник может участвовать в нескольких проектах с одинаковыми и/или разными ролями или не принимать участие ни в одном из проектов. Таблица PROJECTJOB содержит список ролей, выполняемых сотрудниками в проектах. Первичный ключ – код роли (ProjectJob_ID), неключевое поле – название роли (Name).
На рис. 9 представлен даталогическая схема рассматриваемой базы данных.
Рис. 9. Даталогическая схема базы данных сотрудников фирмы
