挂出网站的数据库设计

时间:2013-10-01 15:29:17

标签: mysql database database-design

我想为一个挂出网站创建一个数据库(MySQL),但我看不到它的最佳设计(是我的第一个数据库)。主要的问题是俱乐部在星期几的时候改变了入场价格或音乐风格,所以我现在不知道如何解决这个问题。 顺便问一下,你知道任何有关MySQL数据库设计的好手册吗?

非常感谢你! 问候。

1 个答案:

答案 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我会使用日期,如果日程表在不同于周的基础上更改轮换,这将给我更大的灵活性。