数据库基本概念及字段类型详解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库一些概念
让我们思考一个问题:如果定义表时,直接把表关联到文件会有什么问题?答案很明显:如果数据 文件位置发生变化,就得修改表的定义。为了解决此问题,Oracle 引入了表空间(tablespace) 。 表空间是多个文件的集合,实现了数据库的逻辑表现与数据存储的分离,使之更易于管理。
大机构的数据很多,通常会分散到不同的数据库中。为了在不同数据库之间访问彼此的数据, Oracle 引入了数据库链接(database link) 。数据库链接是不同数据库间互相访问的通道。
型 real
特性 定长字符数据 变长字符数据 可变长度的非Unicode数据 Unicode数据类型的字符
精度范围 1到8000 1到8000 1到2^31-1(2,147,483,647) 1到4000 1到4000
1或0的整数数据
1字节
从0到255的整数数据
2字节
从-2^15(-32,768)到2^15-1(32,767)的整数 数据
▪ SELECT 命令用于从表中检索行; ▪ LOCK TABLE 命令以显式的方式给表和视图加锁; ▪ EXPLAIN PLAN 命令用于查看 Oracle 优化器预期的执行计划
。
❖ 剩下 5 个命令是事务控制和会话控制命令:
▪ (1)COMMIT、ROLLBACK、SAVEPOINT 和 SET TRANSACTION 这 4 个命令用来控制事务
表中包含行,不同的行代表不同的实体。行不允许相同,否则无法代表不同实体,这就是实体 的完整性约束。为了实现完整性约束, Oracle引入了序列(sequence) :序列用来在整个数 据库范围内产生唯一的顺序编号。
关系数据库的基本目的是在不同的用户间共享数据。表级别的授权无法实现行粒度和列粒度的 权限管理,为此Oracle引入了视图(view) 。视图对表的行和列进行帅选,实现了行粒度和列 粒度的权限管理目的。
数据库基础概念及字段类型详解
——2014.09
目录
1
主流数据库
2
数据库一些概念
3
SQL 命令
4
字段类型
主流数据库
数据库一些概念
为了在数据库中存放数据,首先定义了表(table) 。表是数据的集合,由行和列组成。
当一个表很大的时候(包含成千上万的行),为了提升数据检索的速度, Oracle引入了索 引(index) 。索引是实现数据高效检索的基础,也是 SQL 调优的最基本手段。
边和右边可以存储的十进制数字的最大个数,p必须是从 1到38之间的值。s指定小数点右
边可以存储的十进制数字的最大个数,s必须是从0到p之间的值,默认小数位数是0。
从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟,4字节 从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒,8字节 从-1.79^308到1.79^308之间的浮点数字数据
4字节
从-2^31(-2,147,483,648)到2^311(2,147,483,647)的整型数据
从-2^63(-9223372036854775808)到2^63-
1(9223372036854775807)的整型数据
这两种数据类型是等效的。都有两个参数:p(精度)和s(小数位数)。p指定小数点左
▪ (2)数据操纵语言命令(Data Manipulation Language commands,简称 DML 命令)
▪ (3)事务控制命令(Transaction Control commands) ▪ (4)会话控制命令(Session Control commands) ▪ (5)系统控制命令(System Control commands) ▪ (6)嵌入式 SQL 命令(Embedded SQL commands)
SQL 命令
❖ DDL 命令又分为如下细类:
▪ 对象的创建、修改与删除相关命令(create, alter, and drop objects)
▪ 授权、权限回收以及角色管理相关命令(grant and revoke privileges and roles)
▪ 表、索引及簇统计信息分析命令(analyze information on a table, index, or cluster)
从-3.40^38到3.40^38之间的浮点数字数据。在SQL Server中,real的同义词为float(24)
有时我们要频繁地从多个表检索数据。各个表的数据默认存放到不同的段中,这意味着要到不 同的数据块获取数据。为了加快检索速度, Oracle把若干个表的行存放到相同的数据块,这就 是簇(cluster) 。簇提高了多表关联的性能, Oracle内部的数据字典表设计就用到了簇。
有了表、索引、序列和视图之后,Oracle 把这些对象聚合在一起,形成数据库(database) 。 表和索引之类的东西最终会存放到磁盘,其存在形式就是数据库文件。
▪ (2)ALTER SESSION 命令用于控制会话。
常用字段类型详解
char
varchar
字符型
text nchar
nvarchar
ntext
bit
tinyint
smallint 整型
int
bitint
decimal 数值型
numeric
日期型
smalldatetime datetime
float 浮点数字
如果应用程序访问了多个数据库,当某个库的部署发生变动时,如何避免对应用程序的代码做更改 呢?和表空间类似,Oracle 引入了同义词(synonym)来解决该问题。同义词是模式对象的别名, 提供了数据独立性和位置透明性的功能。
SQL 命令
❖ Oracle 将 SQL 命令按功能分为六大类:
▪ (1)数据定义语言命令(Data Definition Language commands,简称 DDL 命令)
▪ 数据库安全审计相关命令(establish auditing options) ▪ 数据库对象备注相关命令(add comments to the
data dictionary)
SQL 命令
❖ 6 个 DML 命令:
▪ INSERT、UPDATE、DELETE 三个命令用于插入、修改及删 除表中的行;