我的数据结构如下:
<event name="SomeEventName" time="2018-03-06 09:30:00" owner="SomeOwnerId">
<param name="param1" value="value1"/>
<param name="param2" value="value2"/>
...
<param name="paramN" value="valueN"/>
</event>
此结构从客户端发送到服务器,并描述客户端上发生的事件。我需要将每个收到的用户事件存储在数据库中。 问题在于设计数据库表结构:从客户端接收的每个事件都可以有不同数量的参数,当然每个参数的值也不同。 即使是同一事件也可能有不同数量的参数。
所以,我的问题是关于这种数据结构的数据库设计,它在服务器端没有预定义的数据结构。 如何为这样的结构设计数据库表? 我可以改变从客户端到JSON的数据接收格式,但我不能改变格式本身 - 它是一个&#34;事件&#34;参数数量未知。
也许我应该看看可以用JSON格式存储整个文档的NoSQL数据库?
任何帮助表示感谢,提前谢谢!
答案 0 :(得分:1)
如果你使用NoSQL,你可以在对象中构建对象。名称,时间和所有者都是键和数据,这是一个具有对象值的键,该对象具有params的所有键/值对。
AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);
dialog.setCancelable(false);
dialog.setTitle("Confirm");
dialog.setMessage("Are you sure you want to cancel this order ?" );
dialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
//Action for "Yes".
deleteOrder();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Action for "No".
createCustomer();
}
});
final AlertDialog alert = dialog.create();
alert.show();