我应该在T-SQL中使用平面文件还是子文件

时间:2016-08-04 23:51:31

标签: sql-server tsql database-design

我正在开发一个ASP.NET aspx页面,允许用户首先选择网络安全格式,然后选择一种安全形式,并根据该选择,可能有其他选择或没有更多选择。

如果我将它构建为平面文件(在tsql中),它将如下所示:

enter image description here

但是,如果我分解成单独的文件,它将如下所示:

enter image description here

enter image description here

enter image description here

enter image description here

使用单个平面文件在程序上是否更好,即使它长达数百条记录(当然我没有在我的表中列出所有可能的记录,再加上稍后会添加更多),或者它是否更好?使用子表?

如果我使用平面文件,当选择一行时,它将被添加到访问列表请求中。如果我使用子表,每行都会有一个复选框,如果选中该复选框,它会请求所有相关的子表记录。

也许,我这样做是错的,有人在我面前发明了轮子。

1 个答案:

答案 0 :(得分:1)

我觉得这比你模型中上面的图表简单得多。您在这个流程中基本上有两个实体正在使用。

  1. NetworkSecurity - (网络项目??)
  2. 路线
  3. NetworkSecurity记录包含代码和描述,代表网络上的“东西”。 “东西”可以有路线吗?如果是这样,那么你就可以在s单独的表中为这个东西定义1..n路由,就像你上面所做的那样。当然,你可以通过如何“划分”你的网络事物以及它在网络上的“位置”来变得更加复杂。

    我的直觉会告诉我这更适合桌面存储。您甚至可能希望以这样的方式存储您的路由/位置:ip地址,根,驱动器,路径以及可以在一个且仅一个地方更新的地址。在平面文件中,要进行更改以说出“Route_Description”,您必须更新每条记录。