这里的表格允许我租用一个视频,但我希望能够为一个租赁ID或在一个租赁记录中租赁多个视频。
视频( videoID、videoName、ageClassification、流派)
租赁( RentalID,videoID,customerID,dateHired,dateDueBack,价格,过期(Y/N))
对于包含视频ID的视频ID,我应该使用类似逗号分隔的值吗?
或者可能有一个名为rented_videos的单独表链接到租借表,因此每个租借表可以租用1个或多个视频。
甚至是另一种解决方案。
请原谅我的关系模式,我不是数据库专家。
发布于 2013-01-30 23:25:52
你绝对不应该使用csv列表,这将导致丑陋的索引,以防你想要查找特定视频的所有租赁。
处理此问题的最常见、最干净的方法是创建一个包含指向videoID和RentalID的外键的中介表。对你来说,这可能是一条可行的道路。
发布于 2013-01-30 23:39:22
像往常一样,没有一个正确的答案--但在错误的答案中,CSV列表是非常重要的!
首先,企业是否将“租赁”视为其本身的一件事,或者每个视频租赁都是一个单独的事件?我对这项业务的了解还不够多,还不够有意见--但我想象的是,这个商业域名有一个“租赁”,意思是租用一个单一的标题,有一个价格和归还日期(不同的视频似乎有不同的租借期--新上映2天,老电影一周;也许在某个地方有一个‘租借型’表)。一笔交易-例如我去音像店-将包括一项或多项租赁,每项租赁都有其成本和到期日;我似乎还记得,如果你采取某种租赁组合,可能会有折扣。
所有这些都表明:
Video
-------
Video_ID
Rental_scheme_ID
Name
...
Rental_scheme
--------
Rental_scheme_id
Length_in_days
Cost
Rental
------
Video_id
transaction_id
Transaction
----------
Customer_id
Date
Undiscounted_price
Discount
NetPrice
...如果这是过度设计,并且业务说“不,我们只是想跟踪谁借了什么”,那么使用您现有的模式,并为您租用的每一部电影插入一个新的行。
https://stackoverflow.com/questions/14607448
复制相似问题