版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章模式对象重点数据是描述事物的符号,是数据库中存储的基本对象。在计算机中,用记录的形式来描述数据。数据与数据的解释即数据的语义是紧密结合的。数据库是指按一定的数据模型组织、描述和存储的数据的集合。数据库管理系统是位于操作系统与用户之间的一层数据管理软件。数据库系统是指数据库、数据库管理系统与计算机系统的结合。通常,在不引起混淆的情况下将数据库系统简称为数据库。数据库管理系统的重要功能涉及:数据定义、数据操纵、数据库运营与控制、数据库建立与维护、数据字典定义以及数据通信等。数据库管理系统的内部分多个层次,由应用层、语言定义及其翻译解决层、数据存取层、数据存储层、操作系统以及数据库组成。数据库系统由数据库、操作系统、数据库管理系统、开发工具、应用系统、数据库管理员以及数据库用户组成。概念模型是用简朴、清楚、用户易于理解的概念来描述现实世界具体事物及事物之间的关系。它是现实世界到信息世界的抽象,是数据库设计人员进行数据库设计的工具,与具体的数据库管理系统无关。组织数据模型是从数据组织方式的角度来描述信息,它决定了数据在数据库中的组织结构。关系数据库的完整性约束涉及三类:实体完整性、参照完整性和用户定义完整性。
实体完整性:是指关系中必须定义主键,以惟一的拟定一个元组。主键由一个或多个属性构成,其取值惟一且不能为空(NULL)。参照完整性:在关系模型中,通过外键来表达表之间的联系。参照完整性是指一个表中的外键的取值必须是参照表中主键存在的值或为空(NULL)。例如,学生信息表中“班号”属性为外键,其取值必须是班级信息表中“班号”属性的某一个值或为空。
用户定义完整性:是指用户根据特定应用情况,设定一些约束,反映某一具体应用所涉及的数据必须满足的语义规定。例如,“性别”属性的域为“男、女”。Oracle数据库体系结构由物理存储结构、逻辑存储结构和实例组成。其中物理存储结构描述了操作系统层次数据的存储与管理,涉及数据文献、日记文献、重做日记文献等组成。逻辑结构描述了数据库内部数据的组织与管理,由表空间、段、区、块组成。实例是数据库运营的软件结构,由内存结构和后台进程组成。数据库运营过程中,用户的操作在内存区中进行,最终通过后台进行转化为对数据库的操作。关系模式如下:
教师(教师号,姓名,性别,出生日期,系,职称,课程号)
课程(课程号,课程名,学分)
学生(学号,姓名,性别,年龄,班级,系)
学习(学号,课程号,成绩)文本初始化参数文献是一个本地的参数化文献,无论是启动本地数据库还是远程数据库,都需要读取一个本地化参数文献,并使用其中的设立来配置数据库实例。因此要启动远程数据库,则必须在本地的客户机中保存一份文本初始化文献的副本。本初始化参数文献的修改必须通过管理员手动进行。服务器初始化参数文献是一个保存在数据库服务器端的二进制文献。假如管理员需要远程启动数据库实例,并不需要在客户机中保存一份初始化参数文献副本,实例会自动从服务器中读取服务器初始化参数文献。保证同一个数据库的多个实例都具有相同的初始化参数设立;8、Oracle数据库物理存储结构涉及数据文献、控制文献、重做日记文献、初始化参数文献、归档文献、口令文献等。在控制文献中记录了当前数据库所有的数据文献的名称与位置、重做日记文献的名称与位置,以及数据文献、重做日记文献的状态等。9、数据文献中保存了数据库中的所有数据,涉及数据字典以及用户数据。10、控制文献保存数据库的物理结构信息,涉及数据库名称、数据文献的名称与状态、重做日记文献的名称与状态等。在数据库启动时,数据库实例依赖初始化参数定位控制文献,然后根据控制文献的信息加载数据文献和重做日记文献,最后打开数据文献和重做日记文献。11、重做日记文献是以重做记录的形式记录、保存用户对数据库所进行的修改操作,涉及用户执行DDL、DML语句的操作。假如用户只对数据库进行查询操作,那么查询信息是不会记录到重做日记文献中的。12、归档:数据库可以在崇左日记文献被覆盖之前将其内容保存到指定的位置,被保存的重做日记文献的集合称为归档重做日记,这个过程称为归档。归档是数据库恢复及热备份的基础。只用当数据库归档模式时,才可以进行热备份和完全恢复。进行归档设立涉及归档模式设立(ARCHIVELOG)、归档方式设立以及归档途径的设立等。
13、重做日记文献德工作方法:每个数据库至少需要两个重做日记文献,采用循环写的方式进行工作。当一个重做日记文献在进行归档时,尚有另一个重做日记文献可用。当一个重做日记文献被写满后,后台进程LGWR开始写入下一个重做日记文献,即日记切换,同时产生一个“日记序列号”,并将这个号码分派给即将开始使用的重做日记文献。当所有的日记文献都写满后,LGWR进程再重新写入第一个日记文献。1、
说明数据库逻辑存储结构的组成和互相关系。
Oracle9i数据库的逻辑存储结构分为数据块、区、段和表空间四种。其中,数据块是数据库中的最小I/O单元,由若干个连续的数据块组成的区是数据库中最小的存储分派单元,由若干个区形成的段是相同类型数据的存储分派区域,由若干个段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。
(2)
说明数据库表空间的种类,以及不同类型表空间的作用。
数据库表空间分为系统表空间和非系统表空间两类,其中非系统表空间涉及撤消表空间、临时表空间和用户表空间等。
SYSTEM表空间重要用于存储数据库的数据字典、PL/SQL程序的源代码和解释代码、数据库对象的定义。撤消表空间专门进行回退信息的自动管理。临时表空间是专门进行临时段管理的表空间。用户表空间用于分离不同应用的数据,并且可以减少读取数据文献时产生的I/O冲突。(3)
说明数据库、表空间、数据文献以及数据库对象之间的关系。
一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。一个表空间相应一个或多个数据文献,数据文献的大小决定了表空间的大小。一个数据文献只能从属于一个表空间。一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所相应的一个或多个数据文献中。
(4)
数据库表空间的管理方式有几种,各有什么特点?
数据库表空间的管理方式有两种:字典管理方式和本地管理方式。在字典管理方式下,表空间使用数据字典来管理存储空间的分派,当进行区的分派与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回退信息和重做信息。在本地管理方式中,区的分派和管理信息都存储在表空间的数据文献中,而与数据字典无关。
(5)
表空间管理时应考虑哪些问题?
表空间管理时,应当遵循以下原则:
将数据字典与用户数据分离;
将回退数据与用户数据分离;
将表空间的数据文献分散保存到不同的硬盘上;
为不同的应用创建独立的表空间。
(6)
运用手动管理方式,如何有效管理数据块的使用?
DBA可以运用手动管理方式,通过为段设立PCTFREE和PCTUSED两个参数来控制数据块中空闲空间的使用。
(7)
数据库中常用的段有哪几种,分别起什么作用?
根据存储对象类型不同,可以分为数据段、索引段、临时段和回退段四类。数据段用来存储表或簇的数据。索引段用来存放索引信息,涉及ROWID和索引键值。临时段用来保存SQL语句在解释和执行过程中所产生的临时数据。回退段用于保存数据修改之前的信息,涉及数据修改前的值及其位置,即记录数据库中所有事务修改之前信息的段。
(8)
说明回退段的作用,以及回退段的管理方式。
运用回退段中保存的信息,可以实现事务回滚、数据库恢复和数据的读一致性。回退段的管理有两种方式,即自动撤消管理和手动撤消管理。实训题
章101、建表:Create
table
class(
CNO
number(2)
primary
key,
CNAME
varchar2(20),
NUM
number(3)
)
;Create
table
student(
SNO
number(4)
primary
key,
SNAME
varchar2(10)
unique,
SAGE
number,
SEX
char(2),
CNO
number(2));Alter
table
student
add
constraint
fk_cno
foreign
key
(cno)
references
class(cno)
deferrable;外键约束Alter
table
student
add
constraint
ck_sage
check
(sage>0
and
sage<=100);检查约束alter
table
student
add
constraint
ck_stu
check(sex='M'
or
sex='F')modify
sex
default
'M';Create
unique
index
ind_cname
on
class(cname);
;唯一性约束Create
global
temporary
table
stu_trans
On
commit
delete
rows
as
Select
*
from
student;Create
global
temporary
table
stu_sess
On
commit
preserve
rows
as
Select
*
from
student;Create
table
student(
SNO
number(4)
primary
key,
SNAME
varchar2(10)
unique,
SAGE
number,
SEX
char(2),
CNO
number(2)
)
Organization
index;索引化表create
table
student_list(
sno
number(4)
primary
key,
sname
varchar2(10),sage
number,
sex
char(2),cno
number(2))
partition
by
list(sex)
(partition
man
values('M')
tablespace
orcltbs1,
partition
woman
values('F')
tablespace
orcltbs2)
;Create
sequence
sequ1
increment
by
2
start
with
10000
maxvalue
100000
nocycle;
序列Create
view
employee_v(empno,ename,mgr_no,mgr_name)
As
Select
e1.empno,e1.ename,e1.mgr,e2.ename
from
emp
e1
join
emp
e2
on
e1.mgr=e2.empno;视图CREATE
USER
usera_exer
IDENTIFIED
BY
usera
DEFAULT
TABLESPACE
USERS
QUOTA
10M
ON
USERS
ACCOUNT
LOCK;初始账户为锁定状态GRANT
CREATE
SESSION
TO
usera_exer
WITH
ADMIN
OPTION;
GRANT
SELECT
,UPDATE
ON
scott.emp
TO
usera_exer
WITH
GRANT
OPTION;为usera_exer授予权限并允许其将权限授予其他用户;严禁用户usera_exer将获得的CREATE
SESSION
权限再授予其他用户:REVOKE
CREATE
SESSION
FROM
usera_exer;
GRANT
CREATE
SESSION
TO
usera_exer;创建角色、授予权限:CREATE
ROLE
rolea;
CREATE
ROLE
roleb;
GRANT
CREATE
TABLE
TO
rolea;
GRANT
INSERT,UPDATE
ON
scott.emp
TO
rolea;
GRANT
CONNECT
,RESOURCE
TO
roleb;
屏蔽用户usera_exer的roleb角色:ALTER
USER
usera_exer
DEFAULT
ROLE
ALL
EXCEPT
roleb;(1)使用SQL命令创建一个本地管理方式下的自动分区管理的表空间USERTBS1,其相应的数据文献大小为20MB。
create
tablespace
USERTBS1
datafile
'd:\oracle\oradata\orcl\usertbs1.dbf'
size
50M
extent
management
local
autoallocate;
(2)使用SQL命令创建一个本地管理方式下的表空间USERTBS2,规定每个分区大小为512KB。
create
tablespace
USERTBS2
datafile
'd:\oracle\oradata\orcl\usertbs2.dbf'
size
50M
extent
management
local
uniform
size
512K;
(3)修改USERTBS1表空间的大小,将该表空间的数据文献修改为自动扩展方式,最大值为100MB。
alter
database
datafile
'd:\oracle\oradata\orcl\usertbs1.dbf'
autoextend
on
next
5M
maxsize
100M;
(4)
为USERTBS2表空间添加一个数据文献,以改变该表空间的大小。
alter
tablespace
USERTBS2
add
datafile
'd:\oracle\oradata\orcl\usertbs2a.dbf'
size
50M;
(5)
使用SQL命令创建一个本地管理方式下的临时表空间TEMPTBS,并将该表空间作为当前数据库实例的默认临时表空间。
create
temporary
tablespace
TEMPTBS
tempfile
'd:\oracle\oradata\orcl\temptbs.dbf'
size
20M
extent
management
local
uniform
size
16K;
(6)使用SQL命令对USERTBS1表空间进行联机和脱机状态转换。
alter
tablespace
USERTBS1
offline;
alter
tablespace
USERTBS1
online;
(7)创建一个回退表空间UNDOTBS,并作为数据库的撤消表空间。
create
undo
tablespace
UNDOTBS
datafile
'd:\oracle\oradata\orcl\undotbs.dbf'
size
20M;
alter
system
set
UNDO_MANAGEMENT=AUTO,UNDO_TABLESPACE=UNDOTBS
scope=both;
(8)删除表空间USERTBS2,同时删除该表空间的内容以及相应的操作系统文献。
drop
tablespace
USERTBS2
including
contents
and
datafiles;
(9)为USERTBS1表空间创建一个回退段,其中回退段的最优大小设立为2MB。
create
rollback
segment
undoseg
tablespace
USERTBS1
storage
(initial
100K
next
100K
optimal
2MB
minextents
20
maxextent
100);
(10)查询当前数据库中所有的表空间及其相应的数据文献信息。
select
tablespace_name,file_name
from
dba_data_files;实训:
(1)insert
into
emp(empno,ename,sal,deptno,hiredate)
values(1357,’oracle’,2050,20,TO_DATE(‘2023-5-10’,’YYYY-MM-DD’);
(2)select
ename,empno,sal,dept.deptno,dname,loc
from
emp
left
join
dept
on
emp.deptno=dept.depno
(3)select
ename,empno,sal,dept.deptno,dname,loc
from
emp
right
join
dept
on
emp.deptno=dept.deptno
(4)select
worker.ename,worker.empno,worker.sal,manager.ename,manager.empno,manager.sal
from
emp
worker,emp
manager
where
worker.mgr=manager.empno
and
worker.deptno=10
select
worker.ename,worker.empno,worker.sal,manager.ename,manager.empno,manager.sal
from
emp
worker
left
join
emp
manager
on
worker.mgr=manager.empno
(5)select
count(*)
,avg(sal)
from
emp
group
by
deptno
(6)select
*
from
emp
where
sal
=
any(select
avg(sal)
from
emp
group
by
deptno)
(7)select
*
from
emp
e
where
e.sal
>
(select
avg(sal)
from
emp
where
deptno=e.deptno)
8)查询工资高于本部门平均工资的员工的信息及其部门的平均工资:select
e.ename,e.empno,e.sal,e.deptno,s.avgsal
from
emp
e,(select
deptno
,avg(sal)
avgsal
from
emp
group
by
deptno)
s
where
e.sal>s.avgsal
and
e.deptno=s.deptno
select
*
from
emp
sal>any(select
sal
from
emp
where
deptno=20)(10)Select
job,
count(*),avg(sal)
from
emp
group
by
job
(11)select
deptno,job,count(*),
avg(sal)
from
emp
group
by
deptno,job
(12)select
*
from
emp
where
(sal,
nvl(comm.,0))
in
(select
sal,nvl(comm,0)
from
emp
where
deptno=10)
(13)select
*
from
emp
where
deptno
in
(select
deptno
from
emp
group
by
deptno
having
count(*)>5)
select
*
from
dept
where
deptno
not
in
(select
deptno
from
emp
where
sal<2023)
select
dept.deptno,dname,loc,ename,empno,sal
from
emp
,dept
where
emp.deptno=dept.deptno
and
deptno
not
in
(select
deptno
from
emp
where
sal<2023)
(16)select
*
from
dept
where
deptno
not
in
(select
deptno
from
emp
where
sal
not
between
2023
and
3000)
17select
*
from
emp
where
deptno
in
(select
distinct
deptno
from
emp
where
sal
between
2023
and
3000)
18select
detp.deptno,dname,loc
from
dept,
emp
worker,emp
manager
where
dept.deptno=manager.deptno
and
worker.mgr=manager.empno
(19)insert
into
emp(ename,empno,mgr,job,hirdate,sal,
comm.,deptno)
select
‘FAN’,8000,mgr,job,hirdate,sal,comm.,deptno
from
emp
where
ename=’SMITH’
(20)update
emp
e
set
sal=1000+(select
avg(sal)
from
emp
where
deptno=e.deptno)简答:数据库实例ﻩ是数据库系统的软件结构,由内存结构与后台进程组成,处在用户与物理数据库之间,实现对数据库的操作。SGA区由数据缓冲区、共享池、重做日记缓冲区、大型池、JAVA池构成;PGA区由排序区、私有SQL区以及堆栈构成。SGA区是由Oracle分派的共享内存结构,包含一个数据库实例共享的数据和控制信息。当多个用户同时连接同一个实例时,SGA区数据供多个用户共享,所以SGA区又称为共享全局区。用户对数据库的各种操作重要在SGA区中进行。该内存区随数据库实例的创建而分派,随实例的终止而释放。PGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分派的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA区总和即为实例的PGA区的大小。数据库中有哪些类型的表?各有什么特性?在Oracle
数据库中,根据表生存周期不同,可以分为永久性表和临时表;根据表中数据组织方式不同,可以分为标准表、索引化表和分区表。索引化表是一种特殊的表,它按B树的结构来组织和存储数据,将表的数据和索引的数据存储在一起。分区表是将一个表提成若干个独立的组成部分进行存储和管理。表的约束涉及:
主键约束:定义了主键约束的列取值不能为空,也不能反复。
唯一值约束:定义了唯一值约束的列取值不能反复。
检查约束:定义了检查约束的列取值要满足检查条件。
外键约束:定义了外键约束的列取值要么是主表参照列的值,要么是空值。
空/非空约束:定义了非空约束的列取值不能为空。使用索引的优点和缺陷,索引如何工作?ﻩﻩﻩ在数据库中使用索引可以提高对表中数据的查询速度,但是,向表中插入数据需要更新索引,会影响更新速度。假如表建了索引,在有条件查询时,系统先对索引表进行查询,运用索引表可以找到相应记录的ROWID。索引建好后,由系统负责更新。Oracle数据库中权限有哪几种?Oracle数据库中权限有两
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医学专家知识保护协议
- 2025年农村废弃民房购买合同
- 2025年分期付款购买装修家具协议
- 2025年代理商业务保密协议
- 2025年奢侈品销售代理合作合同
- 2025年室内装饰施工验收设计协议
- 2025年度定制化母婴护理月嫂服务合同4篇
- 高空设施安装与拆除作业安全协议书3篇
- 2025版大学食堂冷链食材配送服务合同模板3篇
- 2025版土地证抵押个人借款合同示范文本3篇
- 2025届高考英语 716个阅读理解高频词清单
- 报建协议书模板
- 汽车配件购销合同范文
- 贵州省2024年中考英语真题(含答案)
- 施工项目平移合同范本
- (高清版)JTGT 3360-01-2018 公路桥梁抗风设计规范
- 胰岛素注射的护理
- 云南省普通高中学生综合素质评价-基本素质评价表
- 2024年消防产品项目营销策划方案
- 闻道课件播放器
- 五星级酒店收入测算f
评论
0/150
提交评论