没有合适的资源?快使用搜索试试~ 我知道了~
首页Oracle数据库设计全面教程:从安装到高级查询
Oracle数据库设计全面教程:从安装到高级查询
需积分: 0 53 下载量 79 浏览量
更新于2024-08-02
收藏 761KB DOC 举报
本教程详细介绍了Oracle数据库设计的关键知识点,共分为十三个章节。首先,从第一章开始,逐步指导读者进行Oracle数据库的安装与配置,包括配置监听程序和网络服务名,确保数据库环境的正确搭建。第二章着重于用户管理和权限控制,讲解了如何创建、修改、锁定和解锁用户账户,以及角色的创建和分配,确保数据的安全性。 接着,第三章至第六章深入探讨了数据表的建立和管理,涵盖了建表、修改表结构、数据操作(如截断和删除)、查询语言的基础和进阶技巧,如简单和复杂查询、数据分组、连接查询、子查询以及集合操作符的使用。这些内容对于理解和执行日常数据库操作至关重要。 第七章和第八章分别介绍了常用的SQL函数和数据操纵,包括插入、更新和删除数据,以及事务处理的概念,如事务分类、事务的提交和回滚,以及事务与锁的关系。在数据完整性方面,第九章讲解了约束的使用,包括约束的定义、维护和查看约束信息,确保数据的一致性和完整性。 第十一章至第十二章关注视图、索引、序列和同义词的使用,这些都是提高查询性能和简化数据库访问的重要工具。最后,第十三章讲解了PL/SQL语言,这是一种过程化编程语言,允许编写更复杂的存储过程和触发器,提升数据库的灵活性和功能。 这份教程覆盖了Oracle数据库设计的基础到高级内容,无论对于初学者还是经验丰富的DBA,都是进行深入学习和实践的宝贵资源。通过系统学习和实践,读者可以熟练掌握Oracle数据库的管理和操作,从而有效管理大规模的数据存储和处理。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/1534961/bgb.jpg)
海颐软件股份有限公司 ORACLE 技术文档之一
ORA-01045: user TEST lacks CREATE SESSION privilege; logon denied
警告: 您不再连接到 ORACLE。
//因为缺少 CREATE SESSION 的权限,登陆失败。
3)利用 SYS 给 TEST 授予 CREATE SESSION 权限:
SQL> grant create session to test;
授权成功。
4)SQL> conn test/passwd_1
已连接。
5)在 test 的方案中创建表 exam1:
SQL> create table exam1
(student_id int,
paper_id int);
create table exam1
ERROR 位于第 1 行:
ORA-01031: 权限不足
//因为未给 TEST 用户授予 create table 权限,因此不能够创建表 exam1.
6) 给 TEST 用户授予 CRETE TABLE 权限
SQL> grant create table to test;
授权成功。
7)SQL> create table exam1
(student_id int,
paper_id int);
create table exam1
ERROR 位于第 1 行:
ORA-01950: 表空间'SYSTEM'中无权限
//因为在创建用户时没有指定表空间,因此默认的表空间是 SYSTEM 表空间,而 TEST 用
户还需要在表空间 SYSTEM 中既没有拥有配额又没有被授予 UNLIMITED TABLESPACE
权限,因此对于这种情况有两种解决办法:
第一种方法:
SQL> alter user test
quota 15m on system;
用户已更改。
//在 SYSTEM 表空间中,给用户 TEST 分配 15M 的使用空间
SQL> create table exam1
(student_id int,
paper_id int);
表已创建
第二种方法:
SQL> grant unlimited tablespace to test
授权成功。
SQL> create table exam2
(student_id int,
paper_id int);
第 11 页 共 83 页 保密
11
![](https://csdnimg.cn/release/download_crawler_static/1534961/bgc.jpg)
海颐软件股份有限公司 ORACLE 技术文档之一
第 3 章建立和管理表
本章主要内容:
表简介
创建表
修改表
截断和删除表
显示表的信息
3.1简介
表是 Oracle 数据库最基本的对象,它用于存储用户数据。
设计表
当设计表时,需要考虑以下因素:
当规划表和列时,应该使用有意义的名称。当定义表名和列名时,只能使用
字符(A-Z,a-z)、数字( 0-9)、 _、$和#,名称必须以字符开始,并
且长度不能超过 30 个字符。
当规划表名和列名时,要使用一致的缩写格式、单数或复数格式。
为了给用户和其他人员提供有意义的帮助信息,应该使用 COMMENT 命令描
述表、列的作用
当设计表时,应该使用第一范式(1NF)、第二范式( 2NF)和第三范式
(3NF)规范化每张数据库表。
当定义表列时,应该选择合适的数据类型和长度。
当定义表列时,为了节省存储空间,应该将 NULL 列放在后面。
常用数据类型
当建立表时,不仅需要指定表名、列名,而且要根据情况为列选择合适的数据类
型和长度。下面是常用数据类型。
CHAR(N)或 CHAR(N BYTE):定义固定长度的字符串(以字节为单
位),最大长度为 2000 字节。如果 CHAR(100)或 CHAR(100 BYTE),
表示可存储 100 个字节的字符串,并且占用空间是固定的(100 个字节)
CHAR(N CHAR):定义固定长度的字符串(以字符个数为单位)。如果
CHAR(100 CHAR),表示该列最多可以存储 100 个字符(单字节或多字
节)。如果该列存放的全是汉字,则占用空间最多为 200 个字节;如果存放
的全部是英文字符,则占用空间最多为 100 个字节。
VARCHAR2(N)或 VARCHAR2(N BYTE):用于定义变长字符串(以字
节为单位),其最大长度为 4000 字节。
VARCHAR2(N CHAR):用于定义变长字符串(以字符为单位)。
NUMBER(P,S):定义数据类型的数据, P 表示数字的总位数(最大字
节个数,而 S 表示小数点后面的位数。当定义整数类型时,可以直接使用
NUMBER 的子类型 INT。
DATE :定义日期时间数据,其长度为 7 个字节。当查询 DATE 类型列时,
其数据的默认显示格式为(DD-MON-YY),如“ 29-4 月-05”。
第 12 页 共 83 页 保密
12
![](https://csdnimg.cn/release/download_crawler_static/1534961/bgd.jpg)
海颐软件股份有限公司 ORACLE 技术文档之一
TIMESTAMP:是 DATE 的扩展,在该数据类型上执行 DML 操作与 DATE 类
型完全相同。但当查询时,数据的显示格式为(DD-MON-YY HH.MI.SS
AM),如“ 29-4 月-03 04.02.03.000000 下午”。
RAW(N):定义二进制数据,N 的上限值为 2000。
大对象数据类型:早期版本(6,7)中,存储大批量字符数据采用数据类型
LONG,存储大批量二进制数据采用 LONG RAW 类型。从 8 版本开始,建议
使用 CLOB 存储大批量字符,建议使用 BLOB 类型存储大批量二进制数据。
下表列出了这些数据类型之间的区别:
LONG、LONG RAW LOB(CLOG、BLOB)
表只能有一个 LONG 或 LONG RAW 列 表可以有多个 LOB 列
最大长度:2GB 最大长度:4GB
不支持对象类型 支持对象类型
存放在表段中
小于 4000:存放在表段中
大于 4000:存放到 LOB 段
SELECT:直接返回数据 SELECT:返回定位符
列数据顺序访问 列数据可以随机访问
伪列 ROWID 和 ROWNUM
ROWID
用于惟一地标识表行,它间接给出了表行的物理位置,并且 ROWID 是定位
表行最快的方式。如果某表包含了完全相同的行数据,为了删除重复行,那
么可以考虑使用 ROWID 作为条件。当使用 INSERT 语句插入数据时,Oracle
会自动生成 ROWID,并将其值与表数据一起存放到表行。ROWID 与表列一
样可以直接查询,如
SELECT dname,rowid FROM dept;
ROWNUM
用于返回标识行数据顺序的数字值。当执行 SELECT 语句返回数据时,第 1
行的 ROWNUM 为 1,第 2 行的 ROWNUM 为 2,以此类推
3.2建表
语法:CREATE TABLE [schema.]table_name(
Column_name datatype [DEFAULT expr]
[,…]
);
其 中 : schema 用 于 指 定 方 案 名 ( 与 用 户 名 完 全 相 同 ) , table_name 用 于 指 定 表 名 ,
column_name 用于指定列名,datatype 用于指定列的数据类型,DEFAULT 子句用于指定列
的默认值。(每张表最多可定义 1000 列)
[注释:查询表结构:DESC]
在当前方案中建表
CREATE TABLE dept01(
dno NUMBER(2),name VARCHAR2(10),loc VARCHAR2(20)
);
第 13 页 共 83 页 保密
13
剩余63页未读,继续阅读
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
sky816930
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- Hadoop生态系统与MapReduce详解
- MDS系列三相整流桥模块技术规格与特性
- MFC编程:指针与句柄获取全面解析
- LM06:多模4G高速数据模块,支持GSM至TD-LTE
- 使用Gradle与Nexus构建私有仓库
- JAVA编程规范指南:命名规则与文件样式
- EMC VNX5500 存储系统日常维护指南
- 大数据驱动的互联网用户体验深度管理策略
- 改进型Booth算法:32位浮点阵列乘法器的高速设计与算法比较
- H3CNE网络认证重点知识整理
- Linux环境下MongoDB的详细安装教程
- 压缩文法的等价变换与多余规则删除
- BRMS入门指南:JBOSS安装与基础操作详解
- Win7环境下Android开发环境配置全攻略
- SHT10 C语言程序与LCD1602显示实例及精度校准
- 反垃圾邮件技术:现状与前景
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)