> 文档中心 > 【Mysql 一周速成Mysql】 第一篇 基础

【Mysql 一周速成Mysql】 第一篇 基础

文章目录

    • 1.数据模型
      • 1.1两个数据模型
        • 1.1.1概念模型
          • 1.1.1.1两个实体型间的联系
        • 1.1.2逻辑模型
          • 1.1.2.1数据模型的组成要素(三要素)
          • 1.1.2.2常用数据模型
            • 层次模型
            • 网状模型
    • 2.关系模型
      • 2.1关系模型的数据结构
      • 2.2关系模型的基本概念
      • 2.3关系模式
      • 2.4关系模型的完整性约束
    • 3.数据库系统的模式结构
      • 3.1数据库系统的三级模式结构
      • 3.2数据库系统的三级模式与二级映像

1.数据模型

数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息,通俗地讲数据模型就是现实世界的模拟,数据模型应满足三方面要求:
1.能比较真实地模拟现实世界。
2.容易为人所理解。
3.便于在计算机上实现。

1.1两个数据模型

数据模型是数据库系统的核心和基础。根据模型用的目的不同,数据模型分成两个不同的层次:
(1) 概念模型 :也称信息模型(以用户的观点为角度) 。
(2) 逻辑模型 : 主要包括网状模型、层次模型、关系模型等(计算机系统的观点)。
物理模型 :数据在系统内部的,表示形式和存取方法。

1.1.1概念模型

概念模型的用途:
1.用于信息世界的建模。
2.是现实世界到机器世界的一个中间层次。
3.是数据库设计的有力工具。
4.数据库设计人员和用户之间进行交流的语言。
对概念模型的基本要求:
1.较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识
2.简单、清晰、易于用户理解。
信息世界中的基本概念(实体、属性、码):
(1) 实体(Entity)
客观存在并可相互区别的事物。
可以是具体的人、事、物或抽象的概念。
(2) 属性(Attribute) 。
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画 。
(3) 码(Key)
唯一标识实体的属性集称为码。
(4) 域(Domain)
属性的取值范围 (年龄、日期等)。
(5) 实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
学生(学号,姓名,性别,出生年月,院系)。
(6) 实体集(Entity Set)
同型实体的集合。
(7) 联系(Relationship)
实体型间联系
一对一联系(1:1)  
【Mysql 一周速成Mysql】 第一篇 基础
一对多联系(1:n)
【Mysql 一周速成Mysql】 第一篇 基础

多对多联系(m:n)
【Mysql 一周速成Mysql】 第一篇 基础

1.1.1.1两个实体型间的联系

1.一对一联系  记为1:1
如果对于实体集A中的每一个实体,实体集B中 至多有一个实体与之联系,反之亦然。
则称实体集 A 与实体集 B 具有一对一联系 。
实例:
班级与班长之间的联系
一个班级只有一个班长
一个班长只在一个班中任职
2.一对多联系 记为1:n
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系, 反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。
实例:班级与学生之间的联系
一个班级中有若干名学生,
每个学生只在一个班级中学习
3.多对多联系(记为 m:n)
如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。
实例:课程与学生之间的联系
一门课程同时有若干个学生选修
一个学生可以同时选修多门课程
概念模型的表示方法很多,最常用的是P.P.S.Chen 于1976年提出的实体-联系方法(E-R方法)Entity-Relationship Approach,用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。

1.1.2逻辑模型

1.1.2.1数据模型的组成要素(三要素)

1.数据结构
数据结构:描述数据库的组成对象以及对象之间的联系。
两类对象:与数据类型、内容、性质有关的对象、与数据之间联系有关的对象。
数据结构是描述的对象类型的集合,是对系统静态特性的描述。
2.数据操作
数据模型对操作的定义:
操作的确切含义 (查询)
操作符号 (select)
操作规则 (如优先级)
实现操作的语言 (SQL)
数据操作是对系统动态特性的描述。
3.数据的完整性约束条件
数据的约束条件:
1.一组完整性规则的集合
2.数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容
3.任何关系必须满足实体完整性和参照完整性两个条件
4.此外,数据模型还应该提供定义完整性约束条件的机制

1.1.2.2常用数据模型

层次模型和网状模型(非关系模型)
层次模型(Hierarchical Model)
网状模型(Network Model )
关系模型(Relational Model)
数据结构:表
面向对象模型(Object Oriented Model)
数据结构:对象
对象关系模型(Object Relational Model)
半结构化模型(semistructure data model)

