Attribute table
This commit is contained in:
3
3/coursework/.gitignore
vendored
3
3/coursework/.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
*.pdf
|
||||
other
|
||||
*.drawio.bkp
|
||||
other
|
||||
template.typ
|
||||
|
@ -4,7 +4,6 @@
|
||||
#let author = (
|
||||
name: "Білоус А. А.",
|
||||
full_name_gen: "Білоуса Антона Андрійовича",
|
||||
variant: 13, // TODO: custom variant.
|
||||
group: "ПЗПІ-23-3",
|
||||
gender: "m",
|
||||
)
|
||||
@ -261,11 +260,45 @@
|
||||
|
||||
Реляційна модель надає потужні можливості для виконання складних запитів, що є критичним для системи управління пакунками. Це дозволяє ефективно обробляти запити користувачів щодо пошуку пакунків, аналізу залежностей та відношень між ними, а також керування правами доступу через систему ролей. На основі розробленої ER-діаграми @er_diagram було спроєктовано логічну модель бази даних @logic_model.
|
||||
|
||||
Для забезпечення точного розуміння відповідності між ER-діаграмою та логічною схемою створено довідник атрибутів /* TODO @attributes */. Цей довідник встановлює однозначну відповідність між термінами, використаними в концептуальній моделі (ER-діаграмі) та їх представленням у логічній моделі бази даних. Особливу увагу приділено відображенню зв'язків між сутностями, що реалізовані через механізм зовнішніх ключів, забезпечуючи цілісність даних та правильну роботу системи контролю версій пакунків.
|
||||
Для забезпечення точного розуміння відповідності між ER-діаграмою та логічною схемою створено довідник атрибутів @attributes. Цей довідник встановлює однозначну відповідність між термінами, використаними в концептуальній моделі (ER-діаграмі) та їх представленням у логічній моделі бази даних. Особливу увагу приділено відображенню зв'язків між сутностями, що реалізовані через механізм зовнішніх ключів, забезпечуючи цілісність даних та правильну роботу системи контролю версій пакунків.
|
||||
|
||||
Обрана модель також враховує специфіку роботи з пакунками, їх залежностями та відношеннями, що є ключовим аспектом функціонування репозиторію пакунків. Це дозволяє ефективно відстежувати зміни в пакунках, керувати правами доступу користувачів та забезпечувати надійну основу для колаборації над пакунками.
|
||||
|
||||
/* TODO table */
|
||||
#figure(
|
||||
table(
|
||||
columns: 2,
|
||||
table.header[ER-діаграма][Логічна модель],
|
||||
[Архітектура], [arch],
|
||||
[База пакунку], [base],
|
||||
[База пакунку], [PackageBases],
|
||||
[Веб-покликання], [url],
|
||||
[Версія], [version],
|
||||
[Відношення], [PackageRelations],
|
||||
[Дата логіну], [last_used],
|
||||
[Дата оновлення], [updated_at],
|
||||
[Дата позначення], [flagged_at],
|
||||
[Дата створення], [created_at],
|
||||
[Електронна пошта], [email],
|
||||
[Залежність], [PackageDependencies],
|
||||
[Ім'я], [name],
|
||||
[Коментар], [comment],
|
||||
[Користувач], [user],
|
||||
[Користувач], [Users],
|
||||
[Назва], [name],
|
||||
[Назва залежного пакунку], [dependency_package_name],
|
||||
[Назва пакунку з яким є відношення], [relation_package_name],
|
||||
[Опис], [description],
|
||||
[Пакунок], [Packages],
|
||||
[Пароль], [password],
|
||||
[Роль], [PackageBaseUserRoles],
|
||||
[Тип відношення], [RelationTypes],
|
||||
[Тип залежності], [DependencyTypes],
|
||||
[Тип ролі], [role],
|
||||
[Тип ролі], [PackageBaseRoles],
|
||||
[Умова], [requirement],
|
||||
),
|
||||
caption: [довідник атрибутів (таблиця виконана самостійно)],
|
||||
) <attributes>
|
||||
|
||||
#img("img/logic_model.png", "Логічна модель бази даних (рисунок виконаний самостійно)")
|
||||
|
||||
|
@ -101,6 +101,8 @@
|
||||
|
||||
// figures
|
||||
set figure.caption(separator: [ -- ])
|
||||
show figure.where(kind: table): set figure.caption(position: top)
|
||||
show figure.caption.where(kind: table): set align(left)
|
||||
|
||||
let img = counter("image")
|
||||
let tab = counter("table")
|
||||
@ -118,17 +120,26 @@
|
||||
},
|
||||
)
|
||||
|
||||
// appearance of references to images
|
||||
// appearance of references to images and tables
|
||||
show ref: it => {
|
||||
let el = it.element
|
||||
if el != none and el.kind == image {
|
||||
link(
|
||||
el.location(),
|
||||
[(див. рис. #numbering(el.numbering))],
|
||||
)
|
||||
} else {
|
||||
it
|
||||
|
||||
if el == none or not el.has("kind") {
|
||||
return it
|
||||
}
|
||||
|
||||
let el_name = if el.kind == image {
|
||||
"рис."
|
||||
} else if el.kind == table {
|
||||
"таблицю"
|
||||
} else {
|
||||
return it
|
||||
}
|
||||
|
||||
link(
|
||||
el.location(),
|
||||
[(див. #el_name #numbering(el.numbering))],
|
||||
)
|
||||
}
|
||||
|
||||
// TODO: Maybe this will be better. Must be investigated.
|
||||
|
Reference in New Issue
Block a user