Oracle数据库管理:面试题与实践操作

5星 · 超过95%的资源 需积分: 10 2 下载量 14 浏览量 更新于2024-09-14 收藏 4KB TXT 举报
"这是一份全面的Oracle面试和笔试题集,包含了数据库管理、表空间创建、用户权限分配以及SQL语句的相关知识。" 在Oracle数据库管理中,表空间(Tablespace)是存储数据文件的地方,用于组织和管理数据库对象。在给定的部分中,提到了如何创建和扩展表空间的操作: 1. 创建了一个名为`neuspace`的表空间,其初始数据文件位于`d:\data\neudata.dbf`,大小为200MB,自动扩展单位为5MB,最大大小为500MB。这可以通过以下SQL命令实现: ```sql CREATE TABLESPACE neuspace DATAFILE 'd:\data\neudata.dbf' SIZE 200M AUTOEXTEND ON NEXT 5M MAXSIZE 500M; ``` 这里的`AUTOEXTEND ON NEXT 5M MAXSIZE 500M`配置允许数据文件在需要时自动扩展,每次增加5MB,但总大小不超过500MB。 2. 接着,为了向`neuspace`表空间添加新的数据文件,使表空间的总大小达到500MB,可以使用`ALTER TABLESPACE`命令: ```sql ALTER TABLESPACE neuspace ADD DATAFILE 'e:\appdata\appneudata.dbf' SIZE 500M; ``` 这会在`e:\appdata\appneudata.dbf`路径下创建一个新的500MB数据文件,并将其添加到`neuspace`表空间。 接下来,涉及到用户管理和权限分配。创建了一个名为`tom`的用户,并指定了默认表空间为`neuspace`,密码为`jack`: ```sql CREATE USER tom IDENTIFIED BY jack DEFAULT TABLESPACE neuspace; ``` 然后,授予了`tom`连接数据库和使用资源的权限: ```sql GRANT connect, resource TO tom; ``` 此外,还赋予了`tom`对`scott.emp`表的特定权限,允许他查询`SALARY`和`MGR`列,并更新`SALARY`: ```sql GRANT select, update(salary,mgr) ON scott.emp TO tom; ``` 在数据库设计方面,展示了创建`class`和`student`两个表的SQL语句。`class`表包含班级编号(`CLASSNO`)和班级名称(`CNAME`),而`student`表包括学生编号(`STUNO`)、姓名(`SNAME`)、性别(`SEX`)、生日(`BIRTHDAY`)、电子邮件(`EMAIL`)、分数(`SCORE`)以及外键`CLASSNO`关联到`class`表的`CLASSNO`。创建这两个表的SQL语句如下: ```sql CREATE TABLE class ( CLASSNO NUMBER(2) CONSTRAINT class_classno_pk PRIMARY KEY, CNAME VARCHAR2(10) NOT NULL ); CREATE TABLE student ( STUNO NUMBER(8) CONSTRAINT student_stuno_pk PRIMARY KEY, SNAME VARCHAR2(12) NOT NULL, SEX CHAR(2) DEFAULT '未知', BIRTHDAY DATE, EMAIL VARCHAR2(20) CONSTRAINT student_email_uk UNIQUE, SCORE NUMBER(5,2) CONSTRAINT student_score_ck CHECK (score BETWEEN 0 AND 100), CLASSNO NUMBER(2) REFERENCES class(CLASSNO) ); ``` 在这个`student`表中,`SEX`列设为默认值'未知',`BIRTHDAY`列存储日期,`EMAIL`列具有唯一性约束,`SCORE`列使用了检查约束,确保分数在0到100之间。 这些面试题和笔试题涵盖了Oracle数据库管理中的核心概念,包括表空间的创建与扩展、用户权限的管理以及数据库表的设计与约束。这些知识对于理解Oracle数据库系统以及在面试或实际工作中进行数据库操作至关重要。