【问题标题】:Is there any needs of adding constraints for the DDL?是否需要为 DDL 添加约束?
【发布时间】:2017-04-30 13:21:05
【问题描述】:
create table Country(
    code char(3)        PRIMARY KEY,
    name varchar2(100)  NOT NULL
 );

create table Member(
    firstname varchar(100)  NOT NULL,
    lastname varchar(100)   NOT NULL,
    title varchar(100)      NOT NULL,
    member_id INTEGER   PRIMARY KEY,
    Country_code char(3)    NOT NULL REFERENCES Country(code)
                            ON DELETE CASCADE
 ON UPDATE CASCADE
 );

create table Athlete(
   id integer           NOT NULL REFERENCES Member(member_id)
                    ON DELETE NO ACTION
                    ON UPDATE CASCADE

);

create table Official(
   id integer           NOT NULL REFERENCES Member(member_id)
ON DELETE NO ACTION
                    ON UPDATE CASCADE
);

create table Staff(
   id integer           NOT NULL REFERENCES Member(member_id)
                ON DELETE NO ACTION
                    ON UPDATE CASCADE                   
);

Create table Books(
   when timestamp       NOT NULL,
   member_id integer        NOT NULL REFERENCES Member(member_id),

   start_time timestamp NOT NULL REFERENCES Journey(start_time),
   start_date date      NOT NULL REFERENCES Journey(start_date),
   byStaff integer      NOT NULL REFERENCES Staff(id)
);


create table Journey(
    start_time timestamp    PRIMARY KEY,
    start_date date     PRIMARY KEY,
    member_id integer       PRIMARY KEY REFERENCES Member(member_id),
    nbooked integer     NOT NULL,
    departure varchar(100)  NOT NULL REFERENCES Place(name),
    arrival varchar(100)    NOT NULL REFERENCES Place(name),
    code varchar(100)       NOT NULL REFERENCES Vehicle(code)
 );

create table Vehicle(
    code varchar(100)       PRIMARY KEY,
    capacity varchar(100)   NOT NULL
 );

create table Place(
    name varchar(50)        PRIMARY KEY,
    address varchar(100)    NOT NULL,
    longitude float     NOT NULL,
    latitude float`     NOT NULL
 );

create table SportVenue(
   name varchar(50)         NOT NULL REFERENCES Place(name)
);

create table Accommodation(
   name varchar(50)         NOT NULL REFERENCES Place(name)
);

create table Event(
    name varchar(100)       PRIMARY KEY,
    result_type varchar(100)    NOT NULL,
    time timestamp      NOT NULL,
    date date           NOT NULL,
    sport_name varchar(50)  NOT NULL REFERENCES Sport(name),    
);

对于上面的 DDL,是否需要为 DDL 添加约束?如果需要修改,应该实施哪些约束?我对写 DDL 感到很困惑... wef ewf ew fwe 谢谢。

【问题讨论】:

  • “总参与约束”是什么意思?请解释一下,最好使用输入数据和该数据的预期结果的示例。
  • wef ewf ew fwe fewf wef oiwejf oiwej fioejwo ifjewo ifwjeoif jewoiew fiowefioje
  • 一列表格的目的是什么?

标签: sql computer-science ddl


【解决方案1】:

约束(即验证)应该从应用程序的各个方面实施。前端、后端和您的数据库。否则,您将在整体数据完整性方面失败。所以,你的问题的答案是肯定的。详细信息取决于您将使用的数据的性质。

【讨论】:

    猜你喜欢
    • 2011-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多