1、南京邮电大学计算机学院2010年3月,江苏省计算机等级考试,三级偏软,主讲 陈春玲 计算机学院、软件学院 Tel:18951896150,南京邮电大学计算机学院2010年3月,第4章 数据库系统,南京邮电大学计算机学院2010年3月,1 数据库基本概念(数据、数据模型、数据库结构体系、数据库管理系统) 2 关系数据库原理(关系代数、关系数据库、函数依赖和规范化) 3 结构化查询语言(SQL) 4 数据库系统(Visual FoxPro)的应用,南京邮电大学计算机学院2010年3月,1 数据库基本概念,南京邮电大学计算机学院2010年3月,数据:是数据库系统研究和处理的对象。 数据模型:是一种表
2、示实体类型及实体间联系的模型(层次、网状、关系模型)。,数据模型的三个级别: 概念数据模型 逻辑数据模型 物理数据模型,南京邮电大学计算机学院2010年3月,概念数据模型 ,面向现实, 面向用户, 与DBMS无关 描述一个单位的概念化结构 例如:E-R模型、扩充的E-R模型,逻辑数据模型 ,面向用户,面向DBMS 用户从数据库所看到的模型 反映数据的逻辑结构 例如:层次、网状、关系模型,物理数据模型 ,面向存储结构、面向实现 反映数据存储结构(块、指针、索引)与DBMS、 OS和硬件有关,概念模型表示的数据逻辑模型表示的数据DBMS中实现,南京邮电大学计算机学院2010年3月,数据库结构体系三
3、级模式结构;,南京邮电大学计算机学院2010年3月,数据库管理系统(DBMS):定义、建立、使用、管理和维护数据库的软件。如Oracle、Sybase等;,南京邮电大学计算机学院2010年3月,数据库管理系统(DBMS)的功能: 数据库的定义(数据定义语言DDL); 数据操纵功能(数据操纵语言DML); 数据库运行控制(并发控制、数据的安全性控制、数据的完整性控制);,南京邮电大学计算机学院2010年3月,2 关系数据库原理,南京邮电大学计算机学院2010年3月,2.1 关系代数,关系数据模型提供一组完备的关系操作,以支持对数据库的查询等操作。 关系操作分为两大类:关系代数和关系演算。 关系代
4、数包括:选择、投影、连接、除、并、交、差、笛卡儿积。,南京邮电大学计算机学院2010年3月,2.2 关系数据库,现实世界中,事物与事物之间存在一定的联系,而且联系也很复杂。 信息世界:是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,是对现实世界的选择、命名、分类等抽象过程而产生的。,2.2.1 数据描述,1. 从现实世界到机器世界,南京邮电大学计算机学院2010年3月,实体:客观存在并可相互区别的事物。 实体集:同一类实体的集合。 属性:实体的具体特性。 关键字:能够唯一地标识出每一个实体的某个属性或属性集。 联系:实体集之间的对应关系。,机器世界:数据库中的数据都是有组织有
5、结构的,要用数据模型来表示这些组织结构,并映射到机器世界。,南京邮电大学计算机学院2010年3月,2. 信息世界的概念模型,概念模型:实体-联系模型。 实体-联系模型的三个要素:实体、属性、实体间的相互联系。 三种类型的联系:1:1、1:N、M:N。,南京邮电大学计算机学院2010年3月,关系模型:是以二维表格结构为基础的。是由若干个关系模式组成的集合。每个关系模式就是一张二维表。 关系:。 元组:。 属性 域: 关键字: 关系模式: 关系模型的特点:关系必须规范化、模型概念单一、可做集合操作。,2.2.2 关系模型,南京邮电大学计算机学院2010年3月,2.3 关系的规范化,在设计关系时,必
6、须对关系模型规范化。 关系的规范化:使关系模式满足某种条件。就是对有异常的关系进行分解以消除异常的过程。,删除该实体,出现了异常!,南京邮电大学计算机学院2010年3月,再删除该实体,就不会出现异常了!,南京邮电大学计算机学院2010年3月,函数依赖:是关系属性之间的一种联系。有三种联系依赖、部分依赖、传递依赖。,函数依赖于,南京邮电大学计算机学院2010年3月,主关键字是学号,课程,决定了学分,学分函数依赖于该主关键字。但只是“课程”决定了“学分”,与“学号”无关,这种依赖就是部分依赖。,南京邮电大学计算机学院2010年3月,主关键字“学号”,决定了“楼号”,“楼号”函数依赖于该主关键字。但
7、应交的住宿费是由“楼号”决定的,“收费”依赖于“楼号”。就是说“楼号”依赖于“学号”,“收费”依赖于“楼号”,这种依赖就是传递依赖。,南京邮电大学计算机学院2010年3月,范式:在规范化过程中遵循的准则。1NF、2NF、3NF等。 1NF:属性都是原子数据的关系模式。 2NF:如果一个关系的所有非主关键字属性都完全依赖于整个主关键字(不存在部分依赖)。 3NF:一个关系如果是2NF,并且没有传递依赖。,该表就是1NF。但该表存在更新异常!,南京邮电大学计算机学院2010年3月,消除部分依赖后得到的两个表就是2NF。,南京邮电大学计算机学院2010年3月,2NF中的关系也会有异常。下表没有部分依
8、赖,符合2NF,但存在传递依赖,若删除学号为120的元组,则丢掉了收费。,上述两表首先是2NF,并且没有传递依赖,故是3NF。,南京邮电大学计算机学院2010年3月,设计折中 规范化程度过低:数据冗余、更新异常; 规范化程度过高:数据查询代价高; 规范化和非规范化还是要根据用户的需求决定。,南京邮电大学计算机学院2010年3月,2.4 关系数据库设计,关系数据库的设计步骤: 系统需求分析数据流图和数据字典; 概念设计实体联系图; 逻辑设计将实体联系图转换成关系模型,规范化; 物理设计为逻辑模型选取一个最适合应用环境的物理结构。 数据库的实现和维护,南京邮电大学计算机学院2010年3月,3 结构
9、化查询语言(SQL),南京邮电大学计算机学院2010年3月,SQL:结构化查询语言,是关系数据库语言,包括查询、定义、操纵和控制四个部分; SQL的使用方法有2种:交互式SQL和嵌入式SQL; 特点: 综合统一:SQL语言集DDL、DML、DCL的功能于一体,语言风格统一; 高度非过程化:用户只需说“做什么”,存取路径选择以及SQL语句的操作过程由系统自动完成; 面向集合的操作方式:操作对象是元组的集合; 以同一种语法结构提供两种使用方式; 语言简洁,易学易用。,南京邮电大学计算机学院2010年3月,南京邮电大学计算机学院2010年3月,视图1,视图2,基表1,基表2,基表3,基表4,存储文件2,存储文件1,SQL,外模式,模式,内模式,虚表 只存放定义 可以查询,独立的表 可建索引,逻辑结构构成 数据库的内模式 对用户透明,SQL语言支持关系数据库三级模式结构,其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件。,南京邮电大学计算机学院2010年3月,4 数据库系统的应用,南京邮电大学计算机学院2010年3月,