开发部数据库及数据操作培训资料

上传人:宝路 文档编号:48519915 上传时间:2018-07-16 格式:PPT 页数:50 大小:1.25MB
返回 下载 相关 举报
开发部数据库及数据操作培训资料_第1页
第1页 / 共50页
开发部数据库及数据操作培训资料_第2页
第2页 / 共50页
开发部数据库及数据操作培训资料_第3页
第3页 / 共50页
开发部数据库及数据操作培训资料_第4页
第4页 / 共50页
开发部数据库及数据操作培训资料_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《开发部数据库及数据操作培训资料》由会员分享,可在线阅读,更多相关《开发部数据库及数据操作培训资料(50页珍藏版)》请在金锄头文库上搜索。

1、数据库及数据操作培训资料数据库及数据操作培训资料演示者:施运渊培训大纲培训大纲第 1 课:关系型数据库 简单介绍关系型数据库及常用关系型数据库的介绍。第 2 课:表 表和字段的命名规范、字段数据类型、建表原则等。第 3 课:视图 视图命名规范、索引视图、可更新视图。第 4 课:索引 索引创建原则、哪些情况可能无法使用到索引。第 5 课:触发器 触发器简单说明、使用情况。培训大纲培训大纲第 6 课:存储过程 存储过程说明、使用情况。第 7 课:常用函数 一些常用的函数。第 8 课:性能优化 如何着手优化性能。第 8 课:常用技巧 开发时使用到的一些技巧。第第 1 1 课课:关系型数据库关系型数据

2、库关系型数据库。关系数据库是建立在集合代数基础上,应用数学方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。关系型数据库以行和列的形式存储数据,以便于用户理解。储存与管理数据的基本形式是二维表。使用结构化查询语言 (SQL)作为查询工具。第第 1 1 课课:关系型数据库关系型数据库常用关系型数据库。OracleSQL ServerSybaseDB2MySQL第第 2 2 课课:数据表数据表表的定义表(TABLE)是数据库中用来存储数据的对象,是有结构的数据的集合,是整个数据库系统的基础。表命名

3、规则表名用T_开头,表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词要大写。多个单词间用下划线(_)进行连接。若库中有多个系统,表名采用系统名称+单词或多个单词,系统名是开发系统的缩写,如VNET。表中含有的单词建议用完整的单词。如果导致表名长度超过30个字符,则从最后一个单词开始,依次向前采用该单词的缩写。第第 2 2 课课:数据表数据表字段命名规则字段名长度不能超过30个字符,字段名中含有单词全部采用单数形式,单词要大写。多个单词间用下划线(_)进行连接。字段名中含有的单词建议用完整的单词。如果导致长度超过30个字符,则从最后一个单词开始,依次向前采用该单词的缩写字段类型设

4、置原则按实际业务需要来选择数据类型,例如需要参与计算的就用数字型,与时间有关的就用日期型,切勿所有字段全设置成一种类型。数据表的关联字段必须是同种类型。字段长度也需与业务联系,禁止盲目设置为最大值。第第 2 2 课课:数据表数据表常用字段类型字符型:Varchar:用来存放可变长度的字符串,一般最大长度在2000-4000左右。绝大部分字符串均可使用此类型(推荐使用)。Char:定长的字符串,长度同Varchar 。Text(Clob):用来存放可变长度的字符串,几乎无上限。LONG:Oracle专有,超长字符串,但不支持Like,并且每张表只能有1个LONG型字段,准备废弃的字段类型,不推荐

5、。总结:在大部分情况下优先使用Varchar类型,因为其适应性最好, Char可使用在长度范围变化较小的情况下,因为其效率较高,但是由于是定长的字段,所以不足部分会以空格填充,编程时要特别注意,并且占用空间也较大。Nvarchar和Nchar与环境变量NLS指定的语言集密切相关,所以不推荐。第第 2 2 课课:数据表数据表常用字段类型数字型: Integer:整数型, 4字节,值为-231231-1 Decimal (p,s) :数字数据,固定精度为P,宽度为S 。优先使用 FLOAT:浮点数类型,NUMBER(38),双精度,运算可能会产生问题。 REAL:实数类型,NUMBER(63),精

6、度更高 总结:在大部分情况下优先使用Decimal (p,s)类型,因为其适应性最好, Integer用于确认数据为整数情况下。第第 2 2 课课:数据表数据表常用字段类型日期型: Datetime :描述某天的日期和时刻。二进制型: Image (Blob):存储二进制数据。 Long RAW:Oracle独有,准备废弃的字段类型,不推荐。第第 2 2 课课:数据表数据表主键、外键、非空字段、默认数据及备注主键:所有的表必须要有主键,如果没有业务逻辑上的主键,也需要创建一个无意义列作为主键。建议使用一个字段作为主键,可提高索引的大小及效率。外键:没有必要的话不推荐设置外键,校验回滚等操作由程

