我正在开发一个ASP.NET aspx页面,允许用户首先选择网络安全格式,然后选择一种安全形式,并根据该选择,可能有其他选择或没有更多选择。
如果我将它构建为平面文件(在tsql中),它将如下所示:
但是,如果我分解成单独的文件,它将如下所示:
使用单个平面文件在程序上是否更好,即使它长达数百条记录(当然我没有在我的表中列出所有可能的记录,再加上稍后会添加更多),或者它是否更好?使用子表?
如果我使用平面文件,当选择一行时,它将被添加到访问列表请求中。如果我使用子表,每行都会有一个复选框,如果选中该复选框,它会请求所有相关的子表记录。
也许,我这样做是错的,有人在我面前发明了轮子。
答案 0 :(得分:1)
我觉得这比你模型中上面的图表简单得多。您在这个流程中基本上有两个实体正在使用。
NetworkSecurity记录包含代码和描述,代表网络上的“东西”。 “东西”可以有路线吗?如果是这样,那么你就可以在s单独的表中为这个东西定义1..n路由,就像你上面所做的那样。当然,你可以通过如何“划分”你的网络事物以及它在网络上的“位置”来变得更加复杂。
我的直觉会告诉我这更适合桌面存储。您甚至可能希望以这样的方式存储您的路由/位置:ip地址,根,驱动器,路径以及可以在一个且仅一个地方更新的地址。在平面文件中,要进行更改以说出“Route_Description”,您必须更新每条记录。