数据库 Table 路径组合
Database Table Path Combinations
我正在设计一个数据库,它将存储使用设备的所有说明视频/文本/音频路径。用户可以 select 是否希望说明以视频、文本或音频的形式出现(可以选择 3 种中的任何一种,但必须至少选择 1 种)。用户还将选择一种语言,这将是指令的语言。我想我已经弄清楚了一些 table 结构。但是,我要如何将所有组合存储到一个 table?
比如我的一个table有所有的文件路径组合,
path_id button_text audio_path video_path text_path
1 cbl.txt null null cbl.txt
2 cbl.txt null cbl.mp4 null
3 cbl.txt null cbl.mp4 cbl.txt
4 cbl.txt cbl.mp3 null null
5 cbl.txt cbl.mp3 null cbl.txt
6 cbl.txt cbl.mp3 cbl.mp4 null
7 cbl.txt cbl.mp3 cbl.mp4 cbl.txt
8 bolt.txt null null bolt.txt
9 bolt.txt null bolt.mp4 null
10 bolt.txt null bolt.mp4 bolt.txt
11 bolt.txt bolt.mp3 null null
12 bolt.txt bolt.mp3 null bolt.txt
13 bolt.txt bolt.mp3 bolt.mp4 null
14 bolt.txt bolt.mp3 bolt.mp4 bolt.txt
这考虑到了所有不同的组合,因此根据用户选择的设置,他们将返回与正确设置对应的主键。不过,我觉得这太多余了,效率可能不是很高,有什么更好的方法吗?
这样的事情怎么样:
设备table:
device_id device_name
1 machine1
文件table
file_id device_id file_type file_path
1 1 video d:\videos\v1.mp4
2 1 text d:\texts\t1.txt
3 1 pdf d:\pdfs\p1.pdf
...
或者如果一个文件可用于多个设备,请添加另一个 table:
device_file table:
device_id file_id
1 1
1 2
2 2
...
并且您可以删除文件中的 "device_id" 列 table。
我正在设计一个数据库,它将存储使用设备的所有说明视频/文本/音频路径。用户可以 select 是否希望说明以视频、文本或音频的形式出现(可以选择 3 种中的任何一种,但必须至少选择 1 种)。用户还将选择一种语言,这将是指令的语言。我想我已经弄清楚了一些 table 结构。但是,我要如何将所有组合存储到一个 table?
比如我的一个table有所有的文件路径组合,
path_id button_text audio_path video_path text_path
1 cbl.txt null null cbl.txt
2 cbl.txt null cbl.mp4 null
3 cbl.txt null cbl.mp4 cbl.txt
4 cbl.txt cbl.mp3 null null
5 cbl.txt cbl.mp3 null cbl.txt
6 cbl.txt cbl.mp3 cbl.mp4 null
7 cbl.txt cbl.mp3 cbl.mp4 cbl.txt
8 bolt.txt null null bolt.txt
9 bolt.txt null bolt.mp4 null
10 bolt.txt null bolt.mp4 bolt.txt
11 bolt.txt bolt.mp3 null null
12 bolt.txt bolt.mp3 null bolt.txt
13 bolt.txt bolt.mp3 bolt.mp4 null
14 bolt.txt bolt.mp3 bolt.mp4 bolt.txt
这考虑到了所有不同的组合,因此根据用户选择的设置,他们将返回与正确设置对应的主键。不过,我觉得这太多余了,效率可能不是很高,有什么更好的方法吗?
这样的事情怎么样:
设备table:
device_id device_name
1 machine1
文件table
file_id device_id file_type file_path
1 1 video d:\videos\v1.mp4
2 1 text d:\texts\t1.txt
3 1 pdf d:\pdfs\p1.pdf
...
或者如果一个文件可用于多个设备,请添加另一个 table:
device_file table:
device_id file_id
1 1
1 2
2 2
...
并且您可以删除文件中的 "device_id" 列 table。