数据库基础理论

数据库—总览

数据库,知识点概述】数据库基本介绍。数据库的种类:关系型数据库和非关系型数据库。关系数据库标准语言SQL。

数据库—基本介绍

学习数据库时的几个概念】数据data、数据库database、数据库管理系统database management system,dbms。

数据data】数据包含哪些种类。

数据库database】数据库是一个以某种有组织的方式存储的数据集合。数据库(database) 保存有组织的数据的容器(通常是一个文件或一组文件)

数据库管理系统dbms】dbms是什么。dbms的功能。
----dbms是什么/定义】数据库管理系统是位于用户于操作系统之间的一层数据管理软件。
----dbms的功能】数据定义;数据组织、存储和管理;数据操纵功能:增删改查;数据库的事务管理和运行管理;数据库的建立和维护;

SQL

结构化查询语言(Structured Query Language,SQL)是关系数据库的标准语言,也是一个通用的、功能极强的关系数据库语言。
关系数据库标准语言SQL;

设计数据库

数据库表设计,cache】:设计数据库时可以考虑的角度:表和表之间关系,每个表的结构、字段,索引,时间戳。
数据库表中可以储存含有层级的信息,实现方法:加一个列parent_id。
数据库表每个字段要有注释COMMENT。

数据库设计阶段】需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护

数据库–数据字典】数据字典是进行详细的数据收集和数据分析所获得的主要成果。它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善的。它在数据库设计中占有很重要的地位。

如何选择将数据划为"实体"还是"属性"】:数据字典、遵循的一条原则是:为了简化E-R图的处置,现实世界的事物能作为属性对待的尽量作为属性对待。

E-R图
E-R图,是什么/定义】
E-R图,作用/功能】:表示概念模型。
E-R图的表示方法/E-R的绘画规则】:矩形表示"实体型",矩形框内写明实体名。椭圆形表示"属性",并用无向边将其与相应的实体型连接起来。菱形表示"联系",菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。

实体之间的联系
“实体之间的联系”,是什么/定义】:通常是指不同实体型的实体集之间的联系。
“实体之间的联系”,种类】:两个实体型之间的联系、两个以上的实体型之间的联系、单个实体型内的联系
“实体之间的联系”,不管是哪一种,都可能含有的联系的种类】:一对一(1:1)、一对N( 1:n)、N对N(n:n)

符合什么条件的事物可以作为属性对待呢?】可以给出两条准则:(1)作为属性,不能再具有需要描述的性质,即属性必须是不可分的数据项,不能包含其他属性。(2)属性不能与其他实体具有联系,即 E-R图中所表示的联系是实体之间的联系。凡满足上述两条准则的事物,一般均可作为属性对待。例如,职工是一个实体,职工号、姓名、年龄是职工的属性,职称如果没有与工资、岗位津贴、福利挂钩,换句话说,没有需要进一步描述的特性,则根据准则(1)可以作职工实体的属性;但如果不同的职称有不同的工资、岗位津贴和不同的附加福利,则职作为一个实体看待就更恰当。又如,在医院中一个病人只能住在一个病房,病房号可以作为病人实体的一个属性;但如果病房还要与医生实体发生联系,即一个医生负责几个病房的病人的医疗工作,则根据准则(2)病房应作为一个实体.

如何设计一个数据库/数据库设计的基本步骤】 1需求分析2概念结构设计;3逻辑结构设计;4数据库物理设计;5数据库实施;6数据库运行和维护。

  • 数据库设计步骤—需求分析:即搞清楚在数据库中要存那些数据,要去调查用户和数据,目标是得到数据字典
  • 数据库设计步骤—概念结构设计:什么是“概念结构设计”】它是整个数据库设计的关键。概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确定实实体的属性、实体之间的联系类型,目标是形成E-R图,来表示概念模型。首先设计各子系统的分E-R图,然后将它们集成起来,得到全局E-R图。E-R图的集成一般需要分两步走,合并。即解决各分E-R图之间的冲突,将分E-R图合并起来生成初步E-R图。·修改和重构,即消除不必要的冗余,生成基本E-R图。
  • 数据库设计步骤-----逻辑结构设计,是什么/定义:逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。目前的数据库应用系统都采用支持关系数据模型的关系数据库管理系统,所以逻辑结构设计常常指由E-R图向关系数据模型的转换。将E-R图转换为关系模型就是要将实体型、实体的属性和实体型之间的联系转换为关系模式。一个实体型转换为一个关系模式,关系的属性就是实体的属性,关系的码就是实体的码。实体型之间的联系转换为关系模式,有多种情况。
  • 数据库物理设计】
  • 数据库实施】
  • 数据库运行和维护】

在这里插入图片描述
在这里插入图片描述

数据库系统—三级模式

数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成

····模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。模式实际上是数据厍数据在逻辑级上的视图。一个数据库只有一个模式。数据厍模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等;而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

