根据分析,确定以下表各属性的数据类型及长度精度等,创建主键及外键,并确定是否需要其他约束。 用SQL语句完成以下表的创建!!! 目标表Goal(Gno,Gcontent,Uno,Gtid,Gdate,num),其属性分别表示目标号,目标内容,用户号,目标类型号,目标制定日期,为达成目标而完成的任务次数。
时间: 2023-05-30 18:05:33 浏览: 141
CREATE TABLE Goal (
Gno INT PRIMARY KEY,
Gcontent VARCHAR(50) NOT NULL,
Uno INT NOT NULL,
Gtid INT NOT NULL,
Gdate DATE NOT NULL,
num INT NOT NULL,
FOREIGN KEY (Uno) REFERENCES User(Uno),
FOREIGN KEY (Gtid) REFERENCES GoalType(Gtid)
);
其中,Gno、Uno、Gtid、num均为整型,长度为默认值;Gcontent为字符串类型,长度为50;Gdate为日期类型。 主键为Gno,外键分别为Uno和Gtid,分别参考User表和GoalType表的主键Uno和Gtid。约束条件为Gcontent、Uno、Gtid、Gdate、num都不能为空。
相关问题
根据分析,确定以下表各属性的数据类型及长度精度等,创建主键及外键,并确定是否需要其他约束。 用SQL语句完成以下表的创建!!! 任务表Task(Tno,Tcontent,Gno,Tdate,Isok),其属性分别表示任务号,任务内容,目标号,任务日期,当日是否完成。
CREATE TABLE Task(
Tno CHAR(10) PRIMARY KEY,
Tcontent VARCHAR(100) NOT NULL,
Gno CHAR(10) REFERENCES Goal(Gno),
Tdate DATE NOT NULL,
Isok BOOLEAN NOT NULL CHECK (Isok IN (0,1))
);
注:本表的主键为Tno,外键为Gno,表示与目标表的关联。Tcontent为VARCHAR类型,长度为100;Tdate为DATE类型;Isok为BOOLEAN类型,取值为0或1,表示当日是否完成。
创建入库表recruit 字段名 数据类型 长度 约束 描述 rid int 11 非空,主键 入库ID,自动增长 pid int 11 非空,外键 产品ID vid int 11 非空,外键 供应商ID rprice decimal (10,0) 非空 单价 rcount int 11 非空 数量 returncount int 11 默认为null 退货数量 rdecp varchar 255 默认为null 订单描述 rdate datetime 非空 入库时间
好的,以下是创建入库表recruit的SQL语句:
```
CREATE TABLE recruit (
rid INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
pid INT(11) NOT NULL,
vid INT(11) NOT NULL,
rprice DECIMAL(10,0) NOT NULL,
rcount INT(11) NOT NULL,
returncount INT(11) DEFAULT NULL,
rdecp VARCHAR(255) DEFAULT NULL,
rdate DATETIME NOT NULL
);
```
解释一下每个字段的含义:
- rid:入库ID,自动增长,作为主键。
- pid:产品ID,非空,作为外键关联产品表。
- vid:供应商ID,非空,作为外键关联供应商表。
- rprice:单价,非空,采用DECIMAL类型表示,精度为10位,小数位为0。
- rcount:数量,非空,表示入库的产品数量。
- returncount:退货数量,默认为null,表示该产品的退货数量,如果没有退货,则为null。
- rdecp:订单描述,默认为null,可以记录一些备注信息。
- rdate:入库时间,非空,采用DATETIME类型表示。
阅读全文