SQL Server 数据库系统实验报告.docx

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

SQL Server 数据库系统实验报告.docx

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

SQL Server 数据库系统实验报告.docx

SQLServer数据库系统实验报告

数据库系统实验

 

 

班级

姓名

学号

任课教师

 

计算机学院

实验一:

基本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语句、出现的主要错误及原因:

 

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

 

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

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

 

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

 

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

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

 

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

 

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

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

 

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

 

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

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

 

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

 

6)创建PC(授课)的Create语句。

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

 

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

 

5.3.Select语句

7)给出所有老师的信息。

该查询的SQL语句、出现的错误及原因:

 

8)出所有老师的姓名及税后工资额(税额5%)。

该查询的SQL语句、出现的错误及原因:

 

9)找出所有选修课程的学生。

该查询的SQL语句、出现的错误及原因:

 

10)找出工资低于1500的职工的姓名、工资、系名。

该查询的SQL语句、出现的错误及原因:

 

11)列出教授“数学”课程的老师的教工号及姓名。

该查询的SQL语句、出现的错误及原因:

 

12)列出工资在500~800之间的老师姓名。

该查询的SQL语句、出现的错误及原因:

 

13)给出所有老师的姓名,所纳税额及税后工资额(税额5%)。

该查询的Select语句:

该查询的SQL语句、出现的错误及原因:

 

14)求每一课程的间接先行课(即先行课的先行课)。

该查询的SQL语句、出现的错误及原因:

 

15)找出工资比所在系主任工资高的老师姓名及工资。

该查询的SQL语句、出现的错误及原因:

 

16)求选修了C1或C2课程的学生姓名。

该查询的SQL语句、出现的错误及原因:

 

17)列出姓名以“张”打头的教师的所有信息。

该查询的SQL语句、出现的错误及原因:

 

18)列出名称中含有4个字符以上,且倒数第3个字符是“d”,倒数第2个字符是“_”的教师的所有信息。

该查询的SQL语句、出现的错误及原因:

 

19)按系名升序列出老师姓名,所在系名,同一系中老师按姓名降序排列。

该查询的SQL语句、出现的错误及原因:

 

20)求选修了C1或C2号而没有选C3号课程的学生号。

该查询的SQL语句、出现的错误及原因:

 

21)列出各系的老师的最高、最低、平均工资。

该查询的SQL语句、出现的错误及原因:

 

22)列出计算机系总分超过300分的学生的平均成绩及学号。

该查询的SQL语句、出现的错误及原因:

 

23)列出选修了两门课程以上的学生的平均成绩及学号。

该查询的SQL语句、出现的错误及原因:

 

24)求选修了课程的学生人数。

该查询的SQL语句、出现的错误及原因:

 

25)求各系60岁以上老师的平均工资。

该查询的SQL语句、出现的错误及原因:

 

26)找出年龄值为空的老师姓名。

该查询的SQL语句、出现的错误及原因:

 

27)列出选修了C1号和C2号课程的学生的学号。

该查询的SQL语句、出现的错误及原因:

 

28)找出平均成绩最高的学生号。

该查询的SQL语句、出现的错误及原因:

 

29)求S1号学生所选课程的课程记录。

该查询的SQL语句、出现的错误及原因:

 

30)列出选修了所有课程的学生名。

该查询的SQL语句、出现的错误及原因:

 

31)列出至少选修了S1号学生选修的所有课程的学生名。

该查询的SQL语句、出现的错误及原因:

 

32)找出所有只教授一门课程的老师姓名。

该查询的SQL语句、出现的错误及原因:

 

33)找出至少选修了两门课程的学生姓名。

该查询的SQL语句、出现的错误及原因:

 

34)找出平均成绩及格的学生及其平均分数。

该查询的SQL语句、出现的错误及原因:

 

5.4.Insert语句

35)将平均成绩大于60的学生加入到EXCELLENT中(先自行定义创建EXCELLENT表)。

该插入的SQL语句、出现的错误及原因:

 

5.5.Update语句

36)将老师工资上调5%。

该更新的SQL语句、出现的错误及原因:

 

37)将D1系系主任的工资改为该系的平均工资。

该更新的SQL语句、出现的错误及原因:

 

38)工资超过2000的缴纳10%所得税,其余的缴纳5%所得税。

求教师的税后工资。

该更新的SQL语句、出现的错误及原因:

 

39)将计算机系学生的选课成绩上调20%。

该更新的SQL语句、出现的错误及原因:

 

5.6.Delete语句

40)删除张辽老师所有的任课记录。

该删除的SQL语句、出现的错误及原因:

 

41)清除EXCELLENT表中所有记录。

该删除的SQL语句、出现的错误及原因:

 

42)删除低于平均工资的老师记录。

该删除的SQL语句、出现的错误及原因:

 

43)删除没有选课的学生记录。

