gpt4 book ai didi

mysql - 移动和 Web 应用程序中的数据库模式应该相同吗?

转载 作者:行者123 更新时间:2023-11-29 02:55:11 25 4
gpt4 key购买 nike

我以这种方式设计了我的 django 网站数据库的架构。

人:

  1. 姓名
  2. 年龄
  3. 性别等

汽车:

  1. Person 的外键
  2. 车名
  3. 汽车颜色等等。

自行车:

  1. Person 的外键
  2. 自行车颜色等。

我也使用 django-tastypie 将其转换为 API。我想使用 xamarin 为此构建一个移动应用程序。该应用程序将有一个数据库来存储这些值。但是,我用于存储这些值的 Java/C# 方法类似于

class person{

String name;
int age;
String gender;
List<Car> listofcars;
List<Bike> listofbikes;

}

这与数据库的结构不同。

在这种情况下,有效的方法是什么?

1.) 我的应用程序数据库模式是否应该与我的服务器数据库模式完全相同?通过这种方式在服务器和客户端之间同步值很容易。但是要获取自行车或汽车的列表,我需要执行多个查询。

2.) 或者我应该为我的应用程序开发一个不同的模式,这将使我更容易开发应用程序。唯一的缺点是同步并不容易。

最佳答案

是的...有点

A database schema is just an abstract formal description of how you are storing your data. . Django 模型或 MySQL DDL 定义只是以具体方式表达这个抽象概念的方式。

例如,您的 django 模型和 C# 代码都描述了这个抽象概念:

A person has a name, age, gender and can have a collection of bikes and cars.

最终,如果您的移动应用程序、API 和 django 网络应用程序能够通信,它们必须包含并共享完全相同的信息。否则,您的系统将在传输之间丢失信息 - 例如,如果应用程序省略了年龄,而 django 省略了性别,那么在几次调用之后,您的数据库都不会有任何信息。

您的移动应用程序和 Django 应用程序是否必须具有来自完全相同的地方 的架构,也许吧,但这肯定会更难获得很少的返回。例如,作为构建策略的一部分,您可以让 Django 生成用于构建表的 DDL,然后将其传递给应用程序。

关于mysql - 移动和 Web 应用程序中的数据库模式应该相同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31372596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com