因为我没有太多的知识和在数据库方面的经验,我必须使用xml or csv
将数据存储为数据库。请让我知道我应该选择哪一个?
有table : layout
colomn : 3
session-id : (user-id will be used on later stage)
project-name : ( string type )
upload-folder : string type (optional, it can be null)
session-id
(用户ID)可以包含多个project-name
,但该名称对于一个会话ID应该是唯一的,而另一个session-id
可能具有相同的project-name
。
upload-folder
是可选的(可以为null)
实施例
tavle : myTable
session-id | project-name | upload-folder |
--------------------------------------------------
01A | myProject | upload-1
-------------------------------------------------
01A | yourProj | upload-2
-------------------------------------------------
02B | myProject | upload-1
-------------------------------------------------
03C | myProject | upload-3
-------------------------------------------------
请告诉我,哪一个是这个要求的更好选择
答案 0 :(得分:4)
如果您的数据是表格式的,而不是分层的,您可以完全控制导入和导出,并且您不希望稍后扩展它,那么CSV在文件大小(和解析,可能)中会更有效率
否则,您最好使用XML
答案 1 :(得分:1)
CSV更容易加载,空间更高效,但人类更容易阅读XML,并且有许多解析器可以轻松操作它。
对于您的数据,我会使用CSV,除非您与不了解数据的其他人或群组共享。
答案 2 :(得分:1)
CSV比XML更紧凑,但XML比CSV更灵活。如果您的数据非常复杂(例如,如果它的列可以包含任意数量的项目),请使用XML。
但您还应该考虑JSON和YAML格式。两者都具有合理的空间效率,并且在处理复杂数据方面都具有很大的灵活性。我倾向于经常使用JSON。
答案 3 :(得分:0)
您的数据似乎是表格式且具有固定数量的列,因此CSV可能是您的最佳选择。从大多数语言中读取和写入CSV非常简单。如果你有大量的数据,比如千兆字节,那么大多数空间效率都是CSV。
如果您的数据是分层的或复杂的,那么您应该使用XML或JSON甚至是YAML。 JSON最近受到了很多关注,并且解析器可以使用任何语言。