西南交通大学数据库原理实验课程设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014-2015学年第一学期《数据库原理》

课程实验报告

学号: ********

学生姓名:***

班级:软件工程2012

*师:***

辅导老师:王泽洲赵红芳

2014年12月

实验一:表及约束的创建

1.1 实验目的与内容

目的:创建数据表、添加和删除列、实现所创建表的完整性约束。

内容:11-2、11-26~33。

注:实验内容编号均取自《数据库原理及设计(第2版)》第11章的实验!即:实验内容以第2版教材为准!

报告:以11-31作为实验一的报告。

1.2 实验代码及结果

1.2.1 实验代码

create table person20122617 --创建新表

(

P_no char(6)primary key,

P_name varchar(10)not null,

Sex char(2)not null,

Birthdate datetime null,

Date_hired datetime not null,

Deptname varchar(10)not null DEFAULT'培训部',

P_boss char(6)null,

constraint birth_hire_check --为约束创建一个名称

check(Birthdate

)

create table customer20122617

(

Cust_no char(6)primary key,

Cust_name varchar(10)not null,

Sex char(2)not null,

BirthDate datetime null,

City varchar(10)null,

Discount Dec(4,2)not null,

constraint Discount_check --检查约束的名称

check(Discount>=0.5 and Discount<=1 )--检查约束

)

--create rule d as @state between 0 and 1 --创建规则

--sp_bindrule d,'customer20122617.Discount' --这种方法也可以给Discount约束绑定规则

create table orderdetail20122617

(

Order_no char(6)primary key,

constraint Order_no_constraint

CHeck(Order_no LIKE'[A-Z][A-Z][0-9][0-9][0-9][0-9]'),

Cust_no char(6)not null,

P_no char(6)not null,

Order_total int not null,

Order_date datetime not null,

constraint person20122617_contr

FOREIGN KEY(P_no)--定义外键为P_no

REFERENCES person20122617(P_no)--外键参照主表person20122617中的P_no on delete NO Action --参照定义为不许删除

on update cascade,--定义为可随着主表跟新

constraint cusrtomer20122617_contr

foreign key(Cust_no)

REFERENCES customer20122617(Cust_no)--参考

on delete NO Action

on update cascade

)

create table salary20122617

(

P_no Char(6)primary key,

Base Dec(8,2)not null,

Bonus Dec(8,2)not null,

Fact AS Base+Bonus ,

constraint person2_contr

FOREIGN KEY(P_no)

REFERENCES person20122617(P_no)

on delete NO Action

on update cascade

)--建表完成

1.2.2 实验结果

注:仅附有实际意义的结果。运行代码得到结果后拷屏,用Windows画图工具切下有意义的部分,然后粘贴到此处。

Person20122617表的创建

Customer20122617表的创建

Orderdetail20122617表的创建Salary20122617表的创建

实验二:SQL更新语句

2.1 实验目的与内容

目的:update、delete、insert 语句的练习。

内容:11-6~8。

报告:以11-7、11-8作为实验二的报告。

2.2 实验代码及结果

2.2.1 实验代码

2.2.1.1实验数据准备:

insert into person20122617--插入person表的数据

values('000001','林峰','男','1975-04-07','2003-08-03','销售部','000007') insert into person20122617

values('000002','谢志文','男','1975-02-14','2003-12-07','培训部','000005') insert into person20122617

values('000003','李浩然','男','1970-08-25','2000-05-16','销售部','000007') insert into person20122617

values('000004','廖小玲','女','1979-08-06','2004-05-06','培训部','000005') insert into person20122617

values('000005','梁玉琼','女','1970-08-25','2001-03-13','培训部','NULL') insert into person20122617

values('000006','罗向东','男','1979-05-11','2000-07-09','销售部','000007') insert into person20122617

values('000007','肖佳庆','男','1963-07-14','1988-06-06','销售部','NULL') insert into person20122617

values('000008','李浩然','男','1975-01-30','2002-04-12','培训部','000005') insert into person20122617

values('000009','赵文龙','男','1969-01-20','1996-08-12','培训部','000007')

INSERT INTO customer20122617--为customer表插入数据

VALUES ('000001','王云','男','1972-01-30','成都','1.00')

INSERT INTO customer20122617

VALUES ('000002','林国平','男','1985-08-14','成都','0.85')

INSERT INTO customer20122617

VALUES ('000003','郑洋','女','1973-04-07','成都','1.00')

INSERT INTO customer20122617

VALUES ('000004','张雨洁','女','1983-09-06','北京','1.00')

INSERT INTO customer20122617

VALUES ('000005','刘菁','女','1971-08-20','北京','0.95')

INSERT INTO customer20122617

VALUES ('000006','李宇中','男','1979-08-06','上海','1.00')

相关文档
最新文档