典型数据库.docx

上传人:b****5 文档编号:29850041 上传时间:2023-07-27 格式:DOCX 页数:15 大小:186.86KB
下载 相关 举报
典型数据库.docx_第1页
第1页 / 共15页
典型数据库.docx_第2页
第2页 / 共15页
典型数据库.docx_第3页
第3页 / 共15页
典型数据库.docx_第4页
第4页 / 共15页
典型数据库.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

典型数据库.docx

《典型数据库.docx》由会员分享,可在线阅读,更多相关《典型数据库.docx(15页珍藏版)》请在冰豆网上搜索。

典型数据库.docx

典型数据库

典型数据库

实验指导书

____/____年第____学期

 

姓名:

_____________

学号:

_____________

班级:

_____________

指导教师:

_____________

 

目录

实验1

OracleDatabase环境和SQL*Plus基础………………………

3

实验2

管理数据库表及其完整性…………………………………………

5

实验3

SQL查询技术………………………………………………………

7

实验4

PL/SQL基础……………………………………………………

11

实验5

索引和视图………………………………………………………

13

实验6

存储过程和触发器………………………………………………

15

实验一OracleDatabase环境和SQL*Plus基础

一、实验目的

掌握OracleDatabase数据库的安装,学会使用SQL*Plus环境的设置及应用。

二、实验环境

本实验采用的RDBMS是Oracle公司的数据库管理系统,以OracleDatabase11g版本为软件平台。

三、实验内容与要求

1.熟悉OracleDatabase软件的获取和安装,简要说明OracleDatabase11g的安装过程。

2.启动和设置SQL*Plus环境,通过SQL*Plus环境执行SQL语句。

(1)打开SQL*Plus环境,登录Oracle数据库,以系统默认用户身份登录,用户名:

system,口令:

Admin123。

登录成功后出现:

“SQL>”提示符。

(2)以学生姓名拼音建立新的Oracle数据库用户(姓全拼,名字的首字母),并给用户授予连接和管理员权限。

参考代码:

createuserwangwidentifiedbywangw;(前一个为用户名,后一个为口令)

grantcreatesession,dbatowangw;(session为连接权限,dba是具有100多个权限的角色)

3.以当前新定义用户登录后创建学生表,表名:

S,表格式如下:

字段名称

数据类型

是否为主码

是否为空

中文含义

sno

Varchar2(8)

*

Notnull

学号

sname

Varchar2(8)

null

学生姓名

sex

Varchar2

(2)

null

公司名

birthday

date

null

地址

deptno

Varchar2(24)

null

所在系部编号

使用describe命令查看所定义的表结构。

4.使用insert语句向S表中插入至少10条数据。

参考代码:

INSERTINTOEMP(EMPNO,ENAME,HIREDATE)VALUES

(7844,'TURNER',to_date('8-9-1981','dd-mm-yyyy'));

5.查询:

(1)查询所有学生信息的信息;

(2)格式化查询结果:

改变deptno列的显示宽度为A10,将所有列标题设置成相应的中文含义。

6.打开并配置

四、实验预习和准备

参考相关书籍,能够熟练地使用SQL语言。

五、实验过程与结果

 

六、实验小结和体会

通过本次实验的学习,我掌握了如何通过CMD创建用户,然后通过ORCL软件创建新的连接,然后创建表并且添加新的数据进去,要注意的是某些数据的数据格式,比如说生日的格式要用到to_char,整体的查询显示语句还是有点相似的。

实验二管理数据库表及其完整性

一、实验目的

掌握Oracle中数据库和表以及数据类型的创建,同时能够熟练地进行表及表间数据完整性约束的创建。

二、实验环境

本实验采用的RDBMS是Oracle公司的数据库管理系统,以OracleDatabase11g版本为软件平台。

三、实验内容与要求

1.在SQL*Plus或SQLDeveloper环境中建立如下结构表:

(1)C表

字段名称

数据类型

是否为主码

是否为空

中文含义

cno

Varchar2(8)

*

Notnull

课程号

cname

Varchar2(16)

null

课程名

credit

NUMBER(3,1)

null

学分

(2)SC表

字段名称

数据类型

是否为主码

