"Персональные компьютеры принадлежат инженерам, но не все инженеры имеют персональные компьютеры"
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 )
"У каждого инженера обязательно есть только одна секретарша, однако одна секретарша может работать на несколько инженеров"
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 RESTRICT )
"В профессиональное объединение входят как инженеры, так и не инженеры, в то же время, инженер может состоять в нескольких профессиональных ассоциациях."
CREATE TABLE PrfAsso ( ac_num INT NOT NULL, PRIMARY KEY (ac_num) ) CREATE TABLE Engineer ( en_num INT NOT NULL, PRIMARY KEY (en_num) ) CREATE TABLE Association_Engineer ( en_num INT NOT NULL, ac_num INT NOT NULL, PRIMARY KEY (en_num, ac_num), FOREIGN KEY is_mem_1 (en_num) REFERENCES Engineer ON DELETE CASCADE, FOREIGN KEY is_mem_2 (ac_num) REFERENCES PrfAsso ON DELETE CASCADE )
"Лекарства производятся по лицензии фирмы. Фирма лицензировала производство нескольких деталей. Дата выдачи лицензии является атрибутом отношения".
CREATE TABLE Drug ( dt_num INT NOT NULL, PRIMARY KEY (dt_num) ) CREATE TABLE DrManu ( fm_num INT NOT NULL, PRIMARY KEY (fm_num) ) CREATE TABLE Drug_Firm ( dt_num INT NOT NULL, fm_num INT NOT NULL, Date, PRIMARY KEY (dt_num, fm_num), FOREIGN KEY lic_1 (dt_num) REFERENCES Drug ON DELETE CASCADE, FOREIGN KEY lic_2 (fm_num) REFERENCES DrManu ON DELETE CASCADE )
"Компонент устройства может быть как стандартным компонентом, так и компонентом, выполненным на заказ".
CREATE TABLE Component ( comp_id INT NOT NULL, PRIMARY KEY (comp_id) ) CREATE TABLE Standard ( inv_num INT NOT NULL, comp_id INT NOT NULL, PRIMARY KEY (inv_num), UNIQUE (comp_id), FOREIGN KEY (comp_id) REFERENCES Component ON DELETE RESTRICT ) CREATE TABLE Make_To_Order ( ord_num INT NOT NULL, comp_id INT NOT NULL, PRIMARY KEY (ord_num), UNIQUE (comp_id), FOREIGN KEY (comp_id) REFERENCES Component ON DELETE RESTRICT )
При переносе из реляционного дизайна в модель данных можно не использовать средства моделирования данных. DataAtlas Dictionary обеспечивает способ, посредством которого информация из каталога баз данных переносится в объекты системы TeamConnection с таблицами и определениями таблиц. После этого можно преобразовать полученную таким путем модель данных в модель данных, работающую с DataAtlas Modeler.
[Назад] [Содержание] [Вперед]