2012-07-10 6 views
-1

작은 아파트 관리 사이트 용 데이터베이스를 만들고 있습니다.데이터베이스 구조 관계형 데이터베이스

기본적으로 설명 양식, 사진과 함께 아파트를 삽입 할 수있는 사용자 로그인 양식이 있습니다. 그리고 관계형 테이블에 대해 작업 할 것이므로 데이터베이스를 올바르게 작성하고 싶습니다. 누군가가 한 번 봐서 의견을 나눌 수 있습니까?

USERS: 
    - id_user; 
    - username; 
    - password; 
    - email; 

APARTMENTS: 
    - id_apartment; 
    - id_user; 
    - title; 
    - description; 
    - map; 
    - gallery; 

GALLERY_IMAGES: 
    - id_gallery; 
    - id_apartment; 
    - image; 
+1

아파트 갤러리 필드가 무엇입니까 ... 그때로 구현하는 것이, 정확히 하나의 아파트와 관련되어있는 경우? gallery_images 테이블에 키 필드가 있기 때문에 키 필드가 필요하지 않습니다. – chiborg

+0

@chiborg '아파트'의 '갤러리'는 '부울'일 수 있습니다. 나는 그것이 필요하다고 생각하지 않는다. –

+1

아파트에 2 명 이상의 소유자가있을 수 있습니까? – jcho360

답변

0

이 시나리오 참 인 경우 (내가 추측 오전)

아파트가 사용자 아파트가가에 속하는 0 개 이상의 이미지

다음

당신이 개념을 도입 한 이유 갱도? 이 다음 사건을 경우

USERS: 
- id_user; 
- username; 
- password; 
- email; 

APARTMENTS: 
- id_apartment; 
- id_user; 
- title; 
- description; 
- map; 

IMAGES: 
- id_image 
- id_apartment; 
- image_path; 

TBH 갤러리는

일부 사용자는 한 아파트보다 더 있나요 ... 내가 당신의 GUI에 그 전화를 의미, 아파트의 사실 이미지에?

1

"아파트"가 단일 사용자와 관련되도록 허용하는 디자인처럼 보입니다.

각 테이블의 기본 키는 id이라는 단일 정수 열이 좋습니다. 그 기본 키에 대한 외래 키 참조의 이름은 tablename_id입니다.

관계의 카디널리티를 검토해야합니다. "사용자"가 둘 이상의 "아파트"와 관련 될 수 있습니까? "아파트"가 둘 이상의 "사용자"와 관련 될 수 있습니까? "이미지"가 둘 이상의 "아파트"와 관련 될 수 있습니까? 등

"다 대다"관계를 발견하면 일반적으로 관계 테이블을 사용하여이를 해결합니다. 에 "아파트"가 주어진 하나 이상의 "사용자"에 관련된 경우

...

apartment (id PK, ...) 

user (id PK, ...) 

우리 고유 외래 키의 조합으로, 세 번째 테이블을 추가 할

user_apartment (user_id FK, apartment_id FK, UNIQUE KEY (user_id, apartment_id)) 

"이미지"개념과 구별되는 "갤러리"개념이있는 것 같습니다. ("고유하게 식별 할 수있는"인스턴스에 관해서는 정보를 저장하려고합니다.)

이미지가 둘 이상의 갤러리에있을 수 있습니까? 갤러리에 둘 이상의 이미지가있을 수 있습니까? 갤러리가 둘 이상의 아파트와 관련 될 수 있습니까?

는 이미지에 정확히 하나 개의 갤러리를 속하고 갤러리는

gallery (id PK, apartment_id FK, ...) 
image (id PK, gallery_id FK, ...) 
+0

idid의 이름으로 usingid는 SQl 반 패턴입니다. – HLGEM

+0

@HLGEM : 각 테이블의 기본 키로'id'라는 컬럼을 사용하는 것은 실행 가능한 접근법이며, 몇 가지 중요한 이점이 있습니다. 뿐만 아니라 몇 가지 어려움이 있습니다. 이러한 어려움은 기본 키 열에'id' 이외의 이름을 사용하여 사라지지 않습니다. – spencer7593