Oracle数据库模式对象管理
实验四 Oracle数据库模式对象管理
一、预习报告
一、 实验目的
1) 掌握表的创建与管理。
2) 掌握索引的创建与管理。
3) 掌握视图的创建与管理。
4) 掌握序列的创建与管理。
5) 了解簇、同义词、数据库链接等其他模式对象的管理
1) 什么是模式,模式有什么特点?
模式是指一系列逻辑数据结构或对象的集合。特点:模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式的名称与这个用户的名称相同。
2) Oracle数据库中模式对象有哪些?表空间、用户、角色、目录、概要文件及上下文等数据库对象属于某个模式吗?
模式对象有:表、索引、索引化表、分区表、物化视图、属兔、数据库连接、序列、同义词、PL/SQL包、存储函数与存储过程、Java类与其它Java资源。表用户、用户、角色、目录、概要文件属于非对象模式。
3) 如何进行模式的选择与切换?
用户以normal身份登录,则进入同名模式;用户以sysdba身份登陆进入sys模式;用户以sysoper身份登陆,进入public模式。
4) 说明索引的作用,以及Oracle数据库中索引的类型。
数据库中引入索引的目的是提高对表中数据的查询速度。
类型:1.唯一性索引与非唯一性索引2.平衡树索引与位图索引3.单列索引与复合索引4.函数索引。
二、实验报告
一、 实验目的
1) 掌握表的创建与管理。
2) 掌握索引的创建与管理。
3) 掌握视图的创建与管理。
4) 掌握序列的创建与管理。
5) 了解簇、同义词、数据库链接等其他模式对象的管理
二、 实验环境
Windows 7/Windows 10 + Oracle10g+PL/SQL Developer
三、 实验内容及要求
1)为图书销售系统创建数据表。
2)在图书销售系统适当表的适当列上创建适当类型的索引。
3)为图书销售系统创建视图。
4)为图书销售系统创建序列。
四、 实验步骤
1) 打开SQL Plus,以system用户登录BOOKSALES数据库。
Sqlplus system/oracle
2) 按下列方式创建一个用户bs,并给该用户授权。
SQL>CREATE USER bs INDENTIFIED BY bs DEFAULT TABLESPACE USERS;
SQL>GRANT RESOURCE, CONNECT, CREATE VIEW TO bs;
create user bs identified by bs default tablespace users;
grant resource,connect,create view to bs;
3) 使用bs用户登录数据库,并进行下面的相关操作。
Conn bs/bs
4) 根据图书销售系统关系模式设计,创建表A-1至表A-6。
create table customers(customer_id number(4) primary key,name char(20) not null,phone varchar2(50) not null,email varchar2(50),address varchar2(200),code varchar2(10));create table publishers(publisher_id number(2) primary key,name varchar2(50),contact char(10),phone varchar2(50));create table books(ISBN varchar2(50) primary key,title varchar2(50),author varchar2(50),pubdate date,publisher_id number(2),cost number(6,2),retail number(6,2),category varchar2(50),foreign key(publisher_id)references publishers(publisher_id));create table orders(order_id number(4) primary key,customer_id number(4) ,orderdate date,shipdate date,shipaddress varchar2(200),shipcode varchar2(10),foreign key(customer_id) references customers(customer_id));create table orderitem(order_id number(4),item_id number (4),isbn varchar2(50) not null,quantily number(4),primary key(order_id,item_id),foreign key(order_id) references orders(order_id));create table promotion(gift_id number(2),name char(20) primary key,minretail varchar2(50),maxretail char(10));
5) 在CUSTOMERS表的name列上创建一个B-树索引,要求索引值为大写字母。
create index customer_name_index on customers(upper(name));
6) 在BOOKS表的title列上创建一个非唯一性索引。
create index books on books(title);
7) 在ORDERS表的ISBN列上创建一个唯一性索引。
create unique index orders_index on orders(isbn) ;
8) 创建一个视图customers_book,描述客户与订单的详细信息,包括客户编号、客户名单、订购图书的ISBN、图书名称、图书数量、订货日期、发货日期等。
create view customers_book as
select c.customer_id,c.name,b.isbn,title,orderdate,shipdate
from customers c,books b,orderitem o1,orders o2
where c.customer_id=o2.customer_id and o2.order_id=o1.order_id and o1.ISBN=b.ISBN;
9)创建一个视图customers_gift,描述客户获得礼品的信息,包括客户名称、图书总价、礼品名称。
create view customers_gift(customers_name,book_allcost,gift_name)
as
select cname,p.name
from(select c.name cname
from customers c join orders o on c.customer_id=o.customer_id
join ordertime oi on o.order_id=oi.order_id
join books b on oi.ISBN=b.ISBN
group by c.name) orderinfo
join promotion p on allcost between minretail and maxretail;
10)定义序列seq_customers,产生客户编号,序列起始值为1,步长为1,不缓存,不循环。
create sequence seq_customers start with 1 increment by 1 nocache nocycle;
11)定义序列seq_orders,产生订单编号,序列起始值为1000,步长为1,不缓存,不循环。
create sequence seq_orders start with 1000 increment by 1 nocache nocycle;
12)定义序列seq_promotion,产生礼品编号,序列起始值为1,步长为1,不缓存,不循环。
create sequence seq_promotion start with 1 increment by 1 nocache nocycle;
五、 思考题
数据库中使用索引的优点和缺点,索引是如何工作的?
优点:可以提高对表中数据的查询速度。缺点:索引越多,维护索引所需开销越大。当更新表时,需要同时更新于表有关的索引,降低了数据的维护速度。索引需要占用物理空间,特别是聚集索引,需要较大的空间。
Oracle数据库模式对象管理相关推荐
- oracle实验报告4:Oracle数据库模式对象管理(含实验小结)
实验目的 1.掌握表的创建与管理. 2.掌握索引的创建与管理. 3. 掌握视图的创建与管理. 4. 掌握序列的创建与应用. 实验设备及器材 安装有ORACLE软件的计算机 实验内容 1.创建表. 2. ...
- 实验4 Oracle数据库模式对象管理
一.实验目的: (1)掌握表的创建与管理. (2) 掌握索引的创建与管理. (3) 掌握视图的创建与管理. (4) 掌握序列的创建与应用. 二.实验环境: Oracle 11g 三.实验 ...
- 【Oracle 实验 实验4 Oracle数据库模式对象管理】
1 实验目的 掌握表的创建与管理. 掌握索引的创建与管理. 掌握视图的创建与管理. 掌握序列的创建与应用. 2 实验要求 为图书销售系统创建表. 在图书销售系统适当表的适当列上创建适当类型的索引. 为 ...
- Oracle数据库模式对象管理问题与解决
- 简述oracle的主要数据库对象,Oracle数据库数据对象分析
Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...
- Oracle数据库之对象视图、索引、序列、同义词
Oracle数据库总结: Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表和管理表 Oracle数据库之对象视图.索引.序列.同义词 视图: 语法: create ...
- aix oracle 登录用户,AIX 系统及 Oracle 数据库用户权限管理
AIX 系统及Oracle 数据库用户权限管理 1.AIX 系统用户管理.系统用户管理 1.1 对于root 用户.在aix 系统中root 账户是具有最高特权的,因此保护好root 的密码尤为重要, ...
- oracle青蛙工具,要对Oracle数据库进行远程管理,可以采用的工具是( )。
要对Oracle数据库进行远程管理,可以采用的工具是( ). 更多相关问题 爱新觉罗·溥仪是清王朝最后一位帝王.他在位时年号(). PowerPoint中不应用设计模板,将无法设计幻灯片. 手工电弧及 ...
- Abp项目模板使用Oracle数据库包括系统权限管理
Abp项目模板使用Oracle数据库包括系统权限管理 by dacong 参考:Abp项目的创建以及Oracle的支持 aspnet-zero-core 使用MySql数据库 http://www.s ...
最新文章
- 世界上最伟大的10个公式,其中一个人尽皆知
- 第十六届全国大学生智能车竞赛创意组别-航天智慧物流
- 智能音箱自己把自己黑了:随机购物拨号,自主开灯关门,平均成功率达88%
- 【Matlab 控制】函数调用函数
- jQuery实现新浪微博自动底部加载的方法
- iis vue history 配置_Vue实战——vueRouter路由的添加与配置
- Microsoft Windows Workflow Foundation 入门:开发人员演练
- java同事不写泛型_跳了一次JAVA泛型擦除的坑
- test2 3-16 2021 模拟赛two
- jzoj4804-[NOIP2016提高A组模拟9.28]成绩调研【指针,模拟】
- 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...
- springmvc默认方法名为映射名_SpringIoC和SpringMVC的快速入门
- 教你解决ssh连接慢的问题
- Spring AOP实例——异常处理和记录程序执行时间
- 【Flutter】IOS打包
- 桌面无法显示计算机,win10 桌面计算机无法显示
- 日工资,月工资,加班费,个人所得税,年终奖计算方法
- 4.2 分类效果的评价
- Python爬虫lxml解析实战
- 2017-11-11 白银下跌简要分析
热门文章
- 中国鱼探测仪市场深度研究分析报告
- 计算机硬盘容量分盘计算,硬盘分区容量精确计算公式 -电脑资料
- 计算机二级python常考知识点
- 【干货】毕业一年升P6的前端晋升总结
- [闪存 2.1] 闪存芯片物理结构与_SLC/MLC/TLC/QLC
- java 账本 创建数据库_花了3多个小时搞的小型账本程序(源代码)第一部分
- 大富翁4 android,大富翁4安卓版
- 【sdx62】WCN6855 WCN6856 bdf and firmware说明
- 赛美特完成超5亿融资:估值超60亿 经纬创投领投,天善资本再加码
- 激光雷达+rtk+rgb联合使用(4)