我创建了一个数据库,即剧院。在那部电影中,创建了电影院表,但现在我想在我的数据库中创建放映时间表,所以我很困惑如何制作该表,该表中有多少字段以及如何在其中存储放映时间。我想要以银、金和铂金的价格显示时间。
如果有任何想法,请告诉我。
谢谢。
我创建了一个数据库,即剧院。在那部电影中,创建了电影院表,但现在我想在我的数据库中创建放映时间表,所以我很困惑如何制作该表,该表中有多少字段以及如何在其中存储放映时间。我想要以银、金和铂金的价格显示时间。
如果有任何想法,请告诉我。
谢谢。
好吧,在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
(电影名称)。
这是我针对相同需求的模型,它不是特定于数据库的,而是为您提供了有关设计此实体的方式的想法。
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
}