数据库系统实验报告.docx

上传人:b****4 文档编号:24411337 上传时间:2023-05-27 格式:DOCX 页数:50 大小:591.71KB
下载 相关 举报
数据库系统实验报告.docx_第1页
第1页 / 共50页
数据库系统实验报告.docx_第2页
第2页 / 共50页
数据库系统实验报告.docx_第3页
第3页 / 共50页
数据库系统实验报告.docx_第4页
第4页 / 共50页
数据库系统实验报告.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

数据库系统实验报告.docx

《数据库系统实验报告.docx》由会员分享,可在线阅读,更多相关《数据库系统实验报告.docx(50页珍藏版)》请在冰豆网上搜索。

数据库系统实验报告.docx

数据库系统实验报告

数据库系统实验

 

 

班级

姓名

学号

任课教师

 

计算机学院

实验一:

基本SQL语言

1.实验目标

1.1.熟练掌握基本的SQL语言。

能够利用SQL定义语言(DDL)创建、删除和修改数据库的基本对象(表、视图、约束和索引等),利用SQL查询语言(Select)对数据中数据进行检索,利用SQL修改语言(Insert、Update、Delete)对数据中数据进行插入、修改和删除操作。

能够利用SQL控制语言(DCL)将数据库的基本对象(表和视图等)的各种权限授予其它用户。

1.2.熟悉SQLServer2000的交互式SQL语言的操作环境。

能够利用查询分析器进行SQL语言的编辑和提交。

2.实验要求

2.1.写出以下各个实验的SQL语句。

2.2.在SQLServer2000的查询分析器环境中执行SQL语句,写出每次执行的结果。

2.3.对于错误的执行结果,分析产生错误的原因,并写出纠正错误的方案。

2.4.SQL语句的书写规范,要求每个查询子句独占一行,如:

SelectSNO,SNAME

FromS

WhereSage>=20;

注意:

每次实验之后请作好数据库备份。

下次实验之前进行数据库恢复。

3.实验课时

本次实验共计10课时。

4.实验数据

本次实验中用到6个关系表(当前用户):

COURSE(课程)、DEPT(系)、S(学生)、PROF(教师)、PC(授课)、SC(选修)。

4.1.关系模式。

4.2.6个关系表的定义。

⑴COURSE(课程)

字段

名称

类型

说明

CNO

课程号

VARCHAR(10)

PK,NOTNULL

CNAME

课程名

VARCHAR(10)

NOTNULL

PCNO

先修课程号

VARCHAR(10)

CREDIT

学分

REAL

⑵DEPT(系)

字段

名称

类型

说明

DNO

系号

VARCHAR(10)

PK,NOTNULL

DNAME

系名

VARCHAR(10)

NOTNULL

DEAN

系主任号

VARCHAR(10)

系主任作为教师的编号

⑶S(学生)

字段

名称

类型

说明

SNO

学生号

VARCHAR(10)

PK,NOTNULL

SNAME

学生名

VARCHAR(10)

NOTNULL

SEX

性别

VARCHAR(10)

0,女;1,男

AGE

年龄

REAL

DNO

所在系号

VARCHAR(10)

FK

⑷PROF(教师)

字段

名称

类型

说明

PNO

教师号

VARCHAR(10)

PK,NOTNULL

PNAME

教师名

VARCHAR(10)

NOTNULL

SAL

工资额

FLOAT

AGE

年龄

REAL

DNO

所在系号

VARCHAR(10)

FK

⑸SC(选修)

字段

名称

类型

说明

SNO

学生号

VARCHAR(10)

PK,

NOTNULL

FK

CNO

课程号

VARCHAR(10)

FK

SCORE

成绩

REAL

⑹PC(授课)

字段

名称

类型

说明

PNO

学生号

VARCHAR(10)

PK,

NOTNULL

FK

CNO

课程号

VARCHAR(10)

FK

4.3.6个关系表的元组数据。

⑴COURSE(课程)

CNO

CNAME

PCNO

CREDIT

C1

数据库

C5

4

C2

离散数学

C7

2

C3

组合数学

C2

2

C4

操作系统

C9

4

C5

数据结构

C2

3

C6

近世代数

C7

2

C7

高等数学

4

C8

C语言

C2

2

C9

数理逻辑

4

⑵DEPT(系)

DNO

DNAME

DEAN

D1

计算机

P01

