# Проєктування бази даних
# В рамках проекту розробляється:
# Модель бізнес-об'єктів
# ER-модель
# Опис моделей
# User
Сутність, яка являє собою обліковий запис користувача з особистою інформацією.
Атрибути:
- id - ідентифікаційний номер користувача.
- username - ім'я користувача в системі.
- email - поштова скринька користувача.
- password - пароль для входу в обліковий запис користувача.
- avatar - фотографія профілю користувача.
# DataFile
Сутність, яка являє собою файл з набором певних статистичних даних.
Атрибути:
- id - ідентифікаційний номер файлу.
- name - назва файлу.
- description - короткий опис змісту файлу.
- file_csv - формат відображення даних.
- uploadDate - дата завантаження файлу.
- hasGraph - чи є візуалізація графіком.
# EditForm
Сутність, яка являє собою форму для редагування даних у файлі.
Атрибути:
- id - ідентифікаційний номер форми.
- editorUsername - ім'я редактора, який вніс зміни у файл.
- oldFile_csv - старий незмінений файл.
- newFile_csv - новий змінений файл.
- editDate - змінені дані.
# Category
Сутність, яка являє собою категорію до якої належить файл даних.
Атрибути:
- id - ідентифікаційний номер категорії.
- name - назва категорії.
# Role
Сутність, яка являє собою роль користувача в системі.
Атрибути:
- id - ідентифікаційний номер ролі.
- name - назва ролі.
Існують такі ролі:
- RegisteredUser - зареєстрований користувач.
- Editor - редактор.
- Admin - адміністратор.
# Permission
Сутність, яка являє собою набір дозволів користувача в системі.
Атрибути:
- id - ідентифікаційний номер дозволу.
- name - назва дозволу.
Існують такі дозволи:
- Read - переглядати файл з набором даних у системі.
- Edit - змінювати файл з набором даних у системі, якщо є відповідний дозвіл для ролі.
- Download - скачувати файл з набором даних із системи на локальний комп'ютер.
- Upload - завантажувати файл з набором даних у систему, якщо є відповідний дозвіл для ролі.
- Delete - видаляти файл з набором даних із системи, якщо є відповідний дозвіл для ролі.
- ManageEditors - управляти редакторами системи, якщо є відповідний дозвіл для ролі.
# Donate
Сутність, яка являє собою систему для пожертвування певної кількості коштів.
Атрибути:
- type - тип донату.
# FileCollection
Сутність-асоціація, яка являє собою сукупність файлів з даними для користувача.
# Access
Сутність-асоціація, яка являє собою сукупність дозволів для певної ролі.
# Реляційна схема
