Примеры трансформации объектов модели данных.
"Персональные компьютеры принадлежат инженерам, но не все инженеры имеют персональные компьютеры"
CREATE TABLE Engineer ( en_num INT NOT NULL, pc_num INT, PRIMARY KEY (en_num) ) CREATE TABLE PC ( pc_num INT NOT NULL, en_num INT, PRIMARY KEY (pc_num), FOREIGN KEY (en_num) REFERENCES Engineer ON DELETE SET NULL )
"У каждого отдела должен быть начальник, но начальник должен быть начальником только одного отдела"
CREATE TABLE Manager ( mgr_num INT NOT NULL, PRIMARY KEY (mgr_num) ) CREATE TABLE Dept ( dep_num INT NOT NULL, mgr_num INT NOT NULL, PRIMARY KEY (dep_num), UNIQUE (mgr_num) FOREIGN KEY (mgr_num) REFERENCES Manager ON DELETE RESTRICT )
"Государство имеет одного правителя и правитель правит только одним государством"
CREATE TABLE State ( st_name CHAR(20) NOT NULL, gv_name CHAR(20) NOT NULL, PRIMARY KEY (st_name)) CREATE TABLE Governor ( st_name CHAR(20) NOT NULL, gv_name CHAR(20) NOT NULL, PRIMARY KEY (dv_name), UNIQUE (st_name) FOREIGN KEY (st_name) REFERENCES State ON DELETE RESTRICT )
"У инженера есть только одна секретарша, однако одна секретарша может работать на несколько инженеров"
CREATE TABLE Secretary ( sc_num INT NOT NULL, PRIMARY KEY (sc_num)) CREATE TABLE Engineer ( en_num INT NOT NULL, sc_num INT, PRIMARY KEY (en_num), FOREIGN KEY (sc_num) REFERENCES Secretary ON DELETE SET NULL )
"У каждого инженера обязательно есть только одна секретарша, однако одна секретарша может работать на несколько инженеров"