一、什么是数据库技术
数据库技术所研究的问题就是如何科学的组织和存储数据,如何高效的获取和处理数据。
二、 SQL
- SQL是Structured Query Language(结构化查询语言)的缩写
- SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言
- 在使用SQL时,只需要发出”做什么“的命令,”怎么做“是不用使用者考虑的
三、DB、DBS、DBMS之间的关系
1、数据(Data)
数据库存储的基本对象
2、数据库(Database DB)
- 长期储存在计算机内的、有组织的、可共享的数据集合
- 数据库中的数据按一定的数据模型组织、描述和储存
- 具有较小的冗余度(重复值)、较高的数据独立性和易扩展性(可修改的),并可为各个用户共享
3、数据库管理系统(DBMS)
1)什么是DBMS
- 位于应用程序与存储数据之间的一层数据管理软件
- 是基础软件,是一个大型复杂的软件系统
2)DBMS用途
- 科学的组织和存储数据、高效的获取和维护数据
3)DBMS的主要功能
i、数据库的定义功能(SQL–DDL)
- 将数据的组织模式申明出来
- 来源于SQL语言中的DDL语言,提供了三个语句:create创建、alter修改、drop删除
- 操作的对象是数据库中的基本架构—表
备注:虽然数据库中村塾的是各种各样的数据,但是都是以表的形式来组织和存放的
ii、数据库的操作功能(SQL-DML)
- 借助于SQL语言中的DML语言,实现对数据库中存储的数据进行增删改查的操作:insert,delete,update,select
- 操作的对象是数据库中的表中的—数据
iii、数据库的保护功能
数据库中的数据恢复、数据库的并发控制、数据完整性控制和数据安全性控制。
iv、数据库的维护功能
- 数据库的数据导入、转换、存储、数据库性能监控等。
- 数据库中表结构和数据的维护功能
4)DBMS的优点
- 相互关联的数据的集合
- 较少的数据冗余
- 程序和数据相互独立
- 保证数据的安全、可靠、正确
- 数据可以并发使用并能同时保证一致性
4、数据库系统(DBS)
数据库系统DBS=数据库DB+数据库管理系统DBMS+应用系统+数据库管理员DBA+用户
1)DBS的发展
网状数据库、层次数据库、关系数据库
数据库发展经历 | 网状结构 | 层次数据库 | 关系数据库 |
---|---|---|---|
数据的组织方式 | 网状模型 | 层次模型 | 关系模型 |
分别对应的数据存储结构 | 图形结构 | 树形结构 | 简单二维表结构 |
2)DBS的基本概念—指关系型数据库的DBS
i、信息和数据
- 信息:是指数据经过加工处理后所获取的有用知识。信息是以某种数据形式表现的
- 信息的三种世界:
- 现实世界:存在于人脑之外的客观世界
- 信息世界:是现实世界在人们头脑中的反映,又称观念世界
- 数据世界:是信息世界中的信息数据化后对应的产物,就是将信息世界中的信息经过抽象和组织,按照特定的数据结构,将数据存储在计算机中
ii、实体-联系-模型
(1)实体
- 客观事物在信息世界中称为实体(entity),它是现实世界中任何可区分、识别的事物
(2)属性
- 描述实体或者联系的性质或特征的数据项
(3)联系
- 反映事物内部或者事物之间的关联集合(不同实体之间的联系)
- 常见的实体联系有3种:一对一联系、一对多联系和多对多联系
5、三者之间的关系
四、关系模型
1、关系的基本概念
- 关系:一个关系就是一张二维表,通常将一个没有重复行、重复列的二维表看成一个关系,每个关系都有一个关系名(即为表名)。
- 元组:二维表的每一行在关系种称为元组。在MySQL中,一个元组对应表中一个记录
- 属性/字段:二维表的每一列在关系中称为属性,每个属性都有一个属性名,属性值则是各个元组属性的取值
- 域:属性的取值范围称为域。域作为属性值的集合,其类型域范围具体由属性的性质及其所表示的意义确定。同一属性只能在相同域中取值。
- 关键字:关系中能唯一区分、确定不同元组的属性或属性组合,称为该关系的一个关键字。一旦把某个列看作是关键字,这个列的内容就必须满足:唯一,不重复,不能为空。
- 可以互推过程:关键字 <= = = => 唯一,不重复,不能为空。
- 主键、主关键字:,针对一个表中某个列来说的,假如把一个表中的某个列设置为主键,那么这个列就必须唯一,不重复,不为空
- 外键:针对两个表来说的,加强表与表之间的联系,外键的设置也是在于列
2、关系模式
1)关系模式
- 对关系的描述称为关系模式,其格式为:
- 关系名(属性名1,属性名2,……,属性名n)
2)关系模型中,关系的基本特点
- 在关系模型中,关系具有以下基本特点:
- 关系必须规范化,属性不可再分割
- 在同一关系中不允许出现相同的属性名
- 在同一关系中元组的顺序可以任意
- 在同一关系中属性的顺序可以任意
3)关系运算
- 关系运算主要有选择、投影和连接
- 选择:从关系模式中找出满足给定条件的元组组成新的关系(从行的角度进行的运算)
- 投影:从关系模式中指定若干个属性组成新的关系(从列的角度进行的运算)
- 连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组,组成新的关系(笛卡儿积,在两个关系中,把两个表能够匹配到的结果全部罗列出来,会造成冗余)
五、关系的完整性约束
是限定表中数据的约束
1、实体完整性
主属性值不能为空(主键)
2、参照完整性(引用完整性)
简单说就是主键与外键的关系
- 从表参照主表:从表所作的操作,必须询问主表的意见,主表有的,你才能做对应操作,主表没有,就不能进行操作
- 从表中列不是随便参照主表中的某个列,必须要求参照主表的这个列是主键或者唯一约束
3、域完整性(用户定义完整性)
限制某个列的取值要求,把取值固定在一个有效的集合范围之内(检查约束,默认约束)
六、三范式
是限定表结构的约束
- 关系模式要满足的条件称为规范化形式,简称范式
- 关系模型规范化的目的是为了消除存储异常,减少数据冗余,保证数据的完整性和存储效率,一般规范为3NF即可
一个基本的关系型数据库要满足第一范式,一个完整的关系型数据库要满足第三范式
1)第一范式(1NF)
即无重复的列
如果关系R的所有属性均为简单属性,即每个属性都是不可再分的,则称R满足第一范式
2)第二范式(2NF)
如果关系R满足第一范式,且每个非主键字段完全依赖于主键,则称满足第二范式(2NF)
3)第三范式(3NF)
如果关系R满足第二范式,非关键字段之间不存在任何依赖关系,则称R满足第三范式
七、E-R图
E-R图也称实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型
- 通常用矩形表示实体型,矩形框内写明实体名
- 用椭圆表示实体属性,椭圆内写明书体属性名
- 用菱形表示实体型间的联系,在菱形内写明联系名
- 用线段来连接
m n 1 :m和n表示多的意思
即:常见的联系中,一对一为1:1;一对多为1:m或1:n;多对多为m:n
例如: