zoukankan      html  css  js  c++  java
  • SQL-外键-三大范式(关系型数据库)-ER模型

    外键:通常使用主键作为外键,也可以使用唯一标记行的多个列作为外键;

    外键约束:为了维护表数据的完整(正确)性:

    ALTER TABLE Student

    ADD CONSTRAINT FK_Teacher_Id   --添加约束及约束名

    FOREIGN KEY (TeacherId)                --约束类型:外键,外键列为TeacherId

    REFERENCES Teacher(Id)                --外键表为Teacher,外键列为Teacher上的Id

    外键约束包括

    1,在主表上添加/修改数据时,不能使用从表上不存在的外键值;

    2,在从表上更改/删除外键值时,确保该值未被主表外键引用;

    主表上的外键可以为null,可以重复;

    当两张表建立主/从关系,要注意操作数据的顺序:

    1,增:先从表,再主表

    2,删:先改主表外键,再删从表

    3,改:没有顺序,但主/从表要一致

    三大范式:

    目的:减少冗余,保证数据库的一致性;

    1,关系中的每个属性都不可再分

    2,一行数据,所有非主键列都只有对主键完全依赖

    3,在第二式基础上消除传递依赖

    ER模型:

    在关系型数据库上实现的,分为:

    实体:由属性组成,通常就是一行数据;

    属性:实体的特征,表现成列;

    关系:实体与实体之间的关联;

    所有关系被抽象为三类:

    一对一(一个学生,有且仅有一个详细地址);

    一对多(一个学生,有年龄,性别,身高,体重等);

    多对多(一个学生有多个老师,一个老师有多个学生);

    如果这篇文章,对你有帮助,请点击关注,我会持续更新......
  • 相关阅读:
    UPC2018组队训练赛第十二场
    ACM-ICPC 2018南京赛区网络预选赛
    UPC2018组队训练赛第十一场
    UPC2018组队训练赛第十场
    UPC2018组队训练赛第九场
    linux 用简单密码
    设置分辨率
    packstack
    rbenv
    elasticsearch
  • 原文地址:https://www.cnblogs.com/-GoFurther/p/13734407.html
Copyright © 2011-2022 走看看