gpt4 book ai didi

php - mysql关系数据库,关系和逻辑

转载 作者:行者123 更新时间:2023-11-30 22:06:27 24 4
gpt4 key购买 nike

我目前正在为一所学校创建一个系统,我正在为我的想法寻找一些强化,或者一些指导,然后我被告知要重新开始设计。

目前我对我的关系应该如何运作感到有点困惑(或过度思考),因为我的系统拥有各种类型的用户(所有用户都需要能够登录)。

用户类型

super 用户
管理员
教师
教学管理员
同学们
parent

到目前为止,我认为这项工作的最佳方式是拥有一个与此具有类似架构的中央用户表,

  `id`,
`first_name` VARCHAR(45) NOT NULL,
`last_name` VARCHAR(45) NOT NULL,
`email` VARCHAR(45) NOT NULL,
`password` VARCHAR(64) NOT NULL,
`active` TINYINT(1) NOT NULL DEFAULT 0,
`banned` TINYINT(1) NOT NULL DEFAULT 0,
`invite_code` VARCHAR(32) NULL,
`role` INT NOT NULL,
`created_at` DATETIME NOT NULL,
`updated_at` DATETIME NULL,
`deleted_at` DATETIME NULL

我的想法是角色列会标识他们的用户类型,然后我会与学校表建立 m:m 关系,以允许教师跨多个学校、每个学生、教师/教学管理员和管理员将与学校有关系。在我看来,这一切都很好。

我的困惑来自 parent ,每个用户(学生)可以有很多 parent , parent 也需要能够登录,所以需要在用户表中输入一个条目,但是我如何在学生和学生之间创建关系 parent ?

我现在有两个想法,

1) 创建一个包含列id、user_id、parent_to 的parents 表。 user_id 是家长的用户条目,parent_to 是学生用户的 id。

2) 在用户表中创建一个可以为空的新列,如果该行是学生行,则存储 parent 用户 ID 的 ID?

我也想知道我是否可以像有很多直通关系或多态关系这样的东西。有人有什么建议吗?

最佳答案

您的第一选择是“链接表”——一种更好的方法,允许家长和学生之间建立多对多关系。

附言您不会以纯文本形式存储密码,对吧?

关于php - mysql关系数据库,关系和逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41567488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com