我正在开发我的第一个网络项目。我已经引用了许多教程和pdf,但所有这些都有简单的网页登录和注册功能示例,它只使用了一个数据库。我对登录和注册是否应该有单独的数据库感到非常困惑。
我的主要问题是:该项目会引入用户的个人信息(姓名,电子邮件,地址,电话号码等)以及特定于其车辆的信息(型号,公司,品牌,制造日期等)。登录网站后,这些数据都很重要,但只有部分数据正在使用,例如用户名,他/她的地址,车辆型号和公司。那么我应该为它们两者维护单独的数据库,并在处理数据库时使用外键引用每个元素?或者我应该只打扰更少,并使用单个数据库并完成我的登录和注册功能??,因为没有。我显然非常大的列。
答案 0 :(得分:3)
这可能有点过于学术,但你想要学好的一个词是规范化。以下是一个非常僵硬的定义的链接:https://en.wikipedia.org/wiki/Database_normalization
这是您的第一个网络项目,我的建议如下:
不要害怕犯错误。我强烈鼓励尝试你认为好的方法,然后不要害怕改变主意。吸取的教训将与您保持一致。
预先保持一切简单。只在需要时增加复杂性。
绝对不要害怕与表格水平增长(添加越来越多的表格)。当我第一次开始使用数据库时,我害怕有太多的表,因为它感觉错误。试着抵制在一张桌子上塞满所有东西的诱惑。
绝对单独登录,用户和车辆信息。分离用户地址信息也不错,因为人们可以拥有多个地址。
答案 1 :(得分:0)
您必须使用相同的数据库来保存项目的所有信息。两个不同的数据库并不是一个好主意,您可以在数据库中创建许多表。每个表都设计用于保存不同的信息。如果是您的示例,您可以在同一个数据库中选择以下表格
UserLogin和User表之间必须存在一对一的关系,用户 - Vehicle表中必须有一对一的关系 一个用户可能有很多车辆
希望它会有所帮助