1. 원본 문서와 기관 간의 관계
일대일 관계, 일대다 관계, 다대다 관계가 될 수 있습니다. 일반적으로 이들은 일대일 관계로, 즉 원본 문서 한 쌍을 의미합니다 이 집합은 하나의 개체에만 대응해야 합니다. 특수한 경우에는 1대다 또는 다대1 관계일 수 있는데, 즉 하나의 원본 문서가 여러 현실에 대응할 수 있습니다 본문 또는 한 실체에 대응하는 여러 원본 문서가 있습니다. 여기서 엔터티는 기본 표로 이해할 수 있습니다. 이 서신을 명확히 한 후, 저희를 위해 설계해 주세요 입구 인터페이스가 매우 유용합니다. Р�예시 1〗: 직원 이력서 정보는 인사 정보 시스템에서 세 가지 기본 표, 즉 직원 기본 정보 표와 사회 표에 해당합니다 관계 표, 경력 이력서 양식. 이는 "하나의 원본 문서가 여러 실체에 대응한다"는 전형적인 예입니다. 2. 기본 키 및 외부 키 일반적으로 엔터티는 기본 키도 외래 키도 가질 수 없습니다. E-R 다이어그램에서는 리프 부분의 엔티티들이 기본 키를 정의할 수 있습니다. 또한 자식 키가 없기 때문에 기본 키를 정의하지 않고, 외래 키가 있어야 한다는 점도 가능합니다(아버지 키가 있기 때문입니다). 기본 키와 외래 키의 설계는 글로벌 데이터베이스 설계에서 중요한 위치를 차지합니다. 글로벌 데이터베이스 설계가 완료되면, 미국 데이터베이스 설계 전문가들은 "키, 키가 도처에 있어, 키만 있을 뿐"이라고 말했는데, 이것이 그의 데이터베이스 설계 경험입니다 또한 정보 시스템의 핵심(데이터 모델)에 대한 그의 매우 추상적인 생각을 반영합니다. 그 이유는: 기본 키는 매우 추상적인 엔터이고, 기본 키는 다음과 연관되어 있기 때문입니다 엔터티들 간의 연결을 나타내는 외래키 쌍. 3. 기본 표의 성격 기본 테이블은 중간 테이블 및 임시 테이블과 다음과 같은 네 가지 특징을 가지고 있습니다: (1) 원자성. 기본 테이블의 필드는 더 이상 분해 불가능합니다. (2) 원시성. 기본 테이블의 레코드는 원본 데이터(기본 데이터)의 기록입니다. (3) 연역적. 모든 출력 데이터는 기본 테이블과 코드 테이블의 데이터에서 도출할 수 있습니다. (4) 안정성. 기본 테이블의 구조는 비교적 안정적이며, 테이블 내 기록은 오랫동안 보관되어야 합니다. 기본 테이블의 본질을 이해한 후, 데이터베이스를 설계할 때 기본 테이블은 중간 테이블 및 임시 테이블과 구분할 수 있습니다. 4. 패러다임 표준 기본 표와 그 필드 간의 관계는 가능한 한 세 번째 패러다임을 충족해야 합니다. 하지만 세 번째 패러다임을 충족하는 데이터베이스 설계는 종종 그렇지 않습니다 최고의 디자인. 데이터베이스의 운영 효율성을 높이기 위해서는 패러다임 표준을 낮추는 것이 종종 필요합니다: 시간 공간을 확보하기 위해 적절히 중복성을 증가시키는 것입니다 목적. 예시 2: 표 1에 나타난 상품 저장에 대한 기본 표가 있습니다. "금액" 필드의 존재는 해당 테이블이 충족되도록 설계되지 않았음을 나타냅니다 세 번째 패러다임은 충분한 이유로, "amount"는 "단위 가격"에 "quantity"를 곱하여 얻을 수 있어, "amount"가 중복된 체임을 나타냅니다. 하지만 증가 중복된 "amount" 필드는 공간을 시간과 교환하는 쿼리 통계의 속도를 향상시킬 수 있습니다. Rose 2002에서는 규정된 열에 두 가지 유형이 있습니다: 데이터 열과 계산된 열입니다. "금액"과 같은 열은 "계산 열"이라고 하며, "단가"와 "수량" 같은 열은 "데이터 열"이라고 불립니다. 표 1 상품표의 표 구조 제품명: 제품, 모델, 단가, 수량, 수량 TV 29인치 2,500 40 100,000
5. 세 가지 패러다임을 비전문가의 이해로 이해하세요 세 가지 패러다임을 쉽게 이해할 수 있는 것은 데이터베이스 설계에 큰 도움이 됩니다. 데이터베이스 설계에서는 세 가지 패러다임을 더 잘 적용하기 위해 단순히 세 가지 패러다임을 비전문가의 이해로 이해해야 합니다: 첫 번째 패러다임: 1NF는 속성에 대한 원자 제약으로, 속성이 원자적이어야 하며 더 이상 분해할 수 없어야 합니다; 두 번째 패러다임인 2NF는 기록에 대한 고유성 제약으로, 기록이 고유한 식별, 즉 엔터티의 고유성을 가져야 함을 요구합니다; 패러다임 3: 3NF는 필드 중복성에 대한 제약으로, 즉 어떤 필드도 다른 필드에서 도출될 수 없으며, 필드가 중복되지 않아야 한다는 조건입니다
。 어떤 중복된 데이터베이스 설계도 이를 해결할 수 없습니다. 하지만 중복성이 없는 데이터베이스가 반드시 최선의 데이터베이스는 아니며, 때로는 운을 높이기 위해 그런 경우도 있습니다 효율성을 달성하기 위해서는 패러다임 표준을 줄이고 중복 데이터를 적절히 유지해야 합니다. 구체적인 접근법은 개념적 데이터 모델을 설계할 때 세 번째 패러다임을 준수하는 것입니다 물리 데이터 모델 설계에서 패러다임 표준을 축소하는 작업이 고려됩니다. 패러다임을 낮추는 것은 중복성을 허용하는 필드를 추가하는 것입니다. 6. 다대다 관계를 식별하고 올바르게 처리하는 데 능숙해야 합니다 두 개체 간에 다대다 관계가 있다면 그 관계를 제거해야 합니다. 이를 제거하는 방법은 두 가지 사이에 세 번째 실수를 더하는 것입니다 몸. 이렇게 예전에는 다대다 관계였던 것이 이제는 두 개의 일대다 관계가 되었습니다. 원래 두 개체의 속성은 합리적으로 분배되어야 합니다 세 존재에게 가세요. 여기서 세 번째 요소는 본질적으로 더 복잡한 관계로, 기본 표에 해당합니다. 일반적으로 숫자입니다 라이브러리 설계 도구는 다대다 관계를 인식할 수는 없지만, 다대다 관계는 처리할 수 있습니다. 예시 3: "도서관 정보 시스템"에서 "책"은 하나의 엔티티이고, "리더"도 하나의 엔티티입니다. 이 두 존재는 동일합니다 책 간 관계는 전형적인 다대다 관계입니다: 한 책은 여러 독자가 서로 다른 시간에 빌릴 수 있고, 한 독자가 더 많이 빌릴 수도 있습니다 이 책. 이를 위해 두 가지 사이에 "대출 및 반환 책"이라는 세 번째 개념이 추가되어야 하며, 그 속성은 대출 시간과 대여입니다 로고도 있는데(0은 책 대출, 1은 책 반납), 또한 두 개의 외래 키(기본 키인 "book"와 주 키 "reader")가 있어야 합니다. "책"과 "독자"와 연결됩니다. 7. 기본 키 PK의 값 방법 PK는 프로그래머를 위한 테이블 간 연결 도구로, 물리적인 의미가 없는 숫자 문자열일 수 있으며, 프로그램이 자동으로 1에 추가합니다. 네 물리적으로 의미 있는 필드 이름 또는 필드 이름들의 조합입니다. 하지만 전자가 후자보다 낫습니다. PK가 필드 이름의 조합일 때, 필드 수를 제안하세요 너무 많이 세지 마세요. 인덱스는 공간을 많이 차지할 뿐만 아니라 속도도 느려집니다. 8. 데이터 중복을 제대로 구현하기 여러 테이블에서 기본 키와 외래 키가 반복되는 것은 데이터 중복 개념이 아니며, 많은 사람들이 이를 잘 알지 못합니다 。 비키 필드의 반복은 데이터 중복입니다! 그리고 이것은 저수준 중복, 즉 반복적인 중복입니다. 고급 중복은 현장 기반이 아닙니다 반복적으로, 하지만 장의 미분입니다. 예시 4: 상품의 "단가, 수량, 양"이라는 세 필드는 "단가"에 "수량"을 곱하여 도출됩니다. 이것은 중복이며, 일종의 고급 중복입니다. 중복성의 목적은 처리 속도를 높이는 것입니다. 저수준 중복만이 그 수를 늘릴 수 있습니다 동일한 데이터가 서로 다른 시간, 장소, 역할에서 여러 번 입력될 수 있기 때문에 데이터의 불일치가 발생합니다. 따라서 우리는 고급 중복(pie 본질적으로 중복성), 그리고 저수준 중복성(반복적 중복성)에 반대한다. 9. E-R 다이어그램에 대한 표준 답변은 없습니다 정보 시스템의 E--R 다이어그램에 대한 표준 답변은 없으며, 설계와 도면 방식이 고유하지 않기 때문이다. 단, 시스템이 요구하는 비즈니스를 포괄한다면 된다 범위와 기능적 내용은 실현 가능합니다. 대신 E--R 다이어그램을 수정해야 합니다. 비록 단일 표준 답이 없지만, 그렇다고 해서 임의적일 수 있다는 의미는 아닙니다 디자인. 좋은 E-R 다이어그램의 기준은 명확한 구조, 간결한 연관성, 적당한 수의 엔터티, 합리적인 속성 할당, 그리고 저수준 중복 없음입니다. 10. 데이터베이스 설계에서 유용한 보기 기법 기본 테이블, 코드 테이블, 중간 테이블과 달리, 뷰는 데이터 소스의 실제 테이블에 의존하는 가상 테이블입니다. 보기는 프로그래머를 위한 것입니다 데이터베이스를 사용하는 창은 기본 테이블 데이터 합성의 한 형태이자, 데이터 처리 방법이자 사용자 데이터 기밀성의 일종입니다 즉, 복잡한 처리를 수행하고 계산 속도를 높이며 저장 공간을 절약하기 위해 뷰의 정의 깊이는 일반적으로 3계층을 초과해서는 안 됩니다. 3층 정도 돼 뷰가 여전히 부족하다면, 뷰에 임시 테이블을 정의한 다음, 임시 테이블 위에 뷰를 정의해야 합니다. 이렇게 해서 시야의 깊이가 반복적으로 정의됩니다 제한 없이. 국가 정치, 경제, 기술, 군사 및 안보 이익과 관련된 특정 정보 시스템에서는 관점의 역할이 더욱 중요하다. 이것들 시스템 기본 테이블의 물리적 설계가 완료되면, 기본 테이블 위에 첫 번째 뷰 계층이 즉시 설정되며, 이 레이어 뷰의 수와 구조는 기본 테이블과 동일합니다 번호와 구조는 정확히 동일합니다. 그리고 모든 프로그래머는 뷰에서만 작동할 수 있도록 규정되어 있습니다. 오직 데이터베이스 관리자만, 여러 사람이 소지한 '안전 키'는 기본 테이블 위에서 직접 조작할 수 있습니다. 독자들은 왜 이런 일이 일어날까 생각해보도록 초대받는다. 11. 중간 테이블, 문장 및 임시 테이블 중간 테이블은 통계를 저장하는 테이블로, 데이터 웨어하우징, 출력 보고서 또는 쿼리 결과를 위해 설계되었고, 때로는 기본 키가 없을 때도 있습니다. 외래 키(데이터 웨어하우스 제외). 임시 테이블은 프로그래머가 개인용 임시 기록을 저장하기 위해 설계한 것입니다. 기본 및 중간 테이블은 DBA가 관리합니다 임시 테이블은 프로그래머가 직접 자동으로 유지합니다. 12. 무결성 제약은 세 가지 측면에서 나타납니다 도메인 무결성: 제약 조건을 구현하기 위해 Check를 사용하며, 데이터베이스 설계 도구에서는 필드의 값 범위를 정의할 때 Ch가 있습니다 이 버튼을 통해 필드의 가치 도시가 정의됩니다. 참조 무결성: PK, FK, 테이블 수준 트리거로 구현됨. 사용자 정의 무결성: 저장 프로시저와 트리거로 구현된 일부 비즈니스 규칙을 의미합니다. 13. 데이터베이스 설계 패치를 방지하는 방법은 '세 명 줄이기' 원칙입니다 (1) 데이터베이스 내 테이블 수가 적을수록 더 좋습니다. 표의 수가 줄어들 때만 시스템의 E-R 다이어그램이 작고 세밀하다고 말할 수 있으며, 이 도표는 제거된다 중복되고 중복된 개체들은 객관적 세계의 높은 수준의 추상화를 형성하며, 패치 설계를 방지하기 위해 체계적인 데이터 통합이 수행됩니다; (2) 기본 키를 결합하는 테이블의 필드가 적을수록 더 좋습니다. 기본 키의 역할 때문에, 하나는 기본 키 인덱스를 구축하는 것이고, 다른 하나는 하위 테이블 역할을 합니다 외래 키로 구성되어 기본 키 조합의 필드 수를 줄여 실행 시간을 절약할 뿐만 아니라 인덱스 저장 공간도 절약합니다; (3) 표에 필드가 적을수록 더 좋다. 시스템 내 데이터 중복이 없음을 나타내는 필드가 적은 수뿐입니다 데이터 중복이 거의 없으며, 더 중요한 것은 독자들이 "행 변경"을 배우도록 권장받아 필드가 서브테이블의 메인 테이블로 끌어당겨지는 것을 방지한다는 점입니다 , 메인 테이블에 많은 자유 필드가 남게 됩니다. 이른바 '컬럼 변경 행'은 메인 테이블의 일부 내용을 추출해 별도의 테이블을 만드는 것입니다 서브 테이블. 이 방법은 매우 간단합니다. 어떤 사람들은 익숙해지지 않고, 채택하지 않으며, 실행하지 않을 수도 있습니다. 데이터베이스 설계의 실질적인 원칙은 데이터 중복성과 처리 속도 사이의 적절한 균형을 찾는 것입니다. '세 명 줄었다'는 것은 전체론적 개요입니다 사상, 포괄적인 관점은 특정 원칙을 분리할 수 없습니다. 원리는 절대적인 것이 아니라 상대적입니다. "세 명 더" 원칙은 확실히 틀렸습니다. 시도해 봐 생각해 보세요: 시스템의 동일한 기능을 다룬다면, 100개의 엔티티(총 1,000개의 속성)로 이루어진 E--R 다이어그램이 200개의 엔티티(총 2,000개의 속성)로 이루어진 E--R 다이어그램보다 확실히 더 낫습니다 E-R 다이어그램이 훨씬 낫습니다. "세 명 적게" 원칙을 옹호하는 것은 독자들이 체계적인 데이터 통합을 위해 데이터베이스 설계 기술을 배우도록 돕기 위함입니다. 데이터 통합 단계들은 다음과 같습니다: 파일 시스템은 애플리케이션 데이터베이스에 통합되고, 애플리케이션 데이터베이스는 주제 데이터베이스에 통합되며, 주제 데이터베이스는 글로벌 종합 데이터베이스에 통합됩니다. 통합 정도가 높을수록 데이터 공유가 더 강해지고, 정보 섬이 적게 존재합니다 기본 키의 수와 속성의 수는 더 적을 것입니다. "세 명 적음" 원칙을 옹호하는 목적은 독자들이 편집 기술을 이용해 데이터베이스를 지속적으로 추가, 삭제, 수정하여 기업 데이터를 만드는 것을 방지하는 데 있습니다 라이브러리는 임의로 설계된 데이터베이스 테이블들의 '쓰레기 더미' 또는 데이터베이스 테이블의 '혼란'이 되었으며, 결국 데이터베이스 내 기본 테이블과 생성을 유발합니다 코드 테이블, 중간 테이블, 임시 테이블은 복잡하고 수없이 많아 기업과 기관의 정보 시스템을 유지하거나 마비시키는 데 어려움을 초래합니다. "세 개 더" 원칙은 누구나 할 수 있는데, 이는 데이터베이스 설계 시 "패치 방법"의 오류입니다. "세 명 적는" 원칙 이것은 '적지만 훌륭하다'는 원칙으로, 높은 데이터베이스 설계 기술과 예술을 요구하는데, 모두가 할 수 있는 것은 아니며, 이 원칙이 사라지기 때문입니다 "패치 방법"을 사용하여 데이터베이스를 설계하는 이론적 기초. 14. 데이터베이스 운영 효율성을 향상시키는 방법 주어진 시스템 하드웨어 및 시스템 소프트웨어 조건 하에서 데이터베이스 시스템의 운영 효율성을 향상시키는 방법은 다음과 같습니다: (1) 데이터베이스의 물리적 설계에서 패러다임을 줄이고, 중복성을 높이며, 트리거를 줄이고, 저장 프로시저를 더 많이 사용한다. (2) 계산이 매우 복잡하고 레코드 수가 매우 많을 때(예: 1,000만 개), 복잡한 계산은 먼저 데이터베이스 외부에서 이루어져야 합니다 파일 시스템 메서드가 C++ 언어로 계산되고 처리된 후, 최종적으로 테이블에 추가됩니다. 이것이 바로 통신 청구 시스템 설계의 경험입니다. (3) 테이블에 기록이 너무 많아서 1,000만 개를 넘는 경우, 테이블은 수평으로 분할해야 합니다. 수평 분할의 실천은 다음과 같습니다: 테이블의 레코드를 테이블의 기본 키 PK 값을 기준으로 수평으로 두 개의 테이블로 나눕힙니다. 만약 테이블에 필드가 너무 많아, 예를 들어 초과 변수가 발견되면 80, 테이블은 세로로 나뉘어 원래 테이블은 두 개의 테이블로 나뉘어 있습니다. (4) 데이터베이스 관리 시스템 DBMS의 시스템 최적화, 즉 버퍼 수와 같은 다양한 시스템 매개변수의 최적화. (5) 데이터 지향 SQL 언어를 프로그래밍에 사용할 때는 최적화 알고리즘을 채택하려고 노력하세요. 요컨대, 데이터베이스의 운영 효율성을 높이기 위해서는 데이터베이스 시스템, 데이터베이스 설계, 프로그램 구현을 최적화해야 합니다 이 세 가지 수준은 동시에 열심히 작동합니다. 위의 14가지 기술은 많은 데이터베이스 분석 및 설계 실무에서 점차 요약되고 있습니다. 이런 경험들 때문에 독자는 경직되거나 기계적이어서는 안 되며, 소화하고 이해하며 사실에서 진실을 찾고, 유연하게 숙달해야 합니다. 그리고 점차 신청서를 제출하세요 전시, 개발 중인 응용 분야.
|