




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 数据库技术基础软件工程系 许爽2009年8月22日章节脉络1.1 数据库系统应用示例 1.2 数据库系统的基础简介1.3 数据库应用开发过程及系统架构1.4 数据库设计 2009年8月22日1.1 数据库系统应用示例账号 存款 余额 取款日期等账户信息顾客信息银行业务管理信息系统姓名 身份证号码地址 电话 通信编码等 2009年8月22日账户或余额的查询; 账户数据的更新操作等同一时间内保证一个账户并发操作不会出现错误 利用ATM系统故障,账户数据不会前后不一致等 1.1 数据库系统应用示例账号存款余额取款日期00000001100.002000.002009/1/1000000021
2、900.00300.002009/3/300000003100.00100.002009/2/7姓名身份证号地址电话通信编码张三210*大连西岗区0416*116021李四211*大连甘井区0416*116015王武222*大连中山区0416*116011顾客信息表2009年8月22日账户信息表数据:描述事物的符号记录 形式:数字、文字、图形、图像、声音 1.1 数据库系统应用示例(1)数据库可管理大量相互关联的数据(2)存储数据时需定义数据库的各种架构,例如表(3)数据存到数据库后,用户可使用其中数据(查询)(4)可控制多用户的访问:不同的用户只能执行允许执 行的操作;不同用户之间的操作互不
3、影响(DBMS)数据库管理系统:对收集到的大量数据进行整理、加工、归并、分类、计算、存储等操作 作用数据库: 将数据按照一定的数据模型组织、描述和存储,具有较小冗余度,较高数据独立性和扩展性,用户可共享的数据集合2009年8月22日1.1 数据库系统应用示例数据库系统:由数据库、数据库管理系统、应用系统、 数据库管理员和用户组成见1.4节2009年8月22日1.2 数据库系统的基础简介Oracle1Microsoft SQL Server2DB2和Informix3MySQL4Sybase ASE5Visual FoxPro7Microsoft Access6一、常见的数据库系统2009年8月
4、22日1.2 数据库系统的基础简介Oracle是世界上最早商品化的关系型数据管理系统,是数据库专业厂商Oracle公司的核心产品,当前应用最广 泛、功能最强大、可用性最高的数据库系统 Oracle1 1996年 Oracle7 1997年 Oracle8 1999年 基于Internet数据库Oracle8i 2001年 Internet电子商务基础架构Oracle9i2003年 Oracle Database 10g 集成式网络计算架构软件2009年8月22日11995年 第一个SQL Server版本Microsoft SQL Server 6.022000年 Microsoft SQL
5、Server 20002005年12月 Microsoft SQL Server 2005,适用.net(安全性和可用性)1.2 数据库系统的基础简介Microsoft SQL Server是一种典型的具有客户机/服务器体系架构的关系型数据库管理系统,用Transact-SQL语句在服务器和客户机之间传送请求和回应。可在多种操作系统上运行,具可靠性、可伸缩性、可用性和可管理性等特点,为用户提供了完整的数据库解决方案Microsoft SQL Server22009年8月22日1.2 数据库系统的基础简介DB2是IBM公司于1993年推出的关系型数据库管理系统,2001年,IBM收购了Infor
6、mix公司的数据库产品,让IBM在数据库市场上的地位大幅度增强DB2提供所有主流UNIX、Linux和Windows平台数据库版本DB2和Informix32009年8月22日1.2 数据库系统的基础简介MySQL是最流行的开放源码(任何人都能使用和改变软件,都能从Internet下载MySQL软件,而无需支付任何费用)的SQL数据库管理系统,由MySQL AB公司开发、发布并支持MySQL具有良好的连通性、速度和安全性,适于访问Internet上的数据库MySQL42009年8月22日1.2 数据库系统的基础简介Sybase公司开发的数据库管理系统,由Sybase SQL Server发展和
7、演变而来Sybase ASE52009年8月22日1.2 数据库系统的基础简介Microsoft Office组件之一,是Windows环境下非常流行的桌面型数据库管理系统Access无需编写任何代码,通过直观的可视化操作即可完成大部分数据库管理任务Microsoft Access62009年8月22日1.2 数据库系统的基础简介小型关系数据库产品,由微软公司兼并Fox公司后推出的可视化数据库编程工具Visual FoxPro72009年8月22日1.2 数据库系统的基础简介二、数据库技术的发展1、人工管理阶段时间:20世纪50年代中期以前计算机应用:科学计算(很大局限性)特点:数据不保存 没
8、有对数据进行管理的软件系统 没有文件的概念 数据是面向应用2009年8月22日1.2 数据库系统的基础简介2、文件系统阶段时间:20世纪50年代后期到60年代中期计算机应用:科学计算和数据管理特点:数据需要长期保存在外存上供反复使用 程序之间有了一定的独立性 文件的形式已经多样化 数据的存取基本上以记录为单位2009年8月22日v1.2 数据库系统的基础简介3、数据库系统阶段时间:20世纪60年代后期计算机应用:大规模的数据管理特点:数据共享 面向全组织的数据结构化 数据独立性 可控数据冗余度 统一数据控制功能2009年8月22日1.3 数据库应用开发过程及系统架构1、数据库开发过程的主要阶段
9、概念数据建模逻辑数据库设计物理数据库设计数据库的实现和维护数据需求实体关系图(外模式和概念模式)数据库模式内模式可使用的数据库2009年8月22日1.3 数据库应用开发过程及系统架构三级模式两级映射示意图2009年8月22日1.3 数据库应用开发过程及系统架构2、数据库应用开发过程调查研究系统分析系统设计系统实现系统维护问题描述,可行性研究系统需求和分析系统设计规范可操作的系统反馈反馈反馈反馈2009年8月22日1.3 数据库应用开发过程及系统架构3、数据库开发和数据库应用开发关系示意图系统要求数据库开发实体关系图表设计数据库应用开发过程模型 人机交互模型 原型 交互数据要求应用程序要求可运行
10、的系统可运行的数据库可运行的应用程序2009年8月22日1.3 数据库应用开发过程及系统架构4、数据库应用系统架构(1)单用户数据库应用架构:适用于个人计算机的单用 户数据库系统,统称为桌面型数据库管理系统范围:适用未联网、移动等用户使用(2)集中式数据库应用架构:采用大型主机和终端结合 的系统,将操作系统、应用程序和数据库系统等数 据和资源都放在作为核心的主机上,连接主机的许 多终端只是作为主机的一种输入输出设备范围:主机费用高,被取代 2009年8月22日1.3 数据库应用开发过程及系统架构(3)客户机/服务器应用架构:客户机提出请求,服务 器对客户机的请求作出回应,本质在于通过对服务 功
11、能的分布实现分工服务(4)多层数据库应用架构:有多个服务器作为数据库服 务器或应用服务器,可处理大容量数据、复杂的业 务逻辑的数据库2009年8月22日1.3 数据库应用开发过程及系统架构(5)Internet数据库应用架构:将应用程序安装在服务 器端执行,客户机端只安装作为前端运行环境的浏 览器。该架构的核心是Web服务器,负责接收远程 (本地)浏览器的超文本传输协议(HTTP)数据请 求,根据查询条件到数据库服务器获取相关数据, 将结果翻译成超文本标记语言(HTML)文件传送给 提出请求的浏览器2009年8月22日1.4 数据库设计一、数据模型描述数据库的三要素(1)数据结构:研究存储在数
12、据库中的对象类型的集合 数据结构是对系统静态特性的描述(2)数据操作:对数据库中各种对象的实例允许执行操 作的集合(增删查改) 数据操作是对系统动态特性的描述(3)数据完整性约束:完整性规则的集合,用以限定符 合数据模型的数据库状态以及状态的变化,以保证 数据的正确、有效和相容2009年8月22日1.4 数据库设计二、概念模型及其表示方法概念模型是对现实世界的抽象反映,不依赖于具体的计算机系统,是现实世界到计算机的中间层次1、实体(Entity):客观存在并可相互区分的事物,形 式可以是具体的人或物,或抽象的概念或事物与事物 间的联系例:学生的一次选课,某人在商店的一次购物等2009年8月22
13、日1.4 数据库设计2、属性(Attribute) :实体所具有的某一特性,是事 物的某一方面的特征的抽象描述3、关键字(Key):是惟一标识实体的属性或属性组合 候选关键字:惟一标识实体的属性或属性组(也 称次关键字) 主关键字:多个关键字中选出一个为主关键字候选关键字和主关键字关系:主关键字候选关键字2009年8月22日1.4 数据库设计4、域(Domain):某个(些)属性的取值范围例如:性别或成绩5、实体集(Entity Set):同型实体的集合例如:所有学生6、联系(Relationship):描述:事物内部以及事物之间的联系,反应为 实体内部之间的联系和实体之间的关系例如:人和椅(
14、坐被坐),学生与老师(教与学)2009年8月22日1.4 数据库设计联系的种类分为:一元联系 一对一联系(1:1) 二元联系 一对多联系(1:n) 多对多联系(m:n) 多元联系注意:元指的是在关系中实体的个数 没有多对一联系 2009年8月22日1.4 数据库设计一对一联系(1:1):描述:如果对于实体集A中的每一个实体,实体集B中至 多有一个实体与之联系,反之亦然,则称实体集A 与实体集B具有一对一联系例如:教室和黑板,班级和班长2009年8月22日1.4 数据库设计一对多联系(1:n):描述:如果对于实体集A中的每一个实体,实体集B中有n 个实体(n0)与之联系,反之实体集B中的每一 个
15、实体,实体集A中至多只有一个实体与之联系, 则称实体集A与实体集B有一对多联系例如:导员和学生,班级和学生2009年8月22日1.4 数据库设计多对多联系(m:n):描述:对于实体集A中的每一个实体,实体集B中有n个实 体(n0)与之联系,反之对于实体集B中的每一 个实体,实体集A中也有m个实体(m0)与之联 系,则称实体集A与实体集B具有多对多联系例如:学生和课程,教师与学生,图书和书店2009年8月22日1.4 数据库设计7、概念模型的表示方法实体-联系模型(E-R图)画图五要素:矩形表示实体集,框内写入实体名椭圆标识实体属性,无向边连接实体和属性菱形表示实体间的联系,框内写入联系名将对应
16、联系类型标注在实体-联系间的无向边上将对应的主码(主关键字)标出2009年8月22日1.4 数据库设计2009年8月22日1.4 数据库设计2009年8月22日1.4 数据库设计2009年8月22日1.4 数据库设计三、数据模型概述:用计算机认识对数据进行建模的方法,成为建立 数据模型数据模型分三种:层次模型 网状模型 关系模型2009年8月22日1.4 数据库设计1、层次模型:树形结构,树中每结点代表一种实体类型要求:有且仅有一个结点无双亲,这个结点称根节点 其他结点有且仅有一个双亲 优点:数据模型较简单,操作方便;实体间联系 固定,性能较高;提供良好的完整性支持缺点:不适合于表示非层次性的
17、联系;对插入和 删除操作的限制比较多;查询子女节点必 须通过双亲节点;层次命令趋于程序化大学院系教辅班级教研室2009年8月22日1.4 数据库设计2、网状模型:要求:一个结点可以有多个双亲结点 有一个以上的结点没有双亲结点学生选课学生选课学号+课程号优点:能够更为直接的描述现实世界; 具有良好性能,存取效率较高缺点:其DDL(数据定义语言)及其复 杂;数据独立性较差;应用程 序在访问数据时要指定存取路径2009年8月22日1.4 数据库设计3、关系模型:二维表(关系表)形式组织数据库中数据关系模型要求关系必须是规范化的,最基本的条件就是关系的每一个分量必须是一个不可分的数据项,即不允许表中有
18、表(1NF)学号姓名专业名性别出生日期总学分001101王林计算机男80-02-1050001102成名计算机男81-02-0150001105李芳芳计算机女79-12-3150001106黎明艺术男84-05-1250001109王艳艺术女82-11-1154优点: 关系模型建立在严格的数学概念上,概念 单一,数据结构简单,清晰;存储路径对 用户来说是透明,具有更高的数据独立性,同时数据具有更好的安全保密性 缺点:关系模型的查询效率不如非关系数据模型 2009年8月22日1.4 数据库设计(1)关系模型相关概念:记录:表中的每一行字段(属性):表中的每一列(列标题字段名)关系模式:给每个关系
19、表取一个名字,有n个字段的关 系表的结构可表示为: 表名(字段名1,字段名2,字段名n)码:涵义与候选关键字差不多主码:最体现本质的码 注意:在关系模式中一般要用横线标出主码2009年8月22日1.4 数据库设计学号姓名专业名性别出生日期总学分001101王林计算机男80-02-1050001102成名计算机男81-02-0150001105李芳芳计算机女79-12-3150001106黎明艺术男84-05-1250001109王艳艺术女82-11-1154学生信息表关系模式:学生(学号,姓名,专业名,性别,出生日期,总学分)2009年8月22日1.4 数据库设计学号课程号成绩00110110
20、180001101102780011011058900110210165001102105780011051018700110510569选课成绩表关系模式:选课(学号,课程号,成绩)2009年8月22日1.4 数据库设计(2)关系模型操作及完整性约束主要操作:查询、插入、删除和更新数据完整性约束: 实体完整性 参照完整性 用户定义的完整性(域完整性)关系数据库标准操作语言:SQL语言注意:关系模型中的数据操作都是集合操作,操作对 象和操作结果都是关系2009年8月22日1.4 数据库设计例1:设计一个银行数据库,包括顾客和账户信息。顾客 信息包括姓名、地址、电话、身份证号,账户信息 包括流水
21、号、类型(存款、支票)和余额。记录拥 有账户的顾客。(1)绘制E-R图(2)修改E-R图,使得一个账户只能由一个顾客拥有; 使一个顾客只能由一个账户(3)将所有可能关系转换成关系模式2009年8月22日1.4 数据库设计例2:设计一个适合大学选课的数据库。该数据库包括学 生、系、教授、课程、哪个学生选了哪门课、哪个 教授教哪门课、学生的分数,一个系提供哪些课程 等信息(1)绘制E-R图(2)将所有可能关系转换成关系模式2009年8月22日1.4 数据库设计2009年8月22日设 计阶 段设计描述数据处理需 求分 析数据字典、全系统中数据项、数据流、数据存储的描述数据流图和判定表(判定树)、数据
22、字典中处理过程的描述概念结构设计概念模型(E-R图)系统说明书:新系统要求、方案和概图;新系统信息流的数据流图逻辑结构设计某种数据模型关系 非关系系统结构图(模块结构)物理设计存储安排;方法选择;存取路径建立模块设计;IPO表数据库实施阶段编写模式;装入数据;数据库试运行程序编码;编译联结;测试数据库运行和维护性能监测、转储/恢复;数据库重组和重构新旧系统转换、运行、维护1.4 数据库设计四、数据库设计的各过程阶段:2009年8月22日需求分析阶段概念结构设计逻辑结构设计数据库物理设计4123数据库实施5数据库运行与维护61.4 数据库设计1、需求分析阶段(1)需求分析的任务通过详细调查现实世
23、界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能重点:调查,收集和分析用户在数据管理中的信息要求, 处理要求,安全性要求和完整性要求2009年8月22日1.4 数据库设计(2)需求分析的方法:调查组织机构情况(组成及职能)调查各部门业务活动状况(主要掌握相关数据形式)协助用户明确对新系统的各种要求(包括信息,处理 及完整性的要求)确定新系统的边界(功能的设定)2009年8月22日1.4 数据库设计(3)数据字典描述:数据字典是进行数据库设计中数据收集和分析所 获得的各类数据描述的集合包括: 数据项 数据结构 数据流 数据存储 处理过程注意:数据字典是关
24、于数据库中数据的描述(即元数据, 而不是对数据本身的处理2009年8月22日1.4 数据库设计数据项:不可再分的数据单位数据项=数据项名,数据项含义说明,别名,数据类型, 长度,取值范围,取值含义,与其他数据项的 逻辑关系例:数据项描述:学号 数据项:学号 含义说明:惟一标识每个学生 别名:学生编号 类型:字符型 取值范围:00000009999999 取值含义:12位表示年级,34位表示专业,5位表 示班级号,67位表示班级序号2009年8月22日1.4 数据库设计数据结构:数据之间的组合关系数据结构=数据结构名,含义说明,组成:数据项或数 据结构例:学生的数据结构描述: 数据结构:学生 含
25、义说明:学生管理子系统的主体数据结构,定义 了一个学生的有关信息 组成:学号,姓名,出生日期,性别,家庭住址, 电话号码,邮政编码,入学成绩2009年8月22日1.4 数据库设计数据流:数据结构在系统内传输的路径数据流描述=数据流名,说明,数据流去向,组成:数 据结构,平均流量,高峰期流量例:“考试/考察课”数据流描述 数据流:平时成绩,期中成绩,期末成绩 说明:测试学生学习程度和测量教师教学水平 数据源来源:考试/考查的卷面分数 数据流去向:课程最终评定分数 组成:学号,姓名,课程号,分数2009年8月22日1.4 数据库设计数据存储:数据结构停留或保存的地方(载体)数据存储描述=数据存储名
26、,说明,编号,流入的数据 流,流出的数据流,组成:数据结构, 数据量,存取方式例:学生登记表的数据存储描述: 数据存储:学生登记表 说明:记录学生的基本情况 流入数据流:学号,姓名,出生日期,性别,家庭 住址,电话,邮编,入学成绩 流出数据流:人数,年龄段,男女比例,平均成绩 存取方式:随机存取 数据量:记录字节数*年级*标准班人数*班级数2009年8月22日1.4 数据库设计处理过程:数据字典中描述处理过程的说明性信息处理过程描述=处理过程名,说明,输入:数据流, 输出:数据流,处理:简要说明例:教室安排的处理过程的描述: 处理过程:安排教室 说明:为所有班级按照课程规格分配教室 输入:课程
27、号,课程类型,教室号,教师号,班号 输出:教师安排表(课表) 处理:为所有班级分配授课教师,确定某一专业班 级数据和课程规格,给每一班安排授课教 师,要求同一教室只能安排同一班学生,同 一教师某一时间段只能安排在一个教室授课 2009年8月22日1.4 数据库设计2、概念模型设计(1)概念结构设计的方法:自顶向下:首先定义全局概念结构的框架再逐步细化自底向上:先定义局部应用的概念结构再集成得全局逐步扩张:先定义最重要的核心部分再向外扩充混合策略:将自顶向下和自底向上结合,自顶向下策 略设计一个全局概念框架,再用自底向上 设计各局部概念结构2009年8月22日1.4 数据库设计(2)数据抽象与局
28、部E-R图设计根据需求分析的结果设计各个局部视图即分E-R图集成局部E-R图 选择局部应用(在多层次中选择适当层次的数据流图) 逐一设计分E-R图(将每一部分局部应用作E-R图)注意:属性必须是不可分的数据项 联系只能发生在实体之间2009年8月22日1.4 数据库设计(3)局部E-R图的优化:即为集成过程,生成全局E-R 图,进行合并,修改和重构等工作合并局部E-R图,生成初步E-R图主要工作解决冲突:属性冲突:主要是属性域的问题例:有的价钱用元,有的用分表示命名冲突:同名异义或异名同义(班主任与教师)结构冲突:同一对象在不同的应用中具有不同的抽象 (如实体有可能被看作是属性操作)例:成绩看
29、成是属性或实体2009年8月22日1.4 数据库设计修改与重构,生成基本E-R图:将局部E-R图进行归并 后生成的是初步的E-R图,可能存在冗余的数据和冗余 的实体间联系去冗余有两种方法:自我分析法关系规范化 1NF:表中不可套表(属性最小单位不可分) 2NF:去除部分函数依赖 3NF:去除传递函数依赖2009年8月22日1.4 数据库设计职工号姓名职称工资扣除实发基本津贴职务房租水电86051陈平讲师130512005016011222831NF:每个属性的域都只包含单一的值2009年8月22日1.4 数据库设计2NF:满足第一范式,所有非主关键字属性完全依赖于整个主关键字 学号姓名课程号成
30、绩0801111王启101672009年8月22日1.4 数据库设计3NF:满足第二范式,任何一个非主属性都不传递依赖于任何关键字 学号课程号成绩学分08011111018942009年8月22日1.4 数据库设计3、逻辑结构设计(1)E-R图向关系模式的转换原则:一个实体型转换为一个关系模式 一个m:n联系转换为一个关系模式 一个1:n联系可以转换为独立的关系模式,也可与 n端对应的关系模式合并 一个1:1联系可以转换为独立的关系模式,也可与 任意一端对应的关系模式合并 三个或三个以上实体间的一个多元联系转换为一 个关系模式 实体集的实体间的联系(自连接) 相同关键字的关系模式可合并2009
31、年8月22日1.4 数据库设计1:1联系的E-R图到关系模式的转换a、联系单独对应一个关系模式,则由联系属性,参与 联系的各实体集的主码属性构成关系模式注意:联系的主码可以选用任何一方的主码举例:班级(班级编号,院系,专业名,人数) 班长(学号,姓名) 属于(学号,班级编号)或 属于(班级编号,学号)2009年8月22日1.4 数据库设计b、联系不单独对应一个关系模式,联系的属性及一方 的主码加入另一方实体集对应的关系模式中举例:班级(班级编号,院系,专业名,人数) 班长(学号,姓名,班级编号)或 班级(班级编号,院系,专业名,人数,学号) 班长(学号,姓名) 2009年8月22日1.4 数据库设计1:n联系的E-R图到关系模式的转换a、联系单独对应一个关系模式,则由联系的属性,参与联系的各实体集的主码属性构成关系模式注意:n端的主码作为该关系模式的主码举例:班级(班级编号,院系,专业名,人数) 学生(学号,姓名,专业名,性别,出生时间, 总学分,备注) 属于(学号,班级编号)2009年8月22日1.4 数据库设计b、联系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 1219-2020节能技术评审方法和程序
- DB31/T 1101-2018液化石油气钢瓶延长使用期安全评定方法
- DB31/T 1046-2017家政服务从业人员基本要求
- DB31/T 1027-2017室内装饰装修材料挥发性有机化合物散发率测试系统技术要求
- DB31/ 590-2012变形铝及铝合金铸造锭、铸轧卷单位产品能源消耗限额
- 采盐技术在不同盐田区域中的适用性分析考核试卷
- 空调器维修工具与设备选用考核试卷
- 羊绒面料风格评价试题考核试卷
- 金属工具人机工程应用考核试卷
- 2024年真空管太阳热水器项目资金需求报告代可行性研究报告
- 公司级新员工安全培训课件
- 沪教版(牛津英语)二年级英语下册全册单元试题
- 折弯工艺培训
- 2025-2030年煤炭贸易产业发展分析及发展趋势与投资前景预测报告
- 农业灌溉系统全掌握-故障排查与维护实战指南
- 中国金融黑灰产治理研究报告 2024
- 行政管理专科公共安全管理试题及答案
- 高碳铬铁生产流程
- 学校“校园餐”专项整治推进工作情况汇报范文
- 委托清算协议书范本
- 福州教育学院附属中学2025年高三全真四模数学试题试卷
评论
0/150
提交评论