从ER图创建sql数据库

时间:2016-07-08 13:31:53

标签: sql oracle

ER-Diagram

我试图像这样制作Kann表:

CREATE TABLE Kann(
id integer NOT NULL PRIMARY KEY,
MiNr integer REFERENCES Employer(MiNr),
FNr integer REFERENCES Ability(FNr)
);

问题在于,当我在KannCooperation和{{1}中手动插入数据时,我希望Oracle自动在AbilityEmployer表格中插入数据表。

怎么可能?我应该使用触发器还是其他PL / SQL元素,或者我只能使用SQL吗?

2 个答案:

答案 0 :(得分:0)

你的问题不合逻辑。忘记编码,SQL等,只需用普通语言思考。

表雇主列出您的所有雇主,显示身份证号码及其姓名。没有其他信息。类似地,表能力显示所有已识别的“能力”,由数字标识并用名称描述。

您希望Oracle(或其他任何人)知道哪个雇主具有哪些能力或能力?怎么样?

如果可以从数据库中的任何其他地方知道哪个雇主具有哪种能力,那么您首先不需要Kann表(事实上,在数据库中使用它会违反常态,在大多数情况下,这是数据库非常理想的质量。)

答案 1 :(得分:0)

您只能从现有代码ER

构建图表

您不需要triger或其他东西,只需在数据库之间执行relation。 2个表之间的关系匹配其中一个表中的主键与第二个表中的外键。

或者只在数据库中执行Foreign Key。一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY。

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

或者如果你有一张桌子:

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)