【问题标题】:How to correctly design 2 tables in a SQL schema?如何在 SQL 模式中正确设计 2 个表?
【发布时间】:2021-12-24 21:05:04
【问题描述】:

我正在尝试根据以下信息设计数据库:

房东记录了每个房产的以下数据:

-Eircode
-Capacity of property i.e. number of tenants it can hold
-Number of tenants currently renting this property
-Cost of rental per tenant per calendar month

房东存储每个租户的以下信息:

-Name
-Email
-Phone number

我对“每个租户的租金成本”行感到困惑,该行放置在哪个表中以及如何建立连接。任何帮助将不胜感激。

以下是我目前得到的:

CREATE TABLE property (
    Eircode int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    MaxCapacity int(10) NOT NULL
    NumberOfTenants int(10) NOT NULL
    CostOfRental int(10) NOT NULL
);

CREATE TABLE tenant (
    tenantID int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    tenantName varchar(30) NOT NULL
    tenantEmail varchar(30) NOT NULL
    tenantPhone varchar(30) NOT NULL
);

【问题讨论】:

  • 公寓需要第三张桌子,因为我假设每个物业可以有 1 个或多个公寓。 CostOfRental 将成为该表的一部分。
  • 勾勒出您需要的SELECTs。这将帮助您设计架构。

标签: mysql sql database database-design


【解决方案1】:

据我了解您的结构,您有一个名为 tennant 的表,其中包含有关租户的信息。如果付款是租户的财产(该个人租户必须支付的金额),您应该将该财产添加到该表中。

或者,您可以说租金是整个物业的租金,这些费用由每个租户平均分摊。这样您就可以在数据库之外进行计算。

另外,我不会将属性 NOT NULL 设置为每个值。也许您没有电子邮件地址,因此您可能想在其中添加一个值。

要连接信息,您应该设置一个表来建立连接。这包含两列(ID_property,ID_tenant)

希望这至少对您有所帮助。

【讨论】:

    猜你喜欢
    • 2019-10-15
    • 1970-01-01
    • 2019-07-23
    • 2013-03-14
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多