由于我们创建的块大小与系统默认的块大小不一致会报ora-29339 方法1.
如果我们是以spfile方式启动数据库的,我们只需要对执行以下命令即可.由于本系统默认块的大小为8K,所以我以16为例创建一个非标准的表空间.
alter system set db_16K_cache_size = 20M scope = both ; 方法2.
如果我们是以pfile方式启动数据库的, a.关闭数据库
shutdown immediate;
b.在初始化参数据增加(在pfile 里增加,如果show parameter spfile 没有手动创建一个pflle文件进行启动)
db_16K_cache_size = 20M; c.startup pfile = '路径';
第五章 ORACLE 11g 的表管理
一、单项选择题
1.Oracle表的唯一键约束与主键约束的一个区别是( A ) A.唯一键标识的列可以为空 B. 主键标识的列可以为空 C. 唯一键标识的列只可以为单列 D. 主键标识的列只可以为单列 2.下列哪个是无效的列名?( A )
A.1ST_ID B.CUST# C.ADDRESS1 D.EXCEPTION
3.如果希望在激活约束时不验证表中已有的数据是否满足约束的定义,那么可以使用下列哪个关键字?( D )
A.disactive B.validate C.active D.novalidate 4.SQL语言中,删除一个表的命令是( B ) A. DELETE B. DROP C.CLEAR D. REMORE 5. 有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( C )
13
A.实体完整性约束 B.参照完整性约束 C.用户自定义完整性约束 D.关键字完整性约束
6.如果要修改表的结构,应该使用SQL语言的命令( C )
A.UPDATE TABLE B. MODIFY TABLE C.ALTER TABLE D. CHANGE TABLE
7.如果各类元组在表的主键上取值为空值,那么它违反了关系的______A______完整性约束 A. 实体完整性 B. 引用完整性 C. 域完整性 D. 用户 8.下面关于主键约束的描述正确的是( A ) A.主键约束用于唯一的确定表中的每一行数据。 B.在一个表中,最多只能有两个主键约束。 C.主键约束只能由一个列组成。 D.主键约束不能由一个单列组成。
9.如果希望更新表authors中的first_name列为非空,那么可以使用哪个语句?( B ) A.alter table authors add first_name not null B. alter table authors modify first_name not null C. alter table authors alter first_name not null D. alter table authors drop first_name not null
10. 表Sales存储其在某一天所销售的商品。在一张销售单上可以销售多个商品。表Sales的结构如下:
CREATE TABLE Sales
(cSalesNo char(4) not null, cProductID char(4) not null, dDate datetime not null, mPrice money not null, nQty not null)
关于 表Sales,下述哪个陈述为真?( A )
A.属性cSalesNo 和属性 cProductId的组合作为主关键字。 B.属性cSalesNo 和属性cProductId是候选关键字。 C. 选择属性cSalesNo作为主关键字。
D. 如果属性cSalesNo作为主关键字,则cProductId 属性作为替代关键字。
11.雇员的情况和其所工作的部门存储在表Employee和表 Department中。有许多雇员名字 相同但雇员代码不同。除此之外,在一个部门里,可以有多个雇员。 表Employee创建如下: CREATE TABLE Employee
(ECode char(6) not null,Name char(20) not null,DepartmentId char(4) not null) 表Department创建如下: CREATE TABLE Department
(DepartmentId char(4) not null,DepartmentName char(10) not null) 关于这二张表,下述那条陈述为真?( D )
A.通过在表Department的DepartmentId属性上创建外关键字约束对应表Employee的属性
14
DepartmentId来实现实体完整性
B. 通过在表Employee的DepartmentId属性上创建外关键字约束对应表Department的属性DepartmentId来实现实体完整性
C. 通过在表Department的属性DepartmentId上创建外关键字约束对应表Employee的属性DepartmentId来实现引用完整性。
D.通过在表Employee的属性DepartmentId上创建外关键字约束对应表Department的属性DepartmentId来实现引用完整性。
12.下列哪种约束实现域完整性?( A )
A. 主关键字约束。 B. 检查约束。 C.唯一约束。 D.缺省约束。 13.对于主键的说法错误的是( B )。 A. 主键字段输入的数据不允许重复 B. 主键字段的数据,允许输入空值
C. 若主键由多个键组合而成,则某个主键字段可能存在重复值 D. 主键字段可以是字符数据类型 14.下列哪个对象属于模式对象( C ) A.数据段 B.盘区 C.表 D.表空间
15.为了减少表中的链接记录和迁移记录,应当增大表的哪一个存储参数?( A )。 A.PCTFREE B.PCTUSED C.MAXEXTENTS D.PCTINCREASE
16.你定义了一个对象类型myOBJ,要基于该类型来创建表tab1,语句为( C )。 A.CREATE TABLE tab1 OF myOBJ; B.CREATE TABLE myOBJ OF tab1; C.CREATE TABLE tab1 AS myOBJ;
D.CREATE TABLE tab1 TYPE OF myOBJ;
17.在表tab1中有列为col1,其数据类型为INTEGER,在PL/SQL的DECLARE部分声明了一个变量var1,语句为: var1 tab1.col1%TYPE; 不久后,执行了语句:
ALTER TABLE tab1 MODIFY(col1(NUMBER(5,2)); 则var1的数据类型为( B )。
A. 整数型 B. 数字型 C. 字符型 D. 以上皆非 二、填空题
1. 表 是存储数据的数据库段,是Oracle数据库中的数据存储的基本单位。 2.Oracle中 DESCRIBE 命令可以快速掌握表及其中所有表列的概要。
3.表的系统信息包括表的结构和表的属性等信息,可以使用 user_tables、 user_objects 、 user_segments 和 ser_tab_privs 等数据字典查看有关表和列的属性信息。
4. ROWID实际上保存的是记录的 物理地址 ,因此通过ROWID来访问记录可以获得最快的访问速度。
5.为Student表手动分配存储空间,并且大小由NEXT参数设置,则应使用的语句为 ALTER
15
TABLE Student ALLOCATE EXTENT ;如果为Student表手动分配一个大小为128KB的新盘区,则应使用的语句为 ALTER TABLE Student ALLOCATE EXTENT(SIZE 128K) 。
6.填写下列语句,使其可以为class表的ID列添加一个名为PK_CLASS_ID的主键约束。 ALTER TABLE class Add CONSTRAINT PK_CLASS_ID PRIMARY KEY(ID) 。
7.在STORAGE子句中可以设置6个存储参数。其中, INITIAL 指定为表中的数据分配的
第一个盘区大小; NEXT 指定为存储表中的数据分配的第二个盘区大小; PCTINCREASE 指定从第二个盘区之后,每个盘区相对于上一个盘区的增长百分比; MINEXTENTS 指定允许为表中的数据所分配的最小盘区数目; MAXEXTENTS 指定允许为表中的数据所分配的最大盘区数目。
8.创建部门表DEPT(deptid,deptname,address),对应的字段类型均为字符型,字符长度自定,,对应的字段含义分别是(部门号,部门名,地址),其中dept为主关键字,该表创建语句 create table DEPT ( deptid varchar2(100) not null PRIMARY KEY, deptname varchar2(100), address varchar2(100));
comment on column DEPT.deptid is '部门号'; comment on column DEPT.deptname is '部门名'; comment on column DEPT.address is '地址'; 。
9.创建雇员表EMP(empno,empname,deptid,salary), 对应的字段类型分别为char(3)/char(8)/char(2)/float,对应的字段含义分别是(雇员号,雇员名,部门号,工资),其中empno为主关键字,deptid为外键,引用表DEPT的主键。该表创建语句 create table EMP ( empno char(3) not null PRIMARY KEY, empname char(8), deptid char(2), salary float); comment on column EMP.empno is '雇员号'; comment on column EMP.empname is '雇员名'; comment on column EMP.deptid is '部门名'; comment on column EMP.salary is '工资';
CONSTRAINT FK_DEPTNO FOREIGN KEY(DEPTNO) REFERENCES DEPT(DEPTID) 。 三、问答题
1. 简要介绍模式与用户的关系 解:
(1)用户(user):Oracle用户是用连接数据库和访问数据库对象的。(用户是用来连接数据库访问数据库);
(2)模式(schema):模式是数据库对象的集合。模式对象是数据库数据的逻辑结构; (3)用户(user)与模式(schema)的区别:
用户是用来连接数据库对象。而模式用是用创建管理对象的。模式跟用户在oracle 是一
16