2024.1.25学习心得

如何合理的运用主键和唯一键建表

tip:不要用业务逻辑充当主键(例:stu_name等)

例:使用一个编号充当主键,业务逻辑则使用唯一键

create table student

(

        stu_id int primary key,--主键

        stu_name nvarchar(50) unique not null,--唯一键(代理主键),n(对汉字支持)var(可变)50(长度最大50)

        stu_email nvarchar(50) not null,

        stu_address nvarchar(50)

)

not null和default的区别

not null:

        要求用户必须为该属性赋一个值,否则语法出错!

        如果一个字段既不写null也不写not null,但默人值为null,即默认允许为空,用户可以不给该字段赋值;如果用户没用给该字段赋值,则该字段值为NULL。

default:

相同点:

        都允许用户不赋值

不同点:

        null修饰的字段如果用户不赋值则默认为null;

        default修饰的字段如果用户不赋值则默认是default指定的那个值。

表和约束的关系

        数据库是通过表来解决事物的存储问题;

        数据库是通过约束来解决事物取值的有效性和合法性的问题;

        建表的过程就是指定事物属性及其事物属性各种约束的过程。、

什么叫关系

        定义:

                表和表之间的联系。

        实现方式:

                通过设置不同形式的外键来体现表和表的不同关系。

        分类:

                一对一;一对多;多对多。

        一对一:

                既可以把表A的属性充当表B的外键;

                也可以把表B的属性充当表A的外键。

        一对多:

                把A表的主键添加到B表来充当B表的外键;

                (在多的一方添加外键)

        多对多:

                tip:多对多必须得通过单独的一张表来表示。

                例:

                        班级与教师               

                答:

                        班级是一张表;

                        教师是一张表;

                        班级和教师的关系也是一张表。

你可能感兴趣的:(数据库,数据库,sql,mysql)