Отношения
Для понимания истинного смысла термина“отношение” рассмотрим несколько математических понятий. Допустим, у нас есть два множества D 1и D 2, где D 1 = {2,4} и D 2 = {1,3,5}. Декартовым произведением этих двух множеств (обозначается как D 1 x D 2) называется набор из всех возможных пар, в которых первым идет элемент множества D 1, а вторым – элемент множества D 2. Альтернативный способ выражения этого произведения заключается в поиске всех комбинаций элементов, в которых первым идет элемент множества D 1,а вторым – элемент множества D 2. В данном примере получим следующий результат: D 1 х D 2= {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}. Любое подмножество этого декартового произведения является отношением. Например, в нем можно выделить отношение R: R = ((2,1),(4,1)}. Для определения тех возможных пар, которые будут входить в отношение, можно задать некоторые условия их выборки. Например, если обратить внимание на то, что отношение R содержит все возможные пары, в которых второй элемент равен 1, то определение отношения R можно сформулировать следующим образом: R = {(x,y) | x D 1, y D 2, у = 1}. На основе тех же множеств можно сформировать другое отношение S, в котором первый элемент всегда должен быть в два раза больше второго. Тогда определение отношения S можно сформулировать так: S = {(x, y) | x D 1, y D 2, х = 2 у }. В данном примере только одна возможная пара данного декартового произведения соответствует этому условию: S = {(2,1)}. Понятие отношения можно легко распространить и на три множества. Пусть имеется три множества: D 1, D 2и D 3. Декартово произведение D 1 x D 2 x D 3этих трех множеств является набором, состоящим из всех возможных троек элементов, в которых первым идет элемент множества D 1, вторым – элемент множества D 2, а третьим – элемент множества D 3. Любое подмножество этого декартового произведения является отношением. Рассмотрим следующий пример трех множеств и вычислим их декартово произведение: D 1= {(1,3)}, D 2= = {(2,4)}, D 3= {(5,6)}, D 1х D 2x D 3= {(1,2,5), (1,2,6), (1,4,5), (1,4,6), (3,2,5), (3,2,6), (3,4,5), (3,4,6)}. Любое подмножество из приведенных выше троек элементов является отношением. Увеличивая количество множеств, можно дать обобщенное определение отношения на n доменах. Пусть имеется n множеств D 1, D 2,.., Dn. Декартово произведение для этих n. множеств можно определить следующим образом: D 1x D 2 x….x Dn = {(d 1, d 2,..., dn) | d 1 D 1, d 2 D 2,..., dnDn. Обычно это выражение записывают в следующем символическом виде:. Любое множество n -арных кортежей этого декартового произведения является отношением n множеств. Обратите внимание на то, что для определения этих отношений необходимо указать множества, илидомены, из которых выбираются значения. Используя указанные концепции в контексте базы данных, получим следующее определение реляционной схемы. Реляционная схема – имя отношения, за которым следует множество пар имен атрибутов и доменов. Например, для атрибутов А 1, А 2,..., Аn с доменами D 1, D 2,..., Dn реляционной схемой будет множество { A 1: D 1, A 2: D 2,..., An: Dn }. Отношение R, заданное реляционной схемой S, является множеством отображений имен атрибутов на соответствующие им домены. Таким образом, отношение R является множеством таких n -арных кортежей { A 1: d 1, A 2: d 2,..., An: dn }, где d 1 D 1, d 2 D 2,..., dnDn. Каждый элемент n -арного кортежа состоит из атрибута и значения этого атрибута. Обычно при записи отношения в виде таблицы имена атрибутов перечисляются в заголовках столбцов, а кортежи образуют строки формата (d 1, d 2,..., dn), где каждое значение берется из соответствующего домена. Таким образом, в реляционной модели отношение можно представить как произвольное подмножество декартового произведения доменов атрибутов, тогда как таблица – это всего лишь физическое представление такого отношения. В примере, рассмотренном ранее, отношение Branch имеет атрибуты Bno, Street, City, Postcode, Tel_No и Fax_No с соответствующими им доменами. Отношение Branch представляет собой произвольное подмножество декартового произведения доменов или произвольное множество 6-арных кортежей, в которых первым идет элемент из домена BRANCH_NUMBER, вторым – элемент из домена STREET_NAME и т.д. Например, один из 6-арных кортежей может иметь такой вид: {(23, Москва, 111111, Победы, 1231112, 1231113)}. Этот же кортеж можно записать в более корректной форме: {(Bno: ‘23’, City: ‘Москва’, Postcode: ‘111111’, Street: ‘Победы’, Tel_№: ‘1231112’, Fax _№: ‘1231113’)} Таблица Branch представляет собой удобный способ записи всех 6-арных кортежей, образующих отношение в некоторый заданный момент времени. Это замечание объясняет, почему строки таблицы в реляционной модели называются кортежами.
|