oracle实验报告4:Oracle数据库模式对象管理(含实验小结)
实验目的
1.掌握表的创建与管理。
2.掌握索引的创建与管理。
3. 掌握视图的创建与管理。
4. 掌握序列的创建与应用。
实验设备及器材
安装有ORACLE软件的计算机
实验内容
1.创建表。
2.创建索引。
3.创建视图。
4.创建序列。
实验要求
1.为图书销售系统创建表。
2.在图书销售系统适当表的适当列上创建适当的类型的索引。
3. 为图书销售系统创建视图。
4. 为图书销售系统创建序列。
实验步骤(给出相应代码及其运行截图)
2.按下列方式创建一个用户bs,并给该用户授权。
SQL>CREATE USER bs IDENTIFIED BY bs DEFAULT TABLESPACE USERS;
SQL>GRANT RESOURCE, CONNECT, CREATE VIEW TO bs ;
3.使用bs用户登录数据库,并进行下面的相关操作。
SQL>conn bs
然后输入口令:bs
4. 根据图书销售系统关系模式设计,创建表A-I至表A-6。
表A-1 CUSTOMERS
字段名 |
数据类型 |
长度 |
约束 |
说明 |
customer_id |
NUMBER |
4 |
PRIMARY KEY |
客户编号 |
name |
CHAR |
20 |
NOT NULL |
客户名称 |
phone |
VARCHAR2 |
50 |
NOT NULL |
电话 |
|
VARCHAR2 |
50 |
|
|
address |
VARCHAR2 |
200 |
地址 |
|
code |
VARCHAR2 |
10 |
邮政编码 |
表A-2 PUBLISHERS
字段名 |
数据类型 |
长度 |
约束 |
说明 |
publisher_id |
number |
2 |
primary key |
出版社号 |
name |
varchar2 |
50 |
出版社名 |
|
contact |
char |
10 |
联系人 |
|
phone |
varchar2 |
50 |
电话 |
表A-3 BOOKS
字段名 |
数据类型 |
长度 |
约束 |
说明 |
ISBN |
VARCHAR2 |
50 |
PRIMARY KEY |
图书号 |
title |
VARCHAR2 |
50 |
图书名 |
|
author |
VARCHAR2 |
50 |
作者 |
|
pubdate |
DATE |
出版日期 |
||
publisher_id |
NUMBER |
2 |
出版社ID |
|
cost |
NUMBER |
6,2 |
批发(大于10本)价格 |
|
retail |
NUMBER |
6,2 |
零售价格 |
|
category |
VARCHAR2 |
50 |
图书类型 |
表A-4 ORDERS
字段名 |
数据类型 |
长度 |
约束 |
说明 |
order_id |
number |
4 |
primary key |
订单号 |
customer_id |
number |
4 |
foreign key |
顾客号 |
orderdate |
date |
not null |
订货日期 |
|
shipdate |
date |
发货日期 |
||
shipaddress |
varchar2 |
200 |
发货地址 |
|
shipcode |
varchar2 |
10 |
发货邮政编码 |
表A-5 ORDERITEM
字段名 |
数据类型 |
长度 |
约束 |
说明 |
|
order_id |
number |
4 |
foreign kye |
primary key |
订单号 |
item_id |
number |
4 |
订单明细号 |
||
ISBN |
varchar2 |
50 |
not null |
图书编号 |
|
quantity |
number |
4 |
图书数量 |
表A-6 PROMOTION
字段名 |
数据类型 |
长度 |
约束 |
说明 |
gift_id |
number |
2 |
礼品编号 |
|
name |
char |
20 |
primary key |
礼品名称 |
minretail |
varchar2 |
50 |
图书最低价 |
|
maxretail |
vhar |
10 |
图书最高价 |
5.在CUSTOMERS表的name列上创建一个B-树索引,要求索引值为大写字母。
Create index CUSTOMERS_B_NAME_INDEX on CUSTOMERS(name) tablespace users storage (initial 20K next 20k pctincrease 75);
6.在BOOKS表的title列上创建一个非唯一性索引。
create index BOOKS_TITLE_NOUNIQUE on books(title);
7.在ORDERITEM表的ISBN列上创建一个唯一性索引。如图7
Create unique index ORDERITEM_ISBN_UNIQUE_INDEX on ORDERITEM(ISBN);
8.创建一个视图customers_book,描述客户与订单的详细信息,包括客户编号、客户名单、订购图书的ISBN、图书名称、图书数量、订货日期、发货日期等。
Create view customers_book
as
select dg.customer_id 客户编号 , dg.name 客户名称, dbc.ISBN 订购图书的ISBN, dbc.title 图书名称 , dbc.quantity 图书数量,dg.orderdate 订货日期 ,dg.shipdate 发货日期
from
(select cs.customer_id,cs.name, os.orderdate , os.shipdate ,os.order_id
from orders os left join customers cs on os.customer_id = cs.customer_id) dg ,
(select ot.ISBN , b.title ,ot.quantity ,ot.order_id
from orderitem ot left join books b on ot.ISBN = b.ISBN ) dbc
where dg.order_id = dbc.order_id;
9.创建一个视图customers_ gif,描述客户获得礼品的信息,包括客户名称、订购图书名称、图书总价、礼品名称。
create view customers_ gif
as
select * from
(select cs.name , os.order_id
from orders os left join customers cs on os.customer_id = cs.customer_id) dg ,
(select b.title ,ot.quantity ,ot.order_id , b.retail * ot.quantity allprice , po.name
from orderitem ot left join books b on ot.ISBN = b.ISBN
left join promotion po on po.gift_id = ot.item_id
) dbc
where dg.order_id = dbc.order_id;
10.定义序列seq_customers, 产生客户编号,序列起始值为1,步长为1,不缓存,不循环。
create sequence seq_customers increment by 1 start with 1 ;
11. 定义序列seq_orders, 产生订单编号, 序列起始值为1000步长为1, 不缓存,不循环。
create sequence seq_orders increment by 1 start with 1000 ;
12. 定义序列scq oderitem产生订单编号,序列起始值为1,步长为1, 不缓存,不循环。
create sequence scq_oderitem increment by 1 start with 1;
实验小结
通过本实验,我掌握了表、索引、视图、序列的创建和管理、应用,学会了数据库的基本操作。
oracle实验报告4:Oracle数据库模式对象管理(含实验小结)相关推荐
- Oracle数据库模式对象管理
实验四 Oracle数据库模式对象管理 一.预习报告 一. 实验目的 1) 掌握表的创建与管理. 2) 掌握索引的创建与管理. 3) 掌握视图的创建与管理. 4) 掌握序列的创建与管理. 5) 了解簇 ...
- 实验4 Oracle数据库模式对象管理
一.实验目的: (1)掌握表的创建与管理. (2) 掌握索引的创建与管理. (3) 掌握视图的创建与管理. (4) 掌握序列的创建与应用. 二.实验环境: Oracle 11g 三.实验 ...
- 【Oracle 实验 实验4 Oracle数据库模式对象管理】
1 实验目的 掌握表的创建与管理. 掌握索引的创建与管理. 掌握视图的创建与管理. 掌握序列的创建与应用. 2 实验要求 为图书销售系统创建表. 在图书销售系统适当表的适当列上创建适当类型的索引. 为 ...
- Oracle数据库模式对象管理问题与解决
- java数组使用实验报告_JAVA数组与类的定义-java实验报告
JAVA数组与类的定义-java实验报告 JAVA数组与类的定义-java实验报告 .实验目的与要求 1. 熟悉Java类.对象和方法的一般操作练习等. 2. 熟悉数组等的定义和使用. 二.实验内容及 ...
- plc实验报告流程图_可编程控制器及应用实验报告.doc
<可编程控制器及应用实验报告.doc>由会员分享,可在线阅读,更多相关<可编程控制器及应用实验报告.doc(23页珍藏版)>请在装配图网上搜索. 1.可编程控制器及应用实验报告 ...
- 计算机组成原理判零实验,计算机组成原理实验报告 进位位控制、通用寄存器判零实验...
<计算机组成原理实验报告 进位位控制.通用寄存器判零实验>由会员分享,可在线阅读,更多相关<计算机组成原理实验报告 进位位控制.通用寄存器判零实验(17页珍藏版)>请在人人文库 ...
- 太原理工大学linux与python编程r实验报告_太原理工大学算法设计与分析实验报告...
<太原理工大学算法设计与分析实验报告>由会员分享,可在线阅读,更多相关<太原理工大学算法设计与分析实验报告(12页珍藏版)>请在人人文库网上搜索. 1.本科实验报告课程名称: ...
- c语言编程物理实验,大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究...
大学物理实验报告大全C语言编程在大学物理实验中处理数据的研究 摘要 用C语言编程的方法处理比较复杂的实验数据,简捷准确且避免了传统方法的弊端,与用Excel处理数据的方法相比,其结果更符合误差理论. ...
最新文章
- 100G内存下,MySQL查询200G大表会OOM么?
- Google团队在DNN的实际应用方式的整理
- [NSDI 17] TuX2: 面向机器学习的分布式图计算系统 学习总结
- 面试官:Maven 的这 7 个问题你思考过没有?
- python开发是不是苦累_Python 2.7 辛苦了,你好Python 3.7
- linux_mint语言卡住,使用linux mint 16的容易死机怎么处理?
- Django:ORM关系字段
- 抛物线运动JavaScript实现
- flink中的WaterMark调研和具体实例
- 图谱问答-理解query
- YOLO目标检测,训练自己的数据集(识别海参)
- 黑马程序员C++学习笔记(第一阶段:基础)
- win下使用VM虚拟机安装Linux系统
- ocr图像识别引擎_CycleGAN作为OCR图像的去噪引擎
- 父与子的编程python_父与子的编程之旅:与小卡特一起学Python 完整版
- 设置代理后谷歌浏览器无法使用代理
- vlan划分-通过物理接口实现vlan通信
- 论文Robust Range Estimation with a Monocular Camera for Vision-Based FCW System解读
- cx oracle 输出中文,输出cx语言
- 教师公开课教学课件PPT模板
热门文章
- 【网络编程】基于TCP/IP协议的C/S模型
- 为什么不是 GitBook 而是 GitChat?
- C/C++编程:reference to non-static member function must be called
- 微服务(二)——注册中心(Eureka、Nacos)
- 【MindSpore】 No module named apos;mindspore.dataset.transformsapos;
- 运筹学基础【一】 之 导论
- 拼多多给羊毛党发年终奖背后的那些事
- 室内定位——视觉方法的发展
- 悟空榜+直播,苏宁618开启数字化零售新玩法
- 为什么那么多人喜欢用CTA策略?