powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ER диаграмма и ее реализация
2 сообщений из 2, страница 1 из 1
ER диаграмма и ее реализация
    #39126281
Vitalyas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!
Составил ER-диаграмму и реляционную схему к ней, а также код в posgtreSQL. Нужна ваша помощь в проверке правильности составления реляционной схемы и кода в PostgeSQL. К посту прикреплен файл формата docx, содержащий ER-диаграмму и реляционную схему.




Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
-- Очистка базы
DROP TABLE IF EXISTS Warehouse;
DROP TABLE IF EXISTS Orders;
DROP TABLE IF EXISTS Contract;
DROP TABLE IF EXISTS Supplier;
DROP TABLE IF EXISTS Product;
DROP TABLE IF EXISTS Employee;
DROP TABLE IF EXISTS Department;
DROP TABLE IF EXISTS Company;
DROP TYPE IF EXISTS Rate;

-- Значения рейтинга компаний
CREATE TYPE Rate AS ENUM('Низкий', 'Средний', 'Высокий');

-- Создание таблицы компаний с информацией
CREATE TABLE Company(
id_c serial PRIMARY KEY, 
name text, 
address text, 
owner text, 
rating rate);

-- Отделы, работающие с компаниями
CREATE TABLE Department(
id_c integer REFERENCES Company (id_c),
id_d serial, 
name text, 
PRIMARY KEY (id_d, id_c));

-- Сотрудники, работающие в отделах
CREATE TABLE Employee(
inn integer PRIMARY KEY, 
id_c integer, 
id_d integer, 
surname text, 
name text, 
middlename text, 
date_b date, 
FOREIGN KEY (id_d, id_c) REFERENCES Department (id_d, id_c));

-- Товары, которые поставляют поставщики
CREATE TABLE Product(
id_p serial PRIMARY KEY, 
type text, 
amount integer, 
price integer);

-- Поставщики, работающие с отделами
CREATE TABLE Supplier(
id_s serial PRIMARY KEY, 
name text, 
telephone integer, 
email text, 
price integer, 
id_p integer, 
FOREIGN KEY (id_p) REFERENCES Product (id_p));

-- Договоры, которые заключают поставщики и сотрудники
CREATE TABLE Contract(
id_ct serial PRIMARY KEY, 
inn integer, 
id_s integer, 
data_c date, 
data_e date, 
FOREIGN KEY (inn) REFERENCES Employee (inn) , 
FOREIGN KEY (id_s) REFERENCES Supplier (id_s));

-- Заказы, которые обслуживают сотрудники
CREATE TABLE Orders(
number serial PRIMARY KEY, 
inn integer, 
date_s date, 
id_p integer, 
amount integer, 
FOREIGN KEY (id_p) REFERENCES Product (id_p), 
FOREIGN KEY (inn) REFERENCES Employee (inn));

-- Склады, на которых хранятся товары
CREATE TABLE Warehouse(
id_w serial PRIMARY KEY, 
id_p integer, 
amount integer, 
price integer, 
FOREIGN KEY (id_p) REFERENCES Product (id_p));
...
Рейтинг: 0 / 0
ER диаграмма и ее реализация
    #39142560
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VitalyasНужна ваша помощь в проверке правильности составления реляционной схемы и кода в PostgeSQL. К посту прикреплен файл формата docx, содержащий ER-диаграмму и реляционную схему.

Для приличия бы хотя написали бы какая задача ставилась ;)
Диаграммы можно было бы делать в каком нибудь бесплатном редакторе.
ИНН, номера телефонов это точно не integer. ИНН лучше не делать ключем
Со складами хрень. В сладе только 1 товар?
С заказами тоже не лады.

Не познали вы Дао БД... Пока нечего оценивать.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / ER диаграмма и ее реализация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]