2017-07-25 118 views
-1

我没有一个编码问题,但更多的是一个相关的结构。MYSQLI数据库设计/结构

如果我有一个网站,例如说允许用户注册,登录和管理财务,或家人写真集或其他任何(前端正在执行的工作是无关紧要的)如果我有多个用户注册并创建自己的账户,那么存储该数据的正确方法是什么? 我假设你不会有一张含有不同用户数据的表格,所以为用户登录创建一个表格是适当的,然后自动创建一个新表格,这个表格是每个新用户独占的,然后这个表格将保存与那里的个人登录相关的数据?

以网上支票簿为例,我将有一张管理用户登录表的表,然后在注册过程中它会自动为该用户创建一张表,以保存其自己支票簿的所有数据条目。那是对的吗?如果数据需要多个表来管理一个特定的用户数据会怎么样?

也有没有人有正确的数据库结构,我可以检查出什么好的链接?不知道正确的术语会阻碍我的搜索。

在此先感谢!

+0

'“为每个新用户创建一个新的表格” - - 不可以。在任何方面没有。不要在另一个表中创建每个记录的新表*。按照您正在建模的实体来组织表格。 – David

+0

谢谢大卫!因此,用户表,交易表等,得到它。 – Jimistrator

回答

0

创建一个表中的每个用户,创建用户的唯一标识符键入一个表,并把所有用户的数据进去。但是,您可以为每个逻辑信息集创建一个此类表。例如,带有用户信息的users表,带有由用户制作的博客帖子的posts表,将用户链接在一起的friends表。

记住这一点 - 一天到一天,你的应用程序应该从未要求(如CREATE TABLE),仅排处理操作First Normal Form是更改数据库模式的操作(如INSERT和UPDATE)。一个开始阅读这个主题的好地方。

+0

啊,好的谢谢。所以我会在用户表中说出一个用户名,它可以与位于交易表中的单元格中具有匹配用户名的所有交易相匹配。也感谢您的链接。 – Jimistrator

+0

是的,这是基本的概念。特别是,您通常希望通过用户id(分配给每个用户的唯一整数)来引用,而不是实际的用户名(字符串),因为它更小,并且如果用户更改用户名,则不太容易出现问题。 –