当连接多个表时,即使数据被过滤,在我看来,你也存在大量重复数据返回的风险。
这是一个简单的例子:http://sqlfiddle.com/#!17/eda08/3
我们可以在description
和type
列上看到重复。
这是一个简单的例子,所以它并没有出现""坏。但是,在更多的表格和更大的1:M表格中,重复的数量将会增加,直到数据传输大小可能成为关注点。
解决这些问题的一般方法是什么?使用聚合?单独查询?
投票结束:第二个想法,我想我正在寻找一个不存在的神奇答案。关系模型是关系模型,连接将产生具有1:N关系的重复值。
答案 0 :(得分:0)
问题是相当广泛但不认为你应该像记录一样导出平面数据结构。
您确实应该将它们序列化为XML
或Encrypt(PdfReader reader, Stream os, byte[] userPassword, byte[] ownerPassword, int permissions, bool strength128Bits, Hashtable newInfo)
using (var input = new FileStream("rotativa_generated.pdf", FileMode.Open, FileAccess.Read, FileShare.Read))
using (var output = new FileStream("rotativa_generated_encrypted.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
{
var reader = new PdfReader(input);
PdfEncryptor.Encrypt(reader, output, true, "userPassword", "ownerPassword", PdfWriter.ALLOW_PRINTING);
}
我不知道你是否必须直接在SQL中执行它,但是如果你可以从Java或C#实体开始,它应该是小菜一碟。