您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 3.5数据库基础解析
第三篇软件技术基础3.5数据库基础中北大学电子与计算机科学技术学院SchoolofElectronicsandComputerScienceandTechnology.NUC数据库基础知识•在计算机的三大主要应用领域(科学计算、数据处理和过程控制)中,数据处理是计算机应用的主要方面。数据库技术就是作为数据处理中的一门技术而发展起来的。•数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。•其目的之一是从大量的、原始的数据中抽取、推导出对人们有价值的信息以作为行动和决策的依据;•目的之二是借助计算机科学地保存和管理大量复杂数据,以便人们能方便而充分地利用这些信息资源。数据库技术研究如何科学地组织和存储数据,如何高效地获取和处理数据。数据库系统已成为计算机系统的重要组成部分。信息:是对事物运动状态和特征的描述数据:是载荷信息的物理符号。数据库技术数据模型关系数据库数据库技术涉及到许多基本概念,主要包括:数据数据处理数据库数据库管理系统数据库系统1.1数据库概述数据:在计算机中,数据的含义是广泛的,一切被计算机处理的对象都可以成为数据,包括数字、符号、汉字等。在数据库系统中,数据实际上指的是所有的资料和信息。数据处理是指对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。与其他技术的发展一样,计算机数据管理也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来大致经历了如下三个阶段:人工管理阶段文件系统阶段数据库系统阶段数据处理技术的发展1、人工管理阶段数据管理由程序员在程序中实现。应用程序A1应用程序A2应用程序An数据集S1数据集S2数据集Sn……20世纪50年代以前,没有必要的软件、硬件环境支持,用户只能在裸机上操作,从数据看,数据量小,数据无结构,由用户直接管理,且数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性。2、文件管理阶段把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件管理系统实施统一管理。但是,文件从整体来看却是无结构的。其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。数据冗余度大易造成数据的不一致性程序与数据相互依赖应用程序设计困难应用程序A1应用程序A2应用程序An数据集S1数据集S2数据集Sn文件系统……3、数据库系统阶段•20世纪60年代后期,计算机性能提高,出现了大容量磁盘•满足和解决实际应用中多个用户,多个应用程序共享数据的要求•出现了新的数据管理技术—数据库•数据库的特点:不再只针对某一特定应用,而是面向全组织具有整体的结构性,共享性高,冗余度小具有一定的程序与数据间的独立性,实现了对数据进行统一的控制应用程序A1应用程序A2应用程序An数据库数据库管理系统…从文件系统到数据库系统,标志着数据管理技术质的飞跃。20世纪80年代后不仅在大、中型机上实现并应用了数据库管理系统,即使在微型计算机上也配置了经过功能简化的数据库管理系统,使数据库技术得到广泛的应用和普及。数据库系统的特点文件应用系统数据库系统各数据文件彼此独立,从整体看为“无结构”的各文件的数据相互联系,从总体看是“有结构”的文件中的数据由特定的用户专用库内数据由多个用户共享数据从属于程序,二者相互依赖数据独立于程序,强调数据独立性每个用户拥有自己的数据,导致数据重复存储原则上可消除重复,为方便查询允许少量数据重复存储,但冗余度可以控制•与文件系统相比,数据库系统有以下特点:数据的结构化数据共享数据独立性可控冗余度数据库:就是以一定的组织方式将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享的,与应用程序彼此独立的一组相关数据的集合。数据库管理系统数据库管理系统(DataBaseManagementSystem,简称DBMS)是计算机系统软件主要功能•数据库的定义和建立•数据库的操作•数据库的控制•数据库的维护和故障恢复•数据通信1.对数据库中的相关内容进行定义。例如,对数据库、表、索引进行定义2.删除和修改。3.的核心部分,它包括并发控制(即处理多个用户同时使用某些数据时可能产生的问题)、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(例如,索引的自动维护)等。数据库的建立和维护功能包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等。这些功能通常是由一些实用程序完成的。它是数据库管理系统的一个重要组成部分。数据库系统•数据库系统是指拥有数据库技术支持的计算机系统•可以实现有组织地、动态地存储大量相关数据•提供数据处理和信息资源共享服务•数据库系统不仅包括数据本身,还包括相应的硬件、软件和各类人员。数据库系统由四部分组成:硬件系统、系统软件(包括操作系统和数据库管理系统)、数据库应用系统和各类人员。数据库的体系结构用户数据库应用系统DBMSDB用程应序数据库管理系统DBMS数据库DB硬件操作系统数据库管理系统应用程序数据库应用系统数据库应用系统(DBAS)专指基于数据库的应用系统。一个DBAS通常由数据库和应用程序两部分组成,它们都需要在DBMS支持下开发。设计数据库:需求分析概念模型设计逻辑结构设计物理结构设计开发应用程序:功能分析总体设计模块设计编码调试数据库系统的分类单用户数据库和多用户数据库集中式数据库和分布式数据库传统数据库和智能数据库1.2数据模型•数据库的性质由数据模型决定的,数据模型是对数据库如何组织的一种模型表示•它包括客观事物本身的信息,还包括事物间的联系•数据库中的数据模型层次模型—层次数据库网络模型—网络数据库关系模型—关系数据库。1.2.1实体及其联系1.实体•从数据处理的角度看,现实世界中的客观事物称为实体•可以指人,如一个教师、一个学生等等•可以指物,如一本书、一张桌子等•可以指抽象事件,如一次借书、一次奖励等•可以指事物与事物之间的的联系,如学生选课、客户订货等。•属性—表征实体特征属性值组成的集合表征一个实体,相应的这些属性的集合表征了一种实体的类型•例:教师的编号、姓名、性别、出生日期、职称、基本工资、研究方向等表征“教师”这样一种实体的实体型。•同类型的实体的集合称为实体集。用“表”来表示同一类实体,即实体集,用“记录”来表示一个具体的实体,用“字段”来表示实体的属性。字段的集合组成一个记录,记录的集合组成一个表。2.实体间的联系实体之间的对应关系称为联系,它反映了现实世界事物之间的相互关联。例如,图书和出版社之间的关联关系为:一个出版社可出版多种书,同一种书只能在一个出版社出版。实体间的联系是指一个实体集中可能出现的每一个实体与另一实体集中多少个具体实体存在联系。实体之间有各种各样的联系,归纳起来有3种类型:概念模型的一种表示方法•实体-联系方法(E-R方法)–用E-R图来描述现实世界的概念模型–E-R方法也称为E-R模型E-R图(实体-关系图)•实体型用矩形表示,矩形框内写明实体名。•属性用椭圆形表示,并用无向边将其与相应的实体连接起来学生教师学生学号年龄性别姓名(1)一对一联系(1:1)。对于实体集A中的每个实体,实体集B中有且只有一个实体与之联系,反之亦然,则称实体集A与B具有一对一联系。如:学号与姓名的对应关系(2)一对多联系(1:n)。对于实体集A中每个实体,实体集B中有多个实体与之联系,而对于实体集B中的每个实体,实体集A中至多只有一个实体与之联系,称实体集A与B有一对多的联系。如:班级与学生的对应关系(3)多对多联系(m:n)。对于实体集A中的每个实体,实体集B中有多个实体与之联系,对于实体集B中的每一个实体,实体集A中也有多个实体与之联系,则称实体集A与B有多对多的联系。如:学生与教师实体型之间的联系用图形表示两个实体之间的联系实体型A联系名实体型B111:1联系实体型A联系名1n1:n联系实体型A实体型B联系名mnm:n联系实体型B数据库系统的三级模式结构一.模式(Schema)二.外模式(ExternalSchema)三.内模式(InternalSchema)图数据库系统的三级模式结构一、模式(Schema)•模式(也称逻辑模式)–数据库中全体数据的逻辑结构和特征的描述–所有用户的公共数据视图,综合了所有用户的需求•一个数据库只有一个模式•模式的地位:是数据库系统模式结构的中间层–与数据的物理存储细节和硬件环境无关–与具体的应用程序、开发工具及高级程序设计语言无关•模式的定义–数据的逻辑结构(数据项的名字、类型、取值范围等)–数据之间的联系–数据有关的安全性、完整性要求二、外模式ExternalSchema•外模式(也称子模式或用户模式)–数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述–数据库用户的数据视图,是与某一应用有关的数据的逻辑表示三、内模式InternalSchema•内模式(也称存储模式)–是数据物理结构和存储方式的描述–是数据在数据库内部的表示方式•记录的存储方式•索引的组织方式•数据是否压缩存储•数据是否加密•数据存储记录结构的规定•一个数据库只有一个内模式1.2.2数据模型具有联系性的相关数据总是按一定的组织关系排列,从而构成了一定的结构,对这种结构的描述就是数据模型。层次模型网状模型关系模型常用的数据模型有如下三种:1、非关系型数据库系统ABDCEGF层次模型层次模型是模拟现实世界中具有层次结构数据的一种很自然的方法。它实际上是一个树形结构,以记录为节点、以记录之间的联系为边的有向树。最高层只有一个记录,称为根记录,一般来说每一级记录可以有任意多个从属记录。1、非关系型数据库系统ABCABCD网状模型网状模型用结点(Node)表示实体,用系(Set)表示两个实体间的联系。它是一个不加任何条件的有向图,是一种较为通用的模型。与层次模型的根本区别为:1、一个子结点可以有多个父结点2、可以有一个以上的结点无父结点2、关系型数据库系统RDBS所谓关系实际上是指一个二维表。特指那种虽具有相关性而非从属性的平行的数据之间按照某种顺序排列的集合关系。RecNoStudIDNameSexBirthdayEntrancescore1981101赵文化男2-28-805002981102徐逸华男6-7-816303981103郭茜茜女11-17-826504981201钱途男5-1-803805981202高涵男11-06-806306981203李晓鸣女11-17-82400关系模型:•每一列中的分量是同一类型数据称为一个字段或属性,要给出不同的字段名•列的顺序可以任意交换•行的顺序可以任意交换•任意两个记录不能完全相同•每一个分量必须是不可分的数据项关系模型的特点描述的一致性利用公共属性连接结构简单直观由严格的理论基础语言表达简练学号姓名性别年龄籍贯学号课程号成绩教师号教师名职称课程号课程名学分课程号教师名学生选课教师课程任课教学管理数据库的关系数据模型1.3关系数据库关系数据库的基本概念关系运算关系:一个关系就是一张二维表,每个关系有一个关系名。在计算机中,一个关系可以存储为一个文件。一个关系就是一个表文件。属性:二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值。一个属性对应表中一个字段,属性名对应字段名,属性值对应于各个记录的字段值。域:一个属性的取值范围叫做一个域。1.3.1关系数据库的基本概念•元组:二维表中水平方向的行称为元组,有时也叫做一条记录。•关键字:关系中能惟一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。单个属性组成的关键字称为单关键字,多个属性组合的关键字称为组合关键字。需要强调的是,关键字的属性值不能取“空值”,所谓空值就是“不知道”或“不确定”的值,因而无法惟一地区分、确定元组。•候选关键字:关系中能够成为关键字的属性或属性组合可能不是惟一的。凡在关系中能够惟一区分、确定不同元组的属性或属
本文标题:3.5数据库基础解析
链接地址:https://www.777doc.com/doc-3194553 .html