Heim > Fragen und Antworten > Hauptteil
Ich muss einen persönlichen Blog entwerfen und bin beim Datenbankdesign auf Schwierigkeiten gestoßen.
Die Funktion, die ich implementieren möchte, ist: Normale Benutzer können nur Blogs kommentieren. Der Administrator (das bin ich) kann sich anmelden, Blogs veröffentlichen und auf Kommentare antworten.
Das ursprüngliche Design war für Tabellen mit Benutzer, Admin, Beitrag und Kommentar vorgesehen.
Aber Benutzer und Kommentar sind eins-zu-viele, und Admin und Kommentar sind ebenfalls eins-zu-viele. Das wird es chaotisch machen.
Ich möchte also die Benutzertabelle und die Admin-Tabelle in einer Tabelle mit dem Namen „Benutzer“ zusammenführen. Der Administrator benötigt jedoch kein Passwortfeld. Es gibt nur einen Administrator, aber es gibt viele normale Benutzer ein Feld.
Bitte geben Sie mir einige Vorschläge zur Gestaltung der Benutzer- und Admin-Tabellen.
Außerdem möchte ich Datenbankdesign lernen. Bitte empfehlen Sie einige Informationen. Weil ich viele Informationen zum Datenbankbetrieb gesehen habe, aber wie ist die Datenbank aufgebaut?
迷茫2017-06-28 09:25:13
用户、角色、功能、三张表分开就好了
用户对应角色、角色对应功能、
角色现在就是普通用户和管理员、那查的时候根据角色关联一下就知道需不需要判断密码了
不同的功能也根据角色分配、在关联表里面加
伊谢尔伦2017-06-28 09:25:13
只是个人博客而已,User只需要记录自己的登录信息就好,普通用户既然只能评论,那就不需要有登录的功能,普通用户的用户名或者邮箱就记录在comment里面就好啦,post跟comment是一对多的关系,就不需要涉及到跟用户的关系啦
天蓬老师2017-06-28 09:25:13
看你的描述,你纠结的一点是数据库里会因为普通用户不需要password而管理员需要password,而管理员只有你一个~~我个人想到的方式就是数据库存储和设计按照一楼“liujijans”的方式,不过可以在库里不用加上password,然后admin的这个password可以设置为动态的,比如一个你预先设置的前缀+当天日期,这样的密码安全度还是有的,然后也比较好记,不需要在代码里刻意的设置。关于权限系统、用户中心还有实际的业务可以分开来设计,解耦之后不但灵活,而且业务模块化比较有架构性,哈哈,装逼范儿十足。