我可以在一个表中创建几个表吗,mysql? [关闭]
Posted
技术标签:
【中文标题】我可以在一个表中创建几个表吗,mysql? [关闭]【英文标题】:Can I create a few tables in one table, mysql? [closed] 【发布时间】:2012-11-17 15:15:31 【问题描述】:我有一个包含 6 个表的数据库。
其中一个表名为类别,其中包含 5 或 6 个类别。
例如:电影类有喜剧、剧情、惊悚、恐怖、言情等子类。
那么我可以在表格中添加子类别,还是应该像表格一样创建它们?
如果我有很多数据要添加到数据库中,有没有更简单的方法可以做到?
我正在使用 xampp。
【问题讨论】:
您能否澄清一下子类别的含义以及它们与类别和/或电影的关系? 【参考方案1】:在category
表中添加一个categoryOf
字段,它将用于存储'父类别'的id。
对于子类别,使用此字段指向它是子类别的类别。 将(主要)类别条目的字段留空
例如:
id name categoryOf
0 comedy NULL
1 drama NULL
2 sub-comedy 0
3 sub-drama 1
4 sub-comedy2 0
注意:使用此方法,您甚至可以根据需要添加子子类别...
【讨论】:
"使用这种方法,你甚至可以根据需要添加子子类别" - 可以,但是因为 mysql 不支持递归函数,所以很难查询和维护。如果你想获取所有喜剧,包括它的后代怎么办?在 MySQL 中,这种分层数据通常最好使用嵌套集或传递闭包表进行建模。 问题是关于存储的,这种方法仍然有效并且非常简单,即使是子子类别。使用一个查询在一个查询中获取所有类别及其所有子类别可能/不可能/困难,但(尚)不需要在一个查询中这样做。 我的观察是,虽然这个邻接表模型很容易写入,但通常很难读取。我只是为了他人的利益发表评论,即确实存在可能更有用/适用的替代方案,具体取决于个人的需要。如果有人将存储视为只写,那么它的用途是值得怀疑的。 :) 同意。尽管我会将其更改为“通常很难有效地阅读”。使用 php 使用多个查询读取所有需要的数据并不难(只是效率低下)以上是关于我可以在一个表中创建几个表吗,mysql? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 Xamarin 中创建几个屏幕,然后将它们导入 iOS 和 Android 项目?