diff --git a/2/report.md b/2/report.md index b5f71ea..2650b21 100644 --- a/2/report.md +++ b/2/report.md @@ -53,13 +53,9 @@ Master и Client наследуются через отношение полно ## Анализ альтернативных ключей. -Person / E0 -- ФИО - text - Client / E1 - номер телефона - email -- платежный счет Master / E2 - паспорт @@ -71,13 +67,138 @@ Studio / E3 # таблица атрибутов и доменов; -| Домен | Тип | -|-|-| -| ФИО | text | -| номер телефона | text | -| email | text | -| платежный счет | text | -| паспорт | text | -| адрес | text | +## Person / E0 +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| ФИО | text | | + +## Client / E1 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| phone | text | UNIQUE | +| email | text | UNIQUE | +| billing_account | text | | + +## Master / E2 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| passport | text | UNIQUE | +| readme | text | | + +## Studio / E3 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| address | text | UNIQUE | +| capacity | int | CHECK (capacity > 0) | +| begin_date | timestamptz | | +| duration | interval | | + +## Class / E4 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| begin_date | timestamptz | PRIMARY KEY | +| Course_id | int | PRIMARY FOREIGN KEY (Course_id) REFERENCES Course (id) | +| Studio_id | int | FOREIGN KEY (Studio_id) REFERENCES Studio (id) | +| name | text | | +| type | int | | +| duration | interval | | + +## Course / E5 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| Master_id | int | FOREIGN KEY (Master_id) REFERENCES Master (id) | +| name | text | | +| duration | interval | | + +## Registration / E6 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| Client_id | int | PRIMARY FOREIGN KEY (Client_id) REFERENCES Client (id) | +| Course_id | int | PRIMARY FOREIGN KEY (Course_id) REFERENCES Course (id) | +| date | timestamptz | | +| status | int | | + +## FoodProduct / E7 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| FoodProductEnum_id | int | PRIMARY FOREIGN KEY (FoodProductEnum_id) REFERENCES FoodProductEnum (id) | +| ClassId | int | FOREIGN KEY (Class_id) REFERENCES Class (id) | +| buy_price | real | | +| buy_date | timestamptz | | +| delivery_price | real | | +| delivery_date | timestamptz | | +| expires_date | timestamptz | | + +## Equipment / E8 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| Studio_id | int | FOREIGN KEY (Studio_id) REFERENCES Studio (id) | +| name | text | | +| usage_price | real | | +| usage_type | int | | +| delivery_price | real | | +| delivery_date | timestamptz | | + +## FirstAidKit / E9 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| Course_id | int | FOREIGN KEY (Course_id) REFERENCES Course (id) | + +## Drug / E10 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| DrugEnum_id | int | PRIMARY FOREIGN KEY | +| FirstAidKit_id | int | FOREIGN KEY | +| buy_price | real | | +| buy_date | timestamptz | | +| delivery_price | real | | +| delivery_date | timestamptz | | +| expires_date | timestamptz | | + +## DrugIntolerance / E11 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| Person_id | int | PRIMARY FOREIGN KEY | +| DrugEnum_id | int | PRIMARY FOREIGN KEY | + +## DrugEnum / E12 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| name | text | | +| avg_price | text | | + +## FoodProductEnum / E13 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| name | text | | +| avg_price | text | | + +## ActivityLog / E14 + +| Атрибут | Домен | Ограничения | +|-|-|-| +| id | int | PRIMARY KEY | +| Person_id | int | PRIMARY FOREIGN KEY | +| action | text | |