我正在考虑设计数据库的最佳方式,而且我真的在脑子里跑来跑去,无法得出答案!
数据库的目的是显示计算机上安装的软件。 我希望能够:
我的表格是:
表格分解为:
我遇到的主要问题是当我尝试使用可用的软件(忽略版本)概述位置时,以及在该位置安装了多少台计算机的计算机,因为软件表softwarename列不是唯一的(因为可能有不同的版本),一个位置可能看起来有更多的软件安装,机器实际可用(因为软件名称可以在一台机器上出现两次,因为版本号不是包括在内)。
我认为解决这个问题的方法是创建一个计算机表,软件名称表和一个软件版本表(链接回软件名称表)但是我想不出如何将所有三个表连接在一起我想要的方式。
请帮助我!
非常感谢任何帮助/指导/最佳实践!我是SQL的新手:)
谢谢, 约什
答案 0 :(得分:0)
您的架构应该有效。 1改变 - 第4个表应该有计算机ID,而不是名称。你将加入(我将使用数字1-4作为你的表)1和2的位置id;关于软件ID的2和4。 3和4关于软件ID(不确定您是否担心名称 - 您设计的ID是跟踪它的正确方法,因为供应商确实更改了名称)。显然1,2和4使用前两个连接。