MySQL数据库day03

本文详细介绍了MySQL数据库设计中的三范式,包括学生表、成绩表、班级表和教师表的实例。此外,还讨论了表的约束,如非空、默认值、唯一性、主键、外键及检查,强调了外键约束的重要性。同时,讲解了自动增加字段值的设置和索引的创建、维护及其优缺点。最后,提到了视图的概念、作用和在数据安全性及查询效率方面的提升。
摘要由CSDN通过智能技术生成

一、表的三范式

    1、没有重复的字段且都具有原子性不可再拆分

    2、表中的所有属性都与主键相关 (主键 非空且唯一)

    3、确保每列属性都与主键列直接相关,而不是间接相关

    三范式是在不断使用数据库的过程中总结的三项准则,遵循它能最大效率地使用数据库中的资源

    学生表

        学号 姓名 性别 身份证号 班级编号

        create table Student(

            id int primary key,

            name varchar(20) not null,

            sex char default 'w',

            id_card char(18) unique,

            class_id int,

            foreign key(class_id) references Class(id) on delete/update cascade,

            ...

        );

    成绩表

        学号 语文 数学 英语

        create table Grade(

            id int primary key,

            c_grade float check(c_grade>=0 and c_grade<=100),

            m_grade float check(m_grade>=0 and m_grade<=100),

            e_grade float check(e_grade>=0 and e_grade<=100),

            foreign key(id) references Student(id) on delete/update cascade,

            ...

        );

    班级表

        班级编号 教室 班主任 语文老师 数学老师 英语老师

        create table Class(

            id int primary key,

            room_id int not null unique,

            class_teacher int,

            c_teacher int,

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值