电商门户网站常州网上车管所
电商门户网站,常州网上车管所,wordpress 网站地址,有价值 网站一、概念
(1) 定义
在数据库系统中针对不同的使用对象和应用目的#xff0c;采用不同的数据模型。根据模型的应用的不同目的#xff0c;可以将这些模型划分为两类#xff1a;
(2) 分类
A#xff1a;概念数据模型
它也称信息模型它是按用户的观点#xff08;观念世界采用不同的数据模型。根据模型的应用的不同目的可以将这些模型划分为两类
(2) 分类
A概念数据模型
它也称信息模型它是按用户的观点观念世界来对数据和信息建模主要用于数据库设计
BDBMS支持的基本数据模型
它是按计算机系统的观点进行机器世界数据建模主要用于DBMS的实现主要包括层次模型、网状模型、关系模型等等 (3) 数据模型的三要素
A数据结构
数据结构描述数据库的组成对象以及对象之间的联系数据结构用于描述系统的静态特性通常按照数据结构的类型来命名数据模型 层次结构——层次模型网状结构——网状模型关系结构——关系模型 B数据操作
数据操作是指对数据库中各种对象型的实例值允许执行的操作的集合包括操作及有关的操作规则数据库主要有检索和修改包括插入、删除、更新两大类操作数据模型必须定义这些操作的确切含义、操作符号、操作规则如优先级以及实现操作的语言数据操作用于描述系统的动态特征
说白了就是你想咋 “动” 这些数据
C数据完整性约束
数据完整性约束是一组完整性规则的集合完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则用以限制符合数据模型的数据库状态以及状态的变化用以确保数据的正确、有效和相容 下面我们会分别就概念数据模型和基本数据类型两者进行较为详细的介绍 (二) 概念模型
(1) 定义
概念模型是从现实世界中抽取出对于一个目标应用系统来说最有用的事物、事物特征以及事物之间的联系通过各种概念精确地加以描述
简单的说就是概念模型就是按照用户的观点来对信息进行建模 (2) 必知概念
A实体Entity
客观存在并可相互区别的客观事物或抽象事件称为实体
就好比你脑海中对一个东西或事物的反映实体可以指人如一名学生、一名工人等也可以指东西如一台电脑、一个桌子、一个杯子等实体不仅可以指实际的事物还可以指抽象的事物如一次拜访、一次野餐、购物、演出、篮球赛等甚至还可以指事物与事物之间的联系如“学生选课记录”和“用户订餐记录”等
B属性Attribute
属性是指实体所具有的某一方面的特性
一个实体可有多个属性例如学生的属性有姓名、年龄、性别、学院等。
属性值属性所取的具体值称作属性值
例如一名学生其中一个属性 “姓名” 的取值 为 “张三”
C域Domain
一个属性可能取的所有属性值的范围称为该属性的域
例如教师属性“性别”的域为男、女教师属性“职称”的域为助教、讲师、副教授、教授等
由此可见每个属性都是个变量属性值就是变量所取的值而域则是变量的变化范围 因此属性是表征实体的最基本的信息 D码Key
惟一标识实体的属性集称为码
唯一唯一唯一例如学号是学生实体的码一个学号就能确定这个学生到底哪个
E实体型Entity Type
具有相同属性的实体必然具有共同的特性和性质用实体名及其属性名集合来抽象和刻画同类实体称为实体型
例如学生姓名年龄性别学院就是一个实体型
F实体集Entity Set
同一类型实体的集合。例如某一学校中的学生具有相同的属性他们就构成了实体集 “学生”
(2) 实体间联系
现实世界中事物彼此的联系在概念模型中反映为实体间的联系
实体内部的联系通常是指组成实体的各属性之间的联系实体之间的联系通常是指不同实体集之间的联系 如上图常见的联系有这么几种
定义就不给了很繁琐枯燥举几个例子很容易理解
A一对一
学校里实体集班级与实体集班长之间的就具有11联系
一个班级只有一个班长而一个班长只在一个班中任班长职务
B一对多
例如实体集班级与实体集学生就是一对多联系
因为一个班级中有若干名学生而每个学生只在一个班级中学习。
C多对多
实体集课程与实体集学生之间的联系是多对多联系mn
因为一个课程同时有若干名学生选修而一个学生可以同时选修多门课程。 实体型之间的这种一对一、一对多、多对多联系不仅存在于两个实体型之间也存在于两个以上的实体型之间。
例如对于课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授使用若干本参考书而每一个教师只讲授一门课程每一本参考书只供一门课程使用则课程与教师、参考书之间的联系是一对多的
(三) 基本数据模型
目前常用的数据模型有三种
① 层次模型② 网状模型③ 关系模型
其中层次模型和网状模型统称为非关系模型
层次模型Hierarchical Model 网状模型Network Model 关系模型Relational Model 半结构化数据模型Semistructured-data Model 面向对象模型Object Oriented Model 对象关系模型Object Relational Model (1) 层次模型
A基本概念
用树型结构来表示实体之间联系的模型称为层次模型
构成层次模型的树是由结点和连线组成的结点表示实体集文件或记录型连线表示相连两个实体之间的联系
这种联系只能是一对一一对多的
通常把表示“一”的实体放在上方称为父结点而把表示“多”的实体放在下方称为子结点
根据树结构的特点建立数据的层次模型需要满足下列两个条件
有且仅有一个结点没有父结点这个结点即为树根结点其他数据记录有且仅有一个父结点 就如上图就是一个层次模型的例子
B特点
层次模型的一个基本的特点是任何一个给定的记录值只有按其路径查看时才能现出它的全部意义无一个子女记录值能够脱离双亲记录值而独立存在
层次模型最明显的特点是层次清楚、构造简单以及易于实现它可以很方便地表示出一对一和一对多这两种实体之间的联系。
C优点
层次模型的数据结构比较简单层次数据库的查询效率高因记录间的联系用有向边表示在DBMS中用指针来实现路径明确快速
D缺点
对于非层次性的如多对多联系、一个结点具有多个双亲等层次模型表示这类联系就很难受只能通过引入冗余数据易产生不一致性或创建非自然组织引入虚结点来解决对插入和删除操作的限制比较多查询子结点必须通过双亲结点由于结构严密层次命令趋于程序化 (2) 网状模型
A基本概念
网状模型和层次模型在本质上是一样的简单对比分析一下
从逻辑上看它们都是用连线表示实体之间的联系用结点表示实体集从物理上看层次模型和网络模型都是用指针来实现两个文件之间的联系其差别仅在于网状模型中的连线或指针更加复杂更加纵横交错从而使数据结构更复杂
网状模型去掉了层次模型的两个限制下面的 ① ② 点所以它是一种比层次模型更具普遍性的结构
在数据库中把满足以下条件的基本层次联系集合称为网状模型
① 允许一个以上的结点没有双亲结点②一个节点可以有多于一个双亲节点③ 允许两个节点之间有多种联系 网状模型可以直接表示实体之间多对多的联系
B优点
能够更为直接地描述现实世界如一个结点可以有多个双亲具有良好的性能存取效率较高
C缺点
结构比较复杂而且随着应用环境的扩大数据库的结构就变得越来越复杂不利于用户最终掌握其DDLDML语言复杂用户不容易使用 (3) 关系模型
A基本概念
关系模型是现在非常流行的一种数据模型
关系模型是用表格数据来表示实体本身及其相互之间的联系的
在用户观点下关系模型中数据的逻辑结构是一张二维表它由行和列组成关系既可以表示实体也可以用来描述实体间的联系
在关系模型中把数据看成一个二维表每一个二维表称为一个关系 关系表中的每一列称为属性相当于记录中的一个数据项对属性的命名称为属性名 表中的一行称为一个元组相当于记录值。 对于表示关系的二维表其最基本的要求是表中元组的每一个分量必须是不可分的数据项即不允许表中再有表如下图 B优点
关系模型的概念单一数据结构比较简单实体与实体间的联系均用关系来表示因此数据的结构比较简单、清晰具有很高的数据独立性。在关系模型中用户完全不涉及数据的物理存放只与数据本身的特性发生关系。因此数据独立性很高可以直接处理多对多的联系。在关系模型中由于使用表格数据来表示实体之间的联系因此可以直接描述多对多的实体联系如下表直接表示了学生与课程之间的多对多的关系建立在严格的数学概念基础上也有着坚实的理论基础
C缺点
最主要的缺点是查询效率往往不如非关系数据模型。为提高效率关系数据库管理系统必须对用户的查询请求进行优化这样增加了开发DBMS的难度。 (4) 半结构化模型
A基本概念
半结构数据是“无模式”的数据是自描述self describing的
数据携带了关于其模式的信息模式可以随着时间在单一数据库内任意改变易于修改和变化
它是一种适于数据库集成integration的数据模型适于描述包含在两个或多个数据库这些数据库含有不同模式的相似数据中的数据。
它也是一种标记服务的基础模型适于在Web上共享信息
B特点
半结构化数据类似树或图
叶子结点leaf与具体数据相关数据的类型可以是任意原子类型如数字和字符串。内部结点interior至少都有一条向外的弧。每条弧都有一个标签label,该标签指明弧开始处的结点与弧末的结点之间的关系要有一个根root结点它代表整个数据库每个结点都从根可达。 XML 适合存储半结构化数据关于XML 在我之前的文章中可以看到一篇具体的介绍这里就不做过多的介绍 面向对象数据模型object-oriented data model,简称OO data model 吸收了概念数据模型和知识表示模型的一些基本概念同时又借鉴了面向对象程序设计语言和抽象数据类型的一些思想是一种可扩充的数据模型。 面向对象数据模型的基本概念是对象和类。 (5) 面向对象数据模型
A基本概念
面向对象数据模型吸收了概念数据模型和知识表示模型的一些基本概念同时又借鉴了面向对象程序设计语言和抽象数据类型的一些思想是一种可扩充的数据模型。 面向对象数据模型的基本概念是对象和类。
现实世界的任意实体都是对象
一个对象可以包含多个属性用来描述对象的状态、组成和特性
对象还包括若干方法用以描述对象的行为特性通过方法可以改变对象的状态对对象进行各种数据库操作
对象是封装的对象之间的通信是通过消息传递来实现的即消息从外部传递给对象存取和调用对象中的属性和方法在内部执行要求的操作操作的结果仍以消息的形式返回 B类Class和实例instance
共享同一属性集合和方法集合的所有对象组合在一起构成了一个对象类简称为类一个对象是某一类的一个实例。 例如学生是一个类具体的某个学生例如张山是学生类中的一个对象 在数据库系统中有“型”和“值”的概念而在面向对象数据模型中“型”就是类对象是某个类的“值”
类属性的定义域可以为基本类如字符串、整数、布尔型也可以为一般类即包括属性和方法的类一个类的属性也可以定义为这个类自身 C类层次Class hierarchy
面向对象数据模型中类的子集称为该类的子类该类称为子类的超类。子类还可以有子类也就是类可以有嵌套结构
系统中所有的类组成了一个有根的有向无环图称为类层次
一个类可以从类层次的直接或间接祖先那里继承所有的属性和方法用这个方法实现了软件的可重用性
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89217.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!