Эл. почта пользователя для отправки на нее в дальнейшем подтверждения записей
phone_us
VARCHAR(20)
NOT NULL
Телефон пользователя для подтверждения при регистрации
password_us
VARCHAR(100)
NOT NULL
Пароль пользователя
acc_status
BOOLEAN
NULL
Статус аккаунта (подтвержден/не подтвержден)
user_status
CHECK status IN (1,2,3)
NULL
Статус пользователя (Пользователь/мастер/администратор)
is_superuser
BOOLEAN
NULL
Роль модератора
2. Записи (Records)
Название столбца
Тип данных
Ограничения
Описание
record_id
INTEGER
PRIMARY KEY, NOT NULL
Уникальный идентификатор записи
user_id
INTEGER
NOT NULL REFERENCES Users (user_id)
Уникальный идентификатор пользователя
date_create
DATE
NULL
Дата создания записи
date_admis
DATE
NULL
Дата проведения услуг
time_start
TIME
NULL
Время начала проведения услуги
time_end
TIME
NULL
Время конца проведения услуг
status
CHECK status IN (1,2,3,4)
NOT NULL
Статус записи (ожидает подтверждения/подтверждена/проведена/ожидает отзыва)
rating_rewiew
REAL
NULL
Оценка проведения услуг в отзыве
text_rewiew
VARCHAR(30)
NULL
Текст отзыва (по желанию)
3. Мастера (Masters)
Название столбца
Тип данных
Ограничения
Описание
master_id
INTEGER
PRIMARY KEY, NOT NULL
Уникальный идентификатор мастера
fullname_mast
VARCHAR(50)
NOT NULL
ФИО мастера
inform_add
VARCHAR(250)
NULL
Дополнительная информация о мастере (сколько лет в данной сфере, какая специализация, где проходил обучение и т.п.)
4. Услуги (Services)
Название столбца
Тип данных
Ограничения
Описание
service_id
INTEGER
PRIMARY KEY, NOT NULL
Уникальный идентификатор услуги
title_serv
VARCHAR(30)
NOT NULL
Название услуги
time_serv
TIME
NOT NULL
Время оказание услуги
price
INTEGER
NOT NULL
Цена за услугу
add_inf
VARCHAR(250)
NULL
Дополнительная информация об услуге (какие средства используются, что происходит с волосами, как поддерживать уход и т.п.)
5. Мастера-Услуги (Masters-Services)
Название столбца
Тип данных
Ограничения
Описание
id_ms
INTEGER
PRIMARY KEY, NOT NULL
Уникальный идентификатор мастера и его услуги
service_id
INTEGER
NOT NULL REFERENCES Services (service_id)
Уникальный идентификатор услуги
master_id
INTEGER
NOT NULL REFERENCES Masters (master_id)
Уникальный идентификатор мастера
6. Таймслоты (Time_slots)
Название столбца
Тип данных
Ограничения
Описание
id_slot
INTEGER
PRIMARY KEY, NOT NULL
Уникальный идентификатор таймслота
id_ms
INTEGER
NOT NULL REFERENCES Masters_Services (id_ms)
Идентификатор услуги мастера
record_id
INTEGER
NOT NULL REFERENCES Records (record_id)
Идентификатор записи
fullname_mast
VARCHAR(50)
NOT NULL REFERENCES Masters (fullname_mast)
ФИО мастера
number_slot
INTEGER
NOT NULL
Номер таймслота
date_slot
DATE
NOT NULL
Дата таймслота
status_slot
VARCHAR(20)
NULL
Статус таймслота (доступен/занят)
Обоснование типов данных:
INTEGER: Используется для идентификаторов пользователей и записей, так как позволяет хранить количество значений.
VARCHAR: Позволяет гибко управлять строковыми данными, такими как имена и email, с ограничением по длине для контроля объема данных.
BOOLEAN: Используется, например, для флага is_superuser, так как указывает на статус суперпользователя.
DATE и TIME: Эти типы позволяют более точно хранить даты и время для записей и таймслотов.
REAL: Используется для хранения числовых значений с плавающей запятой. Он может содержать как целые числа, так и числа с дробной частью, и его значение записывается в формате с плавающей точкой (например, 1.234567 или 3.14). REAL особенно полезен в случаях, когда требуется высокая точность для работы с дробными значениями, например, для финансовых вычислений или научных данных.
CHECK: Используется, чтобы убедиться, что значения в столбце соответствуют определённым условиям.
1. Пользователи (Users)
2. Записи (Records)
3. Мастера (Masters)
4. Услуги (Services)
5. Мастера-Услуги (Masters-Services)
6. Таймслоты (Time_slots)
Обоснование типов данных: INTEGER: Используется для идентификаторов пользователей и записей, так как позволяет хранить количество значений. VARCHAR: Позволяет гибко управлять строковыми данными, такими как имена и email, с ограничением по длине для контроля объема данных. BOOLEAN: Используется, например, для флага is_superuser, так как указывает на статус суперпользователя. DATE и TIME: Эти типы позволяют более точно хранить даты и время для записей и таймслотов. REAL: Используется для хранения числовых значений с плавающей запятой. Он может содержать как целые числа, так и числа с дробной частью, и его значение записывается в формате с плавающей точкой (например, 1.234567 или 3.14). REAL особенно полезен в случаях, когда требуется высокая точность для работы с дробными значениями, например, для финансовых вычислений или научных данных. CHECK: Используется, чтобы убедиться, что значения в столбце соответствуют определённым условиям.