【发布时间】:2013-07-26 00:15:01
【问题描述】:
我是数据库设计的新手,我正在尝试尽早进入最佳实践。到目前为止,我所看到的所有地方似乎都同意您“在开发开始时创建表名,并插入您的数据,不使用变量作为表名。好吧,我正在寻找一个资产管理系统,我无法克服看似设计缺陷的问题。如果您熟悉,该软件将与“quickbase”非常相似。
这里是场景。
- 用户可以创建帐户,每个帐户都在一个帐户表中,其中包含链接回其他相关表的数据。
- 在每个帐户中,都有他们需要跟踪信息的尽可能多的类别,例如:
- 财务
- 旅行
- 任务
- 等
现在这些类别中的每一个都将包含大量信息,并且需要它自己的表。显然我可以使用关系将这些表连接回帐户,但它们是一个问题(我认为)。用户可以根据需要创建任意数量的帐户,并且每次他们都需要创建许多其他表。如“account_name_financials_table”等
所以我的问题是:在动态创建表名时,是否可以不使用变量作为表名。 OR 在这种情况下,在创建表名时使用变量作为表名是可以接受的。
如果这过于本地化或含糊不清,请告诉我,我将提供所需的任何进一步详细信息。
感谢您的宝贵时间
编辑
回应 Davids 的精彩回答。
我现在完全理解每个帐户实际上只是一个条目,或者是一个表格中的一行,该表格将保存每个帐户的信息。然后,列名将描述描述我的帐户并随后与其他表相关的数据。
现在这个问题的核心是,当我创建帐户时,还有其他表需要创建,或者至少我认为它们会创建。例如,这将是一个财务表,其中包含有关该帐户财务的特定信息。这些表上存在一对一的关系。意思是账户 A 只能有一组特定账户的财务。因此,当我创建帐户 B 时,我当前拥有的财务表将不再具有帐户 B 的相关列名称、行或数据。因此,当我为帐户 B 创建这些新表时,它们很可能需要动态完成。话虽如此,我如何在没有变量名的情况下创建它们?
或者我仍然没有抓住重点。我突然想到,也许我可以拥有一个包含所有帐户信息的大型财务表,并且该信息通过“id”或其他一些唯一的 fk pk 标识符定义/关联回特定帐户?
【问题讨论】:
-
"each account is its own table"- 你把我弄丢了。为什么每个帐户都需要自己的表?不应该有一个 Accounts 表,然后是与 Accounts 相关的数据表,这些表具有返回该表的外键? -
@David 你说得对,我肯定错了,我会有一张包含帐户信息的表格,然后里面的数据会链接回其他相关表格。我编辑了我的问题以更好地反映我的目标
标签: database database-design logic