数据库基础

时间:2024-04-06 20:06:33

1、简介

数据库的目的:持久化存储,优化读写,保证数据的有效性。


2、数据库的分类:

    1.文档型:如sqlite,就是一个文件,通过对文件的读写进行数据的存储查询,主要应用在移动端。

    2.服务型:如myql,数据存储在一个物理文件中,但是需要使用终端以tcp/ip协议连接,进行数据库的读写操作


3、E-R模型

    E:entry,实体
    R: relationship,关系
    一个实体转换为数据库中的一个表
    两个实体之间的关系:
        一对一:一个班级只能有一个班长,一个班长只能属于一个班级
        一对多:一个班级有多个学生,一个学生只能属于一个班级

        多对多:一个老师教多个班级,一个班级有多个老师


4、关系模型

    元组(Tuple)表中的一行即为一个元组,也称为一条记录。
    属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名(字段名)。
    关系(Relation)一个关系对应通常说的一张表,元组的集合可称为关系。
    码(键)(Key)表中的某个属性组,它可以唯一确定元组。
    主码(PrimaryKey)关系模式中用户正在使用的码称为主码。
    外码(ForeignKey):如果模式R中的某属性是其他模式的主码,那么该属性集为模式R的外码。
    域(Domain):属性的取值范围◦分量:元组中的一个属性值◦
    关系模式:对关系的描述
    关系名(属性1,属性2,...,属性n)
    如:学生(学号,姓名,年龄,性别,系,年级)

    课程(课程号,课程名,学分)


5、E-R模型向关系模型的转换

    (1:1):
        1.将联系属性及一端的主码加入到另一端。
        2.可单独对应一个关系模式:由联系属性、两端的主码构成关系模式,其主码可选参与联系的实体集的任一的主码。
    (1:n):
        1.由联系属性及1端的主码加入到n端,主码仍为n端的主码。
        2.可单独对应一个关系模式:由联系属性、两端的主码构成关系模式,其主码是n端的主码。
    (n:m):

        1.单独对应一个关系模式,该关系模式包括联系的属性、参与联系的各实体集的主码属性,该关系模式的主码由两端的主码共同组成。


6、三范式

数据库基础

3NF:每一个非主属性既不部分依赖于码也不传递依赖于码

7、完整性约束

  • 实体完整性(组成主码的属性不能有空值,主键)

  • 参照完整性(不允许引用不存在的元组,外键)
  • 用户定义的完整性(针对某一具体数据的约束条件,由应用决定,check约束)