
- •ОСНОВНЫЕ ПРИНЦИПЫ ПОСТРОЕНИЯ БАЗ ДАННЫХ
- •Литература
- •Понятие базы данных
- •Понятие системы управления базой данных
- •Функции СУБД:
- •Категории пользователей СУБД
- •История развития СУБД:
- •КЛАССИФИКАЦИИ
- •Классификация по моделям данных
- •Классификация по моделям данных
- •Иерархическая модель
- •Пример:
- •Сетевая модель
- •Реляционная модель
- •Постреляционная модель
- •Классификация по степени распределенности:
- •Классификация по типу взаимодействия с обрабатывающей программой
- •Выбор СУБД зависит от:
- •Жизненный цикл программного продукта (ЖЦПП)
- •Процессы ЖЦПП
- •Этапы ЖЦПП
- •Жизненный цикл БД:
- •Постановка бизнес-задачи
- •Предметная область
- •Анализ предметной области
- •Исследование предметной области
- •Модели данных
- •Основные уровни моделей данных
- •Инфологическое проектирование
- •Инфологическое проектирование
- •РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
- •Целью разработки любой базы данных является хранение и использование информации о какой-либо предметной
- •Реляционная модель
- •Таблица реляционной базы данных
- •Создание таблицы
- •Создание нового объекта типа «таблица»
- •Тип таблиц MyISAM
- •Тип таблиц InnoDB
- •Тип таблиц MERGE
- •Тип таблиц MEMORY (HEAP)
- •Другие типы таблиц:
- •Работа с полями таблицы
- •Понятие типа данных
- •Общее представление о типах данных в СУБД
- •Основные атрибуты полей
- •Ключевые поля таблиц
- •Первичный ключ
- •Внешний ключ
- •Ключи
- •Повышение эффективности БД
- •Нормализация баз данных
- •Первая нормальная форма (1NF)
- •Первая нормальная форма (1NF)
- •Вторая нормальная форма (2NF)
- •Третья нормальная форма (3NF)
- •Денормализация
- •Основные случаи использования денормализации:
- •Основные виды денормализации:
- •Нисходящая денормализация
- •Пример нисходящей денормализации
- •Восходящая денормализация
- •Пример восходящей денормализации
- •Внутритабличная денормализация
- •Метод «разделяй и властвуй»
- •Метод слияния таблиц
- •Индексы баз данных
- •Индексы
- •Индексы
- •Индексы
- •Многоуровневые индексы
- •Многоуровневые индексы
- •Пример (алгоритм) поиска с помощью многоуровневого индекса:
- •ОБЕСПЕЧЕНИЕ ЦЕЛОСТНОСТИ ДАННЫХ
- •База данных, состоящая из нескольких таблиц
- •Пример схемы базы данных
- •Функции межтабличных связей:
- •Связи между таблицами
- •Связи между таблицами
- •Связи между таблицами
- •Связи между таблицами
- •Обеспечение целостности данных
- •Основные правила обеспечения целостности данных
- •Нарушение ссылочной целостности
- •Варианты нарушения ссылочной целостности для главной (родительской) таблицы:
- •Варианты нарушения ссылочной целостности для подчиненной (дочерней) таблицы:

РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

Целью разработки любой базы данных является хранение и использование информации о какой-либо предметной области. Для реализации этой цели имеются следующие инструменты:
•Реляционная модель данных - удобный способ представления данных предметной области;
•Язык SQL (Structured Query Language)- универсальный способ манипулирования такими данными.

Реляционная модель
•Каждый объект представлен в виде двумерной таблицы;
•Таблица – это двумерный массив, содержащий информацию об объекте. БД может состоять из одной или нескольких таблиц.

Таблица реляционной базы данных
Таблица состоит из следующих элементов:
•Поле (столбец) – это наименьшая единица хранимых данных, содержит значение одного из признаков, характеризующих объекты БД. Число полей в таблице соответствует числу признаков, характеризующих объекты БД.
•Запись (строка) – набор взаимосвязанных хранимых полей.
•Ячейка – содержит конкретное значение соответствующего поля (признака данного объекта).

Создание таблицы
1.Создать новый объект типа таблица.
2.Задать:
Имена полей таблицы;
Типы данных;
Свойства полей;
Описание полей;
3.Задать первичный ключ;
4.Определить индексы;
5.Сохранить структуру таблицы.

Создание нового объекта типа «таблица»
Некоторые СУБД позволяют выбрать тип таблицы:
•MyISAM;
•InnoDB;
•MERGE;
•MEMORY (HEAP);
•NDB Cluster;
•ARCHIVE;
•CSV;
•FEDERATED.

Тип таблиц MyISAM
1.Данные хранятся в кроссплатформенном формате, что позволяет переносить базы с сервера непосредственным копированием файлов, минуя промежуточные формы.
2.Для каждого текстового столбца может быть задана своя кодировка.
3.Поддерживается полнотекстовый поиск.
4.Таблицы имеют специальный флаг, указывающий на правильность закрытия таблицы.

Тип таблиц InnoDB
1.Все таблицы хранятся в едином табличном пространстве, поэтому имена таблиц должны быть уникальны.
2.Хранение данных в едином табличном пространстве позволяет снять ограничение на объём таблиц. Файл с таблицами может быть разбит на несколько частей и распределён по нескольким дискам или даже хостам.
3.Таблицы поддерживают автоматическое восстановление после сбоя.
4.Поддерживаются транзакции.
5.Выполняется блокировка на уровне отдельных записей.
6.Имеется расширенная поддержка кодировок.

Тип таблиц MERGE
•Позволяет объединять несколько таблиц типа MyISAM в одну.
•Для созданной таблицы типа MERGE появятся файлы структуры таблицы с расширением .rfm и файлы с расширением .MRG. Файлы .MRG содержат список индексных файлов, работа с которыми должна вестись как с единым файлом.
•К объединенной таблице можно применять команды SELECT, DELETE и UPDATE.

Тип таблиц MEMORY (HEAP)
Хранится в оперативной памяти, следовательно, все запросы к таким таблицам выполняются очень быстро. Недостаток у таких таблиц один — полная потеря данных в случае сбоя работы сервера. В связи с этим в таких таблицах хранят в основном временные данные, которые можно легко восстановить.