作者bobju (宝贝猪)
看板Database
标题Re: [问题] ER-Model~场地租借
时间Fri May 15 21:37:53 2009
我也画一画, 仅供参考:
学生 <1=n 场地租借记录 <1=n 设备租借记录 n=1> 设备
n
||
1
v
管理单位 <1=n 场地 <1=n
||
老师 <1=n 课程 1<=n 预排课表
学生: id,学号,姓名
场地: id,名称,管理单位id
管理单位: id,名称
场地租借记录: id,学生id,场地id,预约日期,取消日期,使用日期,时段起点,时段终点,
是否收费,费用,
租用状态('预约','取消','使用中','清场验收完成')
设备: id,名称
设备租借记录: id,场地租借记录id,设备id,数量,清点数量
借用状态('预约','使用中','清点验收完成')
老师: id,姓名
课程: id,名称,老师编号
预排课表: id,场地id,课程id,上课日期,时段起点,时段终点
大致上如此, 若要再考虑到对於设备租借归还时发生报缺状况时, 後续该如何进行
追踪管理的话, 还可以更加详细.
※ 引述《Hotpenis5566 (痂骑破麻)》之铭言:
: 场地租借的ERD
: 小弟我有几个问题...T.T
: http://yfrog.com/0rermodelj ( 我不是张爸 )
: 按Full Size会看的更清楚
: 我先述说关系
: 学生可以去借场(Place) 如果没有人借到同样地名和时段就会借成功
: 此时的BookingID会流水号的加1(主键)
: AcceptFlag会变1(是Booking的attribute我忘记画了囧)表示被借了
: StartTime和EndTime以每两个小时画为一个时段
: ApplyDate记录预定的时间
: 问题1:如果借到晚上的时段要收开灯费
: 是不是PlaceRent不是放在Place的实体里
: 而是放在Booking的关系里(如果早上的话content是Null 晚上是$200这样?)
要考虑收费问题, 可以在booking加上两个栏位: 一个isCharge, 代表是否收费,
另一个Charge, 代表收费金额. 如果PlaceRent的意义代表收费的话, 这时候就
可以从Place当中删掉了. 因为'收费'是发生在'借'这个动作上, 而非场地应有
的属性.
: 叙述二:学生的场地明确的被告诉说老师如果有在上课学生就不能借了
: (这在学期初就会被汇入这个场地租借系统)
: 场地和体育课的关系是教学
: 属性有LessonID(像篮球1 桌球2.. 等等) 授课老师 使用时间和结束时间
: 问题2: 这会不会增加之後系统设定的困难
: 因为这边我自己想有点怪怪的= .. =
: 像如果老师的上课是星期一星期二...
: 那如果学生借的场地时间是 YYYY/mm/DD HH:MM
: 老师的上课时间设定成用星期N X:00~ X:00
: 要怎麽判定学生借的时间跟老师的上课时间重覆
首先, 对於老师预定要上课用到的时段先汇入资料库, 这是在以後学生要租借场地
之前就已先完成的事.
接着, 当学生要提出租借场地的申请时, 用程式进行以下的判断:
对於所有已排定的老师上课的场地借用记录进行检查, 如与学生要借的时间区段有
重叠到, 则这次的借用申请不受理.
: 叙述三:学生除了可以借场地 也可以借器材
: 如果器材损坏就必需赔偿 (有赔偿编号 期限 金额)
: 问题3: 如果像器材没有归还 损坏钱没缴就不能借
: 是在PHP那设定?
写程式, 捞资料, 进行逻辑判断.
: 还有什麽细节我没有注意到的......
: 或者有重大错误
: 可以寄信或回文T.T
: 我会非常感谢你!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.104.190.247
1F:推 Hotpenis5566:谢~~谢 05/16 00:53