该删除的SQL语句、出现的错误及原因:

 

5.7.Alter和Drop语句

44)自己设计利用Alter修改EXCELLENT关系表的定义(包括字段的定义和表约束的定义)。

该修改的SQL语句、出现的错误及原因:

 

45)利用Drop语句删除EXCELLENT关系表的定义。

该删除的SQL语句、出现的错误及原因:

 

5.8.Grant和Revoke语句

按以下各图创建一个用户,利用Grant和Revoke语句授予和收回表的各种权限。

根据以下几个图示进行实验。

46)授权1的Grant和Revoke语句。

 

该授权的SQL语句、出现的错误及原因:

 

47)授权2的Grant和Revoke语句。

该授权的SQL语句、出现的错误及原因:

 

48)授权3的Grant和Revoke语句。

该授权的SQL语句、出现的错误及原因:

 

49)授权4的Grant和Revoke语句。

该授权的SQL语句、出现的错误及原因:

 

5.9.Index

50)创建关系表COURSE(课程)基于列“CNAME”的索引的Create语句。

该索引创建的SQL语句、出现的错误及原因:

 

51)创建关系表DEPT(系)基于列“DNAME”的索引的Create语句。

该索引创建的SQL语句、出现的错误及原因:

 

52)创建关系表S(学生)基于列“SNAME”的索引的Create语句。

该索引创建的SQL语句、出现的错误及原因:

 

53)创建关系表PROF(教师)基于列“PNAME,DNO”的联合索引的Create语句。

该索引创建的SQL语句、出现的错误及原因:

 

54)创建关系表SC(选修)基于列“SNO”的索引和基于列“CNO”的索引的Create语句。

该索引创建的SQL语句、出现的错误及原因:

 

55)创建关系表PC(授课)基于列“PNO”的索引和基于列“CNO”的索引的Create语句。

该索引创建的SQL语句、出现的错误及原因:

 

5.10.View

56)创建工资少于2000元的教工视图(水平视图)。

该视图创建的SQL语句、出现的错误及原因:

 

57)创建只能访问列“PNO,PNAME,SAL”的教工视图(垂直视图)。

该视图创建的SQL语句、出现的错误及原因:

 

58)创建工资少于2000元且只能访问列“PNO,PNAME,SAL”的教工视图(行列视图)。

该视图创建的SQL语句、出现的错误及原因:

 

59)创建可以访问列“SNO,SNAME,CNAME,SCORE”的视图(连接视图)。

该视图创建的SQL语句、出现的错误及原因:

 

60)创建每个学生的平均成绩的视图(分组视图)。

该视图创建的SQL语句、出现的错误及原因:

 

实验二:

嵌入式SQL语言

1.实验目标

1.1.熟练掌握数据库前端开发工具PowerBuilder的使用。

能利用PowerBuilder工具建立和Oracle数据库的连接,并利用PowerBuilder进行关系模式的定义。

1.2.熟练掌握PowerBuilder的各种控件的使用。

1.3.熟悉Oracle的嵌入式SQL语言。

能够利用嵌入式SQL语言实现对表数据的更新和查询。

1.4.熟悉视图的操作。

能够根据应用的需求创建视图,并实现对视图的更新和查询。

2.实验要求

2.1.写出以下实验中的嵌入式SQL语句。

2.2.在PowerBuilder所开发的界面中执行操作,写出每次执行的结果。

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

3.实验课时

本次实验共计10课时。

4.实验数据

实验一中的所有关系(1-6),以及USER关系表,该表用于管理用户的,USER关系表的定义和元组数据如下。

USER(用户)

字段

名称

类型

说明

USERID

用户ID

VARCHAR2(10)

PK,NOTNULL

USERNAME

用户名

VARCHAR2(10)

NOTNULL

PWD

密码

VARCHAR2(10)

 

USER(用户)

USERID

USERNAME

PWD

001

泰森

banana

002

马拉多纳

apple

003

萨达姆

orange

5.实验步骤

5.1.安装PowerBuilder工具软件。

5.2.启动PowerBuilder集成开发环境IDE。

开发一个纯PowerBuilder的应用程序“PBDemo1”。

包括以下两种功能,要求两种功能通过菜单进行选择。

计算圆面积。

用户输入半径的值,程序可以计算圆的面积。

给出实现该功能所用的包括嵌入式SQL的主要程序代码、出现的主要错误及原因。

 

计算正方形的面积。

用户选择边长的值,程序可以计算正方形的面积。

给出实现该功能所用的包括嵌入式SQL的主要程序代码、出现的主要错误及原因。

 

5.3.创建SQLServer2000的ODBC数据源。

该数据源命名为SQLDS。

步骤如下:

注意:

在创建数据源之前,应启动数据库服务器,并创建一个自己的数据库(如Test)。

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

当前位置:首页 > 医药卫生 > 基础医学

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

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