スキーマ全体が間違っています。データベースの正規化について何を知っていますか? あなたのスキーマは、少なくとも第 3 正規形の要件に一致しません。部分的な例:
次の国があります:
-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
これらの 3 つのテーブルに「リンク」する外部キー(country_id、city_id、region_id)の制約を持つ家屋のテーブルがあります。次のような誤ったレコードを作成する可能性があります。
*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*
----------------
都市.idへの fk_city_id 参照:
----------------
table "**cities**"
----------------
id
name
*fk_region_id*
----------------
リージョン.idへの fk_region_id 参照:
----------------
table "**regions**"
----------------
id
name
*fk_country_id*
----------------
国.idへの fk_country_id 参照:
----------------
table "**countries**"
----------------
id
name
----------------
PS >> 下手な英語でごめんなさい