Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_KL_2010_14.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
28.97 Mб
Скачать

199

Федеральное агенство по образованию

Ульяновский государственный технический университет

Г.П. Токмаков

БАЗЫ ДАННЫХ

Концепция баз данных,

реляционная модель данных,

языки SQL и XML

Учебное пособие

Ульяновск 2010

УДК 681.3 (075)

ББК 73я7

Т 51

Рецензенты:

д-р техн. наук, профессор Егоров Ю. П.

канд. техн. наук, доцент Куприянов А. А.

Утверждено редакционно-издательским советом университета в качестве учебного пособия

Токмаков, Г. П.

Т 51 Базы данных. Концепция баз данных, реляционная модель данных, языки SQL и XML : Учебное пособие / Г. П. Токмаков. – Ульяновск : УлГТУ, 2010. − 165 с.

ISBN 978-5-9795-

Учебное пособие подготовлено по материалам лекционных курсов, посвященных основам теории баз данных, языку SQL, хранимым процедурам и триггерам, которые читались автором в последние десять лет. В пособии также рассмотрены вопросы взаимодействия технологии баз данных с Web-технологи­ями.

Пособие предназначено для студентов специальностей 522800 и 522300, а также может использоваться студентами других специальностей.

УДИ 681.3 (075)

ББИ 73я7

 Токмаков Г. П., 2010

ISBN 978-5-9795-

 Оформление. УлГТУ, 2010

ОГЛАВЛЕНИЕ

ОГЛАВЛЕНИЕ 3

Введение 8

10

Глава 1. Файловые системы и базы данных 12

1.2. История систем управления данными 13

1.3. Становление концепции баз данных 17

1.3.1. Файловая система как способ отделения логической и физической структуры данных 17

1.3.2. Структуры данных 19

1.3.3. Целостность данных и метаданные 22

1.3.4. Язык запросов SQL 24

1.3.5. Язык SQL и унифицированные процедуры 25

1.4. Организация информационных систем на базе СУБД 28

1.4.1. СУБД как средство обеспечения логической и физической независимости данных 28

1.4.2. СУБД в составе информационной системы 29

1.4.3. Выделение СУБД в качестве отдельного компонента информационной системы 30

Глава 2. Логические структуры реляционной модели 33

2.1. Основы реляционной алгебры 33

2.1.1. Объекты и их определения 34

2.1.2. Операторы 37

2.2. Основные понятия реляционных баз данных 41

2.2.1. Учебная база данных 41

2.2.2. Первичные ключи 41

2.2.3. Отношение предок/потомок 43

2.2.4. Внешние ключи 44

2.2.5. Индексы 45

2.3. Целостность данных 47

2.3.1. Условия целостности данных 47

2.3.2. Изменения, способные нарушить ссылочную целостность 48

2.3.3. Правила ссылочной целостности 48

2.4. Нормализация данных 50

2.4.1. Понятие функциональной зависимости 51

2.4.2. Первая нормальная форма: атомарные атрибуты 52

2.4.3. Вторая нормальная форма: отсутствие зависимостей частичного ключа 53

2.4.4. Третья нормальная форма: устранение транзитивных зависимостей 55

2.5. Системный каталог 56

2.5.1. Назначение системного каталога 56

2.5.2. Структура системного каталога 57

2.5.3. Информация о таблицах 57

2.5.4. Информация о столбцах 58

2.5.5. Информация о представлениях 58

2.5.6. Информация об отношениях между таблицами 59

2.5.7. Информация о пользователях 59

2.5.8. Информация о привилегиях 59

60

Глава 3. Ddl – Язык определения данных реляционной модели 62

3.1. Создание базы данных 62

3.1.1. Общий формат оператора CREATE DATABASE 62

3.1.2. Определение пароля 63

3.1.3. Указание размера страницы БД 63

3.1.4. Указание национальной кодировки символов 64

3.1.5. Типы данных 64

3.2. Создание доменов 66

3.2.1. Общий формат оператора CREATE DOMAIN 66

3.2.2. Ограничения на значения столбцов, ассоциированных с доменом 66

3.2.3. Изменение определения домена 68

3.3. Создание таблиц 69

3.3.1. Инструкция CREATE TABLE 69

3.3.2. Инструкция ALTER TABLE 73

3.4. Создание представлений (view) 75

3.4.1. Общий формат оператора CREATE VIEW 77

3.4.2. Горизонтальное представление 77

3.4.3. Вертикальное представление 78

3.4.4. Удаление представления 79

3.4.5. Недостатки представлений 79

3.5. Создание индексов 79

3.5.1. Общий формат оператора CREATE INDEX 79

3.5.2. Необходимость создания индексов 80

3.5.3. Удаление индекса 80

Глава 4. Dml – Язык манипулирования данными реляционной модели 81

4.1. Оператор выборки SELECT 81

4.1.1. Общий формат оператора SELECT 81

4.1.2. Предложение SELECT 82

4.1.3. Предложение FROM 83

4.1.4. Предложение WHERE 84

4.1.5. Правила выполнения запроса SELECT 89

4.2. Агрегатные функции 89

4.2.1. Вычисление среднего значения столбца 90

4.2.2. Вычисление суммы значений столбца 90

4.2.3. Вычисление экстремумов 90

4.2.4. Вычисление количества значений в столбце 91

4.2.5. Правила выполнения запросов, в котором участвуют агрегатные функции 91

4.3. Запросы с группировкой 92

4.3.1. Предложение GROUP BY 92

4.3.2. Предложение HAVING 92

4.3.3. Предложение ORDER BY − определение сортировки 93

4.3.4. Правила выполнения запросов с группировкой 94

4.4. Вложенные запросы 94

4.4.1. Определение подчиненных запросов 95

4.4.2. Условия отбора в подчиненном запросе 97

4.4.3. Подчиненные запросы в предложении HAVING 101

4.4.4. Правила выполнения вложенных запросов 102

4.5. Многотабличные запросы 103

4.5.1. Алгоритм выполнения многотабличного запроса 103

4.5.2. Внутреннее объединение таблиц 104

4.5.3. Внешнее объединение таблиц 107

4.6. Операторы обновления данных 111

4.6.1. Оператор INSERT 111

4.6.2. Оператор UPDATE 113

4.6.3. Оператор DELETE 114

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]