我们正在重新整理我们的房屋租赁数据库,并有以下内容。我们有不同的apis,从房屋和公寓到土地。从apis中,我们主要有国家->地区->城市(或村庄)结构。我们还有一个额外国家的公寓,我们有区域->城市->城市部分->街道结构
因此,我们制定了两个mysql方案。你能稍微批评一下,或者暗示一下更好的方法吗?

和第二个

你能批评一下,也许可以给出一个更好的方法来做数据库,这将导致更好的性能,更少的连接等?我们不是mysql专家:((
在这里查看的图像很小,所以链接
1st Scheme Image big one
2nd Scheme Image big one
发布于 2014-05-09 13:30:40
整个模式都是错误的!你对数据库规范化有什么了解?您的架构至少不符合第三范式的要求。以粒子为例:
您有以下国家/地区:
-CountryName1
-CountryName2
-CountryName3您有以下区域:
-RegionOfCountry1_a
...
-RegionOfCountry3_a你有城市:
-City_1_Of_Country1_Region_a
...
-City_3_Of_Country3_Region_a在示例中,树视图中的数据将为:
-CountryName1
|_ -RegionOfCountry1_a
|_ -CityOf_Country1_Region_a
|_ -City_1_Of_Country1_Region_a
|_ -City_2_Of_Country1_Region_a
|_ -City_3_Of_Country1_Region_a
|_ -CityOf_Country1_Region_b
|_ -City_1_Of_Country1_Region_b
|_ -City_2_Of_Country1_Region_b
|_ -City_3_Of_Country1_Region_b
|_ -CityOf_Country1_Region_c
|_ -City_1_Of_Country1_Region_c
|_ -City_2_Of_Country1_Region_c
|_ -City_3_Of_Country1_Region_c
|_ -RegionOfCountry1_b
|_ -CityOf_Country2_Region_a
|_ -City_1_Of_Country2_Region_a
|_ -CityOf_Country2_Region_b
|_ -City_1_Of_Country2_Region_b
|_ -CityOf_Country2_Region_c
|_ -City_1_Of_Country2_Region_c
|_ -RegionOfCountry1_c
|_ -CityOf_Country2_Region_a
|_ -City_1_Of_Country2_Region_c
...
-CountryName2
|_ -SecondCountry
|_ -MegaCityCountry3
...
-CountryName3
|_ -MegaRegionCountry3
|_ -MegaCityCountry3你有一个外键(country_id,city_id,region_id)的外键约束表,它“链接”到这3个表。它提供了创建错误记录的可能性,例如:
*name = "MyHouse with address data from a far galaxy"
country_id = CountryName**1**
region_id = RegionOfSecondCountry (from CountrName**2**)
city_id = MegaCityCountry3 (from -CountryName**3**)*这意味着下一步:你不知道规范化需求,或者你不能预测传递依赖
尝试执行下一步操作
----------------
Table "**houses**"
----------------
id
houseNumber
description
*fk_city_id*
----------------对cities__.id:的fk_city_id引用
----------------
table "**cities**"
----------------
id
name
*fk_region_id*
----------------对regions__.id:的fk_region_id引用
----------------
table "**regions**"
----------------
id
name
*fk_country_id*
----------------对countries__.id:的fk_country_id引用
----------------
table "**countries**"
----------------
id
name
----------------附言:>>为我糟糕的英语道歉
https://stackoverflow.com/questions/12555410
复制相似问题