数据库(SQL SERVER)概论、数据库设计
1.1数据库系统的相关概念
1、数据
对客观信息的一种描述,由能被计算机识别与处理的数值、字符等符号构成的集合。
元数据:表中的列
2、数据库
长期存储在计算机内有组织、可共享的数据集合
3、数据库管理系统
是建立、使用和维护数据库的软件(建立在操作系统之上,位于操作系统与用户之间的一层数据管理软件)
4、数据库系统
一般由数据库、数据库管理系统、应用系统、数据库管理员和用户构成
5、数据冗余
指同一数据被反复存放。
6、数据不一致性
同一数据在不同地方有不同的取值 (数据冗余是导致数据不一致的罪魁祸首)
1.2 数据库的系统模型
根据存储的数据模型分为层次型数据库、网状型数据库、关系型数据库、面向对象型数据库。
① 层次型数据库
优点:结构类似金字塔,层次分明、结构清晰、不同层次间的数据关联直接简单;
缺点:数据已纵向扩展,很难建立横向关联,不利于系统管理和维护
②网状型数据库
特点:允许存在一个以上的节点没有父节点;节点可以有多于一个的父节点。
③关系型数据库
基本原则:
⑴ 信息原则:贮存在单元中的数据必须是原始的,每个单元只能存贮一条数据;
⑵ 贮存在列下的数据必须具有相同数据类型
⑶ 每行数据是唯一的
⑷ 列没有顺序
⑸ 行没有顺序
⑹ 列有一个唯一性的名称
4、面向对象型数据库
按照人类认识世界的方法和思维方式来分析和解决问题,面向对象型数据库就是通过这种方式进行建模和表示形成的数据库模型
1.3 数据库设计
规划和结构化数据库中的数据对象
指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程
1.4 数据库概念模型
1.4.1 信息实体的概念
1. 实体(entity)
客观存在并可以相互区分的事物(实体不仅可指事物本身,也可指事物之间的具体联系
2. 属性(attribute)
是实体所具有的某些特性,通过属性对实体进行描述
3. 键、主键、外键
一个实体往往有多个属性,这些属性之间是有关系的,他们构成该实体的属性集合。
键:有一个或多个属性构成的子集合唯一标识整个属性集合,则称该属性子集为属性集合的键或码。
需要注意的是,实体的属性集合可能有多个键,每一个键都称之为候选键
主键:一个属性集只能指定其中一个候选键作为唯一标识,这个候选键就称为属性集的主键或主码。
外键:如果一个实体的某个属性集合本身不是该实体的键,但另一个实体的键,则称为外键。外键描述了两个实体的关系。
4. 实体型
用实体名及其属性名集合来抽象和刻画同类实体
5. 实体集
同类型实体的集合
1.4.2 实体的关系
1. 一对一关系(1:1)
对于实体集A中的每一实体,实体集B中至多有一个实体与之关联;反之亦然
2. 一对多的关系(1:N)或多对一(N:1)
对于实体集A中的每一个实体,实体集B中有N个实体与之关联;反之亦然
3. 多对多的关系(N:N)
对于实体集A中的每一个实体,实体集B中有N个实体与之关联;反之亦然
1.5实体关系(E-R)模型
1.5.1 E-R模型的图形描述
在 E-R该念模型中,信息有实体、实体属性和实体之间关系3种概念单元来表示。
1、 实体表示建立概念模型的对象,用方框表示,在框内写上实体的姓名。
2、 实体属性是实体的说明。用椭圆表示实体的属性,并用无向边把实体与其属性连接起来。
3、实体的关系是两个或两个以上实体之间的有名称的关联。实体间的关系用菱形框表示,菱形框内要有关系名,并用无向边把菱形框分别与有关实体相连接,在无向边的旁边标上联系的类型。
1.6 数据规范化
1.6.1 范式理论
- 第一范式(1NF): 设R是一个关系模式,如果R中的每个属性不可再拆,则称R是第一范式。
- 第二范式(2NF): 如果一个表满足第一范式,且该数据表的任何一个非主键字段的数值都依赖于表的主键字段,则该数据表满足第二范式。(任意的表中中都有主键)
第三范式(3NF): 如果一个表满足了第二范式,且该数据表中没有一个非主键字段传递依赖于主键,那么该数据表满足第三范式。
传递依赖关系是造成删除异常的原因。第三范式消除了传递依赖部分,因此解决了数据的删除异常问题。
1.7设计数据库的步骤
1、 需求分析 2、概念结构设计 3、逻辑结构设计 4、物理结构设计 5、数据库实施阶段 6、数据库运行和维护