实验四 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数据库模式对象管理相关推荐

  1. oracle实验报告4:Oracle数据库模式对象管理(含实验小结)

    实验目的 1.掌握表的创建与管理. 2.掌握索引的创建与管理. 3. 掌握视图的创建与管理. 4. 掌握序列的创建与应用. 实验设备及器材 安装有ORACLE软件的计算机 实验内容 1.创建表. 2. ...

  2. 实验4 Oracle数据库模式对象管理

    一.实验目的: (1)掌握表的创建与管理. (2) 掌握索引的创建与管理. (3) 掌握视图的创建与管理. (4) 掌握序列的创建与应用. 二.实验环境:        Oracle 11g 三.实验 ...

  3. 【Oracle 实验 实验4 Oracle数据库模式对象管理】

    1 实验目的 掌握表的创建与管理. 掌握索引的创建与管理. 掌握视图的创建与管理. 掌握序列的创建与应用. 2 实验要求 为图书销售系统创建表. 在图书销售系统适当表的适当列上创建适当类型的索引. 为 ...

  4. Oracle数据库模式对象管理问题与解决

  5. 简述oracle的主要数据库对象,Oracle数据库数据对象分析

    Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...

  6. Oracle数据库之对象视图、索引、序列、同义词

    Oracle数据库总结: Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表和管理表 Oracle数据库之对象视图.索引.序列.同义词 视图: 语法: create ...

  7. aix oracle 登录用户,AIX 系统及 Oracle 数据库用户权限管理

    AIX 系统及Oracle 数据库用户权限管理 1.AIX 系统用户管理.系统用户管理 1.1 对于root 用户.在aix 系统中root 账户是具有最高特权的,因此保护好root 的密码尤为重要, ...

  8. oracle青蛙工具,要对Oracle数据库进行远程管理,可以采用的工具是( )。

    要对Oracle数据库进行远程管理,可以采用的工具是( ). 更多相关问题 爱新觉罗·溥仪是清王朝最后一位帝王.他在位时年号(). PowerPoint中不应用设计模板,将无法设计幻灯片. 手工电弧及 ...

  9. Abp项目模板使用Oracle数据库包括系统权限管理

    Abp项目模板使用Oracle数据库包括系统权限管理 by dacong 参考:Abp项目的创建以及Oracle的支持 aspnet-zero-core 使用MySql数据库 http://www.s ...

最新文章

  1. 世界上最伟大的10个公式,其中一个人尽皆知
  2. 第十六届全国大学生智能车竞赛创意组别-航天智慧物流
  3. 智能音箱自己把自己黑了:随机购物拨号,自主开灯关门,平均成功率达88%
  4. 【Matlab 控制】函数调用函数
  5. jQuery实现新浪微博自动底部加载的方法
  6. iis vue history 配置_Vue实战——vueRouter路由的添加与配置
  7. Microsoft Windows Workflow Foundation 入门:开发人员演练
  8. java同事不写泛型_跳了一次JAVA泛型擦除的坑
  9. test2 3-16 2021 模拟赛two
  10. jzoj4804-[NOIP2016提高A组模拟9.28]成绩调研【指针,模拟】
  11. 不超过20位的小数正则_盘点贵州省的GDP增长:跃居全国20位,超过了两个难以超越的省份...
  12. springmvc默认方法名为映射名_SpringIoC和SpringMVC的快速入门
  13. 教你解决ssh连接慢的问题
  14. Spring AOP实例——异常处理和记录程序执行时间
  15. 【Flutter】IOS打包
  16. 桌面无法显示计算机,win10 桌面计算机无法显示
  17. 日工资,月工资,加班费,个人所得税,年终奖计算方法
  18. 4.2 分类效果的评价
  19. Python爬虫lxml解析实战
  20. 2017-11-11 白银下跌简要分析

热门文章

  1. 中国鱼探测仪市场深度研究分析报告
  2. 计算机硬盘容量分盘计算,硬盘分区容量精确计算公式 -电脑资料
  3. 计算机二级python常考知识点
  4. 【干货】毕业一年升P6的前端晋升总结
  5. [闪存 2.1] 闪存芯片物理结构与_SLC/MLC/TLC/QLC
  6. java 账本 创建数据库_花了3多个小时搞的小型账本程序(源代码)第一部分
  7. 大富翁4 android,大富翁4安卓版
  8. 【sdx62】WCN6855 WCN6856 bdf and firmware说明
  9. 赛美特完成超5亿融资:估值超60亿 经纬创投领投,天善资本再加码
  10. 激光雷达+rtk+rgb联合使用(4)