昆明理工大学-数据库原理-上机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》上机实验报告
学号:
姓名:
班级:
昆明理工大学信息工程与自动化学院
2012年12月
一、实验目的与要求:
●熟练使用SQL定义子语言、操纵子语言命令语句
●掌握关系模型上的完整性约束机制
●掌握一定的数据库管理技术
●能完成简单的数据库应用开发
二、实验内容
(一)数据定义子语言实验
实验1利用SQL语句创建Employee数据库
创建的代码为:
CREATE DATABASE Employee
实验2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary及部门表dept。
要求:按表1、表2、表3中的字段说明创建
表1person表结构
createtable person
(P_no Char(6) PRIMARYKEYNOT NULL,
P_nameVarchar(10) NotNull,
SexChar(2) Not Null,
Birthdate Datetime,
ProfVarchar(10),
Deptno Char(4) Not Null,
FOREIGN KEY (Deptno)REFERENCES dept(Deptno)
);
表2salary表结构
建立的代码:
createtablesalary
(P_no Char(6) PRIMARY KEY Not Null,
Base Dec(5),
Bonus Dec(5) CHECK(Bonus>50),
FactasBase+Bonus,
MonthInt Not Null,
FOREIGNKEY (P_no) REFERENCESperson(P_no)
);
表3dept表结构
建立的代码:
create table dept
(Deptno Char(4) PRIMARY KEYNotNull,
Dname Varchar(10)Not Null
);
(二)数据操纵子语言实验
实验3:利用SQL语句向表person、salary和dept中插入数据。
要求:按表4、表5、表6中的数据插入。
表4表person中的数据
000005 梁玉琼女1970-8-25中级0003000006 罗向东男1979-5-11 初级0003
000007肖家庆男1963-7-14 高级0003
插入代码为:
INSERT TNTOperson(P_no,P_name,Sex,Birthdate,Prof,Deptno) V ALUES('000001','王云','男','1979-4-7','中级','0001');
INSERTTNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)
VALUES('000002','谢志文','男','1975-2-14','中级','0001');
INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Dept no)
V ALUES('000003','李浩然','男','1970-8-25','高级','0002');
INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)
VALUES('000004','廖小玲','女','1979-8-6','初级','0002');
INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)
V ALUES('000005','梁玉琼','女','1970-8-25','中级','0003');
INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)
VALUES('000006','罗向东','男','1979-5-11','初级','0003');
INSERT TNTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno) VALUES('000007','肖家庆','男','1963-7-14','高级','0003');
插入后查询结果为:
表5表salary中的数据
P_no Base Bonus Fact S_month 000001 2100 300 1
000002 1800 300 1
000003 2800280 1
0000042500250 1 000005 2300 275 1000006 1750 130 10000072400 210 1 插入代码:
INSERT TNTOsalary(P_no,Base,Bonus,Month)
V ALUES('000001','2100','300','1');
INSERTTNTO salary(P_no,Base,Bonus,Month)
V ALUES('000002','1800','300','1');
INSERT TNTO salary(P_no,Base,Bonus,Month)
VALUES('000003','2800','280','1');
INSERT TNTO salary(P_no,Base,Bonus,Month)
V ALUES('000004','2500','250','1');
INSERTTNTO salary(P_no,Base,Bonus,Month)
V ALUES('000005','2300','275','1');
INSERT TNTOsalary(P_no,Base,Bonus,Month)
V ALUES('000006','1750','130','1');
INSERT TNTO salary(P_no,Base,Bonus,Month)
VALUES('000007','2400','210','1');
插入后查询的结果为:
表6表dept中的数据
Deptno Dname
0001 人事部
0002 财务部