SQL-Server数据库上机实验报告

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

《数据库系统原理》上机实验报告

姓名:T Biggun

班级:666666

一、实验目的与要求:

●熟练使用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_name Varchar 10 Not Null 姓名

Sex Char 2 Not Null 性别

Birthdate Datetime Null 出生日期

Prof Varchar 10 Null 职称

Deptno Char 4 Not Null 部门代码,外键(参照dept表)

表2 salary表结构

字段名数据类型字段长度允许空否字段说明

P_no Char 6 Not Null 工号,主键,外键(参照person

表)

Base Dec 5 Null 基本工资

Bonus Dec 5 Null 奖金,要求>50

Fact Dec 5 Null 实发工资=基本工资+奖金Month Int 2 Not Null 月份

表3 dept表结构

字段名数据类型字段长度允许空否字段说明Deptno Char 4 Not Null 部门代码,主键,Dname Varchar 10 Not Null 部门名称

程序为:

CREATE TABLE dept(

deptno CHAR(4) PRIMARY KEY NOT NULL,

dname VARCHAR(10) NOT NULL)

CREATE TABLE Person(

P_no CHAR(6) PRIMARY KEY Not Null,

P_name VARCHAR(10) Not Null,

Sex CHAR(2) Not Null,

Birthdate Datetime Null,

Prof VARCHAR(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_name Sex BirthDate Prof Deptno 000001 王云男1973-4-7 中级0001 000002 谢志文男1975-2-14 中级0001 000003 李浩然男1970-8-25 高级0002 000004 廖小玲女1979-8-6 初级0002 000005 梁玉琼女1970-8-25 中级0003 000006 罗向东男1979-5-11 初级0003 000007 肖家庆男1963-7-14 高级0003

表5 表salary中的数据

P_no Base Bonus Fact S_month 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','市场部');

程序为:

INSERT INTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)

VALUES('000001','王云','男','1979-4-7','中级','0001');

INSERT INTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)

VALUES('000002','谢志文','男','1975-2-14','中级','0001');

INSERT INTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)

VALUES('000003','李浩然','男','1970-8-25','高级','0002');

INSERT INTO person(P_no,P_name,Sex,Birthdate,Prof,Deptno)

相关文档
最新文档