数据库基本概念及字段类型详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

表中包含行,不同的行代表不同的实体。行不允许相同,否则无法代表不同实体,这就是实体 的完整性约束。为了实现完整性约束, Oracle引入了序列(sequence) :序列用来在整个数 据库范围内产生唯一的顺序编号。
关系数据库的基本目的是在不同的用户间共享数据。表级别的授权无法实现行粒度和列粒度的 权限管理,为此Oracle引入了视图(view) 。视图对表的行和列进行帅选,实现了行粒度和列 粒度的权限管理目的。
巨灵数据表系统字段
在物理表结构中,存在一类特殊的字段:系统字段(SEQ、CTIME、 MTIME、ISVALID、GENIUS_UID、)这些字段在数据字典和技术文档 中是不存在的,统一由DBA在创建物理表时按统一的标准添加,并设置相关 函数生成。在分析数据时,经常会用到系统字段,策划必须掌握其用途。 SEQ: 中文含意为记录唯一号或记录序列号(sequence),每个表中每条记录都有 唯一序列号。同时可用于验证记录通讯的完整性(与客户接收端SEQ是一 一对应的),因为其可以标记记录的唯一性,且一旦产生即不可修改,在 采集表中也会用于作为主子表关联时的主表关联标记。
数据库一些概念
让我们思考一个问题:如果定义表时,直接把表关联到文件会有什么问题?答案很明显:如果数据 文件位置发生变化,就得修改表的定义。为了解决此问题,Oracle 引入了表空间(tablespace) 。 表空间是多个文件的集合,实现了数据库的逻辑表现与数据存储的分离,使之更易于管理。
大机构的数据很多,通常会分散到不同的数据库中。为了在不同数据库之间访问彼此的数据, Oracle 引入了数据库链接(database link) 。数据库链接是不同数据库间互相访问的通道。
CTIME: 中文名为“记录创建时间(create time)”,可以用来标记记录的创建时间 ,便于数据分析。
MTIME: 中文名为“记录修改时间(modify time)”,同时还可以理解为记录通讯时 间,由于当前数据库都是一发生修改或调整即主动对外通讯。
巨灵数据表系统字段 ISVALID: 中文名为“有效性”,取值只有两种:0-无效,1-有效,一般默认为 有效。新增记录会自动默认为有效性,当采集员、或质检员或策划 确认记录确属无效时,可以通过录入平台和请DBA将相关记录设置 为无效记录。在作数据分析或加工时,应把无效记录剔除。
日期型
浮点数字 型 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)COM百度文库IT、ROLLBACK、SAVEPOINT 和 SET TRANSACTION 这 4 个命令用来控制事务 (2)ALTER SESSION 命令用于控制会话。
常用字段类型详解
char varchar text 字符型 nchar nvarchar ntext bit tinyint smallint 整型 int bitint 数值型 decimal
有时我们要频繁地从多个表检索数据。各个表的数据默认存放到不同的段中,这意味着要到不 同的数据块获取数据。为了加快检索速度, Oracle把若干个表的行存放到相同的数据块,这就 是簇(cluster) 。簇提高了多表关联的性能, Oracle内部的数据字典表设计就用到了簇。
有了表、索引、序列和视图之后,Oracle 把这些对象聚合在一起,形成数据库(database) 。 表和索引之类的东西最终会存放到磁盘,其存在形式就是数据库文件。

SQL 命令
6 个 DML 命令:
INSERT、UPDATE、DELETE 三个命令用于插入、修改及删除 表中的行; SELECT 命令用于从表中检索行; LOCK TABLE 命令以显式的方式给表和视图加锁; EXPLAIN PLAN 命令用于查看 Oracle 优化器预期的执行计划。
数据库基础概念及字段类型详解
——2014.09
目录
1
主流数据库 数据库一些概念 SQL 命令
2
3
4
字段类型
主流数据库
数据库一些概念
为了在数据库中存放数据,首先定义了表(table) 。表是数据的集合,由行和列组成。
当一个表很大的时候(包含成千上万的行),为了提升数据检索的速度, Oracle引入了索 引(index) 。索引是实现数据高效检索的基础,也是 SQL 调优的最基本手段。
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)
GENIUS_UID: 中文名为“巨灵专用通讯标记”,记录通讯的唯一标记,当记录产生 时,会根据表中GENIUS_UID对应函数值规则赋予一个唯一值,当 记录发生修改时,GENIUS_UID也会随之发生变化,按从小到大序 列生成,而在通讯触发时,如果要触发的记录数据很大,即根据 GENIUS_UID设定通讯频率,按从大到小通讯即可保障及时性。
特性 定长字符数据 变长字符数据 可变长度的非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 引入了同义词(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)
相关文档
最新文档