Отношения.
Разграничим понятия переменная отношения и значение отношения.
Переменная отношения – обычная переменная, такая же как и в языках программирования, т.е. именованный объект, значение которого может изменяться со временем. А значение переменной в любой момент времени и будет значением отношения.
Значение отношения в любой момент времени может изменяться. Отношение R – определенное на множестве доменов D1, D2, … Dn (не обязательно различных) содержит две части: заголовок и тело. Заголовок содержит фиксированное множество атрибутов или точнее <имя атрибута: имя домена> {A1:D1, A2:D2,… AN:DN}. Причем каждый атрибут Aj соответствует одному и только одному из лежащих в его основе доменов Dj, j=1..n. Все имена атрибутов A1, A2, … An – разные. Тело содержит множество кортежей, и каждый кортеж, в свою очередь, содержит множество Пар <имя атрибута : значение атрибута> {A1 : Vi1, A2 : Vi2, … , AnVin}, i=(1,m) ¬– номер кортежа
В каждом кортеже есть одна такая пара <имя атрибута : значение атрибута> т.е. {Aj : Vij} для каждого атрибута Aj в заголовке.
Для любой такой пары {Aj : Vij} , Vij – является значением из уникального домена Aj, который связан с атрибутом Aj (в заголовке). Значения m и n являются соответствующими кардинальными числом и степенью отношения R. Уточним понятие переменное отношение. Например переменная r будет иметь разные значения в разное время. Однако все возможные значения переменной r будут иметь одинаковые заголовки.
Лежащие в основе отношения домены не обязательно все различны, т. е. Несколько атрибутов в отношении могут иметь основной один домен.
Терминология.
Потенциальный ключ, состоящий более чем из одного атрибута, называется составным. Потенциальный ключ, состоящий из одного атрибута, называется простым.
3. Если определен потенциальный ключ, не являющийся не избыточным, системе не будет известно об этом и она не сможет обеспечить должным образом соответствующее ограничение целостности.
4. Логическое понятие потенциального ключа не следует путать с физическим понятием уникально индекса, хотя, последний, часто играет роль потенциального ключа. Причина важности потенциальных ключей заключается в том, что они обеспечивают основной механизм адресации на уровне кортежей в реляционной системе.
S WHERE S=’S5’
S WHERE CITY=’PARIS’
Первичный и альтернативный ключи.
Базовые отношения могут иметь более чем один потенциальный ключ. В таком случае в реляционной модели по традиции один из потенциальных ключей должен быть выбран в качестве первичного ключа, а остальные потенциальные ключи, если они есть, будут называться альтернативными.
Внешние ключи.
Внешний ключ: Пусть R2 – базовое отношение. Тогда, внешний ключ FK в отношении R2 – подмножество множества атрибутов. R2 – такое, что существует базовое отношение R1 (R1 и R2 не обязательно различны) с потенциальным ключом СК. Каждое значение FK в текущем значении R2 всегда совпадает с текущим значением CK некоторого кортежа в текущем значении R1.
Пояснение:
1. Внешние ключи, как и потенциальные, определены как множество атрибутов
2. По определению каждое значение данного внешнего ключа должно являться значением соответствующего потенциального ключа, однако, обратное не требуется.
3. Данный внешний ключ составным или простым, если сопоставленный ему потенциальный ключ соответственно будет простым или составным.
4. Каждый атрибут, входящий в данный внешний ключ, должен быть определен на том же домене, что и соотв. Атрибут соотв. Потенциального ключа.
5. Для внешнего ключа не требуется, чтобы он был компонентом первичного ключа или какого либо потенциального ключа содержащего его отношение.
