
- •1. Информация о дисциплине
- •1.1. Предисловие
- •Место дисциплины в учебном процессе
- •1.2. Содержание дисциплины и виды учебной работы Содержание дисциплины по гос
- •1.2.1. Объем дисциплины и виды учебной работы
- •1.2.2. Перечень видов практических занятий и контроля:
- •2. Рабочие учебные материалы
- •2.1. Рабочая программа (объем дисциплины 140 часов)
- •Раздел 1. Назначение и основные компоненты системы баз данных (12 часов)
- •1.1. Субд – основа информационных систем (8 часов)
- •1.2. Современные архитектуры ис (4 часа)
- •Раздел 2. Архитектура банка данных(20 часов)
- •2.1. Уровни представления баз данных (5 часов)
- •2.2. Категории пользователей банков данных (5 часов)
- •2.3. Концепции и этапы проектирования баз данных (10 часов)
- •Раздел 3. Модели и типы данных в бд (24 часа)
- •3.1. Представление концептуальной модели средствами субд (14 часов)
- •3.2. Типовые модели данных субд (10 часов)
- •Раздел 4. Базовые элементы реляционных бд (25 часов)
- •4.1. Проектирование реляционной базы данных (9 часов)
- •4.2. Нормализация отношений в бд (16 часов)
- •Раздел 5. Язык структурированных запросов sql (28 часов)
- •5.1. Язык манипулирования данными для реляционной модели (8 часов)
- •5.2. Реализация запросов в языке sql (20 часов)
- •Раздел 6. Использование баз данных (28 часов)
- •2.2. Тематические планы дисциплины
- •2.2.1. Тематический план дисциплины для студентов очной формы обучения
- •2.2.2. Тематический план дисциплины для студентов очно-заочной формы обучения
- •2.2.3. Тематический план дисциплины для студентов заочной формы обучения
- •2.3. Структурно-логическая схема дисциплины
- •2.4. Временной график изучения дисциплины
- •2.5. Практический блок Практические занятия (очная форма обучения)
- •Практические занятия (очно-заочная)
- •Практические занятия (заочная формы обучения)
- •Лабораторные работы (очная форма обучения)
- •Лабораторные работы (очно-заочная форма обучения)
- •Лабораторные работы (заочная форма обучения)
- •2.6. Балльно-рейтинговая система
- •3. Информационные ресурсы дисциплины
- •3.1. Библиографический список
- •3.2. Опорный конспект введение
- •Раздел 1. Назначение и основные компоненты системы баз данных
- •1.1. Субд – основа информационных систем
- •1.1.1. Эволюция развития систем управления данными
- •1.1.2. Локальная технология
- •1.1.3. Архитектура с сетью и файловым сервером
- •1.2. Современные архитектуры ис
- •1.2.1. Архитектура "клиент – сервер"
- •1.2.2. Трехзвенная архитектура "клиент – сервер"
- •1.2.3. Архитектура Intranet-приложений
- •Вопросы для самопроверки по теме 1.2
- •Раздел 2. Архитектура банка данных
- •2.1. Уровни представления баз данных
- •2.1.1. Основная терминология
- •2.1.2. Архитектура базы данных.
- •2.1.3. Процесс прохождения пользовательского запроса в субд
- •2.2. Категории пользователей банков данных
- •2.2.1. Классификация пользователей БнД
- •2.2.2. Основные функции группы администратора бд
- •2.3. Концепции и этапы проектирования баз данных
- •2.3.1. Жизненный цикл бд
- •2.3.2. Общая структура процесса проектирования бд
- •Раздел 3. Модели и типы данных в бд
- •3.1. Представление концептуальной модели средствами субд
- •3.1.1. Общие представления о моделях данных субд
- •3.1.2. Классификация моделей данных
- •3.2. Типовые модели данных субд
- •3.2.1. Иерархическая и сетевая модель данных
- •3.2.2. Реляционная и постреляционная модель данных
- •3.2.3. Многомерная модель данных
- •Раздел 4. Базовые элементы реляционных бд
- •4.1. Проектирование реляционной базы данных
- •4.1.1. Свойства и виды отношений
- •4.1.2. Реляционная алгебра
- •4.2. Нормализация отношений в бд
- •4.2.1. Понятие о нормальных формах
- •4.2.2. Формальные методы синтеза и декомпозиции нормальных форм
- •4.2.3. Проектирование с использованием метода сущность – связь
- •Раздел 5. Язык структурированных запросов sql
- •5.1. Язык манипулирования данными для реляционной модели
- •5.1.1. Назначение и история языка sql
- •5.1.2. Операторы языка sql
- •5.1.3. Модификация хранимых отношений в субд
- •5.2. Реализация запросов в языке sql
- •5.2.1. Примеры запросов
- •5.2.2. Агрегатные функции
- •5.2.3. Хранимые запросы
- •Области применения триггеров и хранимых процедур
- •Раздел 6. Использование бд
- •6.1. Программирование и управление транзакциями
- •6.1.1. Управление транзакциями в системах баз данных
- •6.1.2. Менеджеры транзакций
- •6.1.3. Параллельное выполнение транзакций
- •6.1.4. Методы сериализации транзакций.
- •6.1.5. Уровни изолированности пользователей.
- •6.2. Защита баз данных. Целостность и сохранность баз данных
- •6.2.1. Методы обеспечения безопасности
- •6.2.2. Программно-технический аспект информационной безопасности
- •6.2.3. Избирательное и мандатное управление доступом
- •6.3. Современные субд. Тенденции построения и использования баз данных
- •6.3.1. Объектная и реляционная технология
- •6.3.2. Объектно-реляционные субд
- •6.3.3. Критерии сравнения субд
- •Заключение
- •3.3 Глоссарий
- •3.4. Учебное пособие
- •3.5. Методические указания к выполнению лабораторных работ
- •3.5.1. Общие указания
- •3.6. Методические указания к выполнению практических занятий
- •3.6.1. Задания на практические занятия
- •3.6.2. Методические указания к выполнению практических заданий
- •4. Блок контроля освоения дисциплины
- •4.1. Общие указания
- •4.2. Задание на курсовой проект и методические указания к его выполнению
- •Тематика курсовых проектов
- •Рекомендуемые государственные стандарты
- •Пример оформления титульного листа
- •Задание на курсовой проект по дисциплине
- •4.3. Текущий контроль Тренировочные тесты Тест № 1 (по разделу 1)
- •8. Информационная система (ис) – это …
- •Тест №2 (по разделу 2)
- •Тест № 3 (по разделу 3)
- •8. При создании схемы таблицы бд следует описать:
- •Тест № 4 (по разделу 4)
- •Тест № 5 (по разделу 5)
- •Тест № 6 (по разделу 6)
- •3. Согласованность транзакции означает…
- •4. Изоляция транзакции означает…
- •5. Сохранность транзакции означает…
- •6. Транзакция продолжается до тех пор, пока не произойдет одно из следующих событий:
- •7. Оператор commit означает…
- •8. Оператор rollback означает…
- •Правильные ответы на тренировочные тесты
- •4.4. Итоговый контроль Вопросы для подготовки к экзамену
- •Приложение 1. Определение данных в sql.
- •Приложение 2. Журнализация изменений базы данных
- •Приложение 3. Система безопасности в субд
- •1. Информация о дисциплине 3
- •2. Рабочие учебные материалы 6
- •3. Информационные ресурсы дисциплины 23
- •4. Блок контроля освоения дисциплины 143
- •191186, Санкт-Петербург, ул. Миллионная, 5
5.1.2. Операторы языка sql
Предположим, что мы работаем с базой данных, обладающей схемой СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП, ОТД_НОМ) и ОТДЕЛЫ (ОТД_НОМ, НАЧ_ОТД, ФОНД_ЗАРПЛАТЫ_ОТДЕЛА), и хотим узнать имена и номера сотрудников, являющихся начальниками отделов с фондом зарплаты больше 250.
Если бы для формулировки такого запроса использовалась реляционная алгебра, то мы получили бы алгебраическое выражение:
Rrez = СОТРУДНИКИ [СОТР_НОМ=((ОТДЕЛЫ [ФОНД_ЗАРПЛАТЫ_ОТДЕЛА > 250]) [НАЧ_ОТД]) ] ОТДЕЛЫ [СОТР_ИМЯ, НАЧ_ОТД ]
которое читалось бы, например, следующим образом:
ограничить отношение ОТДЕЛЫ по условию ФОНД_ЗАРПЛАТЫ_ОТДЕЛА > 250;
спроецировать результат предыдущей операции на атрибут ОТД_НАЧ.
выполнить соединение отношений СОТРУДНИКИ и ОТДЕЛЫ по условию СОТР_НОМ = НАЧ_ОТД;
спроецировать результат предыдущей операции на атрибут СОТР_ИМЯ, НАЧ_ОТД.
Мы четко сформулировали последовательность шагов выполнения запроса, каждый из которых соответствует одной реляционной операции. Если же сформулировать тот же запрос с использованием SQL, которому посвящается этот раздел, то мы получили бы формулу (выражение):
SELECT (СОТР_ИМЯ, НАЧ_ОТД)
FROM ОТДЕЛЫ, СОТРУДНИКИ
WHERE СОТР_НОМ = НАЧ_ОТД AND ФОНД_ЗАРПЛАТЫ_ОТДЕЛА > 250;
В этой формулировке мы указали лишь характеристики результирующего отношения, но ничего не сказали о способе его формирования. В этом случае система должна сама решить, какие операции и в каком порядке нужно выполнить над отношениями СОТРУДНИКИ и ОТДЕЛЫ.
Существуют два вида (формы) SQL: ИНТЕРАКТИВНЫЙ и ВСТРОЕННЫЙ. Конструкции этих форм работают одинаково, но используются различно. Интерактивный SQL используется для функционирования непосредственно в БД, чтобы производить вывод на экран дисплея или принтер информацию из БД для использования ее пользователем. В этой форме SQL, когда Вы введете команду, она сейчас же выполнится, и можно увидеть вывод - немедленно.
Встроенный (вложенный) SQL состоит из команд SQL, помещенных внутри другой программной среды. То есть, интерфейс обеспечивает среда другого языка, а SQL выполняет запросы, поступающие из программы. В чистом виде это реализовано, например, в среде Delphi, PHP, а FoxPro даже включает операторы SQL в автономный (базовый) язык.
Это делает эти программы более мощными и эффективными. Однако, допуская эти возможности, приходится иметь дело со структурой SQL и стилем управления данных, который требует некоторых расширений к интерактивному стандарту SQL.
Независимо от вида SQL (согласно рекомендации ANSI), SQL состоит из следующих разделов:
-Язык Определения Данных (ЯОД или DDL),
-Язык Манипулирования Данными (ЯМД или DML),
-Язык Управления Данными (DCL).
Последний раздел может включаться в ЯМД. Первый раздел служит для определения схем данных (таблиц), второй – для манипуляций данными, которые выполняются через запросы к базе данных.
Data Definition Language (DDL).
Эта составляющая языка содержит операторы, позволяющие создавать, модифицировать и уничтожать базы данных и объекты внутри них (таблицы, представления) (см. таблицу 5.1).
Операторы DDL. Таблица 5.1.
-
Оператор
Описание
CREATE TABLE
Добавление новой таблицы к базе данных
DROP TABLE
Удаление таблицы из базы данных
ALTER TABLE
Изменение структуры имеющейся таблицы
CREATE VIEW
Добавление нового представления к базе данных
DROP VIEW
Удаление представления
CREATE INDEX
Создание нового индекса
DROP INDEX
Удаление существующего индекса
Data Manipulation Language (DML).
Эта составляющая языка содержит операторы, позволяющие добавлять, выбирать, удалять и модифицировать данные (табл. 5.2).
Операторы DML. Таблица 5.2.
-
Оператор
Описание
SELECT
Выбор данных
INSERT
Вставка данных
DELETE
Удаление данных
UPDATE
Обновление данных
Иногда оператор SELECT относят к отдельной категории Data Query Language (DQL).
Transaction Control Language (TCL).
Операторы данного класса (см. табл. 5.3) применяются для управления изменениями, выполняемыми группой операторов DML.
Операторы TCL. Таблица 5.3 .
Оператор |
Описание |
COMMIT |
Завершение транзакции и сохранение изменений в базе данных |
ROLLBACK |
Откат транзакции и отмена изменений в базе данных |
SET TRANSACTION |
Установка параметров доступа к данным в текущей транзакции |
Data Control Language (DCL).
Операторы Data Control Language (см. табл. 5.4), иногда называемые операторами Access Control Language, применяются для осуществления административных функций, присваивающих или отменяющих право (привилегию) использовать базу данных, таблицу базы данных, а также выполнять те или иные операторы SQL.
Операторы DCL. Таблица 5.4.
-
Оператор
Описание
GRANT
Присвоение привилегии
REVOKE
Отмена привилегии
Все операторы SQL имеют вид, представленный на рис.5.1.
Рис.5.1 Структура оператора SQL