00:00
各位同学大家好,欢迎继续收看上硅谷,硅谷通用权限系统。现在我们开始进行数据库的设计,咱们来看一下我们数据库到底该怎么样设计,刚才咱们演示项目的功能,我们发现啊,项目中主要有这么三部分,分别是用户,角色还有菜单,那我在图里边给大家分析一下咱们这个数据库,或者说这表到底该怎么进行创建,我这里写一下第一个是用户。第二个叫。角色。第三个我们叫菜单,那大家来看啊,用户他指的就是啊,我们登录系统,根据用户登录,而一个用户是不是就有这个角色呀,那大家想一下啊,这个用户他跟角色之间。他们到底是一个怎么样一个关系,大家跟我一起来想一下,他是什么关系。我们应该能想到啊,用户角色什么关系,是不是一个多对多的有关系,那这里边给大家写一下啊,我就来一个M,这里加个N,代表它们是多对多的一个关系,写到这里。
01:14
就是多对多。那为什么是多对多的关系呢?给大家来做一个说明。我这里写一下啊,就是假如说啊,我现在有两个用户,一个用户是Lucy,一个用户是Mary,然后里边呢,我有两个角色,一个角色,比如说我们是这个超级管理员。然后另外一个角色,比如说是这个叫做就是公司这个开发人员,咱们有这么两个用户,两个角色,那咱们看他们之间是怎么样一个关系,给大家来做个分析,那大家看到啊,比如现在我这个Lucy Lucy是不是可以是超级管理员哟,另外Lucy是不是也可以是开发人员,而超级管理员可以是Lucy,是不是可以是Mary,所以总结起来咱们的关系是怎么样的,我写一下啊,一个用户。
02:12
可以有多个角色,这是第一个关系。另外一个关系是什么呢?我们可以想到一个角色里边是不是也可以有很多的用户,比如说超级管理员里边可以包含Lucy,也可以包含Mary,所以他们之间是一个多对多的关系,一个用户有多个角色,一个角色里边可以有很多用户,这是他们的第一个关系。然后咱们继续再来看啊,角色和菜单,那大家想一下这个之间又是怎么样一个关系?他们怎么去理解,我们来做个说明,比如我现在啊有两个角色,然后这里边我又有很多的菜单,比如咱们写一下,假如说有这个用户管理。有,这个叫做。
03:00
角色管理,那大家看啊,我超级管理员能操作用户,能操作角色,而用户可以被超级管理员操作,也可以被这个开发人员操作,所以他们之间关系又是怎么样的,是不是也是一个多对多的关系,给各位写到这里。一个角色里边可以操作。多个菜单。然后同样另一个关系,一个菜单又可以被多个角色所操作,我先写一下啊,一个角色操作多个菜单。然后同样。一个菜单。可以背。多个角色所操作,这是我们说的另外一个多对多关系,所以咱们就根据这个关系把这个表进行创建,那咱看怎么来做啊,我这里写一下,这里加个M,然后这里加个N,代表多对多的关系。
04:02
那咱们见表。然后怎么建表嘛,首先三张基本表要创建用户角色菜单,然后咱要把它的关系表示,怎么表示各位应该知道啊,多对多怎么建表,咱是不是要建一个第三张表来表示他们的关系,也就是说啊,我这个表那叫做角色和用户的关系表,或者说叫用户角色。关系表,然后除此之外咱们还一个表叫角色和菜单的关系表,那这个时候呢,注意他们怎么去做呢?比如现在啊,我超级管理员能操作所有菜单,而我Lucy是超级管理员,那Lucy是不是就能操作所有菜单,所以他们经过这个关系来进行表示。以上是咱们表的一个设计,用户角色菜单用户角色关系表以及角色菜单关系表,这是我们的设计方式,而这个建表语句呢,我在资料里边给大家已经提供出来了,就这位置叫数据库,然后咱们把这个建表语句打开,我们来看一下,就刚才我们说的过程。
05:12
咱们做个说明,首先我们看啊,第一部分建一个数据库,叫硅谷author,然后里边有六张表,你现在把这部分直接ctrl a ctrl c复制,复制到你的工具中,然后把它执行就可以了,我这里边已经执行过了,然后咱们看一下我这里边的库和它相关的表,就是这张图里面标注出来的。我们来看啊,第一个表叫用户表,就这个表。有用户信息,还有一个叫角色,另外这个表你看是什么啊,大家看这关系,你看里边有用户ID,就在ID就是用户角色关系表。除此之外还有一个菜单表,然后这个表就是角色和菜单关系表,里边存入角色ID,还有这个菜单ID,这时候我们看到表,除此之外还有其他表,比如有这个登录日志的,操作日志的等相关表。以上就是咱们数据库表的设计,各位从我资料中把这个锦标语句拿过来,然后把表给他,最终创建出来,这是我们数据库设计的这么一个说明,然后这个之后下面呢,我们就开始搭建项目环境,然后进行项目的正式开发。
我来说两句