电影ShowTime数据库

时间:2013-07-30 05:39:51

标签: database database-design data-structures database-schema

我创建了一个影院数据库。在那部电影中,电影院表被创建,但现在我想在我的数据库中创建showtime表,所以我很困惑如何制作该表,该表中放置了多少字段以及如何在该表中存储节目时间。想把展示时间与银,金和铂金的价格放在一起。

如果有任何想法,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:2)

好吧,在showtime你基本上应该有列

stmid int,              -- pointing to entry in movie table
stcid int,              -- pointing to entry in cinema table
ststart datetime,       -- the actual "showtime"
stprice float           -- ticket price

然后将stmid,stcid定义为主键,如

PRIMARY KEY (stmid,stcid)

我不会直接在表中分配银,金或铂金,但可以在QUERY或VIEW中将其保留到以后的阶段,具体取决于可能随时间变化的标准。另一方面,价格是一种非常具体和固定的数据类型。

<强> 2。修改:

要选择将在接下来的24小时内播放的电影,您可以使用以下内容:

SELECT mname,
       GROUP_CONCAT(DISTINCT DATE_FORMAT(ststart,'%l:%i %p') ORDER BY ststart) mtimes 
FROM movies 
INNER JOIN showtime ON stmid=mid   
WHERE mname LIKE '%name of movie%' AND ststart BETWEEN NOW() AND ADDDATE(NOW(),1)
GROUP BY mname

此语句假定表电影中有mid列(唯一电影ID)和mname(电影名称)。