我正在对在SQL Server中存储其XML数据的应用程序进行一些维护工作。目前,该应用程序使用另一个表来存储关联的XSD。我的问题:由于目前正在ASP.NET中执行所有XSD验证,将XSD存储在XML SCHEMA COLLECTION中是否有任何优势?
答案 0 :(得分:1)
这是一个公平的问题......我仍然会把它放在XML架构集合中。这迫使数据的验证处于尽可能低的水平。
如果可以将错误数据放入列中,它就会发生。所需要的只是另一个开发你的应用程序的开发人员,他不像你那么小心,或者是另一个内部应用程序遇到同一个表,或者其他任何情况。
就像将INT值存储在VARCHAR类型的列中一样。你可以这样做......也许你的应用程序正在验证那里的数据确实是INT类型。但不知何故,“10N”值将最终进入列中。那又怎样?关系数据库的一个重要优点是它可以强制执行一定级别的数据有效性,因此您应该使用所有可用的工具,包括模式集合,IMO。