层次模型

层次模型:在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:
1.有且只有一个节点没有双亲节点,这个节点称为根节点。
2.根节点外的其他节点有且只有一个双亲节点。
层次模型的优点:
1.模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解。
2.性能优于关系模型,不低于网状模型。
3.提供了良好的完整性支持。
层次模型的缺点:
1.多对多联系表示不自然。
2.对插入和删除操作的限制多。
3.查询子女结点必须通过双亲结点。
4.层次命令趋于程序化。

网状模型

网状模型:满足以下两个条件的基本层次联系集合称为网状模型
1.允许一个以上的节点无双亲节点。
2.一个节点可以有多余一个的双亲节点。
网状模型的优点:
1.能够更为直接地描述现实世界,如一个结点可以有多个双亲节点。
2.具有良好的性能,存取效率较高。
网状模型的缺点
1.结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
2.DDL、DML语言复杂,用户不容易使用。

2.关系模型

2.1关系模型的数据结构

在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成:
【Mysql 一周速成Mysql】 第一篇 基础【Mysql 一周速成Mysql】 第一篇 基础

2.2关系模型的基本概念

关系(Relation)
一个关系对应通常说的一张表。
元组(Tuple)
表中的一行。
属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称即属性名。
码(Key)。
表中的某个属性组,它可以唯一确定一个元组。例如学号,职工编号等
域(Domain)。
属性的取值范围。例如性别只能取“男”、“女”。例如年龄是数字,且不能超过200岁
分量
元组中的一个属性值。

2.3关系模式

对关系的描述:
关系名(属性1,属性2,…,属性n)
如:
学生(学号,姓名,年龄,性别,系,年级)
图书(书号,书名,作者,出版社,类别,价格)
满足一定的规范条件,最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。
【Mysql 一周速成Mysql】 第一篇 基础
上图的属性显然可再分,而线图的属性不可再分。
关系和现实中的表格对比:
【Mysql 一周速成Mysql】 第一篇 基础
关系模型的数据操纵包括查询、插入、删除、更新;数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。

2.4关系模型的完整性约束

1.实体完整性
实体完整性(Entity integrity)是指关系的主关键字不能重复也不能取“空值"。
按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
2.参照完整性
参照完整性(Referential Integrity)是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。
根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系R中已经存在的主关键字值。
3.用户定义的完整性
用户定义完整性(user defined integrity)则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。

3.数据库系统的模式结构

3.1数据库系统的三级模式结构

数据库系统的三级模式结构:
模式:
模式(Schema)(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述,所有用户的公共数据视图,综合了所有用户的需求。一个数据库只有一个模式。
模式的地位:
1.是数据库系统模式结构的中间层
2.与数据的物理存储细节和硬件环境无关
3.与具体的应用程序、开发工具及高级程序设计语言无关
外模式(External Schema):
外模式(也称子模式或用户模式)是数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式的地位:介于模式与应用之间。
模式与外模式的关系:一对多
1.外模式通常是模式的子集。
2.一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。
3.对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。
内模式(Internal Schema):
内模式(也称存储模式)是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,记录的存储方式,索引的组织方式,数据是否压缩存储,数据是否加密,数据存储记录结构的规定,一个数据库只有一个内模式。
【Mysql 一周速成Mysql】 第一篇 基础详细图:
【Mysql 一周速成Mysql】 第一篇 基础【Mysql 一周速成Mysql】 第一篇 基础

3.2数据库系统的三级模式与二级映像

三级模式是对数据的三个抽象级别:外模式、模式、内模式。
二级映象在DBMS内部实现这三个抽象层次的联系和转换:外模式/模式映像、模式/内模式映像。
1.外模式/模式映像:定义外模式与模式之间的对应关系,每一个外模式都对应一个外模式/模式映像映像,定义通常包含在各自外模式的描述中,保证数据的逻辑独立性。当模式改变时,数据库管理员修改有关的外模式/模式映像,使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性
2.模式/内模式映像:模式/内模式映像定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中 模式/内模式映像是唯一的,该映像定义通常包含在模式描述中。保证数据的物理独立性,当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性

下期给大家讲解数据库的SQL用法。
注:本文章仅用于参考学习,如有错误,请大家指正。