【发布时间】:2018-09-27 20:00:54
【问题描述】:
我想存储类似于 Google Drive 的文件结构。我可以创建多种类型的文件(文档、电子表格、..)。每个文件的详细信息都存储在它们的表中。
例如:
File [id, name, file_id]
Doc [file_id, title, a, b, c]
Spreadsheet [file_id, title, d, e]
怎么做才对?
【问题讨论】:
-
根据您提供的结构,您可以使用2个表:FileType[Id, Name] File[Id, FileTypeId, Title, FileData]
-
是的,但我需要为每个 FileType 提供不同的属性。
-
那么这个结构有什么问题呢?
-
从问题看来,您希望使用从文件到文档/电子表格的外键进行引用。如果是这种情况,解决方案是将 Doc 和 Spreadsheet 中的 file_id 声明为主键以及引用 File 表的外键。