
4) Сильные и слабые сущности. Зависимость ключевых атрибутов и видов связей.
Сильная сущность почти всегда имеет уникальный идентификатор, который является набором всех ее атрибутов; уникальный идентификатор может быть атрибутом или группой атрибутов. Например, номер студента, номер автомобиля, номер водительских прав может являться уникальным идентификатором для сильных сущностей.
Слабой является сущность, которая для своего существования должна зависеть от другой сущности. Как было замечено ранее, слабая сущность может не иметь уникального идентификатора. Классическим примером сущности такого рода является сущность ПОДЧИНЕННЫЙ, связанная с сущностью СЛУЖАЩИЙ. Если бы создавалась БД о служащих и их подчиненных, то запись о подчиненном полностью зависела бы от записи о некотором служащем, в противном случае информация о подчиненных не хранилась бы в БД. Сущность СЛУЖАЩИЙ называется родительской, или идентифицирующей сущностью для слабой сущности ПОДЧИНЕННЫЙ
Виды зависимостей между атрибутами
Атрибут (группа атрибутов) В функционально зависит от атрибута (группы атрибутов) A, если каждому значению A соответствует одно значение B. Такая зависимость изображается в виде A-->B (Табельный номер -->Фамилия сотрудника).
Если существует функциональная зависимость вида A-->B и B-->A, то имеет место функциональная взаимозависимость, которая изображается в виде A<-->B (Табельный номер <-->Номер паспорта сотрудника).
Частичная функциональная зависимость ‑ это зависимость неключевого атрибута от части составного ключа, а не от всего ключа.
Полной функциональной зависимостью называется зависимость неключевого атрибута от всего ключа.
Атрибут C транзитивно зависит от атрибута А, если выполняются условия A-->B и B-->C, но обратная зависимость отсутствует.
Многозначные зависимости вида 1:M, M:1, M:M между атрибутами
A и B изображаются в виде A-->>B, A<<--B и A<<-- >>B соответственно.
5) Подтипы и супер типы сущностей
Подтипы и супертипы: одна сущность является обобщающим понятием для группы подобных сущностей
7. Реляционная модель данных (РМД) — логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка.
На реляционной модели данных строятся реляционные базы данных.
Реляционная модель данных включает следующие компоненты:
Структурный аспект (составляющая) — данные в базе данных представляют собой набор отношений.
Аспект (составляющая) целостности — отношения (таблицы) отвечают определенным условиям целостности. РМД поддерживает декларативные ограничения целостности уровня домена (типа данных), уровня отношения и уровня базы данных.
Аспект (составляющая) обработки (манипулирования) — РМД поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление).
Кроме того, в состав реляционной модели данных включают теорию нормализации.
Отношения же являются абстракциями, и не могут быть ни «плоскими», ни «неплоскими».
Для лучшего понимания РМД следует отметить три важных обстоятельства:
модель является логической, то есть отношения являются логическими (абстрактными), а не физическими (хранимыми) структурами;
для реляционных баз данных верен информационный принцип: всё информационное наполнение базы данных представлено одним и только одним способом, а именно — явным заданием значений атрибутов в кортежах отношений; в частности, нет никаких указателей (адресов), связывающих одно значение с другим;
наличие реляционной алгебры позволяет реализовать декларативное программирование и декларативное описание ограничений целостности, в дополнение к навигационному (процедурному) программированию и процедурной проверке условий.
Отношение — фундаментальное понятие реляционной модели данных. По этой причине модель и называется реляционной
Отношение
имеет простую графическую интерпретацию
в виде таблицы, столбцы (поля, атрибуты)
которой соответствуют вхождениям
доменов в отношение, а строки (записи) —
наборам из
значений,
взятых из исходных доменов. Число строк
(кортежей) называют кардинальным
числом отношения (кардинальностью),
или мощностью отношения.
Под атрибутом здесь понимается вхождение домена в отношение. Строки отношения называются кортежами.
Формализованное определение введённых понятий.
Заголовок Hr (или схема) отношения r — конечное множество упорядоченных пар вида <A, T>, где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена, то есть множества допустимых значений. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны.
Кортеж tr, соответствующий заголовку Hr — множество упорядоченных триплетов вида <A, T, v>, по одному такому триплету для каждого атрибута в Hr. Третий элемент — v — триплета <A, T, v> должен являться допустимым значением типа данных или домена T. Замечание: так как имена атрибутов уникальны, то указание домена в кортеже излишне.
Тело Br отношения — неупорядоченное множество различных кортежей tr.
Значением Vr отношения r называется пара множеств Hr и Br.
Полезно также понятие первичного ключа — это такой набор атрибутов, который однозначно определяет кортеж и минимален среди всех своих подмножеств (то есть нельзя убрать ни один из атрибутов). При добавлении новых записей первичный ключ обязан оставаться первичным ключом
Домен — допустимое потенциальное ограниченное подмножество значений данного типа. Например, домен ИМЕНА определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут представлять имена (в частности, для возможности представления русских имен такие строки не могут начинаться с мягкого или твердого знака и не могут быть длиннее, например, 20 символов). В один домен могут входить значения из нескольких колонок, объединённых, помимо одинакового типа данных, ещё и логически. Если два значения берутся из одного и того же домена, то можно выполнить сравнение этих двух значений.
Более простое определение домена — это допустимое потенциальное множество значений одного типа
8. Це́лостность ба́зы да́нных — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности . Примеры правил: вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 25; возраст родителей не может быть меньше возраста их биологического ребёнка и т.д.
Задача аналитика и проектировщика базы данных — возможно более полно выявить все имеющиеся ограничения целостности и задать их в базе данных.
Целостность БД не гарантирует достоверности содержащейся в ней информации, но обеспечивает по крайней мере правдоподобность этой информации, отвергая заведомо невероятные, невозможные значения.
Null – не ноль числовой, не пустая строка. Это просто нет значения. Пусто. Иногда его называют Unknown. Для реализации Null-значения в больших СУБД(в Desktop СУБД нулевые значения практически отсутствуют) в соответствующих колонках пишут Not Null. Эта колонка не будет поддерживать Null-значение. Если этого не приписать, то это автоматически означает, что какая-то колонка строковая, числовая, дата и т.д. будет поддерживать пустое значение.
Для реализации пустого значения автоматически СУБД отводит новый байт. Поэтому злоупотреблять этим не стоит. Байт не видим. Чем больше пустых значений разрешены в колонках…тем «шире» становится размер таблицы. Что касается ключей, то ограничение Unique допускает null-значения и все они считаются различными. Ограничение Primary Key не допускает возможности null-значения, то есть все родители должны быть идентифицированы.
Что касается Foreign Key, то есть возможность Set Null – таким образом, FK фактически разрешает наличие пустых значений. Например, ювелирные изделия, авторство которых установить на сегодняшний день невозможно. Или сотрудники предприятия, которые формально ни к какому отделу предприятия не приписаны. Или отсутствие даты рождения в соответствующей графе списка – дата есть, ее просто не указали! В то же время существует ситуации, когда пустые значения неуместны или просто бессмысленны. Например, грифы гитар изготавливаются из определенной породы дерева. И значение Null в данной графе будет неуместным. Таким образом, наличие Null- значений или их отсутствие в FK диктуется контекстом той или иной задачи.
9) Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости).
Уникальность означает, что не существует двух кортежей данного отношения, в которых значения этого подмножества атрибутов совпадают (равны).
Минимальность (несократимость) означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, удовлетворяющее условию уникальности. Иными словами, если из потенциального ключа убрать любой атрибут, он утратит свойство уникальности.
Поскольку все кортежи в отношении по определению уникальны, в нём всегда существует хотя бы один потенциальный ключ (например, включающий все атрибуты отношения).
В отношении может быть одновременно несколько потенциальных ключей. Один из них может быть выбран в качестве первичного ключа отношения, тогда другие потенциальные ключи называют альтернативными ключами.
Теоретически, все потенциальные ключи равно пригодны в качестве первичного ключа, на практике в качестве первичного обычно выбирается тот из потенциальных ключей, который имеет меньший размер (физического хранения) и/или включает меньшее количество атрибутов.
10) Вне́шний ключ (англ. foreign key) — понятие теории реляционных баз данных, относящееся к ограничениям целостности базы данных.
Неформально выражаясь, внешний ключ представляет собой подмножество атрибутов некоторой переменной отношения R2, значения которых должны совпадать со значениями некоторого потенциального ключа некоторой переменной отношения R1.
Формальное определение. Пусть R1 и R2 — две переменные отношения, не обязательно различные. Внешним ключом FK в R2 является подмножество атрибутов переменной R2такое, что выполняются следующие требования:
В переменной отношения R1 имеется потенциальный ключ CK такой, что FK и CK совпадают с точностью до переименования атрибутов (то есть переименованием некоторого подмножества атрибутов FK можно получить такое подмножество атрибутов FK’, что FK’ и CK совпадают как по именами, так и по типам атрибутов).
В любой момент времени каждое значение FK в текущем значении R2 идентично значению CK в некотором кортеже в текущем значении R1. Иными словами, в каждый момент времени множество всех значений FK в R2 является (нестрогим) подмножеством значений CK в R1.
При этом для данного конкретного внешнего ключа FK → CK отношение R1, содержащее потенциальный ключ, называют главным, целевым, или родительским отношением, а отношение R2, содержащее внешний ключ, называют подчинённым, или дочерним отношением.