큰 주소 데이터베이스를 구성하는 것이 더 나은 방법은 무엇입니까?큰 주소 데이터베이스를 구성하는 것이 더 나은 방법은 무엇입니까?
주소의 mysql 데이터베이스를 생성해야합니다. 조직하는 것이 어떻게 더 좋은가? 나는 두 가지 변종이 : 나는 모든 만들기 주소를 사용 1) cuontries 단순화를 들어
id|name
1 |Russia
cities
id|name
1 |Moscow
2 |Saratov
villages
id|name
streets
id|name
1 |Lenin st.
places
id|name |country_id|city_id|village_id|street_id|building_number|office|flat_number|room_number
1 |somebuilding |1 |1 |NULL |1 |31 |12a |NULL |NULL
합니다. 어떤 부분이 주소에 참여하지 않는 경우는 동일 NULL
2)
addressElements
id|name
1 |country
2 |city
3 |village
4 |street
5 |office
6 |flat_number
7 |room_number
addressValues
id|addressElement_id|value
1 |1 |Russia
2 |2 |Saratov
3 |2 |Moscow
4 |3 |Prostokvashino
5 |4 |Lenin st.
places
id| name
1 | somebuilding
places_has_addressValues
place_id|addressValue_id
1 |1
1 |3
1 |5
UPD입니다. 나는 다음과 같이 결정했다. alt text http://notme.ru/bebe/addresses.jpg
나는 개체의 유형을 선언하기 위해 "type"속성 (ENUM)을 사용한다. 예를 들어, 아파트 유형은 '평면'또는 '방'또는 '사무실'일 수 있습니다.
나는 마을을 제거한다. –
도시와 마을이 null이 아니면 도시에서 마을 수 있습니다 – shurik2533