-
vsevolod Oc authored73e672ae
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 задачи, от которой зависит другая.)