将 Barker 表示法转换为 SQL 脚本时遇到问题

问题描述 投票:0回答:1

嗨。我用巴克符号为我的数据库类编写了这个方案。我是 SQL 新手,我必须编写一个脚本来创建与此方案等效的 SQL。我在这方面遇到了很多麻烦,尤其是如何将表之间的关系写入 SQL 代码。谁能帮我写这个剧本。另外,该计划是法语的,所以如果您需要我翻译,请随时询问。

sql datatable sqlplus
1个回答
0
投票

您可以创建这样的表:

CREATE TABLE Automobile(
    auto_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    auto_immatriculation,
    PRIMARY KEY(auto_id)
);

CREATE TABLE Piece(
    part_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    part_nom VARCHAR(64),
    part_description VARCHAR(512),
    PRIMARY KEY(part_id)
);

CREATE TABLE Detail_vehicule(
    detail_nbre_sieges varchar(64),
    detail_auto_id NUMBER GENERATED BY DEFAULT AS IDENTITY,
    PRIMARY KEY(detail_auto_id)
);

由于我不会说法语,所以我不确定到底需要什么,但是,如果您需要创建外键,那么这是语法:

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
   FOREIGN KEY (column1, column2, ... column_n)
   REFERENCES parent_table (column1, column2, ... column_n);

如果您具有 1:1 关系,也就是说,例如,汽车有一个对应的 Detail_vehicule,反之亦然,则您可以为引用 Detail_vehicule 的 Automobile 创建一个外键,并为引用 Automobile 的 Detail_vehicule 创建一个外键。

如果您有 1:n(一对多)关系,而不是 1:1,则您可以在引用“一”的“多”表中创建外键。

最后,如果您有 m:n(多对多)关系,那么您需要创建一个表,并分别使用外键引用其他两个表。示例:

您可能有 t1(id, ...) 和 t2(id, ...) 表,它们具有多对多关系。因此,您需要创建一个 t1_t2(t1_id, t2_id) 表,其中有两个外键,t1_id 引用 t1.id 和 t2_id 引用 t2.id。

© www.soinside.com 2019 - 2024. All rights reserved.