您好,欢迎来到化拓教育网。
搜索
您的当前位置:首页《数据库系统原理与设计实验教程》实验七

《数据库系统原理与设计实验教程》实验七

来源:化拓教育网
重新创建orderdb数据库中5张基本表,要求完成以下完整性约束。 (1)分别为每张表合理建立主、外键约束。 (2)员工表:员工姓名、电话属性为NOT NULL;员工编号构成:年流水号,共8位,第1位为E,如E2008001,年份取雇佣日期的年份;性别:f表示女,m表示男。

(3)商品表:商品编号、商品名称、商品类别、建立日期设为NOT NULL;商品编号构成:年流水号,共9位,第1位为P,如P20080001,年份取建立日期的年份。

(4)客户表:客户编号、客户名称、客户电话设为NOT NULL;客户号构成:年流水号,共9位,第1位为C,如C20080001,年份取建立日期的年份。

(5)订单主表:订单编号的构成:年月日流水号,共12位,如200708090001;订单编号、客户编号、员工编号、号码设为NOT NULL;业务员必须是员工;订货日期和出货日期的默认值为系统当前日期;订单金额默认值为0;号码建立UNIQUE约束。

(6)订单明细表:订单编号、商品编号、数量、单价设为NOT NULL。

CREATE TABLE Employee( employeeNo char(8),

CHECK(employeeNo LIKE '[E][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), CHECK(SUBSTRING(employeeNo,2,4)=STR(year(hireDate))), employeeName varchar(10) NOT NULL, telephone varchar(20) NOT NULL, hireDate datetime, sex char(1) NOT NULL,

CONSTRAINT emp_sexchk CHECK (sex IN ('m','f')), CONSTRAINT employeepk PRIMARY KEY(employeeNo) )

CREATE TABLE Product(

productNo char(9) NOT NULL,

CHECK(productNo LIKE '[P][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), CHECK(SUBSTRING(productNo,2,4)=STR(year(productDate))), productName varchar(40) NOT NULL, productClass varchar(20) NOT NULL, productDate datetime NOT NULL,

CONSTRAINT productpk PRIMARY KEY(productNo) )

CREATE TABLE Customer(

customerNo char(9) NOT NULL,

CHECK(customerNo LIKE '[C][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), CHECK(SUBSTRING(customerNo,2,4)=STR(year(customerDate))), customerName varchar(40) NOT NULL, Telephone varchar(40) NOT NULL, customerDate datetime NOT NULL,

CONSTRAINT customerpk PRIMARY KEY(customerNo) )

CREATE TABLE OrderMaster( orderNo char(12) NOT NULL,

CHECK(orderNo LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'), CHECK(SUBSTRING(orderNo,1,4)=STR(year(orderDate)) AND SUBSTRING(orderNo,5,2)=STR(month(orderDate)) AND SUBSTRING(orderNo,7,2)=STR(day(orderDate))), customerNo char(9) NOT NULL, salerNo char(8) NOT NULL,

orderDate datetime NOT NULL default GETDATE(), shipDate datetime NOT NULL default GETDATE(), orderSum numeric(9,2) default 0, invoiceNo char(10) NOT NULL UNIQUE,

CONSTRAINT ordermasterpk PRIMARY KEY(orderNo), CONSTRAINT ordermasterfk1 FOREIGN KEY(customerNo) REFERENCES Customer(customerNo),

CONSTRAINT ordermasterfk2 FOREIGN KEY(salerNo) REFERENCES Employee(employeeNo) )

CREATE TABLE OrderDetail( orderNo char(12) NOT NULL, productNo char(9) NOT NULL, quantity int NOT NULL,

price numeric(7,2) NOT NULL,

CONSTRAINT orderdetailpk PRIMARY KEY(orderNo,productNo), CONSTRAINT orderdetailfk1 FOREIGN KEY(orderNo) REFERENCES OrderMaster(orderNo),

CONSTRAINT orderdetailfk2 FOREIGN KEY(productNo) REFERENCES Product(productNo) )

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo9.cn 版权所有 赣ICP备2023008801号-1

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务