实验四 oracle对象管理及使用

上传人:飞*** 文档编号:43607517 上传时间:2018-06-07 格式:DOC 页数:15 大小:254KB
返回 下载 相关 举报
实验四  oracle对象管理及使用_第1页
第1页 / 共15页
实验四  oracle对象管理及使用_第2页
第2页 / 共15页
实验四  oracle对象管理及使用_第3页
第3页 / 共15页
实验四  oracle对象管理及使用_第4页
第4页 / 共15页
实验四  oracle对象管理及使用_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《实验四 oracle对象管理及使用》由会员分享,可在线阅读,更多相关《实验四 oracle对象管理及使用(15页珍藏版)》请在金锄头文库上搜索。

1、实验四实验四 oracle 对象管理及使用对象管理及使用一、实验目的及要求一、实验目的及要求掌握 Oracle 的常用对象的操作方法。会使用常用对象解决一些实际问题。 二、实验主要内容二、实验主要内容 (1)表结构的建立、修改、查看、删除操作。 (2)索引的建立、修改、查看、删除操作。 (3)视图的建立、查询、修改、删除操作。 (4)同义词的建立、查询、修改、删除操作,比较对同义词的操作与对原数据库对象的 操作是否一致。 (5)掌握序列的建立、查询、修改、删除操作,利用序列向数据库表中插入数据。 三、实验仪器设备三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。服务器成功安装 Ora

