
5 Вопрос
Реляционные отношения
Отношение – это форма связи между объектами, отображающая ту общую часть, которая имеется у этих объектов.
Существует 3 типа отношений:
1. Отношение один-к-одному (1:1) имеет место, когда одной записи в родительской таблице соответствует одна запись в дочерней таблице. Представляет собой простейший вид связи данных, когда первичный ключ зависимой таблицы является в то же время внешним ключом, ссылающимся на первичный ключ главной таблицы.
Связь 1:1 удобно устанавливать тогда, когда невыгодно держать разные по размеру (или по другим критериям) данные в одной таблице. Например, рекомендуется выделять данные с подробным описанием экземпляров объекта в отдельную таблицу с установлением связи “один-к-одному” для того, чтобы не занимать оперативную память, если эти данные используются сравнительно редко.
2. Отношение один-ко-многим (1:M) в большинстве случаев отражает реальную взаимосвязь объектов в предметной области. Именно эта связь описывает широко распространенный механизм классификаторов. Первичным ключом является код.
В таблице, собирающей информацию, определяется внешний ключ, ссылающийся на первичный ключ классификатора. После этого в нее заносится не название из классификатора, а код. Такая система становится устойчивой от изменения названия в классификаторах. Имеются способы быстрой “подмены” в отображаемой таблице кодов на их названия как на уровне сервера БД, так и на уровне пользовательского приложения. Связь один-ко-многим является самой распространенной для реляционных баз данных.
3. Отношение многие-ко-многим (M:N) При проектировании БД не рекомендуется устанавливать между таблицами связи такого рода. Считается, что БД всегда можно перестроить так, чтобы любая связь многие-ко-многим была заменена на одну или более связей один-ко-многим.
Связь – это функциональная зависимость между таблицами
Любую связь можно полностью охарактеризовать по следующим признакам:
Тип связи – идентифицирующая/неидентифицирующая
идентифицирующая (сильная) имеет место, если связанные таблицы зависимы от существования друг друга, при этом PK (первичный ключ) зависимой таблицы содержит компоненты PK главной таблицы
неидентиф (слабая) возникает между таблицами, если PK зависимой таблицы не содержит компоненты PK главной.
Родительская сущность
Дочерняя сущность
Мощность связи
Допустимость пустых (нулевых) значений
6 Вопрос
Нормализация реляционной БД
Первой и самой важной функцией БД является функция надежного хранения информации. Упорядоченность инф-и помимо быстроты и удобства доступа приводит к значительному сокращению аппаратных ресурсов, необходимых для обслуживания БД.
НОРМАЛИЗАЦИЕЙ ОТНОШЕНИЙ в реляционной БД называется процесс построения оптимальной структуры таблиц и связей.
НОРМАЛИЗАЦИЯ – это пошаговый, последовательный, обратимый процесс, замены исходной схемы другой схемой данных, в которой отношения имеют более строгую и регулярную структуру.
Нормализация проектируемой БД заключается в соблюдении двух условий:
логичность данных
уменьшение объема БД.
Задачами нормализации являются:
исключение из таблиц повторяющейся информации
создание структуры, в которой предусмотрена возможность ее будущих изменений
создание структуры, в которой влияние структурных изменений на приложения, использующие информацию этой базы данных, сведено к минимуму