- •Базы данных: основные понятия. Введение в базы данных. Определения.
- •Развитие технологий обработки данных. Современное состояние технологий баз данных.
- •Базы данных и их свойства.
- •Системы управления базами данных. Компоненты среды субд.
- •Архитектура субд. Трехуровневая архитектура базы данных. Внешний уровень. Концептуальный уровень. Внутренний уровень.
- •Функции субд. Управление данными во внешней памяти. Управление транзакциями. Восстановление базы данных.
- •Управление данными во внешней памяти
- •Управление транзакциями
- •Восстановление базы данных
- •Функции субд. Поддержка языков бд. Словарь данных. Управление параллельным доступом. Управление буферами оперативной памяти. Поддержка языков бд
- •Словарь данных
- •Управление буферами оперативной памяти
- •Функции субд. Контроль доступа к данным. Поддержка обмена данными. Поддержка целостности данных. Поддержка независимости от данных. Вспомогательные функции. Контроль доступа к данным
- •Поддержка обмена данными
- •Поддержка целостности данных
- •Поддержка независимости от данных
- •Вспомогательные функции
- •Типовая организация современной субд.
- •Языки баз данных. Язык определения данных. Языки манипулирования данными.
- •Манипулирование данными
- •Архитектура многопользовательских субд. Тенденции развития многопользовательских систем.
- •Модели двухуровневой технологии «клиент-сервер». Файловый сервер. Модель удаленного доступа к данным.
- •Модель сервера баз данных. Сервер приложений. Трехуровневая модель.
- •Проектирование баз данных. Концепции проектирования. Жизненный цикл бд.
- •Планирование разработки базы данных. Определение требований к системе. Сбор и анализ требований пользователей.
- •Проектирование базы данных. Концептуальное проектирование базы данных. Логическое проектирование базы данных. Физическое проектирование базы данных.
- •Разработка приложений. Загрузка данных. Тестирование. Эксплуатация и сопровождение.
- •Концептуальное проектирование. Фундаментальные понятия. Объекты. Атрибуты. Ключи.
- •Связи между объектами. Показатель кардинальности. Степень участия. Рекурсивная связь.
- •Пример моделирования локальной ПрО.
- •Специализация и генерализация. Категоризация. Составные объекты.
- •Модели данных. Классификация моделей данных. Объектные модели данных. Модели данных на основе записей. Физическая модель данных.
- •Сетевая модель. Структуры данных сетевой модели. Сетевой граф бд.
- •Преобразование концептуальной модели в сетевую. Реализация наборов. Управляющая часть сетевой модели.
- •Иерархическая модель данных. Структурная часть иерархической модели.
- •Преобразование концептуальной модели в иерархическую модель данных.
- •Управляющая часть иерархической модели. Описание данных. Манипулирование данными. Ограничения целостности.
- •Достоинства и недостатки ранних субд.
- •Реляционная модель данных. История вопроса. Структурная часть реляционной модели. Реляционное отношение. Свойства и виды отношений. Реляционные ключи.
- •Обновление отношений. Целостность базы данных. Проектирование базы данных. Последовательная нормализация. Избыточность данных в бд.
- •Аномалии обновления в базе данных. Аномалии включения. Аномалии удаления. Аномалии модификации.
- •Процесс нормализации. Функциональные зависимости и ключи. Первая нормальная форма.
- •Вторая нормальная форма. Третья нормальная форма.
- •Нормализация на основе декомпозиции. Недостатки данной нормализации.
- •Четвертая нормальная форма. Пятая нормальная форма.
- •Проектирование реляционной базы данных. Логическое проектирование реляционной бд. Упрощение концептуальной модели данных.
- •Методика преобразования концептуальных структур данных в реляционные структуры.
- •Преобразование объектов и атрибутов. Преобразование бинарных связей. Преобразование связи типа «суперкласс/подкласс».
- •Предварительные отношения для бинарных связей типа m:n. Преобразование составных объектов. Преобразование тернарных связей. Преобразование рекурсивных связей.
- •Проверка модели с помощью концепций последовательной нормализации. Проверка модели в отношении транзакций пользователей. Проверка поддержки целостности данных.
- •Управление реляционной базой данных.
- •Реляционная алгебра. Основные операции реляционной алгебры. Дополнительные операции реляционной алгебры.
- •Реляционное исчисление. Целевой список и определяющее выражение. Формулы исчисления кортежей. Квантор существования. Квантор всеобщности.
- •Язык sql. Исторические аспекты развития sql. Структура и типы данных языка sql. Операторы языка sql.
- •Оператор выбора select. Формирование запросов к базе данных. Агрегатные функции языка. Группирование результатов. Вложенные запросы.
- •Оператор выбора select. Многотабличные запросы. Множественные операции реляционной алгебры. Открытые соединения.
- •Встроенный sql. Однострочные и многострочные запросы.
- •Управление транзакциями. Модель транзакции. Свойства транзакции. Журнализация. Проблемы многопользовательских систем. Блокировки.
- •Триггеры. Основные сведения. Создание триггера. Триггер удаления.
- •Хранимые процедуры. Назначение хранимых процедур. Создание и использование хранимых процедур.
- •Администрирование баз данных. Управление учетными записями и правами доступа в ms sql Server. Резервное копирование и восстановление баз данных.
Встроенный sql. Однострочные и многострочные запросы.
Однострочные запросы. Язык SQL для реализации внедренных однострочных запросов предусматривает использование специального оператора единичной выборки с форматом, не отличающимся от формата оператора SELECT, за исключением дополнительной конструкции INTO, предназначенной для указания имен переменных базового языка, в которые следует поместить результаты запроса. Конструкция INTO должна следовать непосредственно за списком полей оператора SELECT. Между выражениями в списке SELECT и переменными базового языка в конструкции INTO должно существовать взаимно-однозначное соответствие для обеспечения выборки сведений из таблицы базы данных.
Многострочные запросы. Для реализации запросов, в результате выполнения которых может быть получено произвольное количество строк, язык SQL предоставляет программисту механизмы выборки данных, основанные на использовании курсоров.
Управление транзакциями. Модель транзакции. Свойства транзакции. Журнализация. Проблемы многопользовательских систем. Блокировки.
Триггеры. Основные сведения. Создание триггера. Триггер удаления.
Триггер — это специальный тип хранимой процедуры, которая автоматически выполняется при каждой попытке изменить защищаемые ей данные. Триггеры обеспечивают целостность данных, предотвращая их несанкционированное или неправильное изменение.
USE pubs
GO
CREATE TRIGGER trAddAuthor
ON authors
FOR INSERT, UPDATE
AS raiserror (‘%d rows have been modifed’, 0, 1
@@rowcount)
RETURN
Данный триггер будет стартовать при каждой вставке или изменении данных и возвращать сообщение о количестве измененных строк.
удаления
USE pubs
GO
INSERT authors
(au_id, au_name, au_fname, phone, address, city, state, zip, contract)
VALUES
(‘777-66-555’, ‘Vasiliy’, ‘Sidorov’, ‘+7000666666’, ‘666 hell-street’,
‘Magadan’, ‘Magad. Obl.’, ‘874763’,0)
1 rows have been modified
(1 row(s) affected)
Теперь создадим триггер DELETE, подсчитывающий количество удаленных строк:
CREATE TRIGGER trDelAuthors
ON authors
FOR DELETE AS reiserror
(‘%d rows are going to be deleted from this table’, 0, 1, @@rowcount)
Теперь при удалении всех строк со значением поля au_fname равным Sidorov:
Хранимые процедуры. Назначение хранимых процедур. Создание и использование хранимых процедур.
Хранимая процедура — это последовательность компилированных операторов Transact-SQL, хранящихся в системной базе данных SQL Server. Хранимые процедуры предварительно откомпилированы, поэтому эффективность их выполнения выше, чем у обычных запросов. Хранимые процедуры работают непосредственно на сервере и хорошо укладываются в модель клиент-сервер.
Создание и использование хранимых процедур
Хранимые процедуры создаются при помощи оператора CREATE PROCEDURE. Процедура создается в текущей базе данных или, если это временная хранимая процедура, во временной базе tempdb. Для создания необходимо обладать правом вызова оператора CREATE PROCEDURE.
Администрирование баз данных. Управление учетными записями и правами доступа в ms sql Server. Резервное копирование и восстановление баз данных.
Администрирование базами данных предусматривает выполнение функций, направленных на обеспечение надежного и эффективного функционирования системы баз данных, адекватности содержания базы данных информационным потребностям пользователей, отображения в базе данных актуального состояния предметной области.
Управление учетными записями и правами доступа в Microsoft SQL Server
При подключении к MS SQL Server проверка прав доступа пользователя возможна на трех уровнях. Первый уровень представляет служба защиты данных Windows NT/2000 (в случае использования Windows 9x эта проверка не осуществляется), второй — SQL Server (проверка учетной записи), а третий — отдельно взятая база данных (проверка имени пользователя и его прав). То есть подключение происходит поэтапно. В идеале, удаленный пользователь проходит следующие проверки:
Операционная система определяет, имеет ли данный пользователь права на установку соединения. При положительном результате устанавливается соединение с удаленной машиной.
СУБД проверяет наличие учетной записи пользователя. При положительном результате создается сеанс подключения к службе Microsoft SQL Server.
Вызываемая БД проверяет имя пользователя и определяет его права.
БД предоставляет доступ или отказывает в нем при каждом обращении к тому или иному компоненту в зависимости от прав, которыми обладает подключившийся пользователь.
Другими словами, если, например, у пользователя имеется учетная запись, это не значит, что ему будет предоставлен доступ ко всем базам данных. Доступ к БД определяется только именем пользователя.
Microsoft SQL Server 2000 может использовать один из трех способов аутентификации:
Смешанный режим (mixed mode), при котором выполняются все вышеописанные действия по аутентификации пользователя.
Режим аутентификации Windows (Integrated mode), при котором все обязанности по защите данных ложатся на операционную систему. Любой пользователь, зарегистрированный в Windows, получает доступ к SQL Server.
Режим аутентификации SQL Server. Используется для операционных систем, не имеющих средств аутентификации пользователей таких, как Windows 95/98/ME.
. Резервное копирование и восстановление баз данных
Во время работы СУБД возможны повреждения базы данных вследствие неправильной работы аппаратуры, плохого энергоснабжения, ошибок пользователей или программ, различных техногенных факторов. Поэтому необходимо регулярно создавать резервные копии баз данных и журналов транзакций. На крупных серверах, где интенсивность изменений в базе данных очень велика, копирование баз данных происходит по несколько раз в сутки, а журналов транзакций как минимум раз в два часа. Процесс восстановления базы данных состоит в восстановлении её с резервной копии, внесении в неё изменений из журнала транзакций, датированных временем между созданием этой копии и последним копированием журнала и, если это необходимо, ручным восстановлением изменений, внесенных в промежуток времени между последним копированием журнала транзакций и потерей информации.
