Я разрабатываю базу данных SQL, которая имеет 2 таблицы, для которых требуется «manager_id». Таблица «Сотрудники» и таблица «Услуги». Поскольку менеджеры считаются сотрудниками, я не уверен, должен ли я иметь отдельную таблицу «Менеджеров» или просто интегрировать ее в таблицу «сотрудники». Я новичок в SQL и не уверен в таких случаях. Это код, который я до сих пор:Должен ли я иметь отдельные таблицы или интегрировать данные?
CREATE TABLE Employees (
emp_id NUMBER(5) NOT NULL,
emp_name VARCHAR2(20) NOT NULL,
emp_add1 VARCHAR2(30) NOT NULL,
emp_add2 VARCHAR2(30) NOT NULL,
emp_add3 VARCHAR2(30),
emp_town VARCHAR2(30),
emp_county NUMBER(2) NOT NULL,
emp_telno NUMBER(10),
emp_position NUMBER(3) NOT NULL,
emp_manager NUMBER(4),
CONSTRAINT pk_empid PRIMARY KEY (emp_id),
CONSTRAINT fk_empcounty FOREIGN KEY (emp_county) REFERENCES County(county_id),
CONSTRAINT fk_empposition FOREIGN KEY (emp_position) REFERENCES Positions(position_id),
CONSTRAINT fk_empmanager FOREIGN KEY (emp_manager) REFERENCES Manager(manager_id)
);
CREATE TABLE Facilities (
facility_id NUMBER(2) NOT NULL,
facility_name VARCHAR(15) NOT NULL,
facility_manager NUMBER(4) NOT NULL,
CONSTRAINT pk_facilityid PRIMARY KEY (facility_id);
CONSTRAINT fk_facilitymanager FOREIGN KEY (facility_manager) REFERENCES Manager(manager_id)
);
в чем вопрос>? –
Должен ли я иметь отдельную таблицу Менеджера или включать менеджеров в таблицу сотрудников – adohertyd
Либо. Мое предпочтение состоит в том, чтобы иметь self-referential на 'manager_id' в' employee' обратно в 'emp_id', также в' employee', но если вам не нравится, что у него есть отдельная таблица. – Ben