Tag: 数据库模式

我应该如何为此订单情况设置数据库表

我正在为一家印刷公司构建一个Web应用程序,并试图确定我的数据库的最佳设计。 我有一张orders表。 每个order都有很多certificate。 但是,有两种不同的certificate:电子certificate和物理certificate。 此外,如果它是电子证据,我需要存储图像源,如果它是物理证据,我需要存储跟踪号码。 每个证据都有很多与之相关的评论。 如果我可以只有一个proofs表和一个comments表,那将是很好的,但根据proofs样类型跟踪图像源和跟踪号码的最佳方法是什么? 我考虑过为electronic_proofs和physical_proofs创建单独的表,但这需要制作一个单独的electronic_proof_comments表和physical_proof_comments表。 另一种选择是拥有一个proofs表,在这种情况下我可以有一个comments表。 但是,正如我所看到的,这将需要三个支持表, proof_types , image_sources和tracking_numbers 。 有关最佳方式的想法,还是解决这个问题的更好方法?

预约应用程序的DB模式:医生,约会,时间段,患者之间的正确关系是什么?

[更新的计划: http : //i.imgur.com/fX9CGNh.png ] 我的任务是开发一个专为小型医疗办公室设计的预约系统。 这是一个Rails 3.2应用程序。 我在设计一个对我有意义的数据库模式时遇到了困难。 问题: 鉴于以下信息,医生,患者,预约,椅子和时间段之间的正确关系是什么? 患者需要到医生办公室预约。 根据约会的类型,每个约会被安排为一个或多个相邻的time_slots,并且是否可以为具有相同start_time和end_time的time_slots安排两个约会由约会类型确定。 (根据约会类型允许双重预订。) 应用规格: 注册用户通过网站上的预约申请表进行预约。 约会占用相邻time_slots的某个预设量。 这由约会类别/类型决定。 管理员可以调整此长度,以及每个time_slot的长度。 为了帮助加快请求流程,在约会请求表单上的日历中隐藏了不可用/已预订的时间。 在面向管理员的界面上,管理员可以确认约会请求并进行预约,他们还可以更新,创建和删除预定约会。 所有约会都在“椅子”中举行 – 就像牙医的椅子一样。 办公室有多把椅子。 对于给定的预定时间段,每个椅子一名患者。 约会有日期,时间,长度约会类型,double_bookable的字段? (由appointment_type确定)。 Time_slots有一个start_time和end_time,以及一个日期。 这个办公室里只有一位医生。 但是,某些类型的约会 – 对文档的时间要求不高 – 可以加倍预订。 从本质上讲,可以在同一时间段预订两次牙齿清洁,只要它们被固定在**单独的椅子上**。 我的关系 : Office < ActiveRecord::Base has_many :doctors Doctor < ActiveRecord::Base has_many :patients belongs_to :offices Patient < ActiveRecord::Base belongs_to :doctor […]