大庆企业网站建设公司,WordPress的黑色,电商网站定制开发,福建建设执业注册管理中心网站1.1数据库系统概述1.四大基本概念 #xff08;1#xff09;数据–Data 数据(Data)是数据库中存储的基本对象 ① 数据的定义 描述事物的符号记录② 数据的种类 文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等③ 数据的特点 数据与其语义是不可分的④ 数据举…1.1数据库系统概述1.四大基本概念1数据–Data数据(Data)是数据库中存储的基本对象① 数据的定义描述事物的符号记录② 数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等③ 数据的特点数据与其语义是不可分的④ 数据举例数据的含义称为数据的语义数据与其语义是不可分的。例如 93是一个数据语义1学生某门课的成绩语义2某人的体重语义3计算机系2003级学生人数语义4请同学给出。。。学生档案中的学生记录李明男197205江苏南京市计算机系1990语义学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释李明是个大学生1972年5月出生江苏南京市人1990年考入计算机系2数据库–Database① 数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织、可共享的大量数据的集合。② 数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展3数据库管理系统–DataBase Management System① 什么是DBMS?DBMS是位于用户与操作系统之间的一层数据管理软件。是基础软件是一个大型复杂的软件系统② DBMS的用途科学地组织和存储数据、高效地获取和维护数据③ DBMS的主要功能数据定义功能提供数据定义语言(DDL)定义数据库中的数据对象数据组织、存储和管理分类组织、存储和管理各种数据确定组织数据的文件结构和存取方式实现数据之间的联系提供多种存取方法提高存取效率数据操纵功能提供数据操纵语言(DML)实现对数据库的基本操作 (查询、插入、删除和修改)数据库的事务管理和运行管理数据库在建立、运行和维护时由DBMS统一管理和控制保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能(实用程序)数据库初始数据装载转换数据库转储介质故障恢复数据库的重组织性能监视分析等其它功能DBMS与网络中其它软件系统的通信两个DBMS系统的数据转换异构数据库之间的互访和互操作4数据库系统–Database System① 什么是数据库系统Database System简称DBS在计算机系统中引入数据库后的系统构成②数据库系统的构成数据库 Database数据库管理系统及其开发工具Database Management System应用系统数据库管理员 Database Administrator③ 数据库系统的特点❶ 数据结构化整体数据的结构化是数据库的主要特征之一整体结构化不再仅仅针对某一个应用而是面向全组织不仅数据内部结构化整体是结构化的数据之间具有联系数据库中实现的是数据的真正结构化数据的结构用数据模型描述无需程序定义和解释数据可以变长数据的最小存取单位是数据项❷ 数据的共享性高冗余度低易扩充数据库系统从整体角度看待和描述数据数据面向整个系统可以被多个用户、多个应用共享使用。数据共享的好处减少数据冗余节约存储空间避免数据之间的不相容性与不一致性使系统易于扩充❸ 数据独立性高物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了用户程序也可以不变。数据独立性是由DBMS的二级映像功能来保证的❹ 数据由DBMS统一管理和控制DBMS提供的数据控制功能(1)·数据的安全性Security保护·保护数据以防止不合法的使用造成的数据的泄密和破坏。(2)数据的完整性Integrity检查将数据控制在有效的范围内或保证数据之间满足一定的关系。(3)并发Concurrency控制对多用户的并发操作加以控制和协调防止相互干扰而得到错误的结果。(4)数据库恢复Recovery将数据库从错误状态恢复到某一已知的正确状态。❺ 应用程序与数据的对应关系(数据库系统)2.数据管理技术的产生和发展1 什么是数据管理对数据进行分类、组织、编码、存储、检索和维护数据处理的中心问题2 数据管理技术的发展过程人工管理阶段(20世纪40年代中–50年代中)文件系统阶段(20世纪50年代末–60年代中)数据库系统阶段(20世纪60年代末–现在)3时期20世纪60年代末以来4 产生的背景应用背景 大规模管理硬件背景 大容量磁盘、磁盘阵列软件背景 有数据库管理系统处理方式 联机实时处理,分布处理,批处理1.2数据模型1.数据模型的概念在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现2.两大类数据模型数据模型分为两类分属两个不同的层次(1)概念模型也称信息模型它是按用户的观点来对数据和信息建模用于数据库设计。(2) 逻辑模型和物理模型逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等按计算机系统的观点对数据建模用于DBMS实现。物理模型是对数据最底层的抽象描述数据在系统内部的表示方式和存取方法在磁盘或磁带上的存储方式和存取方法。客观对象的抽象过程—两步抽象现实世界中的客观对象抽象为概念模型把概念模型转换为某一DBMS支持的数据模型。3.数据模型的组成要素(1)数据结构数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分数据结构指对象和对象间联系的表达和实现是对系统静态特征的描述包括两个方面1数据本身类型、内容、性质。例如关系模型中的域、属性、关系等。2数据之间的联系数据之间是如何相互关联的例如关系模型中的主码、外码联系等。(2)数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则数据操作的类型查询更新(包括插入、删除、修改)(3)数据的完整性约束条件数据的完整性约束条件是一组完整性规则的集合规定数据库状态及状态变化所应满足的条件以保证数据的正确性、有效性和相容性。完整性规则给定的数据模型中数据及其联系所具有的制约和储存规则4.概念模型(1)用途与基本要求概念模型的用途:概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求:较强的语义表达能力能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解(2) 信息世界中的基本概念(1) 实体Entity客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2) 属性Attribute实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3) 码Key唯一标识实体的属性集称为码。(4) 域Domain属性的取值范围称为该属性的域。(5) 实体型Entity Type用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6) 实体集Entity Set同一类型实体的集合称为实体集(7) 联系Relationship现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系实体之间的联系通常是指不同实体集之间的联系(3)两个实体型之间的联系① 一对一联系1:1实例一个班级只有一个正班长一个班长只在一个班中任职定义如果对于实体集A中的每一个实体实体集B中至多有一个也可以没有实体与之联系反之亦然。则称实体集A与实体集B具有一对一联系记为1:1② 一对多联系1:n实例一个班级中有若干名学生每个学生只在一个班级中学习定义如果对于实体集A中的每一个实体实体集B中有n个实体n≥0与之联系反之对于实体集B中的每一个实体实体集A中至多只有一个实体与之联系则称实体集A与实体集B有一对多联系记为1:n③ 多对多联系m:n实例课程与学生之间的联系一门课程同时有若干个学生选修一个学生可以同时选修多门课程定义如果对于实体集A中的每一个实体实体集B中有n个实体n≥0与之联系反之对于实体集B中的每一个实体实体集A中也有m个实体m≥0与之联系则称实体集A与实体B具有多对多联系记为m:n(4)两个以上实体型之间的联系① 一对多联系1:m||1:n若实体集E1E2…En存在联系对于实体集Ejj12…i-1i1…n中的给定实体最多只和Ei中的一个实体相联系则我们说Ei与E1E2…Ei-1Ei1…En之间的联系是一对多的。实例课程、教师与参考书三个实体型一门课程可以有若干个教师讲授使用若干本参考书每一个教师只讲授一门课程每一本参考书只供一门课程使用② 一对一联系1:1:1实例一个独生子女只有一个父亲一个母亲一个父亲也只有一个独生子女一个母亲也只有一个独生子女③ 多对多联系m:n:p实例供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件每个项目可以使用多个供应商供应的零件每种零件可由不同供应商供给(5)单个实体型内的联系① 一对多联系1:n实例职工实体型内部具有领导与被领导的联系某一职工干部“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系② 一对一联系1:1身份证可以唯一确认一个人的身份人与身份证有确认和被确认的关系一个身份证唯一确定一个人一个人也唯一确认一个身份证③ 多对多联系 m:n饮料和厂商之间有制造和被制造的关系多个饮料可以被多个厂商制造多个厂商可以制造出多种饮料(6)概念模型的一种表示方法① 实体联系方法(E-R方法)E-R图也称实体-联系图(Entity Relationship Diagram)提供了表示实体类型、属性和联系的方法用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型② 实体型用矩形表示矩形框内写明实体名。③ 属性用椭圆形表示并用无向边将其与相应的实体连接起来④ 联系联系本身用菱形表示菱形框内写明联系名并用无向边分别与有关实体连接起来同时在无向边旁标上联系的类型1:1、1:n或m:n⑤ 联系的表示方法⑥ 联系的表示方法示例⑦ 联系的属性联系本身也是一种实体型也可以有属性。如果一个联系具有属性则这些属性也要用无向边与该联系连接起来⑧ 一个实例用E-R图表示某个工厂物资管理的概念模型实体仓库 仓库号、面积、电话号码零件 零件号、名称、规格、单价、描述供应商供应商号、姓名、地址、电话号码、帐号项目项目号、预算、开工日期职工职工号、姓名、年龄、职称实体之间的联系如下(1)一个仓库可以存放多种零件一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员一个职工只能在一个仓库工作仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对多的联系5.非关系模型1层次模型(Hierarchical Model)层次模型是数据库系统中最早出现的数据模型层次数据库系统的典型代表是IBM公司的IMSInformation Management System数据库管理系统层次模型用树形结构来表示各类实体以及实体间的联系① 数据结构满足下面两个条件的基本层次联系的集合为层次模型有且只有一个结点没有双亲结点这个结点称为根结点根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点双亲结点兄弟结点叶结点② 特点结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型可以定义一个排序字段也称为·码字段任何记录值只有按其路径查看时才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在③ 多对多联系在层次模型中的表示方法将多对多联系分解成一对多联系分解方法冗余结点法虚拟结点法④ 数据操纵与完整性约束层次模型的数据操纵查询插入删除更新层次模型的完整性约束条件无相应的双亲结点值就不能插入子女结点值如果删除双亲结点值则相应的子女结点值也被同时删除更新操作时应更新所有相应记录以保证数据的一致性⑤ 存储结构邻接法按照层次树前序遍历T-L-R的顺序把所有记录值依次邻接存放即通过物理空间的位置相邻来实现层次顺序。又可分为子女兄弟链接法和层次序列链接法。❶ 子女-兄弟链接法每个记录设两类指针分别指向最左边的子女每个记录型对应一个和最近的兄弟❷ 层次序列链接法按树的前序穿越顺序链接各记录值⑥ 优缺点优点层次模型的数据结构比较简单清晰查询效率高性能优于关系模型不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多应用程序的编写比较复杂查询子女结点必须通过双亲结点由于结构严密层次命令趋于程序化2网状模型(Network Model)网状数据库系统采用网状模型作为数据的组织方式典型代表是DBTG系统亦称CODASYL系统70年代由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术实际系统:Cullinet Software Inc.公司的 IDMSUnivac公司的 DMS1100Honeywell公司的IDS/2HP公司的IMAGE① 数据结构网状模型:满足下面两个条件的基本层次联系的集合允许一个以上的结点无双亲一个结点可以有多于一个的双亲。表示方法(与层次数据模型相同):实体型用记录类型描述每个结点表示一个记录类型实体属性用字段描述每个记录类型可包含若干个字段联系用结点之间的连线表示记录类型实体之间的一对多的父子联系网状模型与层次模型的区别:网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系复合联系网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例网状模型中子女结点与双亲结点的联系可以不唯一要为每个联系命名并指出与该联系有关的双亲记录和子女记录多对多联系在网状模型中的表示:方法将多对多联系直接分解成一对多联系例如一个学生可以选修若干门课程·某一课程可以被多个学生选修学生与课程之间是多对多联系 ·引进一个学生选课的联结记录由3个数据项组成学号课程号成绩表示某个学生选修某一门课程及其成绩② 网状数据模型的操纵与完整性约束续网状数据库系统如DBTG对数据操纵加 了一些限制提供了一定的完整性约束码唯一标识记录的数据项的集合一个联系中双亲记录与子女记录之间是一对多联系支持双亲记录和子女记录之间某些约束条件③ 存储结构关键实现记录之间的联系常用方法单向链接双向链接环状链接向首链接④ 优缺点优点能够更为直接地描述现实世界如一个结点可以有多个双亲具有良好的性能存取效率较高缺点结构比较复杂而且随着应用环境的扩大数据库的结构就变得越来越复杂不利于最终用户掌握DDL、DML语言复杂用户不容易使用6.关系模型关系数据库系统采用关系模型作为数据的组织方式1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型计算机厂商新推出的数据库管理系统几乎都支持关系模型1数据结构在用户观点下关系模型中数据的逻辑结构是一张二维表它由行和列组成。几个名词解释关系Relation一个关系对应通常说的一张表元组Tuple表中的一行即为一个元组属性Attribute表中的一列即为一个属性给每一个属性起一个名称即属性名主码Key表中的某个属性组它可以唯一确定一个元组。域Domain属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名属性1属性2…属性n学生学号姓名年龄性别系年级举几个例子例1学生、系、系与学生之间的·一对多联系学生学号姓名年龄性别系号年级系 (系号系名办公地点)例2系、系主任、系与系主任间的一对一联系例3学生、课程、学生与课程之间的多对多联系学生学号姓名年龄性别系号年级课程课程号课程名学分选修学号课程号成绩规范化关系必须是规范化的满足一定的规范条件最基本的规范条件关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表图1.27中工资和扣除是可分的数据项 ,不符合关系模型要求2关系数据模型的操纵与完整性约束数据操作是集合操作操作对象和操作结果都是关系查询插入删除更新数据操作是集合操作操作对象和操作结果都是关系即若干元组的集合存取路径对用户隐蔽用户只要指出“干什么”不必详细说明“怎么干”关系的完整性约束条件实体完整性参照完整性用户定义的完整性3存储结构实体及实体间的联系都用表来表示表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构4优缺点优点建立在严格的数学概念的基础上;概念单一:实体和各类联系都用关系来表示;对数据的检索结果也是关系;关系模型的存取路径对用户透明;具有更高的数据独立性更好的安全保密性简化了程序员的工作和数据库开发建立的工作;缺点存取路径对用户透明导致查询效率往往不如非关系数据模型;为提高性能必须对用户的查询请求进行优化,增加了开发DBMS的难度;7.面向对象数据模型将语义数据模型和面向对象程序设计方法结合起来用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了面向对象数据模型( Object Oriented Data Model, 00模型)的基础主要包括以下一些概念:(1)现实世界中的任何事物都被建模为对象。每个对象具有一个唯一的对象标识(OID)。(2)对象是其状态和行为的封装其中状态是对象属性值的集合行为是变更对象状态的方法集合。(3)具有相同属性和方法的对象的全体构成了类类中的对象称为类的实例。(4)类的属性的定义域也可以是类从而构成了类的复合。类具有继承性一个类可以继承另一个类的属性与方法被继承类和继承类也称为超类和子类。类与类之间的复合与继承关系形成了一个有向无环图称为类层次。(5)对象是被封装起来的它的状态和行为在对象外部不可见从外部只能通过对象显式定义的消息传递对对象进行操作。面向对象数据库(OODB)的研究始于20世纪80年代有许多面向对象数据库产品相继问世较著名的有Object Store、02、ONTOS等。与传统数据库一样面向对象数据库系统对数据的操纵包括数据查询、增加、删除、修改等也具有并发控制、故障恢复、存储管理等完整的功能。不仅能支持传统数据库应用也能支持非传统领域的应用包括CAD/CAM、OA、CIMS、GIS以及图形、图像等多媒体领域、工程领域和数据集成等领域。尽管如此由于面向对象数据库操作语言过于复杂没有得到广大用户特别是开发人员的认可加上面向对象数据库企图完全替代关系数据库管理系统的思路增加了企业系统升级的负担客户不接受·面向对象数据库产品终究没有在市场上获得成功。8.对象关系模型对象关系数据库系统(Object Relational DataBase System, ORDBS) 是关系数据库与面向对象数据库的结合。它保持了关系数据库系统的非过程化数据存取方式和数据独立性继承了关系数据库系统已有的技术支持原有的数据管理又能支持00模型和对象管理。各数据库厂商都在原来的产品基础上进行了扩展。1999 年发布的SQL标准(也称为SQL99)增加了SQL/Object Language Binding, 提供了面向对象的功能标准。SQL99对ORDBS标准的制定滞后于实际系统的实现。所以各个ORDBS产品在支持对象模型方面虽然思想一致但是所采用的术语、语言语法、扩展的功能都不尽相同。