我刚开始使用数据库,我想确保我理解从数据库中添加或删除数据的最佳方法,而不对任何相关数据造成混乱。
下面是我正在处理的一个场景:
我有一个带有标识ID列的标记表。可以通过web应用程序选择这些标记来对用户提交的故事进行分类。当数据库第一次播种的时候;相似的标签按照顺序排列在一起。你可以看到,所有的校园(城市)是1-4,学院(科目)是5-7,人口是8-11。
如果这个数据库正在生产中,并且客户想要添加一个新的校园(城市)标签,那么最好的方法是什么呢?
所有其他城市标签都是在顶部组织起来的,似乎唯一的选择是将任何新标签插入到表的底部,在那里它们最终将获取下一个可用的ID。我认为这是好的,因为Display类别列将允许我们知道这些新标记实际上属于哪些类别。
这是典型的吗?是否有更好的方法来建立数据库或处理这种情况,使一切保持更有组织性?
谢谢
+----+------------------+---------------+-----------------+--------------+--------+----------+
| ID | DisplayName | DisplayDetail | DisplayCategory | DisplayOrder | Active | ParentID |
+----+------------------+---------------+-----------------+--------------+--------+----------+
| 1 | Albany | NULL | 1 | 0 | 1 | NULL |
| 2 | Buffalo | NULL | 1 | 1 | 1 | NULL |
| 3 | New York City | NULL | 1 | 2 | 1 | NULL |
| 4 | Syracuse | NULL | 1 | 3 | 1 | NULL |
| 5 | Business | NULL | 2 | 0 | 1 | NULL |
| 6 | Dentistry | NULL | 2 | 1 | 1 | NULL |
| 7 | Law | NULL | 2 | 2 | 1 | NULL |
| 8 | Student-Athletes | NULL | 3 | 0 | 1 | NULL |
| 9 | Alumni | NULL | 3 | 1 | 1 | NULL |
| 10 | Faculty | NULL | 3 | 2 | 1 | NULL |
| 11 | Staff | NULL | 3 | 3 | 1 | NULL |
+----+------------------+---------------+-----------------+--------------+--------+----------+发布于 2016-10-10 12:58:04
你使用的术语“顶上”和“底部”并不适用。"Albany“不在表的”顶端“--只是在查询表时所看到的特定视图的顶部,而没有指定有意义的排序顺序。它默认为基于Id或内部ROWID参数的排序顺序,这不是显示这些数据的逻辑方法。
表中的数据本身并不是有序的。如果您想查看按类别组织的标记,只需按DisplayCategory (可能之后按DisplayOrder )排序查询,您就会看到您的数据组织得很好。为了方便起见,您甚至可以创建一个持久化视图对其进行排序。
https://stackoverflow.com/questions/39958578
复制相似问题