나는 데이터베이스를 디자인하고 있으며 어떤 디자인이 좋은지 잘 모르겠습니다. 그래서 여기에 약간의 정보를 입력하기로했습니다.데이터베이스 디자인 : 많은 못생긴 열 또는 행으로 분리
aName, aSize, aColor
bName, bSize, bColor
cName, cSize, cColor
페이지 2 :
aName, aSize, aColor
bName, bSize, bColor
cName, cSize, cColor
등
문제는 내가
PAGE1의 라인을 따라, 컬럼 데이터의 몇 가지 반복 조각을 가지고있다 따라서 다음과 같은 디자인을 사용할 수 있습니다.
후자는 더 깨끗한 표시되는 동안[pageId] [aName] [aSize] [aColor] [bName] [bSize] [bColor] etc.
는 또는 행
[pageId] [letter] [name] [size] [color]
전자는 성능을 위해 더 나은으로 분할. 이 두 가지 옵션보다 문제에 접근하는 더 좋은 방법이 있습니까? 저는 PHP와 MySQL을 사용하고 있지만 플랫폼에 관계없이 모든 솔루션에 관심이 있습니다.
"더 깨끗하게 보입니다"? 아마도 정규화를 읽고 질문을 수정해야합니다. http://en.wikipedia.org/wiki/Database_normalization –
정규화에 대해 알고 있습니다. 데이터를 복제하는 데 문제가 없습니다 (미안하지만 분명하지 않은 경우). 동일한 유형의 데이터 (이름, 크기, 색상)를 가진 모든 페이지에는 고정 된 수의 섹션 (a, b, c 등)이 있지만 한 행에 중복성없이 모두 저장할 수 있습니다. 여러 행의 경우 행을 섹션에서 식별 할 수 있으며 열 이름 앞에 반복적으로 접두사를 사용하지 않고도 개별 속성에 직접 액세스 할 수 있습니다. 그것이 내가 더 "깨끗한"것입니다. –
반복 데이터는 첫 번째 정규형 위반입니다. ** 첫 번째 정규형이 무엇을 의미하는지 ** 알고 있음을 나타 내기 위해 질문을 업데이트하십시오. –