Skip to content
Snippets Groups Projects
README.md 5.65 KiB

Задание 1

Архитектура базы данных для интернет-магазина

Сущности и их связи:

*users

id (PK): Уникальный ID пользователя

name: Имя

email (UNIQUE): Email

*profiles


id (PK, FK -> users.id): ID пользователя (1:1 с users)

phone: Телефон

birthdate: Дата рождения

Связь: 1:1 с users


*orders

id (PK): Уникальный ID заказа

owner_id (FK -> users.id): ID пользователя, сделавшего заказ

Связь: 1:N с users

*products

id (PK): Уникальный ID продукта

title: Название

price: Цена

description: Описание


*ordered_products

product_id (FK -> products.id): ID продукта

order_id (FK -> orders.id): ID заказа

quantity: Количество

price_at_purchase: Цена товара на момент заказа

Задание 2

Архитектура базы данных для системы управления обучением (LMS)



student_id (PK): ID студента

name: Имя

email: Email


*students_profile

product_id: (Ошибочный атрибут, похоже на product, а не student)

addres: Адрес

birth_day and phone_number: Дата рождения и телефон

Связь: 1:1 с students


*teachers


teacger_id (PK): ID преподавателя

name: Имя

email: Email


*teachers_profile


specialization: Специализация

teacher_id (PK, FK -> teachers.teacger_id): ID преподавателя (1:1)

bio: Биография

Связь: 1:1 с teachers


*Sign_up_for_the_course (enrollments - Записи на курсы)


student_id (PK, FK -> students.student_id): ID студента

courses_id (PK, FK -> course.course_id): ID курса

enrollment_time: (Время записи - странный атрибут, обычно это enrollment_date)

Связь: M:N между students и courses


*course


course_id (PK): ID курса

name_courses: Название курса

description: Описание

*assistans (course_assignments - Преподавание)


course_id: ID курса

teacher_id: ID преподавателя

start_day: Дата начала

end_day: Дата окончания

Связь: M:N между course и teachers


*requisites (course_prerequisites - Пререквизиты)


course_id: ID курса

prerequisite_id (PK, FK): ID курса-пререквизита

Связь: Самоссылочная 1:N на course (пререквизиты)

Задание 3

Архитектура базы данных для системы управления проектами

user: Информация о пользователях.

. id (PK): Уникальный ID пользователя.
. name: Имя пользователя.
. email: Email пользователя.



user_profiles: Расширенная информация о пользователях.

. id (PK, FK -> user.id): ID пользователя (1:1).
. bio: Биография пользователя.
. contact_info: Контактная информация.
project: Информация о проектах.

. project_id (PK): Уникальный ID проекта.
. title: Название проекта.
. description: Описание проекта.



projects_members: Участие пользователей в проектах (связывающая таблица).

. user_id (FK -> user.id): ID пользователя.
. project_id (FK -> project.project_id): ID проекта.
. user_role: Роль пользователя в проекте (например, “Project Manager”, “Developer”).
. entry_date: Дата вступления в проект.



tusk (task): Информация о задачах (опечатка в названии таблицы).

. task_id (PK): Уникальный ID задачи.
. project_id (FK -> project.project_id): ID проекта, которому принадлежит задача.
. name: Название задачи.
. description: Описание задачи.
. status: Статус задачи (например, “To Do”, “In Progress”, “Done”).


comments: Комментарии к задачам.

. id (PK): Уникальный ID комментария.
. content: Текст комментария.
. task_id (FK -> tusk.task_id): ID задачи, к которой относится комментарий.


files: Файлы, прикрепленные к задачам.

. filed_id (PK): Уникальный ID файла.
. task_id (FK -> tusk.task_id): ID задачи, к которой относится файл.
. file_name: Имя файла.
. upload: Дата загрузки файла.
. file_size: Размер файла.
tags: Теги для задач.

. tags_id (PK): Уникальный ID тега.
. words: Текст тега.

tusk_tags (task_tags): Связь задач с тегами 

. task_id (FK -> tusk.task_id): ID задачи.
. tag_id (FK -> tags.tags_id): ID тега.


tasks_sequences Зависимости между задачами

. task_id (id задачи)
. child_id: (ID задачи, от которой зависит другая.)