西南交通大学数据库原理实验课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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')