第一部分:数据库概论
单词记忆:
DBA {database administrator}:数据库管理员
DBMS {database management system}:数据库管理系统
SQL {structured query language}:结构化查询语言
DQL{data query language}:数据查询语言
DML{data manipulation language}:数据操作语言
DCL{data control language}:数据控制语言
DDL{data definition language}:数据定义语言
一、 计算机数据库的优点
1、 降低存储数据的冗余度,也就是减少重复的数据。
2、 更高的数据一致性。
3、 存储的数据可以共享。
4、 可以建立数据库所遵循的标准。
5、 便于维护数据完整性,就是指保证数据库中数据的准确性。
6、 能够实现数据的安全性。
二、 数据库分类
单机数据库:
优点:高效、简单
缺点:数据无法共享
实例:ACCESS、FOXPRO
网络数据库:
• 优点:数据共享、提供并发访问
• 缺点:必须考虑网络压力、冲突处理、资源限制
• 实例:实例:SQL Server、Oracle
三、 数据库系统组成
数据库系统由数据库与数据库管理系统DBMS组成
四、 数据库体系模型
1、层次型
——以结构树模型进行数据存储,由节点(实体)、连线 (关系)构成,将各种有关联的数据存储在不同层次上。
优点:层次分明、结构清晰、关联简单
缺点:数据冗余,层次间无横向关系,不便管理
2、网络型
——以网络模型进行数据存储,由节点(实体)、连线 (关系)构成,组成独立实体网络实体。
优点:消除冗余,对象关联完整
缺点:关系过于负责,无法支持大型数据
3、关系型
——以二维表格进行数据存储,由记录(实体)、字段(属性)、键(关系)构成。
优点:1、结构简单、格式唯一,在一定程度上控制冗余、并降低关系的复杂性
2、表间独立性强,可以进行异步操作。
缺点:无法完全消除冗余、数据分散
五、模型变迁原因
层次模型——网络模型——关系模型
关系型改革原则:
• 通过对象集合化减少对象个数(表)
• 通过对象关系化实现对象间复杂关系
• 通过范式化减少数据冗余
六、数据库的基本概念
1、 数据和信息:数据一些实体,在我们的工作中,数据是最重要的部分,我们将某些数据收集起来并加以分析,就生成了信息。
2、 数据库和表:表是数据库对象。而数据库是相关的多维数据集及其所共享的对象的容器。
3、 行或列的关系:表是由分别排成行和列的相关记录组成的集合。在表中,数据以行和列的形式存储,类似电子表格。
4、 数据库系统和数据库管理系统:数据库系统是一个基于计算机的记录保存系统,它最主要的用途是记录和维护信息。数据库管理系统(DBMS)包括一组相关的记录以及一组用来访问和操作这些记录的程序。
5、 数据冗余度和数据的完整性
七、关系型数据库的基本概念
1、 实体完整性和主键
主键:唯一地标识表中的记录的一个或一组列称为“主键”。每个表都应有一个主键。
实体完整性:基表主键的任何部分都不可以接受空值(null)。
2、 引用完整性和外键
外键:是一个或一组列,其中列的值与另外一个表中的主键或唯一键相匹配。两个表是通过外键联系起来的。换句话说,通过一个共同字段来连接两个表称为建立关系,而创建外键就是建立关系的手段。
引用完整性:从表引用外部数据必须在其它表中存在。
3、 关系和度
在关系模型中,每个关系或表都包含许多“元组”。元组也称为记录或行。
表中属性的数量称为该表的“度”。
4、 字段约束和字段约束的方法
通常把属性称为字段。
八、数据库规划原则
Ø 最大可重用化
--数据库重大问题时,通过备份和恢复机制最大程度上恢复数据。
Ø 最小磁盘争用
--数据库文件平均分布在不同的磁盘上避免多用户访问时候争用同一磁盘
Ø 各种数据的合理分布
--将数据库中的各种数据按特性(如基表和变化表、大数据和常规数据)存储在不同的文件中。
九、数据表规划原则
Ø 数据定义精确化
--满足要求的情况下选择占用资源最少的数据类型以提高DBMS的I/0性能
Ø 表的抽象化
--通过将具有共性的表合并,将其特性以标识字段表示。
Ø 表的范式化
--设计表时,满足1NF(原子性)、2NF(键相关性)、3NF(无函数相关性),保证表的结构无冗余。
原子性:
键相关性:
无函数相关性:
十、数据表 I / 0优化原则
Ø 变化表和基表的分离
--将变化表(递增性很强,如单据表、销售记录表)和基表(很少变化,如学生资料、班级资料等)分开存放到不同的数据文件中
Ø 大数据和常规数据的分离
--将表中的TEXT、NTEXT、IMAGE型大数据字段和其他常规类型字段分开存放,保证常规数据的查询高效性
Ø 索引数据和表数据的分离
--将索引和表分离,减少磁盘争用并提高索引的查询效率。
十一、SQL Server的存储特性
Ø 页(8K)
--将OS中连续的8个块组成“页”,作为空间分配的最小单元,以减少空间分配时所需耗费的资源。(处理大表时,可能将8个连续的“页”组成一个“扩展”,以进一步减少分配时所耗用的资源)
Ø 表记录存放在页中
--表的记录尽量存放在页中,而且一个页中一般只存放同表的内容,保证取得高命中率。
Ø 数据读取以页为单位
十二、SQL简介
SQL的分类
DQL(数据查询语言):用来从数据库中获取数据和对数据进行排序。
DML(数据库操作语言):用来插入、删除、修改数据库中的数据。
DCL(数据控制语言):用于管理对数据库和数据库对象的权限。
DDL(数据定义语言)
CCL(通用命令语言):用于在数据库中进行高效率的搜索。