《数据库概念数据模型》由会员分享,可在线阅读,更多相关《数据库概念数据模型(37页珍藏版)》请在金锄头文库上搜索。
1、数据库技术讲 义云南大学软件学院 梁志宏任务名称开始时间结束时间开会2010/1/4 14:002010/1/4 16:00业务学习2010/1/5 14:002010/1/5 16:00出差2010/1/6 0:002010/1/7 0:001、为什么要学习数据库: - 应用:广泛,无处不在 - 系统:打开黑匣子select t1.f1, t2.f2 from t1,t2where t1.f2=t2.f32、方法:强调设计- 保障优秀数据的可用性- 设计可以提供良好的交流手段- 熟悉数据库设计技能可以促进对当前数据库技术的理解本章主要学习内容- 数据系统的基本概念- 数据库的类型- 数据库管
2、理技术的发展第1章 数据库系统数据库应 用程序数据库管 理系统 DBMS数据 库数据库系统n 数据(Data)n 数据库(Database,简称DB)n 数据库管理系统(Database Management System,简称DBMS)n 数据库系统(Database System,简称DBS)1.1 四个基本概念1.1.1 数据(Data)与信息(Information)n 什么是数据(Data)?数据是原始事实,数据是描述事物的符号记录,数 据是用符号记录下来的可以区别的信息。 例:(张三,男,27,1982,贵州,软件工程,2009) 语义:张三是一个大学生,1982年出生,今年27岁
3、,男性, 贵州人,2009年考入软件工程专业。数据的形式还不能完全表达其内容,需要经过解释, 也就是对数据含义进行说明,数据的含义称为数据的语 义,数据与其语义是不可分的。n 什么是信息(Information) ?信息是处理过的、并以有意义的形式给出的数据,信 息是通过处理数据产生。n 什么是数据库Database?所谓数据库就是指有组织的、可共享的、相互有 关联的数据集合,简称DB。对于关系数据库来说:- 终端用户数据:终端用户感兴趣的原始事实- 元数据(metadata):关于数据结构的数据n 什么是数据库管理系统Database Management System ?数据库管理系统是用
4、于建立、使用和维护数据库 的一组软件,简称DBMS。1.1.2 数据库和数据库管理系统n 什么是数据库系统( Database System, DBS )? DBS是指在计算机系统中引入数据库之后的系统: 一般由数据库、数据库管理系统及其开发工具、 应用系统、数据库管理员(Database Administrator, DBA)和最终用户构成。即:DBS = DB + DBMS + Application + DBA + End User 在一般不引起混淆的情况下常常把数据库系统 简称为数据库。1.1.3 数据库系统数据库应 用程序数据库管 理系统 DBMS数据 库数据库系统创建并处理窗体 创
5、建并传递窗体 创建并处理报表 执行应用逻辑 控制应用程序创建数据库 创建表 创建支持结构 读取数据库数据 更新数据库数据 维护数据库结构 强制规则 并发性控制 安全性支持 备份和恢复1.2 数据库的类型n 按用户数量分: 单用户数据库(single-user database) 多用户数据库(multiuser database) 工作组数据库(workgroup database) 50Usersn数据库站点的位置分: 集中式数据库(centralized database) 分布式数据库(distributed database) n按数据库使用方式分: 事务数据库(transaction
6、al database)或生产数据库(production database) 数据仓库数据库(data warehouse database 1.3 桌面数据库系统和企业数据库系统数据库应 用程序数据库管 理系统 DBMS数据 库Microsoft Access 或其他私有DBMS桌面数据库系统数据库应用程序A数据库管 理系统 DBMS数据 库Microsoft SQL Server Oracle DB2 其他DBMS企业数据库系统数据库应用程序B数据库应用程序C数据 库数据 库数据 库Java代码C#代码HTML和VB脚本1.3数据管理技术的发展本节主要问题:数据库系统和文件系统的主要区别
7、和联系n 数据管理技术的发展 数据管理随着计算机软硬件技术的发展而不断发 展,经历了以下三个阶段: 人工管理阶段:50年代中期以前; 文件系统阶段:50年代后期到60年代中期之 间; 数据库系统阶段:60年代后期开始1.3.1 人工管理阶段1) 不保存 2) 无软件管理,由应用程序直接管理 3) 不共享 4) 无独立性应用程序1数据组1应用程序2数据组2应用程序n数据组n1.3.2 文件系统阶段1) 长期保存 2) 文件系统管理数据 3) 共享差 4) 冗余度大 5) 独立性差应用程序1文件1应用程序2文件 2应用程序n文件 n文件 系统 FS1.3.3 数据库系统阶段1) 数据结构化 2)
8、共享程度好,冗余度低,容易扩充 3) 独立性高 4) DBMS统一管理和控制应用程序1应用程序2应用程序n数据库管 理系统 DBMS数据库文件系统到数据库系统 示例Custom文件Agent 文件保险公司数据文件数据、字段、记录、文件随着文件数量的增多,逐渐演变成一个下图所示的小型文件 系统。伴随文件系统的第一个也是最显著的问题是,即使最简单 的数据检索任务也需要用3GL(third-generation language, 第3代语言)进行大量编程。3GL要求程序员既要指定必须做 什么,又要指定如何做。3GL的实例包括COBOL、BASIC和 FORTRAN。每一文件都必须有自己的由程序组成
9、的文件管理系统,至 少有5各基本操作:1) 创建文件结构2) 向文件添加数据3) 从文件删除数据4) 修改文件内的数据5) 显示文件内容 一个只有20个文件的简单文件系统,必须至少编写 520=100个文件管理程序 。n 在文件处理系统中存储数据的局限性 需要大量编程 系统管理可能复杂和困难 数据冗余和不一致 难于改变现有结构,数据共享差 安全性问题n 进一步导致 结构相关(Structural Dependence) 数据相关(Data Dependence) 数据冗余(Data Redundancy)n 要解决这些问题,就必须 开发通用的数据检索系统 表达和实现约束 对数据的访问进行逻辑管
10、理:事务 对数据进行访问控制,对事务进行并发控制n 结构相关性(Structural Dependence)对数据文件结构的任何修改(如增加删除字段)都需要修改 所有使用该文件的程序,之所以要修改,是因为文件系统具有 结构依赖性,即对文件的访问依赖于文件的结构。n 数据相关性(Data Dependence)即使文件数据特性发生改变(比如将字段从整数修改为小数 ),也要修改所有访问该文件的程序,显示出数据依赖性。n 数据冗余(Data Redundancy)存储在不同位置的相同数据不可能总是被一致更新,信息孤 岛经常包含相同数据的不同版本。当数据环境包括不必要的数 据重复时,就存在数据冗余出现
11、的条件。主要学习内容- 数据模型为什么重要- 什么是数据模型- 概念模型及其表示方法第2章 数据模型2.1 数据模型的重要性数据建模是数据库设计的第一步,是现实事物和 计算机中数据库之间的桥梁。 用户设计者程序员如果我们拥有一份良好的蓝图(BluePrint ),则程序员 、管理者、终端用户对数据如何看待就无关紧要了。在数据 库环境中,这个蓝图就是数据模型中的概念模型。2.2 什么是数据模型n 数据模型(Data Model)是数据库中用于抽象、表 示和处理现实世界中的数据和信息的工具。需要满 足三方面的需求: 比较真实的模拟现实世界 容易被人理解 便于在计算机上实现现实世界认识抽象信息世界
12、概念模型机器世界 DBMS支持的 数据模型蓝图(BluePrint )2.3 概念模型n 概念模型实际上是现实世界到机器世界的一个中间 层次。 n 基本概念: 实体(Entity):客观存在,并可以相互区别的事物。 属性(Attribute)是实体的某一特性,相当于文件系统中 的字段。 键标或码(Key):唯一标识实体的属性集合。 域(Domain):属性的取值范围。 联系(Relationship)描述实体之间的联系。 1:M联系(one-to-many relationship) M:N联系(many-to-many relationship)1:1联系(one-to-one relati
13、onship)2.4 概念模型的表示方法n E-R图,P. P. S. Chen 于1976年提出 (Entity Relationship Approach)。 实体:用矩形表示,矩形框内写明 实体 。 属性:用椭圆形表示,并用无向边 将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明 联系名,用无向边分别与有关实体 连接起来,同时在无向边旁标上联 系的类型(1 : 1,1 : M,M: N) 。班级学生组成1n班级号班级名班级班长班级-班长111:1班级学生组成1n1:n课程学生选修mnm:n示例1: 一般的联系课程教师讲授nm职工经理1实体内部的联系示例2: 特殊的联系参考书n三
14、个实体之间的联系n课程教师讲授mm学生小组长1示例3: E-R图参考书nn班级组成1选修mn班级名现实世界认识抽象信息世界 概念模型机器世界 DBMS支持的 数据模型蓝图(BluePrint )2.5 数据模型的组成要求1) 数据结构 是所研究的对象类型的集合,属于系统的静态特性 。2) 数据操作 是指对数据库中各种对象(型)的实例(值)允许执行的 操作的集合,属于系统的动态特性3) 数据约束条件 是一组完整性规则的集合,完整性规则是给定的数 据模型中数据及其联系所具有的制约和依存规则, 用以限定符合数据模型的数据库状态以及状态的变 化,以保证数据的正确、有效、相容。2.6 数据模型的演化按时
15、间顺序来分,主要有: 层次模型(Hierarchical Model) 网络模型(Network Model) 关系模型(Relational Model)医院病房计算机管理中的信息: 科室:科名,科地址,科电话,医生姓名 医生:姓名,职称,年龄,工作证号,所属科室名 病人:病历号,姓名,性别,诊断,主管医生,商业规则: 一个科室有多个医生一个医生只能属于一个科室,但可以负责多个病人一个病人的主管医生只有一个。用E-R图完成概念模型的设计。练习:2.8 小结数据模型(Data Model)是用计算机描 述世界的方式,主要用于DBMS的实现 。 概念模型实际上是现实世界到机器世界 的一个中间层次 采用E-R图来描述系统 常用的数据模型包括层次模型、网络模 型、关系模型。目前大多数数据库系统 采用关系模型。