2009-03-23 1 views
2

데이터베이스를 마지막으로 조작 한 이후로 시간이 지났습니다. 일반적으로 내 마음이 내 필요에 맞지 않았기 때문입니다. 여기에 내 문제가있다 : 이 데이터 구조를 데이터베이스 테이블로 바꾸는 데 도움이됩니다.

  1. 나는 항목 (문자열) 목록을 가지고있다.
  2. 각 항목에는 고유 한 이름과 고유 한 ID가 있습니다.
  3. 항목은 이름을 공유 할 수 있지만 ID는 공유 할 수 없습니다.
  4. 항목은 속성 (문자열)을 가질 수도 있습니다.
  5. 항목에 동일한 속성이 둘 이상있을 수 있습니다.
  6. 각 항목의 각 속성은 고유 한 값 (문자열)을 가질 수 있습니다.

이러한 요구 사항에 가장 적합한 테이블 레이아웃은 무엇입니까?

오케이 멍청한 질문. 어쨌든 도움을 주셔서 감사합니다. : P

+0

지금까지 무엇을 얻었습니까? –

+1

글쎄, 나를 위해 문제가 여러 중복 속성을 가진 항목을 처리하는 방법을 알아내는 것입니다. 각 항목에 대해 새로운 테이블을 작성합니까? –

답변

3

엔트리 테이블 이름 및을 UniqueID (PK)와

속성 테이블, PROPERTYNAME와 ID (PK)와

ENTRYID (FK) 부동산 ID (FK)에서 UniqueID (PK와

EntryProperty 표), 값.

+0

오! 이봐. 그래, 그래, 그게 해결해. Jeez 나는 간격을두고 있습니다. :피 –

1

글쎄, 나에 대한 문제는 여러 중복 된 특성을 갖는 항목을 처리하는 방법을 을 파악한다. 각 항목에 대해 새 테이블을 만들거나 무엇을 할 수 있습니까?

id, entry_id, property_id, property_value, timestamp 

가 도움 않거나 :

글쎄, 당신은 항목 및 속성 테이블이 가정 없음 :-)

은, 내 생각 엔 당신이 다음과 같은 열이있는 테이블을해야한다는 것입니다 내가 잘못 했니?

2
CREATE TABLE entries (
    INTEGER id NOT NULL AUTOINCREMENT, 
    VARCHAR(XX) name, 
    PRIMARY KEY(id) 
) 

CREATE TABLE properties (
    INTEGER id NOT NULL AUTOINCREMENT, 
    VARCHAR(XX) name, 
    VARCHAR(XX) value, 
    INTEGER entryid NOT NULL, 
    FOREIGN KEY(entryid) REFERENCES entries (id) 
)