1、2022-6-221数据库基本知识2022-6-222数据管理技术的产生和发展n什么是数据管理n对数据进行分类、组织、编码、存储、检索和维护,是数据处理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题的中心问题n数据管理技术的发展过程n人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中)n文件系统阶段文件系统阶段(50年代末年代末-60年代中年代中)n数据库系统阶段数据库系统阶段(60年代末年代末-现在现在)2022-6-223什么是数据库系统?应用程序数据库管理系统数据库用户2022-6-224关系数据库由来n系统而严格地提出关系模型的是美国IBM公司的E.F.C
2、oddn1923年8月19日生于英格兰中部,当国兵,教过书,在IBM做研究n1948年在牛津大学获数学学士和硕士学位,之后到美国求职,13年后重返大学,在米歇根大学进修计算机与通信,1965年获博士学位nE.F.Codd本性是个数学家,他最大的愿望是为数据库建立一个优美的数学模型n关系数据库之父1969: Edgar F. Ted Codd invents the r e l a t i o n a l database.2022-6-225关系数据库的历史n1963年,美国Honeywell公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序幕。n进入
3、数据库阶段的标志是20世纪60年代末发生的三件事件:n1968年IBM公司研制的IMS系统是一个典型的层次DBS;n1969年美国CODASYL组织DBTG报告,提出网状DBS的概念;n1970年美国IBM公司的E.F.Codd发表论文,提出关系模型的思想。 n20世纪70年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。 n20世纪80年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。 n20世纪90年代,关系数据库已成为数据库技术的主流。 n进入21世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术
4、、网络数据库技术的推广和普及已成定局。 2022-6-226数据库的定义n数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。2022-6-227数据库的特征n数据按一定的数据模型组织、描述和存储数据按一定的数据模型组织、描述和存储n可为各种用户共享可为各种用户共享n冗余度尽可能小冗余度尽可能小n数据独立性较高数据独立性较高n易扩展易扩展2022-6-228数据库管理系统n什么是DBMSn数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。2022-6-229硬件平台硬件平台基础软
5、件平台基础软件平台软件基础构架平台软件基础构架平台应用软件平台应用软件平台软件产品软件产品协同软件协同软件办公软件办公软件 中间件中间件 应用服务器应用服务器数据库在计算机系统中的地位2022-6-2210DBMS的主要功能n科学地组织和存储数据、高效地获取和维护数据n数据定义功能n 提供数据定义语言(DDL)Data Define Languagen 定义数据库中的数据对象n数据操纵功能:提供数据操纵语言(DML)Data Manipulation Languagen 操纵数据实现对数据库的基本操作n (查询、插入、删除和修改)2022-6-2211DBMS的主要功能n数据库的运行管理n保证
6、数据的安全性、完整性、n多用户对数据的并发使用n发生故障后的系统恢复n数据库的建立和维护功能(实用程序实用程序)n数据库数据批量装载n数据库转储n介质故障恢复n数据库的重组织n性能监视等2022-6-2212数据独立性n数据独立性包括两个方面:物理独立性和逻辑独立性。首先先讨论数据的物理数据独立性。 n要理解数据独立性的含义,最好的方法是搞清数据的抽象层次。 2022-6-2213数据独立性:n物理独立性:DBMS将数据的物理结构与应用程序分离, 应用程序要处理的只是逻辑结构,这样当物理结构改变时,应用程序不用改变。n逻辑独立性:用户的应用程序与数据库的逻辑结构是相互独立的,也就是当逻辑结构改
7、变时,应用程序不用改变。2022-6-2214DBMS对数据的控制功能n数据的安全性(Security)保护n使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。n数据的完整性(Integrity)检查n将数据控制在有效的范围内,或保证数据之间满足一定的关系。2022-6-2215DBMS对数据的控制功能n并发(Concurrency)控制n对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。n数据库恢复(Recovery)n将数据库从错误状态恢复到某一已知的正确状态。2022-6-2216数据库用户和管理员n偶然用户n初级用户n高级用户n
8、系统分析员n应用程序员2022-6-2217偶然用户和初级用户n偶然用户n企业或组织机构的高中级管理人员n初级用户n银行的职员、机票预定人员、旅馆总台服务员2022-6-2218高级用户n工程师、科学家、经济学家、科技工作者等n直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序2022-6-2219系统分析员n负责应用系统的需求分析和规范说明n与用户及DBA协商,确定系统的硬软件配置n参与数据库系统的概要设计2022-6-2220系统分析员和数据库设计人员n参加用户需求调查和系统分析n确定数据库中的数据n设计数据库各级模式2022-6-2221应用程序员n设计和
9、编写应用系统的程序模块n进行调试和安装2022-6-2222数据库管理员(DBA)职责n模式定义n数据存储结构和存取策略定义n模式和存储结构的修改n数据访问授权2022-6-2223数据库管理员(DBA)职责n日常维护n周期性转储数据库n数据文件n日志文件n系统故障恢复n介质故障恢复n监视审计文件2022-6-2224数据库管理员(DBA)职责n数据库的改进和重组n性能监控和调优n数据重组:数据库运行一段时间后,由于记录不断增、删改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,需要由DBA按原设计要求重新安排存储位置,回收垃圾,减少指针链等,提高系统性能。n数据库重构
10、由于数据库应用环境发生变化,使原有的数据库设计不能满足新的要求,需要调整数据库的模式和内模式。2022-6-2225数据库系统n什么是数据库系统n数据库系统(数据库系统(Database System,简称,简称DBS)是指在计算机系统中引入数据库后的)是指在计算机系统中引入数据库后的系统构成。系统构成。n在不引起混淆的情况下常常把数据库系统简在不引起混淆的情况下常常把数据库系统简称为数据库。称为数据库。2022-6-2226 数据库系统的组成n数据库n数据库管理系统(及其开发工具)n应用系统n数据库管理员n(用户)2022-6-2227数据库系统(续)数据库系统在计算机系统中的位置图示:20
11、22-6-2228关系模型n最重要的一种数据模型。也是目前主要采用的数据模型n1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出n本课程的重点2022-6-2229关系模型的数据结构及术语 教师号 姓名 年 龄 职称 001 肖正 28 讲师 002 赵珊 40 教授 003 张昆 34 副教授 关关 系系 教师登记表 关关系系名名 属属性性名名或或属属性性列列 元元 组组 集集合合 元元组组或或行行 关关系系模模式式 主主 码码 列中所有可能的值称为域域 某一分分量量 n在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。2022-6-2230关系模
12、型的基本概念n关系(Relation)一个关系对应通常说的一张表。n元组(Tuple)表中的一行即为一个元组。n属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。2022-6-2231关系模型的基本概念n主码(Key)表中的某个属性组,它可以唯一确定一个元组。n域(Domain)属性的取值范围。n分量元组中的一个属性值。n关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)2022-6-2232关系数据模型的数据结构(续)n实体及实体间的联系的表示方法n实体型实体型:直接用关系(表)表示。:直接用关系(表)表示。n属性属性
13、:用属性名表示。:用属性名表示。n一对一联系一对一联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。n一对多联系一对多联系:隐含在实体对应的关系中。:隐含在实体对应的关系中。n多对多联系多对多联系:直接用关系表示直接用关系表示。2022-6-2233关系数据模型的数据结构(续)例1学生、系,系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)系系 (系号,系名,办公地点系号,系名,办公地点)例2系、系主任,系与系主任间的一对一联系系系 (系号,系名,系主任名,办公地点系号,系名,系主任名,办公地点)2022-6-2234关系数据模
14、型的数据结构(续)例3学生、课程、学生与课程之间的多对多联系: 学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩)2022-6-2235关系数据模型的数据结构(续)n关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。可分的数据项。 图图1.27中工资和扣除是可分的数据项中工资和扣除是可分的数据项 ,不符合关系模型要求不符合关系模型要求 图图1.27 一个工资表一
15、个工资表(表中有表表中有表)实例实例 2022-6-2236出产日期 产品号 产品名 型号 年 月 日 032456 风扇 A134 2004 05 12 关系数据模型的数据结构(续)n不是规范化的关系例:2022-6-2237关系数据模型的数据结构(续)关系术语一般表格的术语关系名表名关系模式表头(表格的描述)关系(一张)二维表元组记录或行属性列属性名列名属性值列值分量一条记录中的一个列值非规范关系表中有表(大表中嵌有小表)表表1.2 术语对比术语对比 2022-6-2238关系模型的数据操纵n查询、插入、删除、更新n数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合n存取路径
16、对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”2022-6-2239关系模型的完整性约束n实体完整性n参照完整性n用户定义的完整性2022-6-2240关系数据模型的存储结构n表以文件形式存储n有的DBMS一个表对应一个操作系统文件n有的DBMS自己设计文件结构2022-6-2241关系模型的优缺点n优点n建立在严格的数学概念的基础上n概念单一。数据结构简单、清晰,用户易懂易用n实体和各类联系都用关系来表示。n对数据的操作结果也是关系。n关系模型的存取路径对用户透明n具有更高的数据独立性,更好的安全保密性n简化了程序员的工作和数据库开发建立的工作2022-6-2242关系模型的优缺点(续)n缺点存取路径对用户透明导致查询效率往往不如非存取路径对用户透明导致查询效率往往不如非关系数据模型关系数据模型为提高性能,必须对用户的为提高性能,必须对用户的查询请求进行优化查询请求进行优化增加了开发数据库管理系统的难度增加了开发数据库管理系统的难度2022-6-2243典型的关系数据库系统nORACLEnSYBASEnINFORMIXnDB/2nCOBASEnPBASEnEasyBasenDM/2nOpenBasenSQL ServernKingBase