【问题标题】:Database Design for Rental Listings出租清单的数据库设计
【发布时间】:2011-10-07 04:04:55
【问题描述】:

我正在为租赁列表网站设计一个简单的数据库
有点像分类广告,但仅适用于家庭/房间出租。

这是我迄今为止想出的:

问题 1
对于“post”表,我实际上想要更多信息。例如,会有一个“设施”部分,用户可以在其中选择是否有“停车位”可用,我是否需要单独的表格?还是只使用 0 表示否,使用 1 表示是?

问题 2
这是我对“类别”表所做的(抱歉,我还不知道如何漂亮地打印)
Category_ID 1 是租金
Category_ID 2 是 buildingType

对于“categoryProperty”表
Category_ID 1 categoryPropertyID 1 House
Category_ID 1 categoryPropertyID 2 Room
Category_ID 2 categoryPropertyID 3 公寓
Category_ID 2 categoryPropertyID 4 Condominium
Category_ID 2 categoryPropertyID 5 已分离

上面说的有道理吗?

问题 3
用户可以发布他们是否已登录。
仅登录的用户/会员具有跟踪其广告/调整可用性的优势。
如何记录会员发布的广告?就像他们的历史一样。
我应该创建一个“postHistory”表并将“postHistory_ID”设置为 FK 到“member”表吗?

非常感谢您,感谢您的帮助,尤其是为我指明了正确的方向。

【问题讨论】:

    标签: mysql database database-design


    【解决方案1】:

    问题一:

    制作一个单独的表格并建立一对一的关系,这是最简单的方法:

    发布 -|-----|- 额外的

    在 EXTRAS 中,您可能拥有每个额外的字段(parking=1/0,in_down_town=1/0,has_a_gost=1/0)

    问题 2: 这没有意义,你有两个选择:

    在 Post 表中创建一个“type_of_operation”,它可以有两个值(building_type,rent)。或者您可以创建不同的表,但这会使这更加复杂(您应该分析同一类型是否可以同时处于两种状态等)。

    问题 3: 我建议您让您的用户注册。即使是非常简单的表单(电子邮件+密码)。

    【讨论】:

    • 2.所以你的意思是,整个“类别”表是不必要的,我应该只包括“帖子”表下的所有内容?
    • 3.好吧,我本来打算让他们先发布广告,然后再注册,以鼓励使用,但转念一想,是的,一开始只是简单的注册。
    • 是的,只有一个类别表。不要把事情混在一起。我的意思是,“类别”不同于操作的“类型”(或交易,你想怎么称呼它)。
    【解决方案2】:

    似乎在正确的轨道上——关于您的具体问题:

    问题 #1:假设有不止一种类型的设施(停车场;游泳池;健身房),那么您有一个多对多关系,并且您需要 2 个新表:Facility 和 PropertyFacilities。每个属性(或者我猜是“帖子”)在 PropertyFacilities 表中可能有多行。

    问题 #2:不太清楚您的目的是什么 - 每种房产类型都可以整体出租还是按房间出租?

    问题 #3:好问题,您想要做的是在您的 POST 表中拥有一个 Active 位或 ExpireDate - 然后任何变为非活动或过期的数据都会自动成为“历史”数据,无需对其进行编组到历史表。当然,您最终还是要存档。

    【讨论】:

    • 2.我实际上把所有东西都集中在这里。我指的是这篇文章 [link]stackoverflow.com/questions/2100008/… 。我有租金、购买、出售、建筑类型、家具等类别。然后是每个类别的属性,例如(出租)房屋、房间(购买)房屋、公寓、(建筑类型)公寓、别墅、半独立式(带家具)是​​、否、部分。太复杂?还是我应该把它们分成不同的表?
    • 3.对于历史 - 我的意思是存档,例如,User11923 发布了 Post_ID 23、Post_ID 123、Post_ID 403 等。我需要一个存档表吗?但是感谢有关 Active bit/ExpireDate 的提示:D
    猜你喜欢
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 2017-12-23
    • 2012-05-26
    相关资源
    最近更新 更多