- •Оглавление
- •Глава 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НФ)?
Язык структурированных запросов
Основные понятия
В настоящее время основным инструментом взаимодействия с базами данных является язык SQL (Structure Query Language). Этот язык развивается с 70-х годов прошлого столетия. Он претерпевал несколько модификаций, направленных в первую очередь на расширение его функциональных возможностей. Изменения фиксировались в стандартах. Одними из последних были стандарты 1999 и 2003 годов.
Основные функции, реализуемые SQL [3, 4, 11]:
выбор данных из базы;
манипулирование данными;
управление структурой базы данных:
управление таблицами;
управление ограничениями целостности;
управление дополнительными структурами: триггерами, представлениями, функциями и т.п.
управление авторизацией доступа к объектам структуры и данным;
управление транзакциями – системой фиксации и отмены вносимых изменений.
Типы данных
Базы данных, управляемые SQL, называются SQL-ориентированными. Данные в таких системах хранятся в виде двумерных таблиц. Все данные таких таблиц являются типизированными, т.е. принадлежат одному из предопределенных или определяемых пользователем типу данных. При создании таблицы для каждого столбца определяют тип данных, которые будут храниться в нем, и система управления базами данных обеспечивает соответствие типа хранимых данных в каждой строке таблицы для каждого столбца.
В SQL определен широкий спектр различных типов данных, ниже приведены наиболее часто употребляемые категории типов:
точные числовые типы;
приближенные числовые типы;
типы символьных строк;
типы даты и времени;
Точные числовые типы данных – это либо целочисленные типы данных, либо типы, хранящие дробные числа с заданной точностью. Примерами целочисленных типов являются такие, как Integer, SmallInt. Типы, обеспечивающие точное представление дробных чисел – это NUMERIC и DECIMAL. В аргументах таких типов указывают одно или два числа, задающих соотношение между общим числом хранимых цифр и числом цифр, отведенных под дробную часть. Например: DECIMAL(10, 4).
Приближенные числовые типы – это типы, в которых числа представляются парой чисел: мантисса, порядок. Такие типы определены во всех языках программирования, и в SQL они имеют аналогичные названия и смысл: REAL, FLOAT – одинарной точности, DOUBLE – двойной точности.
Символьные строки в SQL задаются двумя типами. Тип строка заданной длины (обычно CHARACTER или CHAR) имеет один параметр, определяющий ее длину. При этом, для поля такого типа, не зависимо от реальной длины данных, всегда выделяется заданное число символов. Альтернативой служит тип строка переменной длины. Этот тип также имеет параметр, определяющий длину строки, но здесь определяется максимальная длина строки. Если же строка содержит меньшее число символов, то под нее выделяется требуемое число символов. Отличие этих типов связано, в первую очередь, с оптимизацией работы системы управления базой данных, балансом между скоростью обработки строк фиксированной длины и объемом хранимой информации.
Дата и время в SQL могут храниться либо типами данных, хранящими только время (TIME) и только дату (DATE), либо типами хранящими дату и время одновременно (TIMESTAMP, DATETIME). Типы данных для хранения даты и времени не являются строковыми типами, а эквивалентны одному из числовых типов данных.