D2

数学

P04

D3

物理

P07

⑶S(学生)

SNO

SNAME

SEX

AGE

DNO

S1

宋江

1

59

D1

S2

吴用

1

48

D1

S3

鲁智深

1

42

D1

S4

孙二娘

0

40

D2

S5

林冲

1

51

D2

S6

李逵

1

46

D2

S7

武松

1

36

D3

S8

扈三娘

0

30

D3

⑷PROF(教师)

PNO

PNAME

SAL

AGE

DNO

P1

刘备

1800

59

D1

P2

诸葛亮

1600

48

D1

P3

关羽

1400

D1

P4

曹操

2200

40

D2

P5

司马懿

2000

61

D2

P6

张辽

1700

46

D2

P7

孙权

2100

66

D3

P8

周瑜

1900

30

D3

P9

鲁肃

1500

50

D3

⑸SC(选修)

SNO

CNO

SCORE

S1

C1

80

S1

C2

60

S1

C3

40

S1

C4

90

S1

C5

70

S1

C6

60

S1

C7

50

S1

C8

70

S1

C9

80

S2

C1

80

S2

C2

60

S2

C3

40

S2

C4

90

S3

C5

70

S3

C6

60

S4

C1

70

S4

C2

60

S4

C3

55

S4

C4

85

S4

C5

70

S4

C6

70

S4

C7

80

S4

C8

40

S4

C9

70

S5

C3

40

S5

C4

90

S5

C5

70

S5

C6

60

S5

C7

50

S6

C1

80

S6

C2

60

S6

C3

40

S6

C4

90

S7

C1

30

S7

C2

80

S7

C3

40

S7

C4

70

S7

C5

80

S7

C6

60

S7

C7

90

S7

C8

50

S7

C9

80

S8

C2

60

S8

C3

55

S8

C4

85

⑹PC(授课)

PNO

CNO

P1

C1

P2

C2

P3

C3

P4

C4

P5

C5

P6

C6

P7

C7

P8

C8

P9

C9

5.实验步骤

5.1.SQLServer2000数据库的安装、启动和创建新的数据库。

SQLServer2000已安装在本机,一般采用的是Windows认证方式。

因此当你以默认Windows用户administrator登陆进window操作系统之后,你就可以直接通过服务管理器启动SQLServer2000。

启动成功之后的状态如下(启动成功之后,可以关闭服务管理器):

之后可以通过打开查询分析器登陆到SQLServer2000,建立和DBMS的会话。

Windows的系统管理员默认对应SQLServer的系统管理员用户sa。

因此,当你以windows的系统管理员身份登陆到SQLServer之后,你在SQLServer中对应的用户名就是sa。

你可以对SQLServer执行任何操作了(当然你也可以创建一个新的用户,该用户最好在windows和SQLServer中以相同的名字同时创建)。

利用企业管理器创建新的数据库test。

test数据库作为本次实验用数据库,在test数据库中创建本次实验的所有数据库对象。

5.2.Create语句

利用Create语句创建以上6个关系表。

同时利用Insert语句将实验数据插入到相应的表中。

1)创建COURSE(课程)的Create语句。

表的创建SQL语句、出现的主要错误及原因:

CREATETABLECOURSE(

CNOVARCHAR(10)PRIMARYKEYNOTNULL,

CNAMEVARCHAR(10)NOTNULL,

PCNOVARCHAR(10),

CREATITREAL)

 

向表插入数据的SQL语句、出现的主要错误及原因:

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C1','数据库','C5',4)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C2','离散数学','C7',2)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C3','组合数学','C2',2)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C4','操作系统','C9',4)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C5','数据结构','C2',3)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C6','近世代数','C7',2)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C7','高等数学',NULL,4)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C8','C语言','C2',2)

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C9','数理逻辑',NULL,4)

 

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C1','数据库','C5',’4’)

中,字符型varchar类型的要用单引号,数字型的real,float类型的不用加单引号,上面的’4’应改为4

INSERTINTOCOURSE(CNO,CNAME,PCNO,CREATIT)

values('C9','数理逻辑',’’,4)

VALUES值中若为空,应写为NULL,不是用两个单引号表示

 

2)创建DEPT(系)的Create语句。

表的创建SQL语句、出现的主要错误及原因:

