SQL-Server数据库上机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL-Server数据库上机实验报告
《数据库系统原理》上机实验报告
学号:**********
*名:***
班级:07111301
一、实验目的与要求:
●熟练使用SQL语句
●掌握关系模型上的完整性约束机制
二、实验内容
1:利用SQL语句创建Employee数据库
CREATE DATABASE Employee;
结果:
2:利用SQL语句在Employee数据库中创建人员表person、月薪表salary及部门表dept。
做法:按表1、表2、表3中的字段说明创建
表1 person表结构
字段名数据
类型
字段
长度
允许空
否
字段说明
P_no Char 6 Not
Null
工号,主键P_na Varch10 Not 姓名
me ar Null
Sex Char 2 Not
Null
性别
Birth date Dateti
me
Null 出生日期
Prof Varch
ar
10 Null 职称
Dept no Char 4 Not
Null
部门代码,外键
(参照dept表)表2 salary表结构
字段名数据
类型
字段
长度
允许空
否
字段说明
P_no Char 6 Not
Null 工号,主键,外键(参照person表)
Base Dec 5 Null 基本工资Bonu
s
Dec 5 Null 奖金,要求>50 Fact Dec 5 Null 实发工资=基本工
资+奖金
Mont h Int 2 Not
Null
月份
表3 dept表结构
字段名数据
类型
字段
长度
允许空
否
字段说明
Dept no Char 4 Not
Null
部门代码,主键,
Dna me Varch
ar
10 Not
Null
部门名称
程序为:
CREATE TABLE dept(
deptno CHAR(4) PRIMARY KEY NOT NULL,
dname V ARCHAR(10) NOT NULL)
CREATE TABLE Person(
P_no CHAR(6) PRIMARY KEY Not Null,
P_name V ARCHAR(10) Not Null,
Sex CHAR(2) Not Null,
Birthdate Datetime Null,
Prof V ARCHAR(10) Null,
Deptno CHAR(4) Not Null,
FOREIGN KEY(Deptno) REFERENCES
dept(Deptno));
CREATE TABLE salary
(P_no Char(6) PRIMARY KEY Not Null,
Base Dec(5),
Bonus Dec(5) CHECK (Bonus>50),
Fact as Base+Bonus,
Month Int Not Null,
FOREIGN KEY (P_no) REFERENCES person(P_no));
结果:
3:利用SQL语句向表person、salary和dept中插入数据。
做法:按表4、表5、表6中的数据插入。
表4 表person中的数据
P_no P_nam Sex BirthD Prof Deptn
e ate o 000001 王云男1973-4-
中级0001
7
000002 谢志文男1975-2-
中级0001
14
000003 李浩然男1970-8-
高级0002
25
000004 廖小玲女1979-8-
初级0002
6
000005 梁玉琼女1970-8-
中级0003
25
000006 罗向东男1979-5-
初级0003
11
000007 肖家庆男1963-7-
高级0003
14
表5 表salary中的数据
P_no Base Bonus Fact S_mont
h 000001 2100 300 1 000002 1800 300 1 000003 2800 280 1
000004 2500 250 1 000005 2300 275 1 000006 1750 130 1 000007 2400 210 1
表6 表dept中的数据
Deptno Dname
0001 人事部
0002 财务部
0003 市场部
程序为:
INSERT INTO dept(Deptno,Dname) values('0001','人事部');
INSERT INTO dept(Deptno,Dname) values('0002','财务部');
INSERT INTO dept(Deptno,Dname) values('0003','市场部');