来自美国的50个州,除路易斯安那州和阿拉斯加州外,其中大多数都有县。
我的表格看起来像这样
**State_tbl**
State_id
State_name
**County_tbl**
County_id
State_id ->state_tbl
County_name
**City_tbl**
City_id
County_id ->county_tbl
City_name
然而,由于阿拉斯加州和路易斯安那州两个州没有县,我在实施它们时会遇到问题。而且我还读到,一个州内可能有一个城市没有县,或属于两个县(不知道这是不是真的)。
设计数据库的最佳方法是什么?
更新更多信息:
我有一个用户可以注册到特定城市(在一个州内)。当我检索数据时,我希望能够显示所服务的城市以及县。用户与所服务的城市之间存在多对多关系,城市与县之间存在一对多的关系。
即:
John K--在state_A(以下所有县和城市都属于state_A)服务
-cities服务:City_A(county_x),City_B(County_Y),City_C(County_Y)
- 服务金额:County_X,County_Y
此外,我是否可以检索用户的信息以及在一个查询中提供的所有城市和县?
答案 0 :(得分:0)
只是将自治市镇和教区和县(或任何其他命名惯例)视为同一件事。 USPS对待它们是相同的,人口普查局也对它们进行相同的处理。美国大多数需要针对县或统计区域生成任何报告的政府(和非政府组织)都依赖于基于这些单位的MSA或CBSA代码,所有这些代码都被称为县 - 尽管他们可能有其他本地名称。
对于阿拉斯加州,以下是所有的自治市镇:
ANCHORAGE
BETHEL
ALEUTIANS WEST
LAKE AND PENINSULA
KODIAK ISLAND
ALEUTIANS EAST
WADE HAMPTON
DILLINGHAM
KENAI PENINSULA
YUKON KOYUKUK
VALDEZ CORDOVA
BRISTOL BAY
MATANUSKA SUSITNA
NOME
YAKUTAT
FAIRBANKS NORTH STAR
DENALI
NORTH SLOPE
NORTHWEST ARCTIC
SOUTHEAST FAIRBANKS
JUNEAU
HOONAH ANGOON
HAINES
PETERSBURG
SITKA
SKAGWAY
KETCHIKAN GATEWAY
PRINCE OF WALES HYDER
WRANGELL
Lousiana,以下是所有的教区:
JEFFERSON
SAINT CHARLES
SAINT BERNARD
PLAQUEMINES
ST JOHN THE BAPTIST
SAINT JAMES
ORLEANS
LAFOURCHE
ASSUMPTION
SAINT MARY
TERREBONNE
ASCENSION
TANGIPAHOA
SAINT TAMMANY
WASHINGTON
SAINT HELENA
LIVINGSTON
LAFAYETTE
VERMILION
SAINT LANDRY
IBERIA
EVANGELINE
ACADIA
SAINT MARTIN
JEFFERSON DAVIS
CALCASIEU
CAMERON
BEAUREGARD
ALLEN
VERNON
EAST BATON ROUGE
WEST BATON ROUGE
WEST FELICIANA
POINTE COUPEE
IBERVILLE
EAST FELICIANA
BIENVILLE
NATCHITOCHES
CLAIBORNE
CADDO
BOSSIER
WEBSTER
RED RIVER
DE SOTO
SABINE
OUACHITA
RICHLAND
FRANKLIN
MOREHOUSE
UNION
JACKSON
LINCOLN
MADISON
WEST CARROLL
EAST CARROLL
RAPIDES
CONCORDIA
AVOYELLES
CATAHOULA
LA SALLE
TENSAS
WINN
GRANT
CALDWELL