- •Глава 1. Базы данных и системы управления 9
- •Глава 2. Организация доступа к данным 45
- •Глава 3. Реляционная алгебра 60
- •Глава 4. Основы sql 67
- •Глава 5. Проектирование реляционных баз данных 89
- •Глава 6. Взаимодействие sql с приложениями 116
- •Глава 7. Некоторые проблемы администрирования баз данных 154
- •Базы данных и системы управления
- •Файловые системы
- •Концепция баз данных
- •Основные функции субд
- •Непосредственное управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация
- •Поддержка языков баз данных
- •Трехуровневая модель архитектуры систем баз данных
- •Модели данных
- •Характеристика связей
- •Компьютерно-ориентированные модели данных
- •Реляционный подход
- •Ключи и целостность реляционных данных
- •Моделирование концептуальной схемы базы данных
- •Организация доступа к данным
- •Страницы и файлы
- •Индексирование
- •Структуры типа б-дерева
- •Хеширование
- •Методы сжатия
- •Метод дифференциального сжатия
- •Иерархические методы сжатия
- •Кодирование по методу Хаффмена
- •Реляционная алгебра
- •Традиционные реляционные операции
- •Специальные реляционные операции
- •Дополнительные реляционные операции
- •Примеры использования реляционной алгебры для выражения словесных запросов в виде формул
- •Основы sql
- •Типы данных
- •Строковые типы данных
- •Битовые типы данных
- •Точные числовые типы данных
- •Вещественные числовые типы данных
- •Календарные типы данных
- •Значения null
- •Создание и обслуживание таблиц
- •Запрос на выборку
- •Статистические функции
- •Создание соединений
- •Вложенные запросы
- •Запрос на объединение
- •Запросы, выполняющие реляционные операции вычитания, пересечения и деления
- •Запросы на изменение
- •Перекрестные запросы
- •Проектирование реляционных баз данных
- •Нормализация отношений
- •Функциональные зависимости
- •Н ормальные формы, обоснованные функциональными зависимостями
- •Нормальная форма Бойса–Кодда
- •Нормальные формы, обоснованные более сложными зависимостями
- •Процедура нормализации и проектирования
- •Пример проектирования базы данных
- •Назначение и предметная область
- •Проектирование базы данных
- •Взаимодействие sql с приложениями
- •Встраивание sql-операторов в программный код
- •Тип курсора
- •Триггеры
- •Хранимые процедуры
- •Стандартные интерфейсы для доступа к данным
- •Информационное окружение веб-сервера
- •Стандарт odbc
- •Уровни соответствия
- •Уровень соответствия odbc
- •Задание имени источника данных odbc
- •Расширяемый язык разметки xml
- •Xml как язык разметки
- •Материализация хмl-документов с помощью xslt
- •Создание хмl-документов на основе информации из базы данных
- •Некоторые проблемы администрирования баз данных
- •Оптимизация запросов
- •Параллельная обработка данных
- •Потеря обновления
- •Зависимость от незафиксированных обновлений
- •Несогласованный анализ
- •Блокировки транзакций
- •Согласованность и уровень изоляции транзакций
- •Распределенные системы баз данных
- •Фрагментация
- •Репликация
- •Распространение обновлений
- •Управление каталогом
- •Распределенная обработка запросов
- •Типы распределенных систем баз данных
- •Нераспределенные мультибазовые субд
- •Клиент-серверные системы
- •Системы с общими ресурсами
- •Технические аспекты администрирования базы данных
- •Восстановление базы данных
- •Безопасность баз данных
- •Шифрование данных
- •Производительность баз данных
- •Администрирование данных
- •Литература
Типы данных
Категории типов данных:
Character string – Строки символов;
Bit string – Строки битов;
Exact numeric – Рациональные (целые и действительные) числа с плавающей десятичной точкой;
Approximate numeric – Вещественные числа (с плавающей точкой);
Date time – значения даты и времени;
Interval – интервалы даты и времени.
Строковые типы данных
Character (n) – строка фиксированной длины n. Максимальная длина строки определяется конкретной СУБД. В Access – 256 символов. Если символов меньше чем n, то добавляются пробелы. Синонимы – Char(n).
Character varying (n) – строка переменной длины, длинной менее n. Максимальное n зависит от СУБД. Синонимы: Char varying, Charvar.
National Character (National Char, NChar) – совпадает с типом Char, только хранит лишь стандартизованные многобайтовые или двухбайтовые знаки (Unicode). Записывается: N'a*b'. National Character Varying – то же для строк переменной длины.
Unicode – единое множество чисел (16-разрядных), которое представляет знаки почти всех мировых языков. Содержит 65536 = 216 знаков.
В СУБД Access к строковым типам данных относятся: text и memo.
Битовые типы данных
BIT (n) – строка фиксированной длины (фиксированные числа битов). Max длина определяется СУБД. Если длина строки меньше n, то получите сообщение об ошибке. В стоке BIT перед первой кавычкой должна стаять латинская В, например, В'01001' – это строка типа BIT(5). Bit varying – аналогично, как Charvar.
Bit – тип данных используется для хранения так называемых больших бинарных объектов (Binary Large Object – BLOB) – например, звук, изображение.
В СУБД Access к bit типу данных относятся: yes, no, binary, OLE object.
Точные числовые типы данных
Представляют точные числовые значения, могут быть положительными, отрицательными и нулем, целыми или рациональными (конечная десятичная дробь).
Имеет фиксированные точность и масштаб:
точность – число значащих цифр в записи числа (т.е. общее количество цифр в десятичной записи без учета десятичной точки);
масштаб – число цифр справа от десятичной точки (масштаб ≤ точности).
Типы:
Numeric (точность [,масштаб]) – представляет произвольное рациональное число.
Decimal – аналогичен NUMERIC, но только задает нижнюю границу точности, т. е. СУБД может выбрать большую точность, чем заказано пользователем.
Integer (или INT) – представляет произвольное целое число.
SMALLINT – повторяет INT, только интервал допустимых значений уже.
В СУБД Access: Decimal, Integer, byte, long integer.
Пример: Хранение числа 123,55:
Спецификация столбца |
Хранится значение |
Numeric (5) |
124 |
Numeric (5.0) |
124 |
Numeric (5.1) |
123,6 |
Numeric (5.2) |
123,55 |
Numeric (4.0) |
124 |
Numeric (4.1) |
123,6 |
Numeric (4.2) |
Выходит за пределы точности |