- •Раздел 1. Общие вопросы организации баз данных
- •1.2 Недостатки традиционных файловых систем
- •1.4 Преимущества баз данных
- •1.7 Архитектура системы базы данных
- •1.8 Проектирование баз данных
- •1.9 Нормализация таблиц и ее необходимость
- •Нормальная форма Бойса—Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •1.10 Краткая характеристика моделей бд
- •Контрольные вопросы
- •1.11 Классификация баз данных по технологии обработки
- •Контрольные вопросы
- •1.12 Особенности архитектуры клиент-сервер в распределенных средах
- •1.13 Введение в реляционные базы данных
- •1.14 Реляционные базы данных
- •Контрольные вопросы
- •1.15 Первичный и внешний ключи отношения
- •1.16 Реляционная система управления базами данных
- •Раздел into
- •1.17 Обоснование необходимости создания баз данных
- •1.18 Система безопасности
- •1.19 Виды привилегий
- •Раздел 2. Проектирование базы данных
1.14 Реляционные базы данных
Реляционная модель данных в настоящее время является наиболее эффективной и популярной моделью, повсеместно используемой для построения высокопроизводительных, и функциональных баз данных.
Требования к проектированию реляционной базы данных в общем виде можно свести к нескольким правилам:
каждая таблица имеет уникальное в базе данных имя и состоит из однотипных строк;
каждая таблица состоит из фиксированного числа колонок и значений. В одной колонке строки не может быть сохранено более одного значения;
ни в какой момент времени в таблице не найдется двух строк, дублирующих друг друга. Строки должны отличаться хотя бы одним значением, чтобы у нас была возможность однозначно идентифицировать любую строку таблиц;
каждой колонке присваивается уникальное в пределах таблицы имя; для нее устанавливается конкретный тип данных, чтобы в этой колонке размещались однородные значения (даты, фамилии, телефоны, денежные суммы и т.д.);
полное информационное содержание базы данных представляется в виде явных значений самих данных, и такой метод представления является единственным.
При выполнении обработки данных можно свободно обращаться к любой строке или любой колонке таблицы.
Описание колонок, которое составляет разработчик, принято называть макетом таблицы.
Наиболее важными понятиями являются:
-отношение;
-кортеж;
-кардинальное число;
-атрибут;
-степень;
-домен;
-первичный ключ.
Итак, реляционная база данных — это совокупность отношений, содержащих всю информацию, которая должна храниться в базе данных.
Отношение соответствует тому, что мы называем таблицей. Кортеж соответствует строке этой таблицы, а атрибут – столбцу. Количество кортежей называется кардинальным числом, а количество атрибутов – степенью.
Рассмотрим возможные типы отношения между таблицами. Если каждой строке в первой таблице в каждый момент времени соответствует ноль или одна строка во второй таблицы и наоборот, то между таблицами установлено отношение «один-к-одному» (1 : 1).
Если каждой строке в первой таблице в каждый момент времени соответствует ноль или одна строка во второй таблицы, но строка второй таблицы связана с единственной строкой первой таблицы, то между ними установлено отношение «один-ко-многим» (1 : М).
Если каждой строке в первой таблице соответствует ноль, одна или несколько строк во второй таблице и наоборот, то между ними установлено отношение «многое-ко-многим» (М : М).
Скалярные значения представляют собой «наименьшую семантическую единицу данных» в том смысле, что они атомарные: у них нет внутренней структуры (то есть они неразложимы) в реляционной модели, а значит, и при рассмотрении в реляционной СУБД. Наиболее важным доменов является следующее: домены ограничивают сравнение.
Если значение двух атрибутов взяты из одного и того же домена, тогда сравнение, а отсюда и соединение, объединения и многие другие операции, использующие такие два атрибута, тоже, будут иметь смысл, так как в них сравнивается подобный атрибут с подобным. И, наоборот, если значение взяты из различных доменов, тогда сравнение и другие операции, наверное, не будут иметь смысла. Поэтому преимущество системы поддержки домена заключается в том, что такая система способна предотвратить грубые ошибки.