Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        6年前关闭。
                                                                                            
                
        
我想为环聊网站创建一个数据库(MySQL),但是我看不到它的最佳设计(这是我的第一个数据库)。主要问题是俱乐部会根据星期几的功能更改入场价或音乐风格,因此我现在不解决该问题。
顺便说一句,您知道关于MySQL数据库设计的任何好手册吗?

非常感谢!
问候。

最佳答案

您绝对应该阅读有关数据库,外键等的信息。这些是基础知识,没有这些知识,您将无所适从。

但是,为了让您入门,这是一个简单的结构,可以按照您的要求完成工作。希望我理解正确,因为您在这里确实提供了很少的细节。

表格:

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倍。

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

关于mysql - 环聊网站的数据库设计,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19120207/

10-11 03:00
查看更多