2、cle 11g 数据库服务器(企业版) ,客户机成功安装 Oracle 11g 客户端软件,网络服务配置正确,数据库和客户端正常工作。 四、实验步骤四、实验步骤 表的操作表的操作 1创建表结构创建表结构 利用命令行方式将下列各表建立到员工医疗保险系统数据库中。表结构如附录员工医 疗保险系统表 1-表 7 所示。 SQL /* =创建企业(business)表=*/ SQL create table business (2 bno char(10) primary key,3 bname char(50) not null,4 btype char(4) constraint CK_1 chec

3、k(btype in(企业,事业,私有),5 baddress char(20),6 btel char(13)7 );表已创建。SQL /* =创建医院(hospital)表=*/ SQL create table hospital(2 hno char(5) primary key,3 hname char(40) not null,4 haddress char(60)5 );表已创建。SQL /* =创建医保卡(card)表=*/SQL create table card(2 cno char(15) primary key,3 ctype char(4) constraint CK_

4、2 check(ctype in(企业,事业,灵活就业),4 cmoney number(7,2) not null5 );表已创建。SQL /* =创建员工(staff)表=*/ SQL create table staff(2 sno char(5) primary key,3 sname char(20) not null,4 ssex char(2) check (ssex in(男,女),5 sbirthday date,6 saddress char(20),7 stel char(15) unique,8 cno char(15) references card(cno),9 b

5、no char(10) references business(bno)10 );表已创建。SQL /* =创建就诊表(see)=*/ SQL create table see (2 sno char(5) references staff(sno),3 hno char(5) references hospital(hno),4 sdate date,5 constraint S_PK primary key(sno,hno,sdate)6 );表已创建。SQL /* =创建消费表(consume)=*/ SQL /* =创建消费表(insurance)=*/ SQL create tabl

6、e insurance (2 idate date,3 cno char(15) references card(cno),4 imoney number(5,2) not null,5 bno char(10) references business(bno),6 constraint I_PK primary key (idate,cno)7 );表已创建。SQL /* =创建消费表(consume)=*/ SQL create table consume(2 cno char(15) references card(cno),3 hno char(5) references hospit

7、al(hno),4 csdate date not null,5 mname char(20),6 mnum int not null,7 csmoney number(7,2) not null,8 constraint C_PK primary key(cno,hno,csdate)9 );表已创建。2查看表结构查看表结构 利用 SQL*Plus 或 iSQL*Plus 从数据字典 DBA_TAB _COLUMNS 查看员工医疗保险系统所有表的字段信息。 SELECT TABLE_NAME,COLUMN_NAME,DATA_TYPEFROM DBA_TAB_COLUMNSWHERE TAB

8、LE_NAME IN(BUSINESS,CARD,STAFF,CONSUME,HOSPITAL,SEE,INSURANCE);利用 SQL*Plus 或 iSQL*Plus 从数据字典 DBA_ CONSTRAINTS 查看员工医疗保险系 统所有表的约束信息。 SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,TABLE_NAMEFROM DBA_CONSTRAINTSWHERE TABLE_NAME IN(BUSINESS,CARD,STAFF,CONSUME,HOSPITAL,SEE,INSURANCE);3删除表结构删除表结构 利用 SQL*Plus 或 iS

9、QL*Plus 删除员工表 3,看能否成功。从原理上解释原因,同时记 录外键约束表删除顺序的影响。 DROP TABLE STAFF;索引操作索引操作 1.创建索引创建索引 利用 SQL*Plus 或 iSQL*Plus 为医院表的医院名称创建索引,并以降序排列,索引名为 “hospital_name_index”。 create index hospital_name_index on hospital(hname desc);2查看索引查看索引利用 SQL*Plus 或 iSQL*Plus 从 DBA_INDEXES 数据字典中查看员工医疗保险系统所 有索引的信息。 select inde

10、x_name,index_type,table_namefrom DBA_INDEXESwhere table_name in(BUSINESS,CARD,SEE,STAFF,CONSUME,HOSPITAL,INSURANCE);3删除索引删除索引 利用 SQL*Plus 或 iSQL*Plus 将“hospital_name_index”索引删除。 DROP INDEX hospital_name_index;视图操作视图操作 1创建视图创建视图 利用 SQL*Plus 或 iSQL*Plus 为实现显示医保卡信息创建视图,该视图中包括医保卡信 息、医保卡所属人信息和所属人单位信息,视图名

11、为“ygbx_card_view”。 create or replace view ygbx_card_view as select o,c.ctype,c.cmoney,b.bno,b.bname,s.sno,s.sname,s.ssex,s.saddress,s.stelfrom card c,staff s,business bwhere o = o and s.bno = b.bno2查看视图查看视图 利用 SQL*Plus 或 iSQL*Plus 查看“ygbx_card_view”视图的信息。 select * from ygbx_card_view;3删除视图删除视图 利用 SQ

12、L*Plus 或 iSQL*Plus 删除“ygbx_card_view”视图。 drop view ygbx_card_view;同义词操作同义词操作 1创建同义词创建同义词 利用 SQL*Plus 或 iSQL*Plus 创建企业表同义词,名为“qyb”。 CREATE SYNONYM qyb FOR BUSINESS;2查询同义词查询同义词 利用 SQL*Plus 或 iSQL*Plus 查看同义词“qyb”。 SELECT * FROM QYB;3删除同义词删除同义词 利用 SQL*Plus 或 iSQL*Plus 删除同义词“qyb”。 DROP SYNONYM QYB;序列操作序列

13、操作 1创建序列创建序列 利用 SQL*Plus 或 iSQL*Plus 创建序列,该序列最大值为“28000”,最小值为“60”,步 长为“1”,可循环,序列名为“ygbx_seq1”。 create sequence ygbx_seqlmaxvalue 28000minvalue 60increment by 1cycle;2查询序列查询序列 利用 SQL*Plus 或 iSQL*Plus 查看序列“ygbx_seq1”。 select ygbx_seql.currval from dual;3修改序列修改序列 利用 SQL*Plus 或 iSQL*Plus 修改序列“ygbx_seq1”

14、,将该序列最大值设为“82000”,最 小值设为“100”,步长设为“5”。 alter sequence ygbx_seqlmaxvalue 82000minvalue 59increment by 5;4删除序列删除序列 利用 SQL*Plus 或 iSQL*Plus 删除序列“ygbx_seq1”。 drop sequence ygbx_seql;主要算法和程序清单SQL /* =创建企业(business)表=*/ SQL create table business (2 bno char(10) primary key,3 bname char(50) not null,4 btype char(4) constraint CK_1 check(btype in(企业,事业,私有),5 baddress char(20),6 btel char(13)7 );表已创建。SQL /* =创建医院(hospital)表=*/ SQL create table hospital(2 hno char(5) primary key,3 hname char(40) not null,4 haddress char(60)5 );表已创建。SQL /* =创建医保卡(card)表=*/ SQL create table card(2 cno char

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号