Таблицы, единственной целью которых является указание подмножества другой таблицы
База данных, которую я разрабатываю, имеетemployees
Таблица; может быть несколько типов работников, одним из которых являются медицинские работники. База данных должна также описывать отношение «многие ко многим» между медицинскими работниками и их компетенциями.
Можно ли создать таблицу?medical_employees
только сid
столбец, чья единственная цель состоит в том, чтобы указать, какие сотрудники являются медиками?id
столбец имеет ограничение внешнего ключа, который ссылается наemployees
Таблица. Код ниже должен прояснить мой вопрос:
/* Defines a generic employee */
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL
);
/* Specifies which employees are medics */
CREATE TABLE medical_employees (
id INT NOT NULL,
FOREIGN KEY (id) references employees(id);
);
/* Specifies what competences a medic can have */
CREATE TABLE medical_competences (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100) NOT NULL
);
/* A many-to-many relation between medical employees and
their competences. */
CREATE TABLE medical_employees_competences (
id INT PRIMARY KEY AUTO_INCREMENT,
medic_id INT NOT NULL,
competence_id INT NOT NULL,
FOREIGN KEY (medic_id) REFERENCES medical_employees(id),
FOREIGN KEY (competence_id) REFERENCES medical_competences(id)
);