- mysql概述
1.1数据库相关概念
数据(Data):描述事物的符号记录称为数据。
数据库(DataBase(DB)):存储数据的仓库,是长期存储在计算机内有组织的,可共享的大量数据的集合。
数据库管 理系统 (DataBase Management System (DBMS)):数据库管理系统和操作系统一样,是计算机的基础软件,也是一个大型复杂的软件系统。
数据库系统(DataBase System DBS):数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DataBase Administrator DBA)组成的存储、管理、处理和维护数据的系统。
SQL (Structured Query Language (SQL)):操作关系型数据库的编程语言,定义了一套操作 关系型数据库统一标准 。
1.2数据模型
数据模型是对现实世界数据特征的抽象,通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:能比较真实地模拟现实世界、容易为人所理解、便于在计算机上实现。数据模型是数据库系统的核心和基础。
1.2.1两类数据模型
数据模型分为两类(两个不同的层次)
(1)概念模型
概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
(2) 逻辑模型和物理模型
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
客观对象的抽象过程---两步抽象(如下图所示)
现实世界中的客观对象抽象为概念模型;
将现实世界抽象为信息世界
把概念模型转换为某一数据库管理系统支持的数据模型。
将信息世界转换为机器世界
![](https://i-blog.csdnimg.cn/blog_migrate/c4eccf231f4395c08f010a05dc50ce3c.png)
1.2.2概念模型
基本概念:
1 ) 信息世界中的基本概念
①实体(Entity)
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念。
②属性(Attribute)
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
③码(Key)
唯一标识实体的属性集称为码。
④实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体称为实体型
⑤实体集(Entity Set)
同一类型实体的集合称为实体集
⑥联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;
实体之间的联系通常是指不同实体集之间的联系;
实体之间的联系有一对一、一对多和多对多等多种类型;
2 ) 概念模型的一种表示方法:实体-联系方法
用E-R图来描述现实世界的概念模型
E-R方法也称为E-R模型
3)概念模型的用途
1)概念模型用于信息世界的建模
2)是现实世界到机器世界的一个中间层次
3)是数据库设计的有力工具
4)数据库设计人员和用户之间进行交流的语言
4)对概念模型的基本要求
1)较强的语义表达能力
2) 简单、清晰、易于用户理解
1.2.3 数据模型的组成要素
一般的讲,数据模型是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和数据的完整性约束条件三部分组成。
- 数据结构
数据结构是描述数据库的组成对象,以及对象之间的联系。描述的内容有两类:
①.与对象的类型、内容、性质有关;
②.与数据之间联系有关;
总之,数据结构是描述的对象类型的集合,是对系统静态特性的描述。
2.数据操作
对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据操作是对系统动态性的描述。
3数据的完整性约束条件
数据的完整性约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。数据模型应该反映和规定必须遵守的基本的通用的完整性约束条件。此外,数据模型还应该提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。
1.2.4常用的数据模型
层次模型(Hierarchical Model)
层次模型是数据库系统中最早出现的数据模型,层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统,层次模型用树形结构来表示各类实体以及实体间的联系 。
(1)、在数据库中满足下面两个条件的基本层次联系的集合为层次模型
1.有且只有一个结点没有双亲结点,这个结点称为根结点
2.根以外的其它结点有且只有一个双亲结点
(2)、基本术语(根结点,双亲结点,兄弟结点,叶结点)
![](https://i-blog.csdnimg.cn/blog_migrate/2e002160aff83abc142c70d24f5cab1f.jpeg)
(3)、层次模型的特点
①结点的双亲是唯一的
②只能直接处理一对多的实体联系
③每个记录类型可以定义一个排序字段,也称为码字段
④任何记录值只有按其路径查看时,才能显出它的全部意义
⑤没有一个子女记录值能够脱离双亲记录值而独立存在
(4)、层次模型的数据操纵与完整性约束
层次模型的数据操纵主要有查询、插入、删除和更新。进行插入、删除、更新操作时要满足层次模型的完整性约束条件。进行插入操作时,如果没有相应的双亲值就不能插入他的子女节点值。进行删除操作时,如果删除双亲节点值,则相应的子女节点值也将被同时删除。
(5)、层次模型的优缺点
主要优点:
①层次模型的数据结构比较简单清晰 ;
②查询效率高,性能优于关系模型,不低于网状模型;
③层次数据模型提供了良好的完整性支持。
些许缺点:
①结点之间的多对多联系表示不自然
②对插入和删除操作的限制多,应用程序的编写比较复杂
③查询子女结点必须通过双亲结点
④层次命令趋于程序化
网状模型(Network Model)
在现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊病。网状数据库系统采用网状模型作为数据的组织方式。网状数据模型的典型代表是DBTG系统,也称CODASYL系统。
(1)、网状模型的数据结构
允许一个以上的结点无双亲;
一个结点可以有多于一个的双亲。
(2)、网状结构的表示方法(与层次数据模型相同)
实体型:用记录类型描述
每个结点表示一个记录类型(实体)
属性:用字段描述
每个记录类型可包含若干个字段
联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系
![](https://i-blog.csdnimg.cn/blog_migrate/a8536d71087997b32fd8eed638263cfe.jpeg)
(3).网状模型的数据操纵与完整性约束
网状模型一般来说没有层次模型那样严格的完整性约束条件,但具体的网状数据库系
统对数据操纵都加了一些限制,提供了一定的完整性约束。
句,主要有:
例如,DBTG在模式数据定义语言中提供了定义DBTG数据库完整性的若干概念和语句,主要有:
(1)支持记录码的概念,码即唯一标识记录的数据项的集合。
(2)保证一个联系中双亲记录和子女记录之间是一对多的联系。
(3)可以支持双亲记录和子女记录之间的某些约束条件。例如,有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。DBTG提供了“属籍类别”的概念来描述这类约束条件。
(3)、网状模型的优缺点
网状模型的优点主要有:
①能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多
种联系。
②具有良好的性能,存取效率较高。
网状模型的缺点主要有:
①结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不
利于最终用户掌握。
②网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。
用户不容易掌握,不容易使用。
③由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
关系模型(Relational Model))
关系模型是最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
(1)、关系模型的数据结构
关系(Relation)
一个关系对应通常说的一张表
元组(Tuple)
表中的一行即为一个元组
属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称即属性名
主码(Key)
也称码键。表中的某个属性组,它可以唯一确定一个元组
域(Domain)
是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
分量
元组中的一个属性值。
关系模式
对关系的描述
关系名(属性1,属性2,…,属性n)
学生(学号,姓名,年龄,性别,系名,年级)
关系模型要求关系必须是规范化的,即要求关系必须满足一定的规范条件,这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的数据项,也就是说,不允许表中还有表。
(2)、关系模型的数据操纵与完整性约束
关系模型的数据操纵主要包括查询、插入、删除和更新数据,这些操作必须满足关系的完整性约束条件,关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不像格式化模型中那样是单记录的操作方式。另一方面,关系模型把存取路径向用户隐蔽起来,用户只要指出“干什么”或“找什么”,不必详细说明“怎么干”或“怎么找”从而大大地提高了数据的独立性,提高了用户生产率。
(3)、关系模型的优缺点
关系模型具有下列优点:
(1)关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。
(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。
(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。
所以关系模型诞生以后发展迅速,深受用户的喜爱。
当然,关系模型也有缺点,例如,由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。不过用户不必考虑这些系统内部的优化技术细节。
第一次写,看着书上的内容进行概括总结,不足之处希望大家海涵!