栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java之mysql查询,备份,约束与设计

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java之mysql查询,备份,约束与设计

下面说一下数据库的备份相关问题:

下面是关于数据库表的约束问题,这个主要用来限制表中的数据,不符合要求的数据将无法插入到表中

上面说到外键级联的问题,就是假设从表外键映入一张主表的主键用作约束,那么如果主表的主键做了更改,或者是被删除了,那么也就是说,被约束的从表外键自然也就失去了我们本来应该有的约束效果,所以,我们必须设置两张表相应的级联,就是主表做了啥更改,从表也就做出相应的更改,语法如下:

直接在创建外键后面添加相关的级联语法:

on update cascade on delete cascade

下面就来说一下表与表之间的关系:

常见的几种关系:

一对多,一对一,多对多

嗯呐,上面也就是说的是数据之间的关系。

一对一,没啥说的

一对多,比如一门课程-》多个学生  ,一个客户-》多个订单 , 一个部门-》多个员工

在强调一遍:

表与表的这种关系不是说一张表对应还几张表,是表中的每一张数据,对应另外一张表的很多数据,比如部门id,与员工表的dep_id就是一对多

这种时候,我们设计两张表的时候,就可以采用外键约束来做,一这张表可以设计成一张主表,来约束从表。

说一下多对多这种表的设计:

比如老师与学生 学生与课程,老师可以选择多个学生,学生也可以选择多个老师,一个学生可以选择多个课程,一个课程也可以被多个学生选择

这样的关系就必须用第三张表来操作了。

上面表怎么来设计呢?

首先我们创建第三张表,然后这张表就是从表,从表中有两个外键指向各自一方的主键。

create table relation{

stu_id int not null,

cus_id int not null,

constraint stu_id_fk foreign key (stu_id) reference student(stu_id),

constraint cus_id_fk foreign key (cus_id) reference course(cus_id)

} engine=Innodb default charset = utf8;

上面另外两张表,看做主表,设置主键自增长即可。

下面说一下MySQL数据表的设计:

这个核心思想就是如何规范的建表,不要显得冗余,数据的添加与删除要合法,要规范建表。因此,数据库提出了六种范式来帮助我们规范建表。其中,我们只需要了解学习到前三种即可:

 下面具体来说明一下,先来说说什么是码属性,主属性与非主属性:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/709465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号