Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Прикладная теория категорий. Монография

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
Таким образом, гомоморфизм ϕ : (G, ≅G) → (H, ≅H) со-
стоит из пары отображений ϕV : VG → VH и ϕE : EG → EH та­ких, что sH(ϕE(e)) = ϕV(sG(e)) и tH(ϕE(e)) = ϕV(tG(e)) для любой дуги e ∈ EG. Кроме того, если p = e1; e2; ...; ek и q = h1; h2; ...;
hn — пути в G и p ≅G q, то пути
ϕ
(p) = ϕE(e1); ϕE(e2); ...; ϕE(ek) и
E
(q) = ϕE(h1); ϕE(h2); ...; ϕE(hn)
ϕ
E
эквивалентны в H относительно ≅
.
H
В дальнейшем мы будем опускать индексы ϕE и ϕV, если
они ясны из контекста. То же касается отображений начала дуги s и конца дуги t, а также отношений эквивалентности ≅. Схемы и их гомоморфизмы образуют категорию Sch.
Схеме (G, ≅) однозначно соответствует категория путей
графа G, в которой эквивалентные пути считаются равны­ми. Обратно, категорию G можно рассматривать как граф G, в котором объекты категории G — вершины, а морфизмы — дуги. Пути в G эквивалентны, если равны соответствующие композиции морфизмов в G. Гомоморфизмы схем при этом становятся функторами категорий. Тем самым устанавли­вается эквивалентность категории схем Sch и категории ма­лых категорий Cat.
Следуя [Schultz, 2017], экземпляром базы данных со
схемой (G, ≅) или интерпретацией схемы (G, ≅) мы будем называть функтор из соответствующей категории G в катего­рию множеств Set.
Интерпретации схемы (G, ≅) как объекты вместе с есте-
ственными преобразованиями в роли морфизмов образуют категорию, которая обозначается G-Inst. Заметим, что ка­тегория G-Inst является топосом и наследует многие свой­ства категории множеств. В частности, в категории G-Inst имеются конечные пределы и копределы, всякий морфизм представляется в виде композиции строгого эпиморфизма и строгого мономорфизма. Это позволяет построить над кате­горией G-Inst категорию бинарных отношений. Ниже будет показано, что бинарные отношения над G-Inst можно рас­сматривать как обновления баз данных.
Пусть I: G→ Set — экземпляр базы данных со схемой
(G, ≅). Каждому объекту A категории G функтор I ставит в соответствие множество I(A), которое можно рассматривать
61
как множество строк некоторой таблицы. Элементы множе­ства I(A) являются, таким образом, значениями первично­го ключа. Морфизм f: A → B определяет отображение строк I(f) : I(A) → I(B). Этому морфизму соответствует «столбец» таблицы I(A), играющий роль внешнего ключа.
2.2. Обновления баз данных с заданной схемой
Для данного экземпляра базы данных I: G → Set со схе­мой G возможны его обновления:
удаление строк;
вставка строк;
разделение строк (одна строка становится двумя);
слияние строк (две строки становятся одной).
Вставки и слияния строк будем называть прогрессив­ными обновлениями, а удаления и разделения — регрессив- ными. Тогда каждое обновление можно рассматривать как
регрессивное обновление, за которым следует прогрессивное обновление.
Пусть J:G → Set — обновление базы данных со схе­мой G. Прогрессивному обновлению соответствует естествен­ное преобразование α : I → J, регрессивному — естественное преобразование β : J → I.
В самом деле, если A — объект категории G, то слияние строк в I(A) преобразует I(A) в фактормножество J(A) с есте­ственным сюръективным отображением I(A) → J(A). Точно так же, вставка строк приводит к расширению множества I(A) с естественным вложением I(A) → J(A). Композиция по­следовательных слияний и вставок дает естественное отобра­жение вида I(A) → J(A). В совокупности, при A ∈ ObG, такие отображения задают функтор J : G → Set и прогрессивное естественное преобразование α : I → J
Аналогичным образом, удалив строки из I(A), полу­чаем подмножество строк J(A) с естественным вложением J(A) → I(A). Если строки разделялись, их обратное «склеи­вание» задает естественное факторотображение J(A) → I(A). Композиция последовательности таких отображений задает отображение J(A) → I(A), а совокупность таких отображе­ний для всех объектов категории G — функтор J : G → Set и регрессивное естественное преобразование β : J ⇒ I.
62
Композиция прогрессивных обновлений является про-
⇒=
−−
−−−01 23 22 21 2
nn
nnnn
⇓⇓
′
−−
II
II
21
23 22
21
nn
nn
α
ββ
IJ
−
−−
βα
123
nn
n
грессивным обновлением. Точно так же, замкнуто относи­тельно композиции множество регрессивных обновлений. С учетом этого любую последовательность обновлений эк­земпляра базы данных I до экземпляра J можно представить в виде последовательности регрессивных и прогрессивных обновлений. Дополняя, если это необходимо, слева или спра­ва такую последовательность тривиальными обновлениями I ⇐ I и J ⇒ J, можно считать, последовательность обновле­ний имеет следующий вид:
βα
11
II IIIII=⇐ ⇒⇐ ⇒⇐
βα
−−
nn
23 23
...
βα
21 21
JJ .
(1)
Предположим, что n > 1. В категории G-Inst построим
декартов квадрат на морфизмах (естественных преобразова­ниях) I
2n–3
⇒ I
2n–2
⇐ I
2n–1
:
Последовательность (1) можно заменить более корот-
кой последовательностью
βα
11
II
в которой β′
⇐⇒ ⇐
2n–3
Последовательно применяя такие сокращения, любое
обновление I до J можно представить в виде I ⇐ I ким образом, обновление представляется бинарным отно­шением над G-Inst. Композиции обновлений соответствует композиция бинарных отношений. Тем самым, категорию бинарных отношений над G-Inst можно трактовать как кате­горию обновлений баз данных со схемой G.
2.3. Обмен данными
Обмен данными — это задача получения данных, струк­турированных в соответствии с исходной схемой, и создания экземпляра целевой схемы, который максимально точно отражает исходные данные. Данные, структурированные по одной (исходной) схеме, должны быть реструктурирова­ны и преобразованы в экземпляр другой (целевой) схемы.
= β
′
23
′
⇒
−
α
−
n
23
−
−
n
⇒
′
23 23
... ,
β′ и α′
2n–3
′
= α
2n–3
2n–1
(2)
′
⇒
(3)
α′.
⇒ J. Та-
1
63
При наличии исходного экземпляра может существо­вать множество различных целевых экземпляров, удовлет­воряющих ограничениям, связанным с проблемой обмена данными. Среди всех решений задачи обмена данными име­ется в определенном смысле универсальное, которое содер­жит не больше и не меньше данных, чем требуется для обме­на данными.
Обмен данными используется во многих задачах, требующих передачи данных между существующими независимо созданными приложениями. Например, веб-данные которые хранятся в различных форматах, та­ких как традиционные схемы реляционных баз данных, полуструктурированные схемы (например, DTDS или XML-схемы), и др.
В ситуации обмена данными у нас имеются исходная схема S и целевая схема T. В схеме T могут быть свои соб
­ственные ограничения, представленные тождествами на множестве путей. Зависимости в исходной схеме должны сохраняться при переходе в целевую схему. На языке тео
­рии категорий это означает, что при переходе от S к T со­храняется композиция, т.е. переход задается функтором F : S → T.
Заметим, что функтор F : S → T порождает функтор
Δ
: T-Inst → S-Inst,
F
такой, что
Δ
(J) = J F
F
для любого экземпляра базы со схемой T. Если ϕ : J
⇒ J2 —
1
естественное преобразование экземпляров баз данных со схе­мой T, то ϕ * F : ΔF(J1) ⇒ ΔF(J2) —естественное преобразо­вание баз данных со схемой S, при котором ϕ
→ J
(F(A)).
2
Функтор Δ
(J) будем называть функтором обратного
F
: J1(F(A) →
F(A)
переноса.
Функтор обратного переноса может производить пе­реименование таблиц, переименование столбцов, удаление таблиц, проецирование столбцов, дублирование таблиц и ду­блирование столбцов.
64
Пример 2. Схемы S и T представлены матрицами
00
0000
001000
11
000
1111
S =
 
01
  
0
0
 
0
0
0
1
0
0
0
0
1
1
 
  
0
0
1
0
 
1
1
,
T =
 
   
 
111 01 00100 000000100
 
   
1
Содержательно база данных со схемой S имеет две не-
тривиальные таблицы следующего вида:
S
1
Id ФИО Должность Телефон
S
6
Id ФИО Должность Оклад
и четыре столбца-домена с заголовками «ФИО» (S2), «Долж­ность» (S3), «Телефон» (S4), «Оклад» (S5).
База данных со схемой T имеет одну нетривиальную та-
блицу
T
1
Id ФИО Должность Телефон Оклад
и четыре столбца-домена с заголовками, «ФИО» (T2), «Долж­ность» (T3), «Телефон» (T4), «Оклад» (T5).
Функтор F : S → T переводит объект Si категории S в
объект Ti категории T при i =1, 2, ..., 5 и F(S6) = T1. Рассмо­трим, как действует функтор обратного переноса. Пусть
Id ФИО Должность Телефон Оклад
123 Иванов лаборант 1234567890 50000
… … … … …
J(T1)
65
таблица из экземпляра J базы данных со схемой T. Тогда, по­лагая для краткости I = ΔF(J), имеем:
I(S1)
Id ФИО Должность Телефон
123 Иванов лаборант 1234567890
… … … …
I(S6)
Id ФИО Должность Оклад
123 Иванов лаборант 50000
… … … …
Так как категория множеств Set полна, а вместе с ней полны категории S-Inst и T-Inst. Это позволяет построить для каждого экземпляра базы данных I : S → Set его левое и правое расширение вдоль функтора обратного переноса ΔF : T-Inst → S-Inst, которые мы будем обозначать соответ­ственно ΠF : S-Inst → T-Inst и ΣF : S-Inst → T-Inst.
Опишем соответствующую конструкцию в терминах баз данных.
Начнем с описания, так называемой, комма катего­рии T ↓ F, где T — объект категории T. Объектами катего­рии T ↓ F служат пары (S, g), где S — объект категории S, а g : T → F(S) — морфизм в категории T. Морфизмы (S, g) в (S′, g′) — это такие морфизмы f : S → S′, что F(f) → g = g′.
Определим функтор πF(T) : (T ↓ F) → S как стирающий функтор, который «забывает» о морфизмах g и отображает (S, g) в S. Совокупность функторов πF(T) задает контравари­антный функтор πF из категории T в категорию малых катего­рий над S : морфизму k : T′ → T функтор πF ставит в соответ­ствие функтор πF(k) : πF(T) → πF(T′) такой, что πF(k)(g) = g → → k : T′ → F(S) для g : T → F(S); при этом πF(T′) → πF(k) = πF(T).
Теперь можно, используя полноту категории T-Inst, по­строить функтор ΠF : S-Inst → T-Inst. Для экземпляра базы данных I : S → Set со схемой S определим экземпляр базы данных ΠF(I) : T → Set, полагая
Π
(I)(T) = lim(I πF(T)).
F
66
Покажем, что функтор ΠF является правым сопряжен-
(
)
TF
(
()
TS
).
FI
TS
()
(
)
()
(
)
FS
ным к функтору обратного переноса ΔF. Для этого нужно установить что для любых экземпляров баз данных I ∈ S-Inst и J ∈ T-Inst имеется естественный изоморфизм
Hom(Δ (множества в левой и правой частях (4) состоят из соответ-
ствующих естественных преобразований).
Пусть сначала α : Δ
дого объекта S категории S имеется естественное по S ото­бражение αS : J(F(S)) → I(S). Укажем соответствующее ему отображение β
Пусть
g
→
мы
⇒ πF(T), где через T обозначен постоянный функтор (T ↓ F) → → T, переводящий все морфизмы категории T ↓ F в единич-
ный морфизм объекта T. Применяя функтор J, получаем есте­ственное преобразование J * ϕ : J(T) ⇒ J πF(T) такое, что
Беря композицию (5) с αS, получаем для всех объектов
(S, g) из T ↓ F морфизмы
: J(T) → ΠF(I)(T).
T
ST FS
, →
S
)
задают естественное преобразование ϕ : T ⇒
JJ JF
∗
()
JJ
(
(J), I) ≅ Hom(J, ΠF(I)) (4)
F
(J) ⇒ I. Это означает, что для каж-
F
g
ϕ
(
→
)
Sg
,
J
)
(
объект категории T ↓ F. Морфиз-
g
()
J
→
:(
)
g
α
→
)
(
)
(
(5)
S
S
,
)
(
которые задают естественное преобразование σ: J(T) ⇒ ⇒ (I πF(T)).
Так как ΠF(I)(T) — предел диаграммы
существует и единствен морфизм
β
T
для которого τ
канонические проекции.
Пример 3. Пусть категории S, T и функтор F: S → T —
те же, что в примере 2. Категория T объекту (Si, idTi) с единичным морфизмом для i = 2, 3, 4, 5. Категория T1 ↓ F содержит следующие объекты:
S
π
T
T
↓
: J(T) → lim (I  πF(T)) = ΠF(I)(T),
βT = αS  J(g) при всех (S, g) ∈ Ob (T ↓ F), где
τ
: lim (I πF(T)) → I(S) —
S
F
→ →
I
Set
,
↓ F сводится к одному
i
67
(S1, idT1); (S6, idT1); (S2, t12), (S3, t13), (S4, t14), (S5, t15),
265
(
)
(
)
()
()
PS
()
1
где t
— морфизм из Ti в Tj в категории T.
ij
В категории T1 ↓ F имеется шесть неединичных мор­физмов:
s
: (S1, idT1) → (Sj, t1j), j = 2, 3, 4;
1j
s
: (S6, idT1) → (Sj, t6j), j = 3, 4, 5,
6j
где s
— морфизм из Si в Sj в категории S.
ij
Таким образом, функтор (I πF(T1)) : (T1 ↓ F) → Set за­дает в категории множеств диаграмму
II I
SS S
←
41 3
↓↑
III
SSS
(
→
(6)
←
)
→
()
на которой стрелки соответствуют морфизмам I(s1j) и I(s6j).
Предел этой диаграммы в категории множеств может
6
=
быть построен следующим образом. Пусть
∏
=
j
I
—
j
произведение множеств I(Sj) с проекциями pj : P → I(Sj). Обо­значим через W подмножество в P, состоящее из всех таких элементов x ∈ P, что
I(s
)(p1(x)) = pj(x) = I(s6j)(p6(x)), j = 2, 3,
1j
)(p1(x)) = p4(x), I(s65)(p6(x)) = p5(x).
I(s
14
Множество W с ограничениями проекций p
j |W
: W →
→ I(Sj) является проективным пределом диаграммы (6).
Пример 4. Предположим, что экземпляр базы данных
I : S → Set представлен следующими таблицами:
I(S1)
) ФИО (S2) Должность (S3) Телефон (S4)
Id (S
1
1.1 Иванов И.И. лаборант 1234567890
1.2 Петров П.П. мнс 1234567890
1.3 Сидоров С.С. снс 1234567890
1.4 Иванов А.А. зав. лаб. 1234567890
1.5 Иванов А.А. зав. лаб. 999999999
68
I(S6)
) ФИО (S2) Должность (S3) Оклад (S5)
Id (S
6
6.1 Иванов А.А. зав. лаб. 150000
6.2 Сидоров С.С. снс 100000
6.3 Петров П.П. мнс 70000
6.4 Иванов И.И. лаборант 50000
Тогда экземпляр базы данных J = ΠF(I): T → Set может
быть представлен следующей таблицей:
J(T1)
Id (T1) ФИО (T2) Должность (T3) Телефон (T4) Оклад (T5)
(1.1,6.4) Иванов И.И. лаборант 1234567890 50000 (1.2,6.3) Петров П.П. мнс 1234567890 100000 (1.3,6.2) Сидоров С.С. снс 1234567890 70000 (1.4,6.1) Иванов А.А. зав. лаб. 1234567890 150000 (1.5,6.4) Иванов А.А. зав. лаб. 9999999999 150000
Двойственным образом можно определить функтор
ΣF : S-Inst → T-Inst, сопряженный к ΔF : T-Inst → S-Inst слева.
Для экземпляра базы данных I : S → Set функтор
J = ΣF(I): T → Set действует на объектах следующим образом:
J(T) = lim (I σF(T)).
Пример 5. Дадим описание функтора Σ
применитель-
F
но к рассмотренному выше примеру 3.
В таблице 1 приведены объекты и морфизмы соответ-
ствующих комма-категорий.
Таблица 1. Комма-категории и копределы, пример 5
Категория
Объекты
Морфизмы
Копредел
F ↓ T
1
, idT1)
(S
1
(S6, idT1)
idS1, id
S6
I(S1) I(S6)
F ↓ T
(S1, t12) (S6, t12) (S2, idT2)
idS1, idS6, idS2, s12, s
I(S2) I(S3)
2
62
F ↓ T
(S3, idT3) (S1, t13) (S6, t13)
idS1, idS6, idS3, s13, s
F ↓ T
3
63
4
(S4, idT4) (S1, t14) (S6, t14)
idS1, idS4, idS6, s
14
I(S4)  I(S6) I(S1)  I(S5)
F ↓ T
5
(S5, idT5) (S1, t15) (S6, t15)
idS1, idS5, idS6, s
65
69
Пусть экземпляр базы данных I : S → Set — тот же, что в предыдущем примере. В этом случае экземпляр базы дан­ных J = ΣF(I) : T → Set может быть представлен следующей таблицей:
J(T1)
Id (T1) ФИО (T2) Должность (T3) Телефон (T4) Оклад (T5)
1.1 Иванов И.И. лаборант 1234567890 Х
1.2 Петров П.П. мнс 1234567890 Х
1.3 Сидоров С.С. снс 1234567890 Х
1.4 Иванов А.А. зав. лаб. 1234567890 Х
1.5 Иванов А.А. зав. лаб. 999999999 Х
1.1 Иванов И.И. лаборант 1234567890 Х
6.1 Иванов А.А. зав. лаб. Х 150000
6.2 Сидоров С.С. снс Х 100000
6.3 Петров П.П. мнс Х 70000
6.4 Иванов И.И. лаборант Х 50000
Заключение
Теоретико-категорные модели баз данных существуют уже достаточно продолжительное время. Схемы баз данных могут быть формализованы в виде эскизов различного рода. Сами данные (называемые экземпляром) представляются моделью эскиза. На этом языке запросы можно понимать как ограничивающие конусы в таком эскизе. Хотя этот подход и отличается от подходов, принятых в теории реляционных баз он позволяет сконцентрировать внимание на определен­ных аспектах работы с базами данных. На уровне общности категорий и функторов достаточно естественно может быть описан перенос данных из одного формата в другой, или из базы с одной схемой в базу с другой схемой. Морфизм схем индуцирует три сопряженных функтора: функтор прообраза и его расширения Кана. Эти функторы переносят данные из одной схемы в другую.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]