sql - 数据库设计中如何避免一列表

标签 sql sql-server database database-design

那么,当我有这个设置时,在表中设计关系的最佳方法是什么:

假设我有 tblFile 保存不同文件的文件路径。然后我有可以包含任意数量文件的包。

所以,我目前的结构如下:

enter image description here

在这种情况下我如何避免创建 tblBundle(因为它不需要包含任何附加信息。但我仍然希望它是一个键。如果我删除,“BundleId”列的命名约定是什么第二个数据库)

最佳答案

如果您不需要单列表,则不必创建它。当键是代理项时(即在您的数据模型之外没有任何意义),拥有一个不引用其他表的非主键并没有错。如果您需要通过 BundleId 更快地访问,您可以对该列进行索引。

不过,拥有一个表有一些好处:您可以使用级联删除创建一个外键,因此从捆绑表中删除一行会自动删除其所有子行。

关于sql - 数据库设计中如何避免一列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39176659/

相关文章:

sql - 设置变量时,记录的 IS NOT NULL 测试不返回 TRUE

sql - 需要您在创建表格时提供意见

sql - PostgreSQL 查询列上空值最少的行

sql - 为每个客户选择第一次购买

sql - MySQL 中的 UDF 性能

sql - InnoDB 和为表创建关系 - 一个不会加入

mysql - 使用 SQL 创建 WooCommerce 分析报告

c# - 使用 c# 将表数据从 oracle 复制到 SQL Server?

php - 使用 CA 文件从 Azure Database for MySQL 进行 SSL 连接

android - 由于未在 SharedPrefManager 类中初始化类的实例而出现错误。无法解决