首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >视频/dvd租赁系统的数据库设计,不能决定做什么,有什么建议或可能的替代方案?

视频/dvd租赁系统的数据库设计,不能决定做什么,有什么建议或可能的替代方案?
EN

Stack Overflow用户
提问于 2013-01-30 23:22:54
回答 2查看 2.8K关注 0票数 0

这里的表格允许我租用一个视频,但我希望能够为一个租赁ID或在一个租赁记录中租赁多个视频。

视频( videoID、videoName、ageClassification、流派)

租赁( RentalID,videoID,customerID,dateHired,dateDueBack,价格,过期(Y/N))

对于包含视频ID的视频ID,我应该使用类似逗号分隔的值吗?

或者可能有一个名为rented_videos的单独表链接到租借表,因此每个租借表可以租用1个或多个视频。

甚至是另一种解决方案。

请原谅我的关系模式,我不是数据库专家。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-30 23:25:52

你绝对不应该使用csv列表,这将导致丑陋的索引,以防你想要查找特定视频的所有租赁。

处理此问题的最常见、最干净的方法是创建一个包含指向videoID和RentalID的外键的中介表。对你来说,这可能是一条可行的道路。

票数 1
EN

Stack Overflow用户

发布于 2013-01-30 23:39:22

像往常一样,没有一个正确的答案--但在错误的答案中,CSV列表是非常重要的!

首先,企业是否将“租赁”视为其本身的一件事,或者每个视频租赁都是一个单独的事件?我对这项业务的了解还不够多,还不够有意见--但我想象的是,这个商业域名有一个“租赁”,意思是租用一个单一的标题,有一个价格和归还日期(不同的视频似乎有不同的租借期--新上映2天,老电影一周;也许在某个地方有一个‘租借型’表)。一笔交易-例如我去音像店-将包括一项或多项租赁,每项租赁都有其成本和到期日;我似乎还记得,如果你采取某种租赁组合,可能会有折扣。

所有这些都表明:

代码语言:javascript
复制
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
...

如果这是过度设计,并且业务说“不,我们只是想跟踪谁借了什么”,那么使用您现有的模式,并为您租用的每一部电影插入一个新的行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14607448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档