我想为一个挂出网站创建一个数据库(MySQL),但我看不到它的最佳设计(是我的第一个数据库)。主要的问题是俱乐部在星期几的时候改变了入场价格或音乐风格,所以我现在不知道如何解决这个问题。 顺便问一下,你知道任何有关MySQL数据库设计的好手册吗?
非常感谢你! 问候。
答案 0 :(得分:0)
你一定要阅读有关数据库,外键等的内容。这些是基础知识,如果没有这方面的知识,你将无法获得。
但是为了让你开始,这里有一个简单的结构,可以满足你的要求。希望我理解正确,因为你真的在这里给出了很少的细节。
表:
1)俱乐部 - 具有静态属性 - 不要经常更改ID,姓名,地址,网站,电话号码等。
数据行示例:
ID name website phone
1 clubA www.aclub.com 565-554-666
2 clubB www.bclub.com 523-552-778
2)MUSIC - 音乐风格表,属性:ID,style_name)
数据行示例:
ID style_name
1 jazz
2 metal
3 techno
3)CLUB_DETAIL - 通过外键连接表俱乐部和音乐,有时称为交叉表,保存信息,属于两个表,属性:ID,club_id,music_id,日期,价格
数据行示例:
ID club_ID music_ID day_of_week entrance_fee
1 1 1 Monday 10$
2 1 2 Tuesday 8$
3 2 3 Monday 6$
.. etc.
ID是每个表中的主键,唯一标识记录,club_ID是表CLUB中ID的外键。
在表CLUB_DETAIL中,您可以拥有所需的所有组合,因此您不需要在CLUB表中将列重复7倍。
这只是一个例子,现实世界的用例可能会有所不同,但是你没有提供足够的信息来更具体。 而不是day_of_week我会使用日期,如果日程表在不同于周的基础上更改轮换,这将给我更大的灵活性。