该【数据库基本概念及字段类型详解 】是由【1354793****】上传分享,文档一共【11】页,该文档可以免费在线阅读,需要了解更多关于【数据库基本概念及字段类型详解 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。数据库基础概念及字段类型详解
单击添加副标题
——
目录
CONTENTS
主流数据库
01
数据库一些概念
02
SQL 命令
03
字段类型
04
主流数据库
数据库一些概念
为了在数据库中存放数据,首先定义了表(table) 。表是数据的集合,由行和列组成。
当一个表很大的时候(包含成千上万的行),为了提升数据检索的速度, Oracle引入了索
引(index) 。索引是实现数据高效检索的基础,也是 SQL 调优的最基本手段。
表中包含行,不同的行代表不同的实体。行不允许相同,否则无法代表不同实体,这就是实体的完整性约束。为了实现完整性约束, Oracle引入了序列(sequence) :序列用来在整个数据库范围内产生唯一的顺序编号。
关系数据库的基本目的是在不同的用户间共享数据。表级别的授权无法实现行粒度和列粒度的权限管理,为此Oracle引入了视图(view) 。视图对表的行和列进行帅选,实现了行粒度和列粒度的权限管理目的。
有时我们要频繁地从多个表检索数据。各个表的数据默认存放到不同的段中,这意味着要到不同的数据块获取数据。为了加快检索速度, Oracle把若干个表的行存放到相同的数据块,这就是簇(cluster) 。簇提高了多表关联的性能, Oracle内部的数据字典表设计就用到了簇。
有了表、索引、序列和视图之后,Oracle 把这些对象聚合在一起,形成数据库(database) 。表和索引之类的东西最终会存放到磁盘,其存在形式就是数据库文件。
让我们思考一个问题:如果定义表时,直接把表关联到文件会有什么问题?答案很明显:如果数据文件位置发生变化,就得修改表的定义。为了解决此问题,Oracle 引入了表空间(tablespace) 。表空间是多个文件的集合,实现了数据库的逻辑表现与数据存储的分离,使之更易于管理。
01
大机构的数据很多,通常会分散到不同的数据库中。为了在不同数据库之间访问彼此的数据,Oracle 引入了数据库链接(database link) 。数据库链接是不同数据库间互相访问的通道。
02
如果应用程序访问了多个数据库,当某个库的部署发生变动时,如何避免对应用程序的代码做更改呢?和表空间类似,Oracle 引入了同义词(synonym)来解决该问题。同义词是模式对象的别名,提供了数据独立性和位置透明性的功能。
03
数据库一些概念
数据定义语言命令(Data Definition Language commands,简称 DDL 命令)
数据操纵语言命令(Data Manipulation Language commands,简称 DML 命令)
事务控制命令(Transaction Control commands)
会话控制命令(Session Control commands)
系统控制命令(System Control commands)
嵌入式 SQL 命令(Embedded SQL commands)
Oracle 将 SQL 命令按功能分为六大类:
SQL 命令
数据库安全审计相关命令(establish auditing options)
对象的创建、修改与删除相关命令(create, alter, and drop objects)
表、索引及簇统计信息分析命令(analyze information on a table, index, or cluster)
授权、权限回收以及角色管理相关命令(grant and revoke privileges and roles)
数据库对象备注相关命令(add comments to the data dictionary)
DDL 命令又分为如下细类:
SQL 命令
INSERT、UPDATE、DELETE 三个命令用于插入、修改及删除表中的行;
SELECT 命令用于从表中检索行;
LOCK TABLE 命令以显式的方式给表和视图加锁;
EXPLAIN PLAN 命令用于查看 Oracle 优化器预期的执行计划。
个 DML 命令:
01
COMMIT、ROLLBACK、SAVEPOINT 和 SET TRANSACTION 这 4 个命令用来控制事务
ALTER SESSION 命令用于控制会话。
剩下 5 个命令是事务控制和会话控制命令:
02
SQL 命令
常用字段类型详解
特性
精度范围
字符型
char
定长字符数据
1到8000
varchar
变长字符数据
1到8000
text
可变长度的非Unicode数据
1到2^31-1(2,147,483,647)
nchar
Unicode数据类型的字符
1到4000
nvarchar
1到4000
ntext
整型
bit
1或0的整数数据
tinyint
1字节
从0到255的整数数据
smallint
2字节
从-2^15(-32,768)到2^15-1(32,767)的整数数据
int
4字节
从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据
bitint
从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据
数值型
decimal
这两种数据类型是等效的。都有两个参数:p(精度)和s(小数位数)。p指定小数点左边和右边可以存储的十进制数字的最大个数,p必须是从 1到38之间的值。s指定小数点右边可以存储的十进制数字的最大个数,s必须是从0到p之间的值,默认小数位数是0。
numeric
日期型
smalldatetime
从1900年1月1日到2079年6月6日的日期和时间数据,精确到分钟,4字节
datetime
从1753年1月1日到9999年12月31日的日期和时间数据,精确到百分之三秒,8字节
浮点数字型
float
从-^^308之间的浮点数字数据
real
从-^^38之间的浮点数字数据。在SQL Server中,real的同义词为float(24)
巨灵数据表系统字段
在物理表结构中,存在一类特殊的字段:系统字段(SEQ、CTIME、MTIME、ISVALID、GENIUS_UID、)这些字段在数据字典和技术文档中是不存在的,统一由DBA在创建物理表时按统一的标准添加,并设置相关函数生成。在分析数据时,经常会用到系统字段,策划必须掌握其用途。
SEQ:
中文含意为记录唯一号或记录序列号(sequence),每个表中每条记录都有唯一序列号。同时可用于验证记录通讯的完整性(与客户接收端SEQ是一一对应的),因为其可以标记记录的唯一性,且一旦产生即不可修改,在采集表中也会用于作为主子表关联时的主表关联标记。
CTIME:
中文名为“记录创建时间(create time)”,可以用来标记记录的创建时间,便于数据分析。
MTIME:
中文名为“记录修改时间(modify time)”,同时还可以理解为记录通讯时间,由于当前数据库都是一发生修改或调整即主动对外通讯。
数据库基本概念及字段类型详解 来自淘豆网m.daumloan.com转载请标明出处.