是否为空

中文含义

sno

Varchar2(8)

*

Notnull

学号

cno

Varchar2(8)

*

Notnull

课程号

grade

NUMBER(5,1)

null

成绩

(3)Dept表

字段名称

数据类型

是否为主码

是否为空

中文含义

deptno

Varchar2(8)

*

Notnull

系部编号

deptname

Varchar2(16)

null

系部名称

示例:

创建表

CREATETABLEEMP

(EMPNONUMBER(4)CONSTRAINTPK_EMPPRIMARYKEY,

ENAMEVARCHAR2(10),

JOBVARCHAR2(9),

MGRNUMBER(4),

HIREDATEDATE,

SALNUMBER(7,2),

COMMNUMBER(7,2),

DEPTNONUMBER

(2)CONSTRAINTFK_DEPTNOREFERENCESDEPT);

2.创建约束:

同时添加相应的主键约束、外键约束,并给C表中的credit字段添加check约束(0

若要创建外键约束可参阅如下代码:

ALTERTABLE"SC"ADDCONSTRAINT"SC_C_FK1"FOREIGNKEY("CNO")

REFERENCES"C"("CNO")ENABLE;

检查约束可参考如下代码:

ALTERTABLE"S"ADDCONSTRAINT"S_C_FK1"

Check(sexin(‘男’,’女’)));

默认值约束可参考如下代码:

ALTERTABLE"S"MODIFY("SEX"CHAR(2CHAR)DEFAULT'男');

四、实验预习和准备

完成本次实验首先要熟悉SQL语句如何创建数据库表,同时还要熟悉如何使用Alter语句创建主、外键,创建默认值、规则等。

五、实验过程与结果

七、实验小结和体会

本次实验的目的是掌握Oracle中数据库和表以及数据类型的创建,同时能够熟练地进行表及表间数据完整性约束的创建。

上次实验已经掌握了如何创建表,本次实验则是比较注重约束条件,比如说主键约束等,条件约束在软件和DOS段都可以使用,本次实验受益很大,值得回味!

 

实验三SQL查询技术

一、实验目的

掌握常用的查询技术,能够熟练的运用各种查询和汇总方式进行数据的查询和统计。

二、实验环境

本实验采用的RDBMS是Oracle公司的数据库管理系统,以OracleDatabase11g版本为软件平台。

三、实验内容与要求

1)查询所有学生的学号、姓名、年龄信息,并以年龄升序排列。

2)查询每一个学生选修课程的门数、最高分、最低分、平均分,以门数降序排列。

3)查询除“李明”外所有姓“李”和姓“张”的学生信息。

4)在选课关系中查询每门课程的选修人数、平均成绩,并将平均成绩大于70分的课程的课程号、选修人数和平均成绩显示出来。

5)查询“计算机系”选修“数据库系统概论”课程且成绩大于60分的学生姓名和成绩。

(分别用内连接和子查询实现)

6)查询所有课程的选修情况(包含没有学生选修的课程),包括课程名称、学分、学生姓名和成绩。

7)查询至少选修了“3”号学生选修所有课程的学生的学号和姓名。

四、实验预习和准备

参照相关书籍和文档,熟悉Select语句的各种用法。

五、实验过程与结果

1、selectsno,sname,to_char(sysdate,’yyyy’)-to_char(birthday,’yyyy’)asagefromSorderbyage;

2、selectsno,count(cno),max(grade),min(grade),avg(grade)fromSCgroupbysnoorderbycount(cno)desc;

3、select*fromSwheresnamelike‘李%’orsnamelike‘张%’minusselect*fromSwheresnamelike‘李明’;

4、selectcno,count(sno),avg(grade),fromSCgroupbycnohavingavg(grade)>70;

5、内连接:

selectS.sname,SC.gradefromS,SC,DEPT,CwhereS.sno=SC.snoandS.deptno=DEPT.deptnoandDEPT.deptnamelike‘计算机系’andC.cnamelike‘数据库系统概论’andC.cno=SC.cnoandSC.grade>60;

子查询:

