数据库编程ACCESSMYSQLOracle.ppt

上传人:本田雅阁 文档编号:3185248 上传时间:2019-07-22 格式:PPT 页数:98 大小:2.79MB
返回 下载 相关 举报
数据库编程ACCESSMYSQLOracle.ppt_第1页
第1页 / 共98页
数据库编程ACCESSMYSQLOracle.ppt_第2页
第2页 / 共98页
数据库编程ACCESSMYSQLOracle.ppt_第3页
第3页 / 共98页
数据库编程ACCESSMYSQLOracle.ppt_第4页
第4页 / 共98页
数据库编程ACCESSMYSQLOracle.ppt_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《数据库编程ACCESSMYSQLOracle.ppt》由会员分享,可在线阅读,更多相关《数据库编程ACCESSMYSQLOracle.ppt(98页珍藏版)》请在三一文库上搜索。

1、数据库编程:ACCESS,MYSQL,Oracle,张国富 2012年2月,2019/7/22,2/45,你掌握了哪些主流的技术?,VCASPJava MyEclipse Oracle/MySQL/Access Arm Linux,2019/7/22,3/45,sohu,2019/7/22,4/45,Alibaba,2019/7/22,5/45,淘宝,提供一个查询功能,卖家可以按条件查询已卖出商品,当销售额少时怎么实现,每天卖出很多时又怎么查询。给出两种查询方案。,2019/7/22,6/45,教材及参考书, 教材 萨师煊,王珊:数据库系统概论(第四版) 高等教育出版社,2006.5 VC

2、数据库编程三部教学 mysql中文参考手册,2019/7/22,7/45,数据库的地位,数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。 数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。 数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。,2019/7/22,8/45,2019/7/22,9/45,2019/7/22,10/45,2019/7/22,11/45,2019/7/22,12/45,2019/7/22,13/45,2019/7/22,14/45,框架,数据库基本知识 Sql语言+acces

3、s ADO应用开发:access,oracle MySQL应用开发 Socket编程,2019/7/22,15/45,第一章 绪论,数据库系统概述,2019/7/22,16/45,1.1.1 四个基本概念,数据(Data) 数据库(Database) 数据库管理系统(DBMS) 数据库系统(DBS),2019/7/22,17/45,一、数据,数据(Data)是数据库中存储的基本对象 数据的定义 描述事物的符号记录 数据的种类 文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等 数据的特点 数据与其语义是不可分的,2019/7/22,18/45,数据举例,数据的含义称为数据的语义,数

