2014-07-12 1 views
0

이것은 웹 페이지에서 데이터를 저장하는 최상의 방법을 수행하는 방법에 대한 질문입니다. 텍스트/이미지 - URL/링크와 비슷합니다.열 또는 행에 사이트 데이터 저장

웹 페이지를 만들 수있는 CMS가 있습니다. 여기서 텍스트/이미지 업로드를 편집 할 수 있습니다. 앞으로는 "새로운 요소 추가", a-tag에 대한 링크 추가 등도 가능할 것입니다.

좋은 성능을 갖춘 강력하고 유연한 솔루션이 필요합니다. 이 데이터를 받고 /받는 중.

데이터베이스에 업데이트되고 저장 될 수있는 각 페이지에 약 25 개의 요소가있는 1000 페이지가 있습니다. TITLE_1, TITLE_2, IMAGE_1, IMAGE_2 :

대안 1)

는 테이블과 같은 예를 들어, 컬럼이 페이지에있는 각 요소에 대한 1 열을 만듭니다.

여기서 우리는 업데이트 할 수있는 열 집합을 웹 페이지에서 사용할 수 있습니다.

대안 2)

열 (ID, 이름 공간, 페이지 ID, 데이터)

그리고 페이지의 각 요소에 대해 내가 데이터를 만들 수있는 페이지 ID와 관련 네임 스페이스를 추가로 1 개 테이블을 만듭니다 고유 한 출력. 데이터에서 나는 모든 종류의 정보를 추가 할 수 있습니다. 텍스트, 링크 등

이 문제점에 대한 좋은 해결책으로 무엇을 제안합니까? 나는 다른 대안들에 대해서도 열려 있습니다.

감사합니다.

답변

0

실제로 요소 id가 어떻게 든 비교 될 수있는 경우 요소 ID/유형을 식별하는 열을 추가하여 옵션 2를 권장합니다. 즉, 앵커 텍스트 (말)가 항상 요소 ID = 4로 저장되는 경우 여러 문서에 앵커 텍스트를 비교할 수 있도록 요소 ID = 4가 필요할 수 있습니다.

다른 한편으로는 (내가 상상할 수있는 시나리오입니다.) 한 페이지에 1-25 개의 요소가있을 수 있으며 각 요소가 다를 수 있습니다 (예 : 문서 하나에는 앵커 텍스트 3 개, 이미지, 문서 2에는 앵커 텍스트 1 개와 이미지 없음 등) 요소 유형에 대한 정보를 저장하는 element_type_id 테이블을 추가하는 것이 좋습니다. 이것은 여러 문서에 걸쳐 이미지를 비교 (말하기)하거나 여러 문서에 앵커 텍스트를 적용하는 데 관심이있는 것으로 가정합니다.

또 다른 고려 사항 : 동일한 요소를 반복해서 볼 가능성이있는 경우 실제로 조회 테이블을 통해 이러한 요소를 효과적으로 매개 변수화하는 것이 더 효과적입니다. 그래서 기본적으로 각 앵커 텍스트를 하나의 테이블에 저장하고 실제 ID를 해당 데이터 테이블에 참조합니다.

추가 할 물건이 하나 더 있으면 : 묻는 특정 질문에 가장 적합한 장소가 아닐 수도 있습니다. 나는 그 사실을 확신하지 못하고 아마도 틀렸을 것입니다 ...하지만 Stack Exchange 네트워크를 둘러보고 다른 포럼이 당신이 묻는 질문의 유형을 좀더 자세히 다루는 지보십시오. 적어도 당신의 질문은 매우 모호하고 "좋은 성능을 가진 견고하고 유연한 솔루션"을 달성한다는 목표를 확인했습니다.이 데이터의 수신/수신 모두에서. SO에 대한 조언을 구하는 것만으로 성취 될 수는 없습니다.LOT이 데이터 아키텍처에 포함되어 있습니다. 물론이 설계에서 중요한 것으로 간주되는 많은 세부 사항은 귀하의 질문에 없습니다. 그리고 그 세부 사항이 무엇인지 잘 모르겠다면, SO가 실제로 그것들을 배우기에 가장 좋은 곳인지 모르겠습니다. 나는 https://softwareengineering.stackexchange.com/이이 질문에 더 잘 어울릴 것이라고 생각한다.

제 생각에는 잘못된 것일 수 있습니다. 어느 쪽이든, 나는 데이터베이스 정규 양식 (http://www.bkent.net/Doc/simple5.htm 또는 Google it)에 대해 조금 배우는 것뿐만 아니라 데이터베이스를 구축하는 데 고려해야 할 설계 고려 사항의 유형에 대해 약간의 연구를 수행 할 것입니다. : What are the most important considerations when designing a database?)