0

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

太感谢了!问候。

4

1 回答 1

0

您绝对应该阅读有关数据库、外键等的知识。这些是基础知识,如果没有这些知识,您将一事无成。

但是为了让您开始,这里有一个简单的结构,应该可以满足您的要求。希望我理解正确,因为您在这里确实提供的细节很少。

表:

1) CLUB - 具有静态属性 - 不会经常更改,例如 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 - 通过外键连接表club和music,有时称为交叉表,保存信息,属于两个表,属性: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 倍。

这只是一个例子,现实世界的用例可能会有所不同,但您没有提供足够的信息来更具体。我会使用 date 而不是 day_of_week,如果轮换的日程安排与周不同,这将给我更大的灵活性。

于 2013-10-01T21:00:30.083 回答