Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在数据库字段中存储区域_Html_Sql Server_Database Design - Fatal编程技术网

Html 如何在数据库字段中存储区域

Html 如何在数据库字段中存储区域,html,sql-server,database-design,Html,Sql Server,Database Design,我有一个基于网络的跟踪应用程序,我正在SQL server中存储数据。我正在跟踪已部署应用程序的位置。web界面是一个下拉组合,我现在有一个varchar100字段。我让用户选择一个下拉列表: 全球的 美国 欧洲 亚洲 但现在我有了存储在多个区域但不一定是全局的应用程序 我是否应该放弃全球选择,只与美国、欧洲和亚洲建立一个多选领域 当我去查询这些数据时,我正试图思考其中的含义,因为我想对这些数据进行切分,并运行查询以获得每个区域的指标,等等 存储这些数据的最佳方式是什么?如果您在现实生活中的数据

我有一个基于网络的跟踪应用程序,我正在SQL server中存储数据。我正在跟踪已部署应用程序的位置。web界面是一个下拉组合,我现在有一个varchar100字段。我让用户选择一个下拉列表:

全球的 美国 欧洲 亚洲 但现在我有了存储在多个区域但不一定是全局的应用程序

我是否应该放弃全球选择,只与美国、欧洲和亚洲建立一个多选领域

当我去查询这些数据时,我正试图思考其中的含义,因为我想对这些数据进行切分,并运行查询以获得每个区域的指标,等等


存储这些数据的最佳方式是什么?

如果您在现实生活中的数据是多对多的,那么我建议您使用位置表、应用程序表和联接表。这不会阻止您对数据运行任何类型的查询

如果现实生活中的数据是多对多的,那么我建议使用位置表、应用程序表和联接表。这不会阻止您对数据运行任何类型的查询

如果您的区域数量很小,您这里只有三个区域,您可以使用tinyint存储值:

美国=128, 欧洲=64, 亚洲=32

如果您使用的是C,还可以设置一个枚举来存储这些值

[Flags]
public enum Region: byte
{
  America = 128,
  Europe = 64,
  Asia = 32,
  Global = 224
}
并对它们执行位运算:

bool isInAmerica = (myValue & Region.America) == Region.America;

我认为您也可以在SQL Server中执行逐位操作。

如果您的区域数量较少,您这里只有三个,您可以使用tinyint存储值:

美国=128, 欧洲=64, 亚洲=32

如果您使用的是C,还可以设置一个枚举来存储这些值

[Flags]
public enum Region: byte
{
  America = 128,
  Europe = 64,
  Asia = 32,
  Global = 224
}
并对它们执行位运算:

bool isInAmerica = (myValue & Region.America) == Region.America;

我认为您也可以在SQL Server中执行逐位操作。

您不需要说明SQL Server的哪个版本。您是否考虑过将您的大区域映射为实际的地理区域?这样,您就可以使用,如果您在以后定义位置时添加更多关于用户的详细信息,您的数据库和查询将工作得更好。

您不需要说明SQL Server的版本。您是否考虑过将您的大区域映射为实际的地理区域?通过这种方式,您可以使用,如果您在以后定义位置时添加更多关于用户的详细信息,您的数据库和查询将工作得更好。

听起来像是一种标准的多对多方式。比如:

+-------+   +-----------------+   +--------+
| App   |   | App_Region      |   | Region |
+-------+   +-----------------+   +--------+
| id PK |<--| app_id PK FK    | ->| id PK  |
| name  |   | region_id PK FK |/  | name   |
+-------+   +-----------------+   +--------+

那里的应用程序区域用作链接表,因此您可以将每个应用程序链接到多个区域。

听起来像是标准的多对多。比如:

+-------+   +-----------------+   +--------+
| App   |   | App_Region      |   | Region |
+-------+   +-----------------+   +--------+
| id PK |<--| app_id PK FK    | ->| id PK  |
| name  |   | region_id PK FK |/  | name   |
+-------+   +-----------------+   +--------+

作为链接表的Appl区域,因此您可以将每个应用程序链接到多个区域。

< P>我会考虑创建一个区域表来保存全局、美国、欧洲、亚洲和任何未来的区域,然后创建一个区域性应用程序,这样您就可以将应用程序链接到多个区域。因为所有的东西都是基于索引的,所以您的查询应该很好地执行,并且可以很容易地按区域划分。

< p>我会考虑创建一个区域表来保存全局、美国、欧洲、亚洲和任何未来的区域,然后创建一个区域性应用程序,这样您就可以将应用程序链接到多个区域。由于所有内容都是基于索引的,因此您的查询应该执行得很好,并且您可以轻松地按区域对它们进行切片。

我不会详细介绍UI,但在切片和切分方面,这应该会有所帮助


我不会深入讨论UI的细节,但当涉及到切片和切割时,这应该会有所帮助


亲爱的上帝不!!!!!!除非你绝对需要速度/存储,你应该考虑在数据库中这样做。另外的表也是我的第一本能,我认为大多数人都会这么说,但是事实上,他只有三个区域,没有提到增加额外的区域,让我想提出另一个选择。想想我受到的惩罚吧,甜美的上帝!除非你绝对需要速度/存储,你应该考虑在数据库中这样做。另外的表也是我的第一本能,我认为大多数人都会这么说,但是事实上,他只有三个区域,没有提到增加额外的区域,让我想提出另一个选择。考虑我被惩罚了,你实际上需要每个区域的多边形来工作。雄心勃勃,而且你实际上需要每个区域的多边形才能工作。野心勃勃,而且太过分了