2013-07-02 58 views
0

我正在开发我的第一个Web项目。我引用了许多教程和pdf,但所有这些只是使用单个数据库的网页的登录和注册功能的简单示例。我对于登录和注册是否应有单独的数据库存在巨大的混淆。需要一个单独的数据库

我的主要问题是:该项目吸收用户的个人信息(姓名,电子邮件,地址,电话号码等)以及特定于其车辆(型号,公司,制造商,制造日期等)的信息。登录网站后,这些数据都很重要,但只有一些数据正在使用,如用户名,他/她的地址,车辆型号和公司。所以我应该维护他们两个单独的数据库,并在处理数据库时使用外键引用每个元素?或者我应该少打扰一下,并使用一个单一的数据库,并完成我的登录和注册功能??,因为没有。我显然是非常大的列。

+1

“database”的意思是“表”吗? –

+0

当你说'DATABASE'时,我想你实际上是指'TABLE'。答案是肯定的,你应该使用单独的'TABLES'而不是单独'DATABASES' – RiggsFolly

+0

将数据分成两个数据库是很糟糕的。因为数据库系统没有任何特殊的(好的)方法来连接和链接数据库,只需要一个数据库即可。 – 2013-07-02 08:54:50

回答

3

这可能是有点过于学术化,但是你要好好学习学习单词正常化。这里是一个链接到一个相当僵硬的定义:https://en.wikipedia.org/wiki/Database_normalization

这是你的第一个Web项目,我的建议如下:

  1. 不要害怕犯错误。我强烈鼓励尝试你认为很好的方法,然后不要害怕改变主意。吸取的经验教训将伴随着你。

  2. 保持一切简单前面。只在需要时增加复杂性。

  3. 绝对不要害怕与桌子水平增长(添加越来越多的桌子)。当我第一次开始使用数据库时,我害怕有太多的表,因为它感觉错误。尽量抵制将所有东西塞进一张桌子的诱惑。

  4. 绝对单独登录,用户和车辆信息。因为人们可以有多个地址,所以也不要将用户地址信息分开。

0

您必须使用相同的数据库来保存项目的所有信息。两个不同的数据库并不是一个好主意,你可以在数据库中创建很多表。每个表的目的是保持你的例子不同information.In情况下,你可以选择在同一个数据库

  • 用户登陆[商店的登录信息]
  • 用户[储存个人信息]
  • 车下表

必须有一个向许多用户用户登陆和用户台和一个之间的一个关系 - 车辆表 一个用户可以具有许多V ehicle

希望这将有助于

+1

虽然我坚定地认为你确实需要多个表,但我不能赞成这个答案,因为“你必须使用相同的数据库来保存项目的所有信息”。我可能想将我的高容量数据分隔成一个单独的数据库(可能甚至不是SQL数据库),但将其他数据(登录等)保存在不同的数据库中。这也让我对不同类型的数据有不同的备份,HA策略等等。 “一个数据库适合所有人”小规模工作,但不是企业规模。 –

相关问题