·····外模式也称子模式(subschema)或用户模式,它是数据库用户(包括应用程序员和终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。

······内模式也称存储模式(storage schema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。它是将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。

数据库----关系模式

  • 关系模式,是什么】关系模式是关系模型中的一个术语,关系模式是对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)。关系模式:关系的描述称为关系模式( relation schema)。它可以形式化地表示为R(U,D , DOM , F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。关系是关系模式在某一时刻的状态或内容。
  • 一个关系模式是有对应的关系模式实例,即数据表。一个好的模式应当不会发生插入异常、删除异常和更新异常,数据冗余应尽可能少。
  • 关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。

数据库-----关系代数

  • 关系代数,是什么】关系代数是一种抽象的查询语言,它用对关系的运算来表达查询。关系代数的运算对象是关系,运算结果亦为关系。关系代数用到的运算符包括两类:集合运算符和专门的关系运算符。关系代数用对关系的运算来表达查询要求。
  • 关系代数的运算符】关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类。其中,传统的集合运算将关系看成元组的集合,其运算是从关系的“水平”方向,即行的角度来进行;而专门的关系运算不仅涉及行,而且涉及列。比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的。
    专门的关系运算】:选择、投影、连接、除运算。
    传统的集合运算】是二目运算,包括并、差、交、笛卡儿积4种运算。

数据库—范式,相关

按属性间依赖情况来区分关系规范化程度为第一范式、第二范式、第三范式和第四范式

1NF】
要求数据库表的每一列都是不可分割的原子数据项。

2NF】
若R∈1NF,且每一个非主属性完全函数依赖于任何一个候选码,则R∈2NF.

3NF】
在这里插入图片描述
mine:第三范式就是属性不依赖于其它非主属性。

规范化】
一个低一级范式的关系模式通过模式分解(schemadecomposition)可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化(normalization)。

如何判断一个关系模式属于什么范式】

数据依赖有很多类型,最重要的是函数依赖和多值依赖。

函数依赖
完全函数依赖和部分函数依赖

范式

数据库系统–数据模型

数据库系统–数据模型,是什么】数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架,也就是说数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型通常由数据结构、数据操作和数据约束三部分组成。数据模型是数据库系统的核心和基础。数据结构描述数据厍的组成对象以及对象之间的联示。数据操作–数据库主要有查询和更新(包括插入、删除、修改)两大类操作。

数据库系统--数据模型,常见的数据模型】层次模型、网状模型、关系模型等

数据库系统—概念模型

数据库原理—概念模型,是什么】概念模型,也称信息模型,它是按用户的观点来对数据信息建模,主要用于数据库设计
将现实世界抽象为信息世界。最经常使用的概念模型是E-R模型
数据库原理—概念模型中的术语理解:实体、实体型、实体集、实体间的关系、属性、码。

数据库系统—物理模型

物理模型,是什么】物理模型是对数据最底层的抽象,它描述数据在系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法,是面向计算机系统的。物理模型的具体实现是数据库管理系统的任务,数据库设计人员要了解和选择物理模型,最终用户则不必考虑物理级的细节。

数据库系统—关系模型

数据库系统—关系模型,是什么】关系模型是最重要的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。

关系模型中涉及术语解释】

  • 术语"关系":通俗来讲:一个关系对应通常说的一张表。标准定义:在域D1,D2,…Dn上笛卡尔积D1×D2×…×Dn的子集称为关系。关系是关系模式在某一时刻的状态或内容。关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表和视图表。其中,基本表是实际存在的表,它是实际存储数据的逻辑表示。查询表是查询结果对应的表。视图表是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。
  • 候选码的诸属性称为主属性(prime attribute)。不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)。
  • 术语"属性":通俗来讲:表中的一列即为一个属性。标准定义:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性。
  • 术语"域":通俗来讲:属性的取值范围。标准定义:域是一组具有相同数据类型的值的集合。
  • 术语"元组":表中的一行即为一个元组。标准定义:关系中的每个元素时关系中的元组。
  • 术语"码":表中的某个属性组,它可以唯一确定一个元组。
  • 术语"分量":元组中的每一个值叫做一个分量。
  • 术语"候选码":函数依赖角度,“候选码”,定义:若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为候选码(candidate key)。
  • 术语"外码":设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码K,相对应,则称F是基本关系R的外部码( foreign key),简称外码。
  • 术语"主码":若一个关系有多个候选码,则选定其中一个为主码(primary key)。
  • 关系模式:对关系的描述,一般表示为关系名(属性1,属性2,…,属性n)。

关系模型中的关系操作】
关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。
关系模型中常用的关系操作包括两部分,①查询(query)操作 ②插入(insert)、删除(delete)修改(update)操作。 查询操作又可以分为选择(select)、投影(project)、连接(join)、除(divide)、并(union)、差(except)、交(intersection)、笛卡儿积等,其中选择、投影、并、差、笛卡儿积是5种基本操作。
关系操作能力的表示方式,即关系数据语言:1.关系代数语言 2.关系演算语言 3.具有关系代数和关系演算双重特点的语言,如SQL

关系模型的三类完整性】
关系模型中有三类完整性约束:实体完整性(entity integrity)、参照完整性(referentialintegrity)和用户定义的完整性(user-defined integrity)。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持;用户定义的完整性是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

数据库,杂

术语在数据库表中的对应】:关系(即呈现给你的表,关系是笛卡尔积的子集),属性名(即表头),属性(即列),元组(即行),域(即属性取值集合)、
如果将表想象为网格,网格中垂直的列为表列,水平行为表行。

主键(primary key):

  • 主键,概述】唯一标识表中每行的这个列(或这组列)称为主键。主键用来表示一个特定的行。应该总是定义主键.
  • 主键选择标准】表中的任何列都可以作为主键,只要它满足以下条件:任意两行都不具有相同的主键值;每个行都必须具有一个主键值(主键列不允许NULL值)。

数据库数据类型

SQL标准支持多种数据类型,下表列出了几种常用数据类型。要注意,不同的关数据库管理系统中支持的数据类型不完全相同。

在这里插入图片描述
在这里插入图片描述

数据库优质资料

在这里插入图片描述

笛卡儿积是域上的一种集合运算。n个域进行笛卡尔积,笛卡尔积中可能含有多个元素,每一个元素叫作一个n元组,或简称元组,元素中每一个值叫作一个分量
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Abner_iii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值