Oracle实验报告(6)

2020-04-17 03:21

成绩。

Create or replace view xs_view(姓名,选课门数,平均成绩) as select

xm,count(kch),avg(cj) from cjb,xsb where xsb.xh=cjb.xh group by xsb.xh,xm;

6、删除zy_view视图。 Drop view zy_view;

四、上机作业

完成实验内容中的任务,并把语句记录在每道题的下面。

五、心得体会

这次学习,我知道了对表的内容的查询,修改的操作,并通过实践对这次操作命令进一步的熟悉,运用和掌握。还学会了怎么建立视图,视图是可以快速的查询多个表的不同的信息的图表,它使我们更方便。

实验六:索引和约束

一、实验目标:

(1)掌握索引的使用方法。

(2)掌握各种约束即数据完整性的实现方法。

二、实验学时数 2学时

三、实验步骤和内容: 1.关于索引

第21页

建立索引的最大好处是快速存取数据。

假设有10个学生,10门课,则成绩表会有100条记录,对于成绩表中某人某门课成绩的查找,最坏情况是逐行查找100次,即最后一行。而如果对成绩表中的学号和课程号创建索引,则最坏情况只需查找20次(先查找学号,再查找课程号)。

建立索引的原则: (1)先插数据再建索引。

(2)如果经常检索的内容仅为包含大量数据的表中少于15%的行,就需要创建索引。

(3)建立索引的先后顺序会影响查询的性能。 2.创建索引表空间 CREATE TABLESPACE INDX

DATAFILE

'D:\\oracle\\product\\10.2.0\\oradata\\xscj\\indx01.dbf' SIZE 32M REUSE

AUTOEXTEND ON NEXT 1280K MINIMUM EXTENT 128K DEFAULT STORAGE

(INITIAL 128K NEXT 128K MINEXTENTS 1 MAXEXTENTS 4096 PCTINCREASE 0);

2.创建索引

CREATE INDEX kc_name_idx

ON KCB(KCM) TABLESPACE \3.维护索引

第22页

ALTER INDEX kc_name_idx

4.删除索引 DROP INDEX kc_idx; 5.数据完整性

生活中有些数据除了数据类型和宽度,还必须要定义其他规则的,比如学生学号必须是唯一的,不能重复的;性别必须是男或女,成绩必须是0-100的范围等。因此必须使用一些方法对数据进行约束,才得以保持数据完整性。

6.约束

(1)建表同时添加约束: XSB表: 主键为学号。 KCB表: 课程号为主键,

开课学期默认值为1,且只能为1-8。 CJB表

主键为学号和课程号, 存在外键XH参照XSB表的XH, 存在外键KCH参照KCB表的KCH。 (2)建表后时添加约束 XSB表:

第23页

RENAME TO kc_idx;

性别必须为“男”或者“女”。 CJB表:

成绩必须>=0且<=100或者为空。 7.插入数据验证。 8.思考题

(1)建KCB表时添加约束,使课程号必须为三位0-9数字

(2)建XSB表时添加约束,使学号为101开头,后三位为0-9数字 四、上机作业

完成实验内容中的任务,并把语句记录在每道题的下面。 五、心得体会

通过这次的学习,我知道了索引的最大好处是快速存取数据。1:先插数据再建索引。2:如果经常检索的内容仅为包含大量数据的表中少于15%的行,就需要创建索引。3:建立索引的先后顺序会影响查询的性能。这3条是建立索引的原则。

我还知道了可以增加约束,就是制约范围。

实验七:PL/SQL编程

一、实验目标:

(1)掌握变量、运算符以及控制语句的使用。 (2)掌握系统函数和自定义函数的使用。 二、实验学时数 4学时

三、实验步骤和内容: SYS登录,先导入数据字典:

第24页

@D:\\oracle\\product\\10.2.0\\db_1\\RDBMS\\ADMIN\\catalog.sql; @D:\\oracle\\product\\10.2.0\\db_1\\RDBMS\\ADMIN\\catproc.sql; (1)定义变量

例子1:定义一个长度为10的变量count,其初始值为1,是varchar2类型。

count varchar2(10) := '1';

例子2:在表XSB中包含XH列,为了声明一个变量my_xh与XH列具有相同的数据类型,声明时可使用点和%TYPE属性,格式如下:

my_xh XSB.XH%TYPE;

例子3:可以使用%ROWTYPE属性声明描述表的行数据的记录。

如:声明一个记录名为cj_rec,它与CJB表具有相同的名称和数据类型,格式如下:

DECLARE

cj_rec CJB%ROWTYPE;

对于用户定义的记录,必须声明自己的域: DECLARE

TYPE TimeRec IS RECORD(HH number(2),MM number(2)); (2)程序块

例子6.6:查询总学分大于50的学生人数 set serveroutput on DECLARE

v_num number(3);

第25页


Oracle实验报告(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2008第七届中学生古诗文高中文言文阅读训练70篇原文及翻译

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: