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