많은 주소 정보, 도시, 우편 번호, 전자 메일 주소, 전화 번호, 팩스 번호 등을 포함하는 테이블을 가진 데이터베이스를 계획하고 있습니다 (약 11 개의 열 정도). 테이블은 다음과 같습니다. 2 개의 주소 (법적 연락처와 실제로 사용되어야하는 연락처)를 포함하는 조직 테이블과 모든 사용자는 동일한 정보를 사용자에게 부여합니다.연락처 정보를 별도의 테이블에 넣을까요?
우리는 다른 주소에서 X 킬로미터 내에있는 모든 주소와 같은 주소에서도 일부 위치 정보 항목을 실행해야합니다.
I 옵션을 잔뜩 가지고, 자신의 문제와 각각 :
- 나는 모든 테이블 내부의 모든 정보를 넣을 수 있지만 내가 가진 것 열에 매우 많은 양의와 함께 테이블에 만들 것 문제를 색인 생성하고 주소 형식을 변경하면 수정하는 데 시간이 걸릴 수 있습니다.
- 내가 배열 내에서 모든 정보를 넣어 직렬화 할 수 후 하나 개의 필드, 좀 덜 열 이전 방법과 같은 문제에 직렬화 된 정보를 저장하고 mysql을 통해 훨씬 적은 가용성은
내가 만들 수 쿼리 주소 정보를 별도의 테이블과 주소 테이블에 related_id 및 related_table 열을 넣어 사용자와 조직 테이블
- 에 address_id 열을 가하고 다른 테이블에 하나
- 하여 연결
물건을 조금씩 정리해야하지만 과도한 결합 등으로 예상치 못한 문제가 발생할 수 있습니다.
개인적으로 나는 해결책 3.2가 최고라고 생각하지만, 그것에 대해 너무 확신하지 않는다. 그래서 나는 의견을 묻는다.
데이터베이스에 대한 정규화 체계를 생각해보십시오. 1NF, 2NF, 3NF, BCNF .... – Kangkan
나는 그것들에 익숙하지 않다. 또한 정상화 문제라고 생각하지 않습니다. – Madness
정규화 문제가 정확히 무엇인지 알 수 있습니다. 나는 Kangkan의 제안을 채택 할 것을 강력히 권고한다. –