4、据与其语义是不可分的。 例如 93是一个数据 语义1:学生某门课的成绩 语义2:某人的体重 语义3:电子信息工程专业2006级学生人数,2019/7/22,19/45,数据举例,学生档案中的学生记录 (李明,男,198805,安徽合肥市,电子信息工程专业,2006) 语义:学生姓名、性别、出生年月、籍贯、所学专业、入学时间 解释:李明是个大学生,1988年5月出生,安徽合肥市人,2006年考入电子信息工程专业,2019/7/22,20/45,二、数据库,数据库的定义 数据库(Database,DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。 数据库的基本特征 数据按一定的数据模型

5、组织、描述和储存 可为各种用户共享 冗余度较小 数据独立性较高 易扩展,2019/7/22,21/45,三、数据库管理系统,什么是DBMS 位于用户与操作系统之间的一层数据管理软件。 是基础软件,是一个大型复杂的软件系统 DBMS的用途 科学地组织和存储数据、高效地获取和维护数据,2019/7/22,22/45,硬件平台,基础软件平台,软件基础构架平台,应用软件平台,软件产品,协同软件 办公软件,数据库系统 操作系统,中间件 应用服务器,数据库在计算机系统中的位置,2019/7/22,23/45,DBMS的主要功能,数据定义功能 提供数据定义语言(DDL) 定义数据库中的数据对象 数据组织、存

6、储和管理 分类组织、存储和管理各种数据 确定组织数据的文件结构和存取方式 实现数据之间的联系 提供多种存取方法提高存取效率,2019/7/22,24/45,DBMS的主要功能,数据操纵功能 提供数据操纵语言(DML), 实现对数据库的基本操作 (查询、插入、删除和修改) 数据库的事务管理和运行管理 数据库在建立、运行和维护时由DBMS统一管理和控制,保证数据的安全性、完整性、多用户对数据的并发使用,发生故障后的系统恢复,2019/7/22,25/45,DBMS的主要功能,数据库的建立和维护功能(实用程序) 数据库初始数据装载转换 数据库转储 介质故障恢复 数据库的重组织 性能监视分析等 其它功

7、能 DBMS与网络中其它软件系统的通信 两个DBMS系统的数据转换 异构数据库之间的互访和互操作,2019/7/22,26/45,四、数据库系统,什么是数据库系统(Database System,简称DBS) 在计算机系统中引入数据库后的系统构成 数据库系统的构成 数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员,2019/7/22,27/45,数据库,应用系统,应用开发工具,操作系统,数据库管理系统,数据库管理员,用户,用户,用户,数据库系统,2019/7/22,28/45,数据管理技术的产生和发展,什么是数据管理 对数据进行分类、组织、编码、存储、检索和维护 数据处理的中心问

8、题 数据管理技术的发展过程 人工管理阶段(20世纪40年代中-50年代中) 文件系统阶段(20世纪50年代末-60年代中) 数据库系统阶段(20世纪60年代末-现在),2019/7/22,29/45,一、人工管理阶段,时期 20世纪40年代中-50年代中 产生的背景 应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理,2019/7/22,30/45,人工管理阶段(续),特点 数据的管理者:用户(程序员),数据不保存 数据面向的对象:某一应用程序 数据的共享程度:无共享、冗余度极大 数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构 数据控制能力:

9、应用程序自己控制,2019/7/22,31/45,应用程序与数据的对应关系(人工管理阶段),人工管理阶段应用程序与数据之间的对应关系,2019/7/22,32/45,二、文件系统阶段,时期 20世纪50年代末-60年代中 产生的背景 应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理,2019/7/22,33/45,文件系统阶段(续),特点 数据的管理者:文件系统,数据可长期保存 数据面向的对象:某一应用程序 数据的共享程度:共享性差、冗余度大 数据的结构化:记录内有结构,整体无结构 数据的独立性:独立性差,数据的逻辑结构改变必须 修改应用程序

10、 数据控制能力:应用程序自己控制,2019/7/22,34/45,应用程序与数据的对应关系(文件系统阶段),文件系统阶段应用程序与数据之间的对应关系,2019/7/22,35/45,文件系统中数据的结构,记录内有结构。 数据的结构是靠程序定义和解释的。 数据只能是定长的。 可以间接实现数据变长要求,但访问相应数据的应用程序复杂了。 文件间是独立的,因此数据整体无结构。 可以间接实现数据整体的有结构,但必须在应用程序中对描述数据间的联系。 数据的最小存取单位是记录。,2019/7/22,36/45,三、数据库系统阶段,时期 20世纪60年代末以来 产生的背景 应用背景 大规模管理 硬件背景 大容

11、量磁盘、磁盘阵列 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理,2019/7/22,37/45,1.1.3 数据库系统的特点,数据结构化 数据的共享性高,冗余度低,易扩充 数据独立性高 数据由DBMS统一管理和控制,2019/7/22,38/45,数据结构化,整体数据的结构化是数据库的主要特征之一 整体结构化 不再仅仅针对某一个应用,而是面向全组织 不仅数据内部结构化,整体是结构化的,数据之间具有联系 数据库中实现的是数据的真正结构化 数据的结构用数据模型描述,无需程序定义和解释 数据可以变长;数据的最小存取单位是数据项,2019/7/22,39/45,数据的共享性高,

12、冗余度低,易扩充,数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。 数据共享的好处 减少数据冗余,节约存储空间 避免数据之间的不相容性与不一致性 使系统易于扩充,2019/7/22,40/45,数据独立性高,物理独立性 指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。 逻辑独立性 指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,2019/7/22,41/45,数据由DBMS统一管理和控制,DBMS提供的数据控制功能 (1)数据的安全性(Security)保护

13、保护数据,以防止不合法的使用造成的数据的泄密和破坏。 (2)数据的完整性(Integrity)检查 将数据控制在有效的范围内,或保证数据之间满足一定的关系。 (3)并发(Concurrency)控制 对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。 (4)数据库恢复(Recovery) 将数据库从错误状态恢复到某一已知的正确状态。,2019/7/22,42/45,应用程序与数据的对应关系(数据库系统),数据库系统阶段应用程序与数据之间的对应关系,2019/7/22,43/45,数据模型,在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。 通俗地讲数据模型就是

14、现实世界的模拟。 数据模型应满足三方面要求 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现,2019/7/22,44/45,1.2.1 两大类数据模型,数据模型分为两类(分属两个不同的层次) (1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 (2) 逻辑模型和物理模型 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。,2019/7/22,45/45,两大类数据模型 (续),客观

15、对象的抽象过程-两步抽象 现实世界中的客观对象抽象为概念模型; 把概念模型转换为某一DBMS支持的数据模型。,2019/7/22,46/45,两大类数据模型 (续),DBMS支持的数据模型,概念模型,认识 抽象,信息世界,机器世界,现实世界中客观对象的抽象过程,现实世界,2019/7/22,47/45,1.2.2 数据模型的组成要素,数据结构 数据操作 完整性约束条件,2019/7/22,48/45,一、 数据结构,什么是数据结构 描述数据库的组成对象,以及对象之间的联系 描述的内容 与数据类型、内容、性质有关的对象 与数据之间联系有关的对象 数据结构是对系统静态特性的描述,2019/7/22

16、,49/45,二、数据操作,数据操作 对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则 数据操作的类型 查询 更新(包括插入、删除、修改),2019/7/22,50/45,数据操作(续),数据模型对操作的定义 操作的确切含义 操作符号 操作规则(如优先级) 实现操作的语言 数据操作是对系统动态特性的描述,2019/7/22,51/45,三、数据的完整性约束条件,数据的完整性约束条件 一组完整性规则的集合。 完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则 用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。,2019/7/22,52/4

17、5,数据的完整性约束条件(续),数据模型对完整性约束条件的定义 反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。 提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。,2019/7/22,53/45,1.2.3 概念模型,信息世界中的基本概念 两个实体型之间的联系 两个以上实体型之间的联系 单个实体型内的联系 概念模型的一种表示方法 一个实例,2019/7/22,54/45,概念模型,概念模型的用途 概念模型用于信息世界的建模 是现实世界到机器世界的一个中间层次 是数据库设计的有力工具

18、 数据库设计人员和用户之间进行交流的语言 对概念模型的基本要求 较强的语义表达能力 能够方便、直接地表达应用中的各种语义知识 简单、清晰、易于用户理解,2019/7/22,55/45,一、信息世界中的基本概念,(1) 实体(Entity) 客观存在并可相互区别的事物称为实体。 可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。 一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码。,2019/7/22,56/45,信息世界中的基本概念(续),(4) 域(Domain) 属性的取值范围称为该属性的域。 (5) 实

19、体型(Entity Type) 用实体名及其属性名集合来抽象和刻画同类实体称为实体型 (6) 实体集(Entity Set) 同一类型实体的集合称为实体集,2019/7/22,57/45,信息世界中的基本概念(续),(7) 联系(Relationship) 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系 实体之间的联系通常是指不同实体集之间的联系,2019/7/22,58/45,二、两个实体型之间的联系,用图形来表示两个实体型之间的这三类联系,2019/7/22,59/45,二、两个实体型之间的联系(续)

20、,一对一联系(1:1) 实例 一个班级只有一个正班长 一个班长只在一个班中任职 定义: 如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1,2019/7/22,60/45,两个实体型之间的联系 (续),一对多联系(1:n) 实例 一个班级中有若干名学生, 每个学生只在一个班级中学习 定义: 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n,2019/7/22,61/45,

21、两个实体型之间的联系 (续),多对多联系(m:n) 实例 课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程 定义: 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n,2019/7/22,62/45,三、两个以上实体型之间的联系,两个以上实体型之间一对多联系 若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,

22、.,Ei-1,Ei+1,.,En之间的联系是一对多的,2019/7/22,63/45,两个以上实体型之间的联系(续),实例 课程、教师与参考书三个实体型 一门课程可以有若干个教师讲授, 使用若干本参考书, 每一个教师只讲授一门课程, 每一本参考书只供一门课程使用,2019/7/22,64/45,两个以上实体型之间的联系(续),两个以上实体型间的多对多联系 实例 供应商、项目、零件三个实体型 一个供应商可以供给多个项目多种零件 每个项目可以使用多个供应商供应的零件 每种零件可由不同供应商供给,2019/7/22,65/45,四、单个实体型内的联系,一对多联系 实例 职工实体型内部具有领导与被领导

23、的联系 某一职工(干部)“领导”若干名职工 一个职工仅被另外一个职工直接领导 这是一对多的联系,2019/7/22,66/45,五、 概念模型的一种表示方法,实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型,2019/7/22,67/45,E-R图,实体型 用矩形表示,矩形框内写明实体名。 属性 用椭圆形表示,并用无向边将其与相应的实体连接起来,学生,教师,2019/7/22,68/45,E-R图(续),联系 联系本身: 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n),2019/

24、7/22,69/45,联系的表示方法,2019/7/22,70/45,联系的表示方法示例,2019/7/22,71/45,联系的属性,联系的属性: 联系本身也是一种实体型,也 可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,2019/7/22,72/45,六、一个实例,用E-R图表示某个工厂物资管理的概念模型 实体 仓库: 仓库号、面积、电话号码 零件 :零件号、名称、规格、单价、描述 供应商:供应商号、姓名、地址、电话号码、帐号 项目:项目号、预算、开工日期 职工:职工号、姓名、年龄、职称,2019/7/22,73/45,一个实例,实体之间的联系如下: (1)一个仓

25、库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系 (3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。 (4)供应商、项目和零件三者之间具有多对多的联系,2019/7/22,74/45,一个实例,2019/7/22,75/45,1.2.4 最常用的数据模型,非关系模型 层次模型(Hierarchical Model) 网状模型(Network Model) 关系模型(Relational

26、Model) 面向对象模型(Object Oriented Model) 对象关系模型(Object Relational Model),2019/7/22,76/45,1.2.5 层次模型,层次模型是数据库系统中最早出现的数据模型 层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统 层次模型用树形结构来表示各类实体以及实体间的联系,2019/7/22,77/45,一、 层次数据模型的数据结构,层次模型 满足下面两个条件的基本层次联系的集合为层次模型 1. 有且只有一个结点没有双亲结点,这个结点称为根结点 2. 根以外的其它

27、结点有且只有一个双亲结点 层次模型中的几个术语 根结点,双亲结点,兄弟结点,叶结点,2019/7/22,78/45,层次数据模型的数据结构(续),图1.16 一个层次模型的示例,2019/7/22,79/45,层次数据模型的数据结构(续),层次模型的特点: 结点的双亲是唯一的 只能直接处理一对多的实体联系 每个记录类型可以定义一个排序字段,也称为码字段 任何记录值只有按其路径查看时,才能显出它的全部意义 没有一个子女记录值能够脱离双亲记录值而独立存在,2019/7/22,80/45,层次数据模型的数据结构(续),图1.17 教员学生层次数据库模型,根结点,记录型系的子女结点 记录型教员的双亲结

28、点,叶结点,叶结点,字段,2019/7/22,81/45,层次数据模型的数据结构(续),图1.18 教员学生层次数据库的一个值,2019/7/22,82/45,四、层次数据模型的存储结构,邻接法 按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序,2019/7/22,83/45,层次数据模型的存储结构(续),图1.20 层次数据库及其实例,按邻接法存放图1.20(b) 中以根记录A1为首的层次 记录实例集,按邻接法存放图1.20(b)中以根记录A1为首的层次记录实例集,2019/7/22,84/45,层次数据模型的存储结构(续),链接法 用指引来反映数据之

29、间的层次联系 子女兄弟链接法 层次序列链接法,2019/7/22,85/45,层次数据模型的存储结构(续),子女-兄弟链接法 每个记录设两类指针,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟,2019/7/22,86/45,层次数据模型的存储结构(续),层次序列链接法 按树的前序穿越顺序链接各记录值,2019/7/22,87/45,五、层次模型的优缺点,优点 层次模型的数据结构比较简单清晰 查询效率高,性能优于关系模型,不低于网状模型 层次数据模型提供了良好的完整性支持 缺点 多对多联系表示不自然 对插入和删除操作的限制多,应用程序的编写比较复杂 查询子女结点必须通过双亲结点 由于结

30、构严密,层次命令趋于程序化,2019/7/22,88/45,1.2.6 网状模型,网状数据库系统采用网状模型作为数据的组织方式 典型代表是DBTG系统: 亦称CODASYL系统 70年代由DBTG提出的一个系统方案 奠定了数据库系统的基本概念、方法和技术 实际系统 Cullinet Software Inc.公司的 IDMS Univac公司的 DMS1100 Honeywell公司的IDS/2 HP公司的IMAGE,2019/7/22,89/45,1.网状数据模型的数据结构,网状模型 满足下面两个条件的基本层次联系的集合: 1. 允许一个以上的结点无双亲; 2. 一个结点可以有多于一个的双亲

31、。,2019/7/22,90/45,网状数据模型的数据结构(续),表示方法(与层次数据模型相同) 实体型:用记录类型描述每个结点表示一个记录类型(实体) 属性:用字段描述每个记录类型可包含若干个字段 联系:用结点之间的连线表示记录类型(实体)之 间的一对多的父子联系,2019/7/22,91/45,网状数据模型的数据结构(续),网状模型与层次模型的区别 网状模型允许多个结点没有双亲结点 网状模型允许结点有多个双亲结点 网状模型允许两个结点之间有多种联系(复合联系) 网状模型可以更直接地去描述现实世界 层次模型实际上是网状模型的一个特例,2019/7/22,92/45,网状数据模型的数据结构(续

32、),网状模型中子女结点与双亲结点的联系可以不唯一 要为每个联系命名,并指出与该联系有关的双亲记录和子女记录,R1与R3之间的联系L1,R2与R3之间的联系L2,2019/7/22,93/45,网状数据模型的数据结构(续),网状模型的例子,2019/7/22,94/45,网状数据模型的数据结构(续),例如:一个学生可以选修若干门课程,某一课程可以被多个学生选修,学生与课程之间是多对多联系 引进一个学生选课的联结记录,由3个数据项组成 学号 课程号 成绩 表示某个学生选修某一门课程及其成绩,2019/7/22,95/45,网状数据模型的数据结构(续),图1.24 学生/选课/课程的网状数据模型,2019/7/22,96/45,三、网状数据模型的存储结构,关键 实现记录之间的联系 常用方法 单向链接 双向链接 环状链接 向首链接,2019/7/22,97/45,网状数据模型的存储结构(续),图1.25 学生/选课/课程的网状数据库实例,学生记录,课程记录,选课记录,2019/7/22,98/45,四、网状数据模型的优缺点,优点 能够更为直接地描述现实世界,如一个结点可以有多个双亲 具有良好的性能,存取效率较高 缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握 DDL、DML语言复杂,用户不容易使用,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1