快速提问:我在名为'galaxy'的数据库中有以下表格 - 其中galaxy是我的网络应用程序的名称。
表格:
是否有必要或明智地在所有表格中加入'galaxy'前缀?或者更好的做法是仅仅命名它们,'user','user_profile','user_subscription',如果是这样的话?
谢谢!
答案 0 :(得分:4)
如果您需要在同一数据库中使用多个应用程序,则数据库表前缀可能很有用。它可以防止不同的应用程序尝试创建/使用相同的名称(许多应用程序都有一个名为user的表,如果它们共享同一个数据库,这会发生冲突)
如果您没有计划让多个应用程序共享同一个数据库,那么它可能不值得使用前缀,因为它只会让您输入更多内容!
马丁
答案 1 :(得分:4)
如果仅限于一个数据库,则使用前缀。但是,在正常情况下,您不需要,因此不需要前缀。像Django这样的一些主要Web框架甚至没有这个功能(但是,它们可以使用表的指定名称)。
所以,简短的回答是:你不需要使用前缀,除非你只限于一个数据库。
答案 2 :(得分:3)
如果要对数据库中的所有表使用相同的前缀,那么它就没用了。如果您为具有不同目的的表提供单独的前缀,则非常有用。
答案 3 :(得分:1)
使用MySQL(可能还有其他DBMS?),您可以跨多个数据库模式执行查询。
示例:
sales
:表格产品common
:表人,国家/地区查询示例:
SELECT *
FROM sales.product prod
LEFT JOIN common.person pers ON prod.customer_person_id = pers.id
LEFT JOIN common.country c ON pers.country_id = c.id
etc.
这样,您可以将表组织成模式,避免将数百个具有不必要的长名称的表(由于不舒服的前缀)组合到一个单一模式中。
另外,如果必须查询单个模式,则不需要为表添加前缀,前提是如果使用PHP,则选择了USE myschema
或mysql_select_db()
模式。