selectS.sname,SC.gradefromSJOINSConS.sno=SC.snowhereS.snoin(selectsnofromSwhereS.deptno=(selectdeptnofromDEPTwheredeptnamelike’计算机系’))andSC.cnoin(selectcnofromCwherecnamelike’数据库系统概论’)andSC.grade>60;

6、selectC.name,C.credit,SC.grade,S.sname

fromCLEFTOUTERJOINSConC.cno=SC.cnoLEFTOUTERjoinSonSC.sno=S.sno;

7、selectDISTINCTsnofromSCSCXwherenotEXISTS(select*fromSCSCYwhereSCY.sno='3'andnotEXISTS(select*fromSCSCZwhereSCZ.Sno=SCX.SnoandSCZ.cno=o));

六、实验小结和体会

通过本次实验,让我想起了SQL语言和ORCL语言很多相似的地方,内链接和子查询等等,充分掌握好SQL语言,对学习ORCL语言的帮助很大。

实验四PL/SQL基础

一、实验目的

掌握常用的PL/SQL变量和语句,能够熟练的运用循环结构、条件语句等进行程序设计。

一、实验环境

本实验采用的RDBMS是Oracle公司的数据库管理系统,以OracleDatabase11g版本为软件平台。

三、实验内容与要求

(3)用数组实现C表中课程号和课程名的显示,要求将C表中的课程号赋给数组的索引,将课程名作为数组元素,同时反序输出数组的索引和元素。

(4)用多分支条件case语句实现sc表中成绩的等第转换,优秀(>=90)、良好(80-90)、中等(70-80)、及格(60-70)、不及格(<60)。

(5)用游标实现成绩学分绩点的计算,要求显示学生姓名、课程名、学分、成绩、学分绩点等信息。

学分绩点=学分*对应绩点,成绩和对应绩点的关系表如下:

成绩

对应绩点

>=90

5

80-89

4

70-79

3

60-69

2

<60

0

如:

某门课该学生的成绩为72分,该课程的学分为4,则该生该门课的学分绩点=4*3=12。

四、实验预习和准备

了解PL/SQL的常变量的定义,熟悉流程控制语句和游标的使用。

五、实验过程与结果

 

六、实验小结和体会

实验五索引和视图

一、实验目的

掌握oracle中索引和视图的基本原理,能够熟练的创建使用索引和视图。

二、实验环境

本实验采用的RDBMS是Oracle公司的数据库管理系统,以OracleDatabase11g版本为软件平台。

三、实验内容与要求

1.对s表的sname字段创建唯一索引。

2.给sc表中的sno和cno两个字段创建连接索引。

3.给dept表中的deptname字段创建B树索引,同时设定数据块的预留空间为40%。

4.给c表中的cname字段定义函数索引,要求查询时忽略cname两边的空格。

5.创建视图view_sc,要求显示学生的姓名、课程名、成绩,以成绩降序排列;同时在此视图的基础上查询,要求统计出不同课程的选课人数,并显示大于2人的课程名和人数。

6.使用内嵌视图实现如下查询:

显示各个系部的名称、学生人数和学生人数所占的比例。

四、实验预习和准备

了解PL/SQL的索引和视图的定义,熟悉创建和使用索引和视图。

五、实验过程与结果

六、实验小结和体会

实验六存储过程和触发器

一、实验目的

掌握Oracle中存储过程和触发器的创建和调用方法。

二、实验环境

本实验采用的RDBMS是Oracle公司的数据库管理系统,以OracleDatabase11g版本为软件平台。

三、实验内容与要求

1)创建并执行一个存储过程,要求向选课关系中插入一条记录,记录的内容以参数的方式进行传递。

2)创建并执行一个存储过程,能根据输入的学号查找出学生的姓名。

3)创建并执行一个函数,能根据输入的学号和课程号查找出学生的成绩。

4)创建一个触发器,当删除学生表的学生信息时,自动删除该学生所选修的课程信息。

5)创建一个触发器,在插入学生表的学生信息时,当出生日期小于当前系统日期时,不允许插入数据。

四、实验预习和准备

参照相关书籍和文档,熟悉CreateProcedure、createFunction、createTrigger等指令的用法。

五、实验过程与结果

 

六、实验小结和体会

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

当前位置:首页 > 小学教育 > 小学作文

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

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