CREATETABLEDEPT(

DNOVARCHAR(10)PRIMARYKEYNOTNULL,

DNAMEVARCHAR(10)NOTNULL,

DEANVARCHAR(10))

 

向表插入数据的SQL语句、出现的主要错误及原因:

 

INSERTINTODEPT(DNO,DNAME,DEAN)

VALUES('D1','计算机','P01')

INSERTINTODEPT(DNO,DNAME,DEAN)

VALUES('D2','数学','P04')

INSERTINTODEPT(DNO,DNAME,DEAN)

VALUES('D3','物理','P07')

 

3)创建S(学生)的Create语句。

表的创建SQL语句、出现的主要错误及原因:

CREATETABLES(

SNOVARCHAR(10)PRIMARYKEYNOTNULL,

SNAMEVARCHAR(10)NOTNULL,

SEXVARCHAR(10)CHECK(SEX=0ORSEX=1),

AGEREAL,

DNOVARCHAR(10)FOREIGNKEYREFERENCESDEPT(DNO)NOTNULL)

 

有外键约束时格式为DNOVARCHAR(10)FOREIGNKEYREFERENCESDEPT(DNO)NOTNULL

 

向表插入数据的SQL语句、出现的主要错误及原因:

 

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S1','宋江','1',59,'D1')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S2','吴用','1',48,'D1')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S3','鲁智深','1',42,'D1')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S4','孙二娘','0',40,'D2')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S5','林冲','1',51,'D2')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S6','李逵','1',46,'D2')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S7','武松','1',36,'D3')

INSERTINTOS(SNO,SNAME,SEX,AGE,DNO)

VALUES('S8','扈三娘','0',30,'D3')

 

4)创建PROF(教师)的Create语句。

表的创建SQL语句、出现的主要错误及原因:

CREATETABLEPROF(

PNOVARCHAR(10)PRIMARYKEYNOTNULL,

PNAMEVARCHAR(10)NOTNULL,

SALFLOAT,

AGEREAL,

DNOVARCHAR(10)FOREIGNKEYREFERENCESDEPT(DNO)NOTNULL)

 

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P1','刘备',1800,59,'D1')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P2','诸葛亮',1600,48,'D1')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P3','关羽',1400,NULL,'D1')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P4','曹操',2200,40,'D2')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P5','司马懿',2000,61,'D2')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P6','张辽',1700,46,'D2')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P7','孙权',2100,66,'D3')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P8','周瑜',1900,30,'D3')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P9','鲁肃',1500,50,'D3')

 

向表插入数据的SQL语句、出现的主要错误及原因:

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P1','刘备',1800,59,'D1')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P2','诸葛亮',1600,48,'D1')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P3','关羽',1400,NULL,'D1')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P4','曹操',2200,40,'D2')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P5','司马懿',2000,61,'D2')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P6','张辽',1700,46,'D2')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P7','孙权',2100,66,'D3')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P8','周瑜',1900,30,'D3')

INSERTINTOPROF(PNO,PNAME,SAL,AGE,DNO)

VALUES('P9','鲁肃',1500,50,'D3')

5)创建SC(选修)的Create语句。

CREATETABLESC(

SNOVARCHAR(10)FOREIGNKEYREFERENCESS(SNO)NOTNULL,

CNOVARCHAR(10)FOREIGNKEYREFERENCESCOURSE(CNO)NOTNULL,

SCOREREAL,

PRIMARYKEY(SNO,CNO))

 

有多个字段的约束必须定义为表的约束形式

当SNO,CNO都是主键时格式应为:

PRIMARYKEY(SNO,CNO)

 

向表插入数据的SQL语句、出现的主要错误及原因:

 

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C1',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C2',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C3',40)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C4',90)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C5',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C6',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C7',50)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C8',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S1','C9',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S2','C1',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S2','C2',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S2','C3',40)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S2','C4',90)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S3','C5',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S3','C6',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C1',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C2',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C3',55)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C4',85)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C5',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C6',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C7',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C8',40)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S4','C9',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S5','C3',40)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S5','C4',90)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S5','C5',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S5','C6',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S5','C7',50)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S6','C1',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S6','C2',60)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S6','C3',40)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S6','C4',90)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S7','C1',30)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S7','C2',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S7','C3',40)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S7','C4',70)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S7','C5',80)

INSERTINTOSC(SNO,CNO,SCORE)

VALUES('S7','C6',60)

INSERTINTOSC(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1