数据库基础知识

1. 模型

模型可以分为两类一种是易于用户理解的概念模型(也称信息模型)是从用户的角度出发,主要用于数据库设计。另一类模型是面向DBMS的数据模型,主要包括层次模型、网状模型、关系模型、面向对象模型。

1.1 数据模型的组成要素

1.1.1 数据结构

用于描述静态特性,按照数据结构可以分为层次模型、网状模型、关系模型面向对象模型

1.1.2 数据操作

用于描述动态特性,是指对数据库中各种对象的增删改查。

1.1.3 数据完整性约束

一组完整性约束规则的集合,用于限定符合数据模型的数据库状态以及状态变换,以保证数据的正确、有效、相容。

1.2 概念模型

概念模型是现实世界到机器世界的一个中间层次。

1.2.1 信息世界的基本概念

(1)实体:指客观存在并可以相互区别的事物,一般用矩形表示。
(2)属性:指实体所具有的特性,一般用椭圆表示。
(3)码:唯一标示实体的属性集,一般添加下划线。
(4)域:指属性的取值范围。
(5)联系:现实世界中,事物内部以及事物之间的关系,一般用棱形表示。

1.2.2 概念模型的表示(E-R模型)

例如一个班级的简单E-R图如下所示

er
E-R模型可以根据需要进行变换,分为水平分裂和垂直分裂,例如教师信息,水平分割可以划分为男老师和女老师,垂直分割可以划分为可变信息和固定信息,以下是垂直分割的例子

垂直分割

2. 关系数据库

2.1 关系模型

关系模型是数据模型的子集,因为关系模型很重要,这里将他单独拿出来进行学习。关系模型中的逻辑结构是一张二维表,每一行称为一个元组,每一列称为一个属性(或字段)。

  • 关系:对应一个二维表
  • 元组:一行称为一个元组
  • 属性:一列成为一个属性
  • 主码:某个属性或属性组能够唯一确定一个元组
  • 域:属性的取值范围

关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成

2.1.1 关系数据结构

可以将他简单的看成一张二维表

2.1.2 关系操作

常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作,和添加(insert)、删除(delete)、修改(update)等更新操作两大部分。
关系操作的特点是采用集合操作的方式,即操作的对象和结果都是集合。这种操作方式也称为一次一集合方式。
关系数据语言可以分为三类:
(1)关系代数:用对关系的集合运算表达查询要求
(2)关系演算:用谓词表达查询要求
(3)关系数据语言:例如SQL
他们在功能上是等价的,非过程化的语言。

2.1.3 关系的三类完整性约束

实体完整性、参照完整性、用户自定义完整性。

2.2 关系数据结构及形式化定义

无论是实体还是实体间的联系均由单一的结构类型即关系(二维表)来表示。

2.2.1 域

域(Domain)是一组具有相同数据类型的值的集合。

2.2.2 笛卡尔积

给定一组域D1,D2…Dn(这些域中可以包含相同的元素,既可以完全不同,也可以部分或全部相同),D1,D2…Dn的笛卡尔积(Cartesian Product)为
D1 x D2 x … x Dn = {(d1,d2,…,dn)|d1属于Di,i=1,2,…,n}
笛卡尔积可以表示为一个二维表,表中的每行对应一个元组,表中的每列对应一个域。

2.2.3 关系

关系是笛卡尔积的子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。
某一属性组能唯一标识一个元组,则称该属性为候选码(Candidate key),若有多个候选码,则选定其中一个为主控使用者,称为主码(Primary key)。包含在候选码中的属性称为主属性,不在其中的称为非主属性。

2.3 关系完整性

2.3.1 实体完整性

若属性组(或属性)K是基本关系R的主码(或称主关键字),则所有元祖K的取值唯一,并且K中属性不能全部或部分取空值)。如果主属性取空值,就说明存在不可标识的实体,与客观世界中实体要求唯一标识相违背。

2.3.2 参照完整性

设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码(Foreign key),并称基本关系R为参照关系(Referencing relation),基本关系S为被参照关系(Referenced relation)或目标关系(Target relation)。
参照完整性规则:若属性(或属性组)F是基本关系R的外码,他与基本关系S的主键Ks相对应,则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。

2.3.3 用户自定义完整性

针对某一个具体应用的关系数据库所定制的约束条件,他反映某一个具体应用所涉及的数据必须满足的语义要求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值