什么是数据库
数据库是按照数据结构来组织,存储和管理数据的仓库,我们用关系型数据库(RDBMS)来存储和管理大数据量。
关系数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
- 数据库:一些关联表的集合;
- 数据表:表是数据的矩阵,一个数据库中的表像是一个表格。
- 冗余:存储两倍的数据,降低了性能,但提高了数据的安全性。
- 主键:唯一的,一个数据表只能包含一个主键。
- 外键:用于关联两个表
关系数据库设计理论
函数依赖
(1)函数依赖:
在一张表中,,在属性(或属性组)X的值确定的情况下,必定能确定属性Y的值,那么就可以说Y函数依赖于X,写作 X → Y。
例如在学生管理系统中,我们找不到一条学号相同而对应的姓名不同。所以我们可以说姓名函数依赖于学号,写作 学号 → 姓名。
(2)码与非主属性
设 K 为某表中的一个属性或属性组,若除 K 之外的所有属性都完全函数依赖于 K,那么我们称 K 为候选码,简称为码。一张表中可以有超过一个码。(实际应用中为了方便,通常选择其中的一个码作为主码)。
不包含在任何一个候选码中的属性称为非主属性。
(3)数据依赖的三个重要函数依赖:
1. 完全函数依赖
比如在学生课程(学号,课程号,成绩)关系中,"学号,课程号"是主码,只有学号不能确定成绩,只有课程号也不能确定成绩,因此"成绩"完全函数依赖与(学号,课程号)
2. 部分函数依赖
比如在学生课程(学号,课程号,学生姓名,成绩)关系中,"学号,课程号"是主码,只有学号是可以确定学生姓名的,因