数据库表结构应如何在sql phpmyadmin中映射State和Cities?

时间:2016-10-20 08:22:19

标签: database database-design

我对数据库和服务器端API非常陌生,因此我必须向您澄清以下内容。 我正在设计一个功能,就像会有一组状态,每个州都有一组城市。

我应该将这组城市映射到特定的州,如下例所示,

例如:

  • 塔米尔纳杜

     Chennai
    
     Coimbatore
    
     Vellore
    
     Salem
    
     Tiruppur
    
     Erode
    
  • Andhra Pradesh

     Chittoor
    
     Kadapa
    
     Karnool
    
     Ananthapuram
    
     Nellore
    

对于此功能,数据库表结构应如何显示。

任何人都可以告诉我这件事,谢谢

4 个答案:

答案 0 :(得分:1)

您可以只使用两个表来创建一个简单的数据库:

首先,"国家"表,其中包含州名称和唯一ID(主键):

  id:1, state:"Tamilnadu"
  id:2, state:"Andhra Pradesh"
  

==> id(int),state(varchar)

第二,"城市"具有城市名称的表格,城市的唯一ID(主键)以及对“"州”的引用"表(外键)

  id:1, city:"Chennai", stateId:1
  id:2, city:"Chittoor", stateId:2
  

==> id(int),city(varchar),stateId(int)

答案 1 :(得分:0)

试试这个:

状态表架构:

id, statename

City Table Schema:

id, stateid, cityname

将具有相应州ID的城市放入其中。 要获取它们,请使用stateid列

获取状态列表和城市列表

答案 2 :(得分:0)

您应该至少有两个表格,一个表格状态,一个表格用于城市。 您可以在城市表中存储州ID以识别该城市所属的州。

enter image description here

答案 3 :(得分:0)

你可以试试这个:那些place parent_id = 0表示状态。那些parent_id-> parent_id = 0那些是sub_city。

+------+----------------+----------------+--------+
| id   | place_name     |   parent_id    | status |
+------+----------------+----------------+--------+
|  1   | Tamilnadu      |        0       | active |
|  2   | Chennai        |        1       | active |
|  3   | Coimbatore     |        1       | active |
|  4   |subCityOfChennai|        2       | active |
|  5   | Andhra Pradesh |        0       | active |
|  6   | Chittoor       |        5       | active |
|  7   | Kadapa         |        5       | active |
|  8   | Karnool        |        5       | active |
|  9   |subCityOf Kadapa|        7       | active |
+------+----------------+----------------+--------+
  

在这里,您可以使用表示无限次要设施的子智能功能。   我添加了subCityOfChennai id=4subCityOf Kadapa id = 9。