java - 面试时候问:数据库设计范式的理解
阿神
阿神 2017-04-18 09:36:05
0
3
482

如题,面试的时候,被问到:数据库设计范式的理解?只记得在大学的离散数学中学过第一范式,第二范式,这些定义,工作中还没有舍身处地的使用过这些范式,也不知道在表结构的设计当中,应当如何注意这部分的内容?

麻烦这方面的大神指点一二,非常感谢~~~

阿神
阿神

闭关修行中......

모든 응답(3)
Peter_Zhu
  • 첫 번째 정규형: 모든 필드 값은 분해할 수 없는 원자 값입니다. 인사정보, 주소 등의 필드는 주소가 도, 시, 기타 필드로 세분화될 수 있으므로 첫 번째 정규형을 충족하지 않습니다.

  • 2차 정규형: 각 열은 기본 키와 관련되어 있으며 기본 키(공동 기본 키)의 특정 부분에만 관련될 수는 없습니다.

  • 세 번째 정규형: 세 번째 정규형은 데이터 테이블의 각 데이터 열이 기본 키 에 직접 관련되고 간접적으로 관련될 수 없도록 보장해야 합니다.

小葫芦

사실 3가지 패러다임만 있는 게 아니고, 학교에서는 3가지 주요 패러다임만 가르칩니다.
이해의 패러다임은 다음과 같은 측면에서 출발할 수 있다고 생각합니다

패러다임의 역할

  • 데이터 중복을 줄이고 하드디스크 점유량을 줄여 저장 효율성을 높인다(패러다임이 나오던 시대에도 저장공간은 여전히 ​​꽤 비쌌다)

  • 데이터 일관성을 높입니다.

  • 이해하기 쉽게 요약(엔티티-접촉)

패러다임의 단점

  • 질의 및 검색의 난이도가 높아집니다(연관이 너무 많아 SQL 작성을 생각하기조차 어렵습니다)

  • 낮은 쿼리 효율성

반패러다임의 등장

  • 첫 번째 또는 두 번째 정규형으로 비정규화하고 중복 데이터를 사용하여 데이터 쿼리 속도를 높입니다

  • 저장 효율성은 낮지만, 현재 저장 공간 비용은 여전히 ​​상대적으로 저렴합니다.

  • 쿼리 속도를 높이고 가치가 낮은 데이터가 중복되어 쿼리 데이터가 크게 향상됩니다

패러다임 프리의 등장

  • 문서 데이터베이스(예: mongodb)의 출현은 관계형 데이터베이스에 분명한 영향을 미칩니다.

제가 쓴 건 이게 전부입니다. 틀린 부분이 있으면 알려주세요.

左手右手慢动作

세 가지 주요 패러다임은 정의와 동일하게 사용할 수 있습니다.
즉, 데이터베이스 테이블을 디자인할 때 가장 기본적으로 고려해야 할 것은 첫 번째 테이블 필드가 확정되는 것입니다. 데이터베이스 테이블의 필드는 일반적으로 추상 필드는 고려되지 않습니다. 즉, 주소(상세하지 않음), 정보(상세하지 않음)와 같이 세분화될 수 있는 필드는 고려되지 않습니다. 주소는 국가 및 도시별로 세분화될 수 있습니다. 정보이며 이름, 나이 등도 포함될 수 있습니다.
필드 상관 관계, 없음 중복, 테이블이 독립적이고 관련 속성이 관련되어 있으므로 테이블이 통합되고 잘 매핑될 수 없습니다. 예를 들어 사용자 정보 테이블에는 구매 기록이 있고 주문 테이블에는 연령이 혼합되어 있습니다

마지막 패러다임은 직접 상관관계(Direct Correlation)로, 패러다임은 오름차순으로 간주되며, 처음 두 패러다임이 만족되고, 세 번째 패러다임이 테이블의 데이터가 서로 직접적인 관련이 있는지 여부를 고려합니다. 필드에 직접적인 종속성이 있는지 여부, 종속성이 있는 경우 일반적으로 고려되지 않습니다.

어떤 특별한 경우에는 세 가지 일반 형태와 반대되는 테이블 구조를 디자인할 수도 있습니다. 여기서는 이에 대해 자세히 설명하지 않겠습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!