- •Введение
- •Содержание
- •1. Файловые системы
- •История развития
- •Файловые системы, принципы построения
- •Работа с типизированным файлом
- •Недостатки файловых систем
- •Задание
- •Реляционная таблица
- •Определение домена
- •Создание таблиц в среде Microsoft Access
- •Задание
- •Реляционные ключи
- •Связь между таблицами
- •Обеспечение целостности данных
- •Построение схемы данных средствами Microsoft Access
- •Мастер подстановок
- •Задание
- •Концепция ER-модели
- •Задание
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Нормальная форма Бойса-Кодда (BCNF)
- •Четвёртая нормальная форма (4NF)
- •Пятая нормальная форма (5NF)
- •Задание
- •Выборка значений из таблиц – SELECT
- •Порядок сортировки – ORDER BY
- •Ограничение набора данных – WHERE
- •Предикат существования EXISTS
- •Агрегатные функции
- •Группировка данных – Group By
- •Псевдонимы столбцов
- •Псевдонимы таблиц
- •Объединение нескольких таблиц
- •Построение запросов в среде Microsoft Access
- •Задание
- •Вставка новой записи – INSERT
- •Редактирование данных – UPDATE
- •Удаление записей – DELETE
- •Задание
- •Основные типы данных SQL-92
- •Язык определения данных – DDL
- •Задание
- •Подготовка отчёта в среде Access
- •Задание
- •3-х уровневая архитектура ANSI-SPARC
- •Создание форм для ввода данных в Microsoft Access
- •Задание
- •Строка соединения ADO
- •Соединение с хранилищем данных, компонент TADOConnection
- •Установка соединения
- •Пример соединения без регистрации пользователя
- •Информирование о БД
- •Задание
- •Базовый класс доступа к данным TDataSet
- •Открытие и закрытие набора данных
- •Обновление набора данных
- •Перемещение по набору данных
- •Создание закладок и переход к закладке
- •Редактирование записей в наборе
- •Фильтрация набора данных
- •Организация поиска данных
- •Взаимодействие с элементами управления данными
- •Задание
- •Поле таблицы – класс TField
- •Классификация полей по функциональному назначению
- •Классификация полей по типу обслуживаемых данных
- •Обращение к отдельному объекту-полю
- •Задание
- •Поля подстановки
- •Вычисляемые поля
- •Организация отношения главная-подчинённая таблица
- •Задание
- •Поля BLOB
- •Задание
- •Источник данных – компонент TDataSource
- •Общие черты компонентов отображения данных
- •Сетка базы данных – компонент TDBGrid
- •Статический текст – компонент TDBText
- •Строка ввода БД – компонент TDBEdit
- •Многострочный текстовый редактор БД – TDBMemo
- •Изображение БД – компонент TDBImage
- •Список БД – TDBListBox
- •Комбинированный список БД – TDBComboBox
- •Флажок БД – TDBCheckBox
- •Радиогруппа БД – TDBRadioGroup
- •Компонент – TDBCtrlGrid
- •Навигатор – TDBNavigator
- •Задание
- •Создание базы данных
- •Удаление базы данных
- •Создание таблиц
- •Пример создания таблиц средствами Transact SQL
- •Создание представлений
- •Задание
- •Определение и использование переменных
- •Операторы управления Transact-SQL
- •Базовые функции Transact-SQL
- •Хранимые процедуры
- •Триггеры
- •Задание
- •Запрос TADOQuery
- •Хранимая процедура TADOStoredProc
- •Транзакции и их изоляция
- •Управление транзакциями и компонент TADOConnection
- •Задание
- •Построение простейшего документа XML
- •Атрибуты
- •Определение документа DTD
- •Задание
ГОУ ВПО СГУ
Учебное пособие по дисциплинам:
“Системы управления базами данных”
Для специальности 090102 (компьютерная безопасность)
“Защита информации в СУБД”
Для специальности 090103 (организация и технология защиты информации)
Разработано на кафедре Компьютерная безопасность Ставрополь, 2011
2
Введение
Человечество издавна стремилось приручить информацию. Постепенно, шаг за шагом наши предки совершенствовали способы её сохранения. Из поколения в поколение передавались легенды и придания. Мудрецы делилось с учениками накопленным опытом. Ручейки знаний сливались в мощные потоки. Но человеческая память не вечна, некоторые нити рвались, и знания безвозвратно утрачивались. Кто сейчас помнит тайну дамасской стали? Любой грубый наскальный рисунок более стоек ко всем невзгодам, чем человек...
Проходили века, появлялись всё новые и новые носители информации: глиняные таблички, иероглифы на стенах, пергамент, папирус, бумага. Именно они доносят до наших времён казалось бы давно забытое прошлое.
Безусловно, с точки зрения способов хранения информации самый удивительный скачок произошёл не так давно. Во второй половине XX века появились первые электрон- но-вычислительные машины (ЭВМ). Дорогостоящие, медлительные, прихотливые в эксплуатации ЭВМ первых поколений раскрыли абсолютно новые горизонты по обслуживанию данных. На смену архивариусу, проводящему в поисках одного единственного документа десятки часов, начали приходить электронные устройства, решающие эту задачу за доли секунды.
Представленный материал представляет собой учебное пособие по проведению лабораторных работ по дисциплинам “Системы управления базами данных” и “Защита информации в СУБД”.
Электронное учебное пособие разработано доцентом кафедры КБ, кандидатом технических наук Осиповым Д.Л.
© Осипов Д.Л., 2011
|
3 |
Содержание |
|
Введение ........................................................................................................................................ |
2 |
Содержание................................................................................................................................... |
3 |
I. Файловые системы.................................................................................................................. |
7 |
История развития....................................................................................................................... |
7 |
Файловые системы, принципы построения............................................................................ |
7 |
Работа с типизированным файлом....................................................................................... |
8 |
Недостатки файловых систем................................................................................................. |
11 |
Задание...................................................................................................................................... |
12 |
II. Реляционные таблицы........................................................................................................ |
13 |
Реляционная таблица............................................................................................................... |
14 |
Определение домена ............................................................................................................... |
14 |
Создание таблиц в среде Microsoft Access............................................................................ |
15 |
Задание...................................................................................................................................... |
17 |
III. Ключи, организация связи между таблицами .............................................................. |
18 |
Реляционные ключи................................................................................................................ |
18 |
Связь между таблицами.......................................................................................................... |
20 |
Обеспечение целостности данных......................................................................................... |
22 |
Построение схемы данных средствами Microsoft Access.................................................... |
22 |
Мастер подстановок............................................................................................................ |
23 |
Задание...................................................................................................................................... |
24 |
IV. Модель “сущность-связь” (ER-модель).......................................................................... |
25 |
Концепция ER-модели............................................................................................................ |
25 |
Задание...................................................................................................................................... |
29 |
V. Нормализация данных......................................................................................................... |
30 |
Первая нормальная форма (1NF) ........................................................................................... |
30 |
Вторая нормальная форма (2NF) ........................................................................................... |
32 |
Третья нормальная форма (3NF)............................................................................................ |
32 |
Нормальная форма Бойса-Кодда (BCNF).............................................................................. |
32 |
Четвёртая нормальная форма (4NF) ...................................................................................... |
33 |
Пятая нормальная форма (5NF) ............................................................................................. |
33 |
Задание...................................................................................................................................... |
34 |
VI. Структурированный язык запросов SQL, оператор выбора данных...................... |
35 |
Выборка значений из таблиц – SELECT ........................................................................... |
36 |
Построение запросов в среде Microsoft Access .................................................................... |
43 |
Задание...................................................................................................................................... |
44 |
VII. Структурированный язык запросов SQL, операторы манипулирования |
|
данными ...................................................................................................................................... |
45 |
Вставка новой записи – INSERT............................................................................................ |
45 |
Редактирование данных – UPDATE ...................................................................................... |
45 |
Удаление записей – DELETE ................................................................................................. |
46 |
Задание...................................................................................................................................... |
46 |
VIII. Структурированный язык запросов SQL, операторы определения данных....... |
47 |
Основные типы данных SQL-92 ............................................................................................ |
47 |
Текстовые данные, Character и National Character............................................................ |
47 |
Двоичная последовательность Bit String........................................................................... |
48 |
Округлённые числа – Approximate Numeric ..................................................................... |
48 |
Точные числа – Exact Numeric ........................................................................................... |
48 |
Дата и время – DateTime..................................................................................................... |
49 |
Интервал – Interval .............................................................................................................. |
49 |
Язык определения данных – DDL.......................................................................................... |
50 |
© Осипов Д.Л., 2011
|
4 |
Создание базы данных – CREATE DATABASE .............................................................. |
50 |
Уничтожение базы данных – DROP DATABASE............................................................ |
50 |
Создание схемы – CREATE SCHEMA .............................................................................. |
50 |
Удаление схемы – DROP SCHEMA................................................................................... |
50 |
Создание таблицы – CREATE TABLE .............................................................................. |
51 |
Удаление таблицы – DROP TABLE................................................................................... |
52 |
Изменение структуры таблицы – ALTER TABLE ........................................................... |
52 |
Определение представления – CREATE VIEW................................................................ |
53 |
Удаление представления – DROP VIEW........................................................................... |
54 |
Создание индекса – CREATE INDEX ............................................................................... |
54 |
Удаление индекса – DROP INDEX.................................................................................... |
55 |
Создание процедуры – CREATE PROCEDURE............................................................... |
55 |
Удаление процедуры – DROP PROCEDURE ................................................................... |
55 |
Создание триггера – CREATE TRIGGER ......................................................................... |
55 |
Удаление триггера – DROP TRIGGER.............................................................................. |
56 |
Задание...................................................................................................................................... |
56 |
IX. Разработка отчётов БД в среде Access............................................................................. |
57 |
Подготовка отчёта в среде Access.......................................................................................... |
57 |
Задание...................................................................................................................................... |
58 |
X. Разработка интерфейса клиентского приложения БД в среде Access........................ |
59 |
3-х уровневая архитектура ANSI-SPARC ............................................................................. |
59 |
Создание форм для ввода данных в Microsoft Access.......................................................... |
60 |
Рекомендации по проектированию пользовательского интерфейса.................................. |
61 |
Задание...................................................................................................................................... |
62 |
XI. Организация доступа к данным средствами ActiveX Data Object (ADO)................ |
63 |
Строка соединения ADO......................................................................................................... |
64 |
Соединение с хранилищем данных, компонент TADOConnection .................................... |
65 |
Установка соединения......................................................................................................... |
65 |
Информирование о БД........................................................................................................ |
69 |
Задание...................................................................................................................................... |
71 |
XII. Общие черты компонентов доступа к данным среды Delphi ................................... |
72 |
Базовый класс доступа к данным TDataSet........................................................................... |
73 |
Открытие и закрытие набора данных................................................................................ |
73 |
Обновление набора данных................................................................................................ |
73 |
Перемещение по набору данных........................................................................................ |
74 |
Создание закладок и переход к закладке.......................................................................... |
75 |
Редактирование записей в наборе...................................................................................... |
75 |
Фильтрация набора данных................................................................................................ |
77 |
Организация поиска данных............................................................................................... |
77 |
Взаимодействие с элементами управления данными...................................................... |
78 |
Задание...................................................................................................................................... |
78 |
XIII. Работа с полями набора данных ................................................................................... |
79 |
Поле таблицы – класс TField .................................................................................................. |
79 |
Классификация полей по функциональному назначению .............................................. |
80 |
Классификация полей по типу обслуживаемых данных................................................. |
80 |
Обращение к отдельному объекту-полю........................................................................... |
80 |
Доступ к данным поля......................................................................................................... |
80 |
Размер поля.......................................................................................................................... |
82 |
Значение по умолчанию...................................................................................................... |
82 |
Ограничения на ввод данных............................................................................................. |
82 |
Маска ввода.......................................................................................................................... |
82 |
Индексные поля................................................................................................................... |
83 |
Ставропольский государственный университет, кафедра КБ
|
5 |
Отображение данных.......................................................................................................... |
83 |
Задание...................................................................................................................................... |
83 |
XIV. Организация работы с вычисляемыми полями и полями подстановки.............. |
84 |
Поля подстановки.................................................................................................................... |
84 |
Вычисляемые поля.................................................................................................................. |
88 |
Организация отношения главная-подчинённая таблица..................................................... |
89 |
Задание...................................................................................................................................... |
90 |
XV. Вторичные индексы, поля BLOB ................................................................................... |
91 |
Особенности набора данных при работе с вторичными индексами.................................. |
91 |
Поля BLOB............................................................................................................................... |
92 |
Задание...................................................................................................................................... |
96 |
XVI. Разработка интерфейса клиентского приложения БД в среде Delphi ................... |
97 |
Источник данных – компонент TDataSource ........................................................................ |
97 |
Общие черты компонентов отображения данных................................................................ |
98 |
Сетка базы данных – компонент TDBGrid............................................................................ |
98 |
Статический текст – компонент TDBText........................................................................... |
100 |
Строка ввода БД – компонент TDBEdit .............................................................................. |
100 |
Многострочный текстовый редактор БД – TDBMemo...................................................... |
100 |
Изображение БД – компонент TDBImage........................................................................... |
100 |
Список БД – TDBListBox...................................................................................................... |
101 |
Комбинированный список БД – TDBComboBox ............................................................... |
101 |
Флажок БД – TDBCheckBox................................................................................................. |
101 |
Радиогруппа БД – TDBRadioGroup ..................................................................................... |
101 |
Компонент – TDBCtrlGrid .................................................................................................... |
102 |
Навигатор – TDBNavigator ................................................................................................... |
102 |
Задание.................................................................................................................................... |
103 |
XVII. Создание БД, таблиц и представлений в Microsoft SQL Server........................... |
104 |
Создание базы данных.......................................................................................................... |
104 |
Удаление базы данных.......................................................................................................... |
105 |
Создание таблиц.................................................................................................................... |
105 |
Пример создания таблиц средствами Transact SQL....................................................... |
106 |
Создание представлений....................................................................................................... |
107 |
Задание.................................................................................................................................... |
108 |
XVIII. Введение в Microsoft Transact SQL.......................................................................... |
109 |
Определение и использование переменных ....................................................................... |
109 |
Операторы управления Transact-SQL.................................................................................. |
110 |
Базовые функции Transact-SQL ........................................................................................... |
111 |
Математические функции................................................................................................. |
111 |
Функции работы со строками........................................................................................... |
111 |
Функции для работы с датой............................................................................................ |
111 |
Основные системные функции ........................................................................................ |
112 |
Функции преобразования типов данных......................................................................... |
112 |
Хранимые процедуры ........................................................................................................... |
112 |
Триггеры................................................................................................................................. |
113 |
Задание.................................................................................................................................... |
114 |
XIX. Разработка приложений по технологии клиент-сервер, просмотр и |
|
редактирование данных......................................................................................................... |
115 |
Запрос TADOQuery ............................................................................................................... |
115 |
Подготовка SQL-команд к выполнению......................................................................... |
115 |
Выполнение запроса SQL ................................................................................................. |
116 |
Параметры запроса............................................................................................................ |
116 |
Хранимая процедура TADOStoredProc ............................................................................... |
117 |
Ставропольский государственный университет, кафедра КБ
|
6 |
Соединение с хранимой процедурой............................................................................... |
118 |
Выполнение хранимой процедуры.................................................................................. |
118 |
Транзакции и их изоляция.................................................................................................... |
118 |
Управление транзакциями и компонент TADOConnection........................................... |
119 |
Задание.................................................................................................................................... |
120 |
XX. Язык XML ......................................................................................................................... |
121 |
Построение простейшего документа XML ......................................................................... |
121 |
Атрибуты................................................................................................................................ |
122 |
Определение документа DTD............................................................................................... |
122 |
Задание.................................................................................................................................... |
125 |
ПРИЛОЖЕНИЕ А................................................................................................................... |
126 |
Настройка строки соединения ADO .................................................................................... |
126 |
СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ................................................................. |
128 |
Ставропольский государственный университет, кафедра КБ