7、序来控制。过多使用外键只会增加系统的复杂度。非空字段:非空字段可以在数据层面对业务数据进行校验,校验工作主要还是在程序里完成,非空字段只是作为最后的检验手段。默认数据:数字型、日期型建议尽可能设置默认值,可以减少因为数据原因而引起的程序错误。备注:所有字段都必须填写备注。建表原则哈哈第第 2 2 课课:数据表数据表建表原则与实体相关:也就是说一张表能对应现实世界的一种事物在某一方面的属性或一种事务在某一方面的属性。简单来说一个员工(事物)其基本信息就应该是独立的一张表,一次员工的薪资调整(事务)也是独立的一张表。正确理解一对一、一对多、多对多的关系: 一对一:用户的通讯方式(包括手机、居住地址

8、等等)与用户的基本信息(姓名、性别)等就是一对一的关系,建议将一对一的数据存储在一张表内,增加表的长度而减少表的数量。 一对多:用户基本信息与用户履历就是一对多关系,可使用2张表(用户基本信息表、用户履历表)来存储。 多对多:人员与岗位之间就是多对多关系,一般使用3张表来存储这种结构(人员表、岗位表、人员岗位关系表)。第第 2 2 课课:数据表数据表建表原则通俗地理解三个范式 :通俗地理解是够用的理解,并不是最科学最准确的理解): 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性; 第三范式:3NF

9、是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。 没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。第第 2 2 课课:数据表数据表建表原则计算列:列有两种类型:数据列和计算列,数据列指的是原始采样而得的数据,计算列是指对数据列通过一定的公式计算加工而得出的数据列。例如:单价、数量属于数据列,总价=单价*数量就是计算列。根据业务需求,对于常用的计算数据我们可以通过增加冗余的计算列来减少查询的时间,切记计算列需要使用触发器或者程序来保持其正确性。正确认识数据冗余:增加数据冗余的目的是为了

10、减少表关联从而提高检索速度,切记冗余列需要使用触发器或者程序来保持其正确性。在以下情况下可以考虑使用数据冗余: 当查询的主表或从表中有一张或多张表数据量巨大。 参与关联的表太多。 主要业务数据,也就是用户经常查询的数据。第第 2 2 课课:数据表数据表建表原则三少原则: 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的E-R图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计。 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存

11、储空间。 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。第第 2 2 课课:数据表数据表建表原则三少原则: 一个数据库中表的个数越少越好。只有表的个数少了,才能说明系统的E-R图少而精,去掉了重复的多余的实体,形成了对客观世界的高度抽象,进行了系统的数据集成,防止了打补丁式的设计。 一个表中组合主键的字段个数越少越好。因为主键的作用,一是建主键索引,二是做为子表的外键,所以

12、组合主键的字段个数少了,不仅节省了运行时间,而且节省了索引存储空间。 一个表中的字段个数越少越好。只有字段的个数少了,才能说明在系统中不存在数据重复,且很少有数据冗余,更重要的是督促读者学会“列变行”,这样就防止了将子表中的字段拉入到主表中去,在主表中留下许多空余的字段。所谓“列变行”,就是将主表中的一部分内容拉出去,另外单独建一个子表。第第 3 3 课课:视图视图视图的作用视图能简化用户的操作(主要功能)。视图机制可以使用户以不同的方式查询同一数据。视图对数据库重构提供了一定程度的逻辑独立性。视图可以对机密的数据提供安全保护。命名规则名称用VW_开头,长度不能超过30个字符,名称中含有单词全

13、部采用单数形式,单词要大写。多个单词间用下划线(_)进行连接。名称中含有的单词建议用完整的单词。如果导致长度超过30个字符,则从最后一个单词开始,依次向前采用该单词的缩写第第 3 3 课课:视图视图索引视图对于标准视图而言,为每个引用视图的查询动态生成结果集的开销很大,特别是对于那些涉及对大量行进行复杂处理(如聚合大量数据或联接许多行)的视图。如果在查询中频繁地引用这类视图,可通过对视图创建唯一聚集索引来提高性能。对视图创建唯一聚集索引后,结果集将存储在数据库中,就像带有聚集索引的表一样。如果很少更新基础数据,则索引视图的效果最佳。维护索引视图的成本可能高于维护表索引的成本。索引视图可以提高下

14、列查询类型的性能: 处理大量行的联接和聚合。 许多查询经常执行的联接和聚合操作。 决策支持工作负荷。第第 3 3 课课:视图视图索引视图索引视图通常不会提高下列查询类型的性能。 具有大量写操作的 OLTP 系统。 具有大量更新的数据库。 不涉及聚合或联接的查询。 GROUP BY 键具有高基数度的数据聚合。(GROUP BY ID)语法:CREATE TABLE wide_tbl(a int PRIMARY KEY, b int, ., z int) CREATE VIEW v_abc WITH SCHEMABINDING AS SELECT a, b, c FROM dbo.wide_tbl

15、 WHERE a BETWEEN 0 AND 1000 CREATE UNIQUE CLUSTERED INDEX i_abc ON v_abc(a) 第第 3 3 课课:视图视图可更新视图利用视图进行数据增,删,改操作,会受到一定的限制。 由两个以上的基本表导出的视图。 视图的字段来自字段表达式函数。 视图定义中有嵌套查询。 在一个不允许更新的视图上定义的视图。第第 4 4 课课:索引索引定义说明使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构,例如 employee 表的姓(lname)列。如果要按姓查找特定职员,与必须搜索表中的所有行相比,索引会帮助您更快地获得该信息。索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据库使用索引的方式与您使用书籍中的索引的方式很相似:它搜索索引以找到特定值,然后顺指针找到包含该值的行。第第 4 4 课课:索引索引索引的优点大大加快数据的检索速度。创建唯一性索引,保证数据库表中每一行数据的唯一性。加速表和表之间的连接。在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号