网络数据库技术应用.ppt
网络数据库技术应用,介绍本课程的特点、重点和难点、知识面、学习方法,一、课程简介,1.数据库作为信息处理最先进的技术和最有效的工具,则从一般的大型软件发展成为了现代计算环境的核心技术。各行各业均需应用信息系统,而数据库是信息系统的核心。2.国际互连网络的信息系统和动态网页发布同样离不开数据库技术的支持,网络数据库则是把网络技术和数据库技术相结合的一门学科,目前,网络数据库”则成为计算机等多个专业的必修课程。3.本课程总课时数为52课时,中理论授课40学时,实践学时12学时。,目前国内外大学计算机专业数据库课程的教学情况,把数据库教学总结为3个层次:,数据库应用 要求学生熟练掌握最流行的一种数据库产品,如Oracle,SQL Server和MySQL等,并能进行简单的应用设计。数据库理论的研究和数据库新技术该层次的教学对象为计算机专业的研究生 DBMS原理和设计DBMS是数据库的操作系统,目前国内只有少数几个高校和公司具备DBMS的设计能力,如中国人民大学、东大阿尔派。,二、学前准备及学习方法,1.网络数据库课程的先修课程为数据库原理、操作系统、编译原理、网络程序设计等。2.需要首先了解数据库是什么?能干什么?如何使用等基本问题,然后在“做中学”。即选择一个数据库管理系统产品,完成一个简单的、接近于社会或生活实际问题的管理应用系统,在实践过程中领会和加深对数据库原理的理解,并用学到的数据库原理,指导数据库应用系统的设计和实现。,三、课程重点、难点,网络数据库技术的应用是三分技术,七分设计,关键的工作是设计合理、好用、效率高的数据库。数据库应用系统的设计者必须灵活地运用数据库理论,根据实际情况决定创建什么样的数据库,库中包括什么信息,信息之间如何联系,以及数据库模式应该达到那个级别的范式等。网络数据库课程的目的是培养学生具有这样的能力:在用户和计算机之间架起桥梁,开发出满足用户使用的、操作简便、功能齐全、运行效率高的应用系统。为达此目的,学生必须深刻领会数据库原理的本质,还要善于从管理的对象中,抽取出有用信息,并建立数据模型。而此能力不是靠知识的记忆,应该是知识的综合利用。,四、网络数据库有哪一些知识层面呢?,数据库技术:掌握一门数据库,并且应用熟练,本课程主要介绍MySQL。编程技术:编程相对比较简单,首先没有逻辑错误,还应尽量提高程序的效率.本课程主要介绍JSP。数据库结构的设计:数据库设计不是创建几个表那么简单,连一个数据类型都会关系到系统的性能,比如用int型就比char型查找起来快。4.应用系统的设计,教材,教材周玲艳,张希:网络数据库技术应用,机械工业出版社,2008.8,内容安排,基础篇第一章 数据库概述第二章 MySQL基础第三章 MySQL的语法第四章 使用JDBC连接数据库第五章 使用JSP编程访问数据库 设计与应用开发篇第六章 数据库设计理论与实践第七章 综合实训-构建小型电子商务系统,五、参考书,参考书数据库系统概论(第四版)萨师煊,王珊编,高等教育出版社,2006-第一章MySQL Cookbook Paul DuBois编,电子工业出版社,2008.3-第二、三章JSP 实用简明教程程志艳编著,清华大学出版社,2007.8-第四章、第五章数据库设计与应用刘亚军编,清华大学出版社,2007.6-第六章Java Web数据库系统应用开发与实例,沈应逵主编,人民邮电出版社,2008.2-第七章 上机软件MySQL+JSP+Tomcat,网络数据库技术应用第一章 绪论,数据管理技术的产生和发展,什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据管理技术的发展过程人工管理阶段(40年代中-50年代中)文件系统阶段(50年代末-60年代中)数据库系统阶段(60年代末-现在),数据管理技术的产生和发展(续),数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展,一、人工管理,时期20世纪40年代中-50年代中产生的背景应用需求科学计算硬件水平无直接存取存储设备软件水平没有操作系统处理方式批处理,人工管理(续),特点数据的管理者:用户(程序员),数据不保存数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制,应用程序与数据的对应关系(人工管理),二、文件系统,时期50年代末-60年代中产生的背景应用需求科学计算、管理硬件水平磁盘、磁鼓软件水平有文件系统处理方式联机实时处理、批处理,文件系统(续),特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须 修改应用程序数据控制能力:应用程序自己控制,应用程序与数据的对应关系(文件系统),文件系统中数据的结构,记录内有结构。数据的结构是靠程序定义和解释的。数据只能是定长的。可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。文件间是独立的,因此数据整体无结构。可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。数据的最小存取单位是记录。,三、数据库系统,时期60年代末以来产生的背景应用背景大规模管理硬件背景大容量磁盘软件背景有数据库管理系统处理方式联机实时处理,分布处理,批处理,数据库系统(续),特点数据的管理者:DBMS数据面向的对象:现实世界数据的共享程度:共享性高数据的独立性:高度的物理独立性和一定的 逻辑独立性数据的结构化:整体结构化数据控制能力:由DBMS统一管理和控制,应用程序与数据的对应关系(数据库系统),再如教学管理数据库,设备管理数据库,第一章 数据库概述,1.1 数据库系统的基本概念1.2 概念模型与数据模型1.3 关系数据库1.4 与数据库沟通-SQL简介1.5 数据库保护1.6 网络数据库应用技术,数据库的地位,数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。,1.1 数据库基本概念,数据库(Database)数据库管理系统(DBMS)数据库系统(DBS),数据,数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据与其语义是不可分的,数据举例,数据的含义称为数据的语义,数据与其语义是不可分的。例如 93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:计算机系2003级学生人数语义4:请同学给出。,数据举例,学生档案中的学生记录(李明,男,197205,江苏南京市,计算机系,1990)语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系请给出另一个解释和语义,数据库,数据库(续),人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合,数据库(续),数据库的特征最小冗余数据独立性较高安全性完整性数据共享,1.1.2 数据库管理系统,什么是DBMS数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。DBMS的用途科学地组织和存储数据、高效地获取和维护数据,数据库在计算机系统中的位置,硬件平台,基础软件平台,软件基础构架平台,应用软件平台,软件产品,协同软件办公软件,数据库系统操作系统,中间件 应用服务器,DBMS的主要功能,数据定义功能 提供数据定义语言(DDL)定义数据库中的数据对象数据组织、存储和管理 分类组织、存储和管理各种数据 确定组织数据的文件结构和存取方式 实现数据之间的联系 提供多种存取方法提高存取效率,DBMS的主要功能,数据操纵功能 提供数据操纵语言(DML)实现对数据库的基本操作(查询、插入、删除和修改)数据库的事务管理和运行管理 数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复,DBMS的主要功能,数据库的建立和维护功能(实用程序)数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等其它功能 DBMS与网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作,、数据库系统,什么是数据库系统数据库系统(Database System,简称DBS)是指基于数据库的计算机应用系统。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。,数据库,应用系统,应用开发工具,操作系统,数据库管理系统,数据库管理员,用户,用户,用户,数据库系统,硬件平台及数据库,数据库系统对硬件资源的要求(1)足够大的内存操作系统DBMS的核心模块数据缓冲区应用程序,硬件平台及数据库(续),(2)足够大的外存 磁盘或磁盘阵列数据库 光盘、磁带数据备份(3)较高的通道能力,提高数据传送率,软件,DBMS支持DBMS运行的操作系统与数据库接口的高级语言及其编译系统以DBMS为核心的应用开发工具为特定应用环境开发的数据库应用系统,人 员,数据库管理员系统分析员和数据库设计人员应用程序员用户,人 员(续),不同的人员涉及不同的数据抽象级别,具有不同的数据视图,如下图所示,图1.30 各种人员的数据视图,数据库管理员(DBA),具体职责:1.决定数据库中的信息内容和结构2.决定数据库的存储结构和存取策略3.定义数据的安全性要求和完整性约束条件,数据库管理员(续),4.监控数据库的使用和运行周期性转储数据库数据文件日志文件系统故障恢复介质故障恢复监视审计文件,数据库管理员(续),5.数据库的改进和重组性能监控和调优定期对数据库进行重组织,以提高系统的性能 需求增加和改变时,数据库须需要重构造,系统分析员和数据库设计人员,系统分析员 负责应用系统的需求分析和规范说明与用户及DBA协商,确定系统的硬软件配置参与数据库系统的概要设计,系统分析员和数据库设计人员(续),数据库设计人员参加用户需求调查和系统分析确定数据库中的数据设计数据库各级模式,应用程序员,设计和编写应用系统的程序模块进行调试和安装,用户,用户是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库。1.偶然用户不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息 企业或组织机构的高中级管理人员,用户(续),2.简单用户主要工作是查询和更新数据库 银行的职员、机票预定人员、旅馆总台服务员3.复杂用户工程师、科学家、经济学家、科技工作者等直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序,数据库系统的特点,数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制,数据结构化,整体数据的结构化是数据库的主要特征之一 整体结构化不再仅仅针对某一个应用,而是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释数据可以变长数据的最小存取单位是数据项,数据的共享性高,冗余度低,易扩充,数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。数据共享的好处减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性 使系统易于扩充,数据独立性高,物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的,DBMS对数据的控制功能,数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。,DBMS对数据的控制功能,并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。,应用程序与数据的对应关系(数据库系统),数据库系统阶段应用程序与数据之间的对应关系,1.2 概念模型与数据模型,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现,两大类数据模型,数据模型分为两类(分属两个不同的层次)(1)概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)逻辑模型和物理模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。,两大类数据模型(续),客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。,两大类数据模型(续),DBMS支持的数据模型,概念模型,认识抽象,信息世界,机器世界,现实世界中客观对象的抽象过程,现实世界,1.2.1 概念模型,概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。,概念模型中的基本概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。,一、信息世界中的基本概念(续),(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集,信息世界中的基本概念(续),(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型 一对一联系(1:1)三个实体型 一对多联系(1:n)一个实体型 多对多联系(m:n),两个实体型间的联系,两个实体型间的联系,一对一联系(1:1)实例一个班级只有一个正班长一个班长只在一个班中任职定义:如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1,两个实体型间的联系(续),一对多联系(1:n)实例一个班级中有若干名学生,每个学生只在一个班级中学习定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n,两个实体型间的联系(续),多对多联系(m:n)实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程定义:如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n,多个实体型间的联系(续),多个实体型间的一对多联系若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。,多个实体型间的联系(续),实例 课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用,多个实体型间的联系(续),多个实体型间的一对一联系两个以上实体型间的多对多联系实例 供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给。,单个实体型内的联系,一对多联系实例 职工实体型内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系 请举例,单个实体型内的联系,多对多联系请举例,概念模型的一种表示方法,实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型,陈品山,1968年,陈品山于国立台湾大学毕业,之后赴美国深造。1970年获哈佛大学计算机科学和应用数学硕士学位,1973年获哈佛大学计算机科学和应用数学博士学位。之后,他曾先后在麻省理工学院(1974-1978,1986-1987),加州大学洛杉矶分校(1978-1984),哈佛大学(1990-1991)等学府从事教学和研究,从1983年至今任路易斯安纳州立大学计算机科学系 Murphy J.Foster 杰出讲座教授,陈品山博士于1976年3月ACM Transactions on Database Systems上发表了The Entity-Relationship Model-Toward a Unified View of Data一文。由于大众广泛使用实体联系模型,而这篇文章已成为计算机科学38篇被广泛引用的论文中之一。且被誉为全世界最具计算机软件开发技术的16位科学家之一。,E-R图,实体型用矩形表示,矩形框内写明实体名。,学生,教师,E-R图(续),属性用椭圆形表示,并用无向边将其与相应的实体连接起来,E-R图(续),联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),联系的表示方法,联系的表示方法,联系的表示方法示例,联系属性的表示方法,联系的属性:联系本身也是一种实体型,也 可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,一个实例,用E-R图表示某个工厂物资管理的概念模型实体仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称,一个实例,实体之间的联系如下:(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对多的联系,实体属性图,实体联系图,一个实例,1.2.2 数据模型,数据模型的组成要素数据结构 数据操作 数据的约束条件,数据结构,什么是数据结构对象类型的集合两类对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述,数据操作,数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型检索更新(包括插入、删除、修改),数据操作(续),数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述。,数据的约束条件,数据的约束条件一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,最常用的数据模型,非关系模型层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model)面向对象模型(Object Oriented Model)对象关系模型(Object Relational Model),层次模型,层次模型是数据库系统中最早出现的数据模型 层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系,层次数据模型的数据结构,层次模型 满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根 结点2.根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点,层次数据模型的数据结构(续),层次数据模型的数据结构(续),层次模型的特点:结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型可以定义一个排序字段,也称为码字段任何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在,层次数据模型的数据结构(续),根结点,叶结点,记录型系的子女结点记录型教员的双亲结点,字段,叶结点,层次数据模型的数据结构(续),层次模型的数据操纵与完整性约束,查询 插入 删除 更新,层次模型的数据操纵与完整性约束(续),无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值,则相应的子女结点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性,层次模型的优缺点,优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化,网状模型,网状数据库系统采用网状模型作为数据的组织方式 实际系统Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE,网状数据库,网状数据库系统采用网状模型作为数据的组织方式网状模型满足下面两个条件的基本层次联系的集合:1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲,网状数据模型的数据结构(续),表示方法(与层次数据模型相同)实体型:用记录类型描述 每个结点表示一个记录类型(实体)属性:用字段描述 每个记录类型可包含若干个字段联系:用结点之间的连线表示记录类型(实体)之 间的一对多的父子联系,网状数据模型的数据结构(续),网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例,网状数据模型的数据结构(续),网状模型中子女结点与双亲结点的联系可以不唯一要为每个联系命名,并指出与该联系有关的双亲记录和子女记录,R1与R3之间的联系L1,R2与R3之间的联系L2,网状数据模型的数据结构(续),网状数据模型的数据结构(续),例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系 引进一个学生选课的联结记录,由3个数据项组成学号课程号成绩表示某个学生选修某一门课程及其成绩,网状数据模型的数据结构(续),网状数据模型的优缺点,优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用,关系模型,关系数据库系统采用关系模型作为数据的组织方式 1970年美国IBM公司San Jose研究室的研究员首次提出了数据库系统的关系模型 计算机厂商新推出的数据库管理系统几乎都支持关系模型,埃德加考特,1 9 8 1 年的图灵奖关系数据库之父参加了I B M 第一台科学计算机7 0 1 以及第一台大型晶体管计算机 S T R E T C H 的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发,考特原是英国人,1 9 2 3 年8 月1 9 日生于英格兰中部的港口城市波特兰。第二次世界大战爆发以后,年轻的考特应征入伍在皇家空军服役,1 9 4 2 至1 9 4 5 年期间任机长,参与了许多重大空战,为反法西斯战争立下了汗马功劳。二战结束以后,考特上牛津大学学习数学,于1 9 4 8 年取得学士学位以后到美国谋求发展。他先后在美国和加拿大工作,参加了I B M 第一台科学计算机7 0 1 以及第一台大型晶体管计算机 S T R E T C H 的逻辑设计,主持了第一个有多道程序设计能力的操作系统的开发。他自觉硬件知识缺乏,于是在6 0 年代初,到密歇根大学进修计算机与通信专业(当时他已年近4 0),并于1 9 6 3 年获得硕士学位,1 9 6 5 年取得博士学位。这使他的理论基础更加扎实,专业知识更加丰富。加上他在此之前十几年实践经验的积累,终于在1 9 7 0 年迸发出智慧的闪光,为数据库技术开辟了一个新时代。,关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,学生登记表,属性,元组,关系数据模型的数据结构(续),关系(Relation)一个关系对应通常说的一张表元组(Tuple)表中的一行即为一个元组属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名,关系数据模型的数据结构(续),主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级),关系数据模型的数据结构(续),例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系,关系数据模型的数据结构(续),例3学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩),关系数据模型的数据结构(续),关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表 图中工资和扣除是可分的数据项,不符合关系模型要求,一个工资表(表中有表)实例,关系数据模型的数据结构(续),术语对比,关系数据模型的操纵与完整性约束,数据操作是集合操作,操作对象和操作结果都是关系查询插入删除更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”,关系数据模型的操纵与完整性约束(续),关系的完整性约束条件 实体完整性参照完整性用户定义的完整性,关系数据模型的存储结构,实体及实体间的联系都用表来表示表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构,关系数据模型的优缺点,优点建立在严格的数学概念的基础上概念单一实体和各类联系都用关系来表示对数据的检索结果也是关系关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作,关系数据模型的优缺点(续),缺点存取路径对用户透明导致查询效率往往不如非 关系数据模型为提高性能,必须对用户的查询请求进行优化 增加了开发DBMS的难度,1.4 SQL 概述,SQL语言是:1974年由Boyce和Chamberlin提出的。1975年至1979年IBM公司san Jose Research Laboratory 研制的关系数据库管理系统原形系统System R 实现了这种语言。,1.4.1 SQL 概述,第一个SQL标准是1986年10月由美国国家标准局(American National Standard institute,简称ANSI)公布的,所以也称该标准为SQL-86。1989年国际标准化组织(International Organization for Standardization,简称ISO)标准(SQL89)1992年又公布了SQL92标准。目前 新的SQL标准:SQL3,1.4.1 SQL语言 概述,结构化查询语言(structured query language,简称SQL)是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制4个方面,是一个通用、功能极强的关系数据库语言。目前已成为关系数据库的标准语言大多数数据库均用SQL作为共同的数据存取语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。,1.4.2 SQL的特点,1.综合统一数据库的主要功能是通过数据库支持的数据语言来实现的。,1.4.2 SQL的特点,2.高度非过程化 只提“做什么”,不必指明“怎么做”用户无需了解存取路径及物理地址减轻用户负担,提高效率。3.面向集合的操作方式 不仅查找结果可以是集合,插入,删除,更新也可以是元组,比非关系DBMS优越。,1.4.2 SQL的特点,4.以同一种语法结构提供两种使用方式,5.语言简洁,易学易用,例:建立一个“学生”表student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。其中学号不能为空,并且其值也唯一。CREATE TABLE Student(Sno CHAR(5)NOT NULL UNIQUE Sname CHAR(20),Ssex CHAR(1),Sage INT,Sdept CHAR(15);,网状数据模型的数据结构(续),1.5 数据库保护,1.5.1 数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。与数据库有关的安全性保护措施主要有:用户标识和鉴定 存取控制 审计 数据加密 视图,1.5.2 并发控制,并发控制的主要技术是封锁,即在要对数据进行操作之前,首先对其操作的数据设置封锁,禁止其他事务再对该数据进行操作,当它对该数据操作完毕并解除对数据的封锁后,才允许其他事务对该数据进行操作。显然,封锁得越多,系统的并行度将越低,系统的效率也就越低。,1.5.3 故障恢复,数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态的功能,这就是数据库的恢复。实现可恢复性的基本原理是重复存储,即“冗余”(Redundancy)。数据库中任何一部分被破坏的或不正确的数据都可以利用存储在系统其他地方的冗余数据来修复,这部分冗余数据就是数据的备份。一个数据库的恢复系统应该提供两方面的功能:一是建立数据备份,对可能发生的故障作某些准备;二是利用数据备份恢复数据库。,1.6 网络数据库应用技术,1.6.1 数据库应用系统的体系结构1客户机/服务器结构 客户机/服务器结构是将一个大的任务分解为多个子任务,由多台计算机分别完成各个子任务。客户端主要处理用户与系统的交互等工作,一般在用户的个人计算机上完成有关上作;存储、管理、操作数据及数据库的工作在服务器上运行。这种体系结构充分发挥了服务器和个人计算机的处理能力,大大减少了网络的拥挤程度,提高了系统的性能。,浏览器/Web服务器/数据库服务器结构,对于此结构,客户端只要安装浏览器,就可以访问应用程序。这种结构中,客户端的硬件与软件的需求都不太高,只要能支持浏览器的运行即可。各种应用程序在浏览器上的操作方式都很类似,因此可以大大减少对使用者的培训,更有利于软件的推广使用。服务器端包含Web服务器和数据库服务器。Web服务器 的主要工作是处理来自浏览器的用户请求,启动有关 的脚本或应用程序;数据库中保存系统的数据,支持 用户对信息检索。完成全部处理后,由Web服务器将返 回结果插入到HTML页面,传送至客户端的浏览器。,1.6.2 Web数据库访问技术,1CGI技术 CGI(Common Gateway Interface)是外部应用程序与Web服务器交互的一个标准接口。CGI应用程序可以完成客户端与服务器的交互操作。2服务器API 服务器API是驻留在Web服务器上的程序代码,是服务器端的动态链接。,3ODBC ODBC是“开放数据库互连”的简称,是一种使用SQL的应用程序接口(API)。4ASP技术 ASP(Active Server Pages)是一个基于Web服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的Web服务应用程序。,5JDBCJDBC是一种特殊的API,是用于执行SQL语句的Java应用程序接口,它规定了Java如何与数据库进行交互作用。JDBC由一组用Java语言写的类和接口组成,是利用Java机制设计的标准SQL数据库连接接口。JDBC也是一种规范,其宗旨是让各数据库开发商为Java程序员提供标准的数据库访问类和接口。,小结,1.1 数据库系统的基本概念1.2 概念模型与数据模型1.3 关系数据库1.4 与数据库沟通-SQL简介1.5 数据库保护1.6 网络数据库应用技术,下课了。,追求,休息一会儿。,