0

我创建了一个数据库,即剧院。在那部电影中,创建了电影院表,但现在我想在我的数据库中创建放映时间表,所以我很困惑如何制作该表,该表中有多少字段以及如何在其中存储放映时间。我想要以银、金和铂金的价格显示时间。

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

谢谢。

4

2 回答 2

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)

我不会直接在表中指定银、金或铂金,而是将其留到稍后阶段,无论是在查询还是视图中,这取决于可能随时间变化的标准。另一方面,价格是一种非常具体且固定的数据类型。

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

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

于 2013-07-30T05:46:16.393 回答
0

这是我针对相同需求的模型,它不是特定于数据库的,而是为您提供了有关设计此实体的方式的想法。

  Showtime {
   id: string; //unique id
   movieId //references the movie
   venueId //references the venue where the showtime is occuring
   language: string; //main movie language with subtitles or not
   date: string;     // date time for the showtime 
   video_format: string; // 3D, Imax...
   premiere: boolean; //indicates if it's a movie premiere
}
于 2021-09-18T06:11:19.823 回答