‘D:\\ORACLE\\ORADATA\\ORCL\%userdata005.dbf’, ‘D:\\ORACLE\\ORADATA\\ORCL\\example005.dbf’;
ALTER DATABASE OPEN; (13)
ALTER DATABASE BACKUP CONTROLFILE TO ‘D:\\ORACLE\\CONTROL.BKP’;
(14)
ALTER DATABASE ADD LOGFILE GROUP 5 (‘D:\\ORACLE\\ORADATA\\ORCL\\redo05a.log’,
’D:\\ORACLE\\ORADATA\\ORCL\\redo05b.log’)SIZE 5M; (15)
ALTER DATABASE ADD LOGFILE MEMBER ‘D:\\ORACLE\\ORADATA\\ORCL\\redo05c.log’ TO GROUP 5;
(16)
SHUTDOWN IMMEDIATE STARTUP MOUNT
ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
ALTER SYSTEM ARCHIVE LOG START
(17)
ALTER SYSTEM SET LOG_ARCHIVE_DEST=’D:\\ORACLE\\BACKUP’
3.选择题
(1) B (2) A (3) B (4) B (5) A (6) D (7) BC (8) A (9) A (10) C (11) B (12) C (13) B (14) B (15) C (16) BC (17) B (18) AC (19) BD (20) C
(21) A (22) AC
第6章 数据库对象的创建与管理
1.简答题
(1)
在Oracle 数据库中,根据表生存周期不同,可以分为永久性表和临时表;根据表中数据组织方式不同,可以分为标准表、索引化表和分区表。索引化表是一种特殊的表,它按B树的结构来组织和存储数据,将表的数据和索引的数据存储在一起。分区表是将一个表分成若干个独立的组成部分进行存储和管理。 (2)
表的约束包括:
? 主键约束:定义了主键约束的列取值不能为空,也不能重复。 ? 唯一值约束:定义了唯一值约束的列取值不能重复。 ? 检查约束:定义了检查约束的列取值要满足检查条件。
? 外键约束:定义了外键约束的列取值要么是主表参照列的值,要么是空值。 ? 空/非空约束:定义了非空约束的列取值不能为空。 (3)
索引用于提高数据的查询效率。根据索引值是否唯一,可以分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可以分为平衡树索引和位图索引;根据索引基于的列数不同可以分为单列索引和复合索引。
(4)
视图是从一个或多个表或视图中提取出来的数据的一种表现形式。在数据库中只有视图的定义,而没有实际对应“表”的存在。通过视图的使用可以提高数据的安全性,隐藏数据的复杂性,简化查询语句,分离应用程序与基础表,保存复杂查询等。 (5)
序列是用于产生唯一序列号的数据库对象,可以为多个数据库用户依次生成不重复的连续整数,通常使用序列自动生成表中的主键值。
序列创建后,可以通过序列NEXTVAL属性产生序列值,通过属性CURRVAL查看当前的序列值。
(6)
分区的必要性:
? 提高数据的安全性,一个分区的损坏不影响其他分区中数据的正常使用; ? 将表的各个分区存储在不同磁盘上,提高数据的并行操作能力;
? 简化数据的管理,可以将某些分区设置为不可用状态,某些分区设置为可用状态,
某些分区设置为只读状态,某些分区设置为读写状态;
? 操作的透明性,对表进行分区并不影响操作数据的SQL语句。
对表进行分区的方法包括:
? 范围分区:按照分区值的范围对表进行分区。
? 列表分区:按照分区值对表进行分区。
? 散列分区:采用HASH算法在指定数量的分区中均等地分配数据。 ? 复合分区:先对表进行范围分区,然后对每个分区进行散列分区。 (7)
本地分区索引是指为分区表中的各个分区单独创建索引分区,各个索引分区之间是相互独立的,索引的分区与表的分区是一一对应的。
全局分区索引:全局分区索引是指先对整个表建立索引,然后再对索引进行分区。索引的分区之间不是相互独立的,索引分区与表分区之间也不是一一对应的
全局非分区索引:建立索引但不分区
2.实训题
(1)略 (2)
Create table exer_class(
CNO number(2) primary key, CNAME varchar2(20), NUM number(3) )
Create table exer_student( SNO number(4) primary key, SNAME varchar2(10) unique, SAGE number, SEX char(2), CNO number(2) ) (3)
Alter table exer_student add constraint ck_sage check (sage>0 and sage<=100); (4)
alter table exer_student add constraint ck_stu check(sex='M' or sex='F')modify sex default 'M' (5)
Create unique index ind_cname on exer_class(cname); (6)
Create view s_c as
Select sno,sname,sage,sex,s.cno,cname,num From exer_class c join exer_student s On c.cno=s.cno; (7)
Create sequence sequ1 start with 100000001;
(8)
create table exer_student_range(
sno number(4) primary key,
sname varchar2(10),sage number, sex char(2),cno number(2)) partition by range(sage)
(partition part1 values less than(20) tablespace example, partition part2 values less than(30) tablespace orcltbs1,
partition part3 values less than(maxvalue) tablespace orcltbs2) (9)
create table exer_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) (10)
Create index ind on exer_student_range(sno) local;
3.选择题
(1) C (2) A (3) D (4) B (5) AB (6) B (7) A C (8) B (9) B (10) C (11) BD (12) ACE