1、n关系型数据库的概念n关系型数据库的优越性n如何规划关系型数据库n关系型数据库范式理论nE-R方法第四章第四章 数据库系统基础数据库系统基础重点:数据库系统数据库(是存储数据的容器,由许多个文件组成,一个数据库系统中可包含多个数据库。)数据库管理系统(是用来管理数据的软件,对数据进行维护和管理)数据库管理系统有以下四个方面的功能:数据定义:建立数据库和数据表,定义字段的数据类型等 数据处理:增加、删除、修改、查询 数据安全:创建用户账号、相应的口令及设置权限。数据备份:防止意外事件导致数据的丢失一 数据库系统模型是指数据库中数据的存储结构。根据具体数据存储需求的不同,常用的系统模型有三种:层次
2、模型、网络模型、关系模型,使用对应模型的数据库分别称为:层次型数据库、网络型数据库、关系型数据库。数据模型通常由数据结构、数据操作和完整性约束三部分组成。我们从这三方面来分析这些模型。一、层次型数据库江西师范大学外语系学工处中文系历史系教务处院系姓名性别年龄院系姓名课程成绩层次模型要满足两个条件:(1)有且只有一个根结点.(2)根结点以外的其他结点有且只有一个双亲结点.层次模型的优缺点:优点(1)层次分明,结构清晰。(2)不同层次间的数据关联直接简单。(3)提供了良好的完整性支持。缺点(1)对插入和删除操作的限制比较多。没有双亲结 点就不能插入子女结点。如果删除双亲结点则 相应的子女结点也被同
3、时删除.(2)查询子女结点必须通过双亲结点,任何一个结点 只有按其路径查看时,才能显示它的全部意义。(3)结点之间很难建立横向关联。二、网络型数据库R1R2R3R4优点:(1)能够更为直接地描述现实世界.(2)存取效率较高.缺点:结构关系错综复杂,很难维护.网络模型要满足两个条件:(1)允许一个以上的结点没有双亲结点.(2)一个结点可以多于一个双亲结点.三、关系型数据库员工编号 姓名性别工资1陈有鹏男20002孙晓晴女3000项目编号 名称客户负责人1SiSSim22PetPet1 关系型数据库的存储结构是二维表,表中每一行是一个记录,用来描述一个对象的信息,每一列是一个字段,描述对象的属性.
4、(1)结构简单,格式唯一,无论实体还是实体间的 联系都可以用关系表示.(2)理论基础严格,数据表之间相对独立。(3)存储路径对用户透明,从而具有更高的数据独 立性,更好的安全保密性.关系型数据库的优点:关系数据库的概念一、内部结构 关系数据库是由数据表和数据表之间的关联组成.二维表有行和列组成:行:记录(元组),代表众多相同属性的对象中的一个.列:字段(属性),代表数据库表中存储对象的共有属性.二、表的关联是指数据库中的数据表与数据表之间使用相应的字段实现数据表的连接。使得数据无需重复存储。设计规划关系型数据库一、关系数据库的设计和规划分为以下三个阶段:1。数据收集2。确定数据表和表中的字段3
5、。建立数据表之间的关联(通过例题分析)注:规范化数据库的主要目的是使数据库中重复存储的数据量减到最低,从而节约存储空间,提高访问效率。二、表的关联表示两个数据表之间的记录对应关系,关联可分为三种,分别是:一对一关联一对多关联多对多关联专业系学生1m专业系系主任11课程学生mn1。一对一关联:数据表A中的一条记录只能对应数据表B中的 一条记录,而数据表A中也只有一条记录同数据表B中的一条记录对应。(一般可以将具有一对一关联的两个数据表合并为一个数据表)2。一对多关联:数据表A中的一条记录对应数据表B中的多条记录。而 数据表B中的一条记录对应数据表A中的一条记录3。多对多关联:数据表A中的一条记录
6、对应数据表B中的多条记录,而数据表B中的一条记录也对应数据表A中的多条记录。(大多数情况下,可以将多对多关联转换为多个一对多的关联)问题问题:在数据库的设计和规划过程中,为什么先将数据按适当的原则分成多个表,然后又使用关联将它们连接起来呢?答:若不进行划分,则数据表非常庞大,对数据表的操作效率不高;当访问的数据涉及到多个表时,再将它们进行关联。三、主键和外键键是指数据表中的一个字段,分为主键和外键两种:主键是数据表中具有唯一型的字段。即数据表中的任意两个记录不能有相同的主键字段。(使用主键执行查询,可以提高查询的速度)外键一个数据表将使用该数据表中的外键连接到其它的数据表,而这个外键字段在其它
7、的数据表中将作为主键字段出现。(在设置外键字段的属性时,要与它原始的主键设置一致。)(*具体见课本例题)四、数据的完整性是指存储在数据库中的数据的正确性和可靠性,是衡量数据库中数据质量好坏的一种标准。即要求数据具有以下特点:数据类型准确无误、数据值满足范围设置、同一表格数据之间不存在冲突、多个表格数据之间不存在冲突。数据完整性的分类:1。实体完整性:保证不使用完全相同的数据记录(实现方法:主键、唯一键、唯一索引)2。区域完整性:要求数据表中的数据位于某一个特定的允许范围内;(实现方法:默认值、外键、核查、规则、数据类型、约束)3。参考完整性:维护相关数据表之间数据一致性的手段。(实现方法:外键
8、、触发器、存储过程、核查)4。用户定义完整性:由用户根据实际应用中的需要自行定义。(实现方法:规则、触发器、存储过程、约束)五、约束 使用约束的主要目的是限制输入到表中的数据的范围。有字段级约束和数据表级约束两种 SQL Server中使用的约束主要有以下四种:1。主键约束使用数据表中的一列数据或多列数据来唯一的标识一行数据。(主要用来实现实体完整性。)2。外键约束若确定了数据表中某一字段将作为该数据表与其它数据表关联时使用的外键,则该字段的取值范围将决定于关联数据表中该字段的取值。(主要用来实现区域完整性和引用完整性)3。唯一约束确保非主键字段中数据的唯一性。4。核查约束确保只有符合条件的数
9、据才能进入数据表关系数据库范式理论和E-R方法一、范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。1。第一范式(1NF)要求每一数据项都不能拆分成两个或两个以上的数据项。2。第二范式(2NF)若数据表已满足1NF,且该数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段。3。第三范式(3NF)若数据表已满足2NF,且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系。即不要在数据库中存储可以通过其它字段进行简单计算得出的数据。部门名经理正经理副经理DN1 M1 AM1DN2 M2 AM2借书人所借书名日期李华T1T2T3D
10、1D2D3李文化T2T4D4部门名正经理副经理DN1DN2M1M2AM1AM2借书人所借书名日期李华T1D1李华T2D2李华T3D3李文化T2D4李文化T4D41NF1NF学号姓名,性别,年龄课程号课程名,学分学号+课程号成绩学号课程号姓名性别年龄课程名学分成绩10051王网男21数据结构48010062刘柳女22英语58510061刘柳女22数据结构49010071李丽女20数据结构4782NF员工编号 姓名性别工资奖金1陈有鹏男20005002孙晓晴女3000750员工编号 姓名性别工资1陈有鹏男20002孙晓晴女30003NF注:数据表规范化的程度越高,数据冗余就越小,同时造成人为错误的可能性就越小。但规范化程度越高,在查询检索时需要做的关联等工作就越多,因此一般选择一个折衷的规范化程度。二、E-R方法是一种用来在数据库设计过程中表示数据库系统结构的方法。主导思想:使用实体、实体的属性以及实体之间的关系来表示数据库系统的结构。如下E-R模型图:员 工编号姓名性别工资项目编号负责人开始日期结束日期负责实体实体属性属性联系如何将E-R模型图转换成真正的数据结构?实体独立的数据表实体属性数据表中的字段实体之间的关系数据表之间的关联员 工编号姓名性别工资项目编号负责人开始日期结束日期负责实体实体属性属性联系员工编号姓名性别工资员工表项目编号 负责人 开始日期结束日期项目表