其他分享
首页 > 其他分享> > CMU CS15-445 Lecture01 关系模型 课程笔记

CMU CS15-445 Lecture01 关系模型 课程笔记

作者:互联网

1. 数据库的例子

一般情况下,可以在应用程序上实现和管理最简单的数据库,即可以用它来存储数据和一堆用逗号分隔的值文件或CSV文件。

假设数据库中有两个实体(Artist和Album),以及对应的属性。
在这里插入图片描述
如果要存储在CSV文件中,会在每个属性上用引号标注,然后用逗号分隔。

假设需要查找“Ice Cube” 的出道年份,通过Python方式来实现。

for line in file:
    record = parse(line)
    if "Ice Cube" == record[0]:
        print(int(record[1]))

但是这种方式并不是最好的,存在一些问题。

基于以上问题,就出现了数据库管理系统(DBMS)来对数据进行管理操作。

数据库管理软件是一种专业的软件,允许程序在无须底层实现的情况下,对数据库中的信息进行存储和分析,是一种能够被多种应用所复用的软件。避免重复造轮子的问题。

2. 数据库发展史

2.1 早期数据库

第一个数据库是 1965 年由通用电气制造。

缺点:

2.2 关系模型出现

1970年被Ted Codd提出并发表论文,引发了关系数据模型革命的原始论文。

通过数据库抽象的方式避免维护问题:

2.3 数据模型

data model(数据模型):用于描述数据库中的数据的概念的集合

schema(模式): 使用给定数据模型对特定数据集合的描述

常见的关系数据模型

数据库优势并不能一概而论,在某些应用领域中,一些数据模型比关系型数据模型能够更好地描述数据。

3. 关系型数据模型的三个要素

4. 一些概念词

关系:数据的一个列,是一个实体的属性之一。

在这里插入图片描述

主键(Primary Keys):某一个唯一属性或一个属性组能够唯一标识一条记录。称其属性或属性组为主键。

  • 由于无法控制无法重名,所以引入id来进行唯一索引。
  • 如果不指定主键,有些DB会增加一个隐式的主键。

在这里插入图片描述
外键(Foreign Keys):用于指定一张表中的属性必须存在于另一张表中。
在这里插入图片描述

5. 数据操纵语言(DML)

数据操纵语言(Data Manipulation Language, DML):负责对数据库对象运行数据访问工作的指令集。DML有两种方式

5.1 过程性(经典例子:关系代数

Ted Codd 提出在关系代数中的7种最核心的关系运算符

5.1.1 Select

查询复合条件的tuple的一个子集。

在这里插入图片描述

5.1.2 Projection

生成一个新的输出关系,厘米包含一个给定输入关系中的指定属性。

在这里插入图片描述

5.1.3 Union

将两个关系组合成一个新的关系。(并集

在这里插入图片描述

5.1.4 Intersection

两个关系表里共同的部分。(交集

在这里插入图片描述

5.1.5 Difference

从第一个元素集中将第二个元素集中出现的元素过滤掉。(差集

在这里插入图片描述

5.1.6 Product

笛卡尔积。所有可能性不重复的组合。

在这里插入图片描述

5.1.7 Join

自然链接。

在这里插入图片描述
后续增加的关系代数

5.2 非程序性或声明式(经典例子:关系演算

6. 书籍阅读笔记

参考内容:《Database system concepts》 chapter01 and chapter02

6.1 chapter01

数据库管理系统(DataBase-Management System,DBMS) 是一个互相关联的数据的集合和一组用以访问数据的程序组成。

数据集合称为数据库(Database)

6.1.1 数据库系统的应用

数据库的应用广泛,代表性的应用有:

6.1.2 数据库系统的目标

文件处理系统是传统的操作系统所支持的。存在的弊端如下:

6.1.3 数据视图

数据库系统的一个目的:给用户提供数据的抽象视图。

数据库系统的几个模式:物理模式(在物理层描述数据库的设计)逻辑模式(在逻辑层描述数据库的设计)

子模式:描述数据库的不同视图。

6.1.4 数据库语言

数据库系统实现遵循的完整性约束:

域约束
参照完整性
断言
授权

6.2 关系模型介绍

笔记暂无,参考课程笔记

标签:关系,5.1,Lecture01,DML,数据库,CS15,445,数据,数据模型
来源: https://www.cnblogs.com/launolife/p/15170235.html