데이터베이스 디자인의 기초

데이터베이스 디자인의 기초

중요:  본 문서는 기계 번역된 문서이므로 고지 사항을 확인하십시오. 이 문서의 영문 버전은 여기서 확인할 수 있습니다.

적절히 디자인 된 데이터베이스 정확한 최신 정보에 대 한 액세스를 제공합니다. 올바른 디자인을 사용 하 여 데이터베이스의 목표를 달성 하는 데 필수적 이기 때문에 시간을 투자 데 필요한 학습 좋은 디자인의 원리는 것이 좋습니다. 결국에서 훨씬 더 많이 필요에 맞는 데이터베이스 앞 및 변경 내용을 쉽게 반영할 수 있습니다.

이 문서에서는 데스크톱 데이터베이스 계획에 대 한 지침을 제공 합니다. 필요한 정보를 적절 한 테이블 및 열을 해당 정보를 나눌 방법 및 해당 테이블 간에 관계를 결정 하는 방법을 살펴봅니다. 첫 번째 데스크톱 데이터베이스를 만들기 전에이 문서의 해야 합니다.

중요: Access 웹 응용 프로그램 데이터베이스를 만들 수 있는 디자인 환경을 제공 합니다. 웹에 대 한 디자인할 때 많은 디자인 고려 사항 다릅니다. 이 문서의 웹 데이터베이스 응용 프로그램 디자인을 설명 하지 않습니다. 자세한 내용은 웹에서 공유할 데이터베이스 작성문서를 참고 하세요.

이 문서의 내용

알아야 할 몇 가지 데이터베이스 용어

좋은 데이터베이스 디자인은 무엇 인가요?

디자인 프로세스

데이터베이스의 용도 결정

찾기 및 필요한 정보를 구성

정보를 테이블로 분

열으로 전환 하는 정보 항목

기본 키 지정

테이블 관계 만들기

디자인 다듬기

정규화 규칙 적용


알아야 할 몇 가지 데이터베이스 용어

Access 의 정보를 테이블로구성: 행과 열에는 회계 담당자 패드 또는 스프레드시트의 목록입니다. 간단한 데이터베이스에서 테이블을 하나만 있을 수 있습니다. 대부분의 데이터베이스에 대 한 개 이상의 해야 합니다. 예를 들어 고객에 대 한 정보를 사용 하 여 제품, 주문에 대 한 정보를 저장 하는 다른 테이블 및 다른 테이블에 대 한 정보를 저장 하는 테이블을 할 수도 있습니다.

세 테이블을 데이터시트로 보여 주는 이미지

각 열, 필드레코드, 각 행 올바르게 이라고 합니다. 레코드는 항목에 대 한 정보를 결합 하는 의미 있는 일관 된 방식입니다. 필드는 정보에는 단일 항목-모든 레코드에 표시 되는 항목 형식입니다. Products 테이블에서 예를 들어, 각 행 이나 레코드는 길게 한 제품에 대 한 정보입니다. 각 열 또는 필드 몇 가지 유형의 이름, 가격 등 해당 제품에 대 한 정보를 보유합니다.

맨 위로 이동

올바른 데이터베이스 디자인은 무엇인가요?

특정 원칙 데이터베이스 디자인 프로세스를 안내합니다. 첫 번째 원칙 공간을 차지 하 고 오류 및 불일치 가능성이 커집니다 있기 때문에 중복 된 정보 (중복 데이터 라고도 함), 잘못 된 된다는 점입니다. 두 번째 원칙 정확성과 정보의 완전성 중요 한 된다는 점입니다. 데이터베이스에 잘못 된 정보가 포함 된 경우 데이터베이스의에서 정보를 가져와 만든 보고서에 잘못 된 정보가 포함 됩니다. 따라서 모든 내리는 해당 보고서를 기반으로 하는 잘못 전달한 다음 됩니다.

좋은 데이터베이스 디자인 즉, 하나는:

  • 중복 데이터를 줄일 주제 기반 테이블로 정보로 나눕니다.

  • 필요에 따라 함께 정보 테이블에서 조인 하는 데 필요한 정보에 대 한 액세스를 제공 합니다.

  • 도움이 지원 하며 정확도 및 개인 정보의 무결성 보장 합니다.

  • 데이터 처리 및 보고 요구 받아들입니다.

맨 위로 이동

디자인 프로세스

디자인 프로세스는 다음과 같은 단계로 구성 됩니다.

  • 데이터베이스의 용도 결정   

    이렇게 하면 나머지 단계에 대 한 작업을 준비할 수 있습니다.

  • 찾기 및 필요한 정보를 구성   

    모든 종류의 제품 이름 및 주문 번호와 같은 데이터베이스에서 녹화 하려는 경우 정보를 수집 합니다.

  • 정보를 테이블로 구분   

    주요 항목이 나 주제로 제품이 나 주문 등으로 정보 항목을 나눌 수 있습니다. 각 주제 표 됩니다.

  • 정보 항목 열으로 설정   

    각 테이블에 저장할 정보를 결정 합니다. 각 항목 필드를 되 고 테이블의 열으로 표시 됩니다. 예를 들어 Employees 테이블 성 및 고용 날짜와 같은 필드를 포함할 수 있습니다.

  • 기본 키 지정   

    각 테이블의 기본 키를 선택 합니다. 기본 키가 각 행을 고유 하 게 식별 하는 데 사용 되는 열입니다. 제품 ID 또는 주문 id입니다. 예로 들 수 있습니다.

  • 테이블 관계 설정   

    각 테이블 살펴보고 한 테이블의 데이터 관계 다른 테이블에 데이터를 결정 합니다. 테이블에 필드를 추가 하거나 필요에 따라 관계를 명확 하 게 새 테이블을 만듭니다.

  • 디자인 다듬기   

    오류에 대 한 디자인을 분석 합니다. 테이블 만들기 및 샘플 데이터의 몇 가지 레코드를 추가 합니다. 테이블에서 원하는 결과 얻을 수 있는 경우 참조 하십시오. 필요에 따라 조정 하 고 디자인을 확인 합니다.

  • 정규화 규칙 적용   

    테이블은 구조가 올바른지 확인 하려면 데이터 정규화 규칙을 적용 합니다. 필요에 따라 조정 하 여 테이블을 확인 합니다.

맨 위로 이동

데이터베이스의 용도 결정

종이에 데이터베이스의 용도 기록 하는 것이 좋습니다 등의 용도를 사용 하 여 기대 하는 방법 및 사용자가 사용 됩니다. 가정용으로 사용할 작은 데이터베이스에 대 한 예를 들어 작성할 수 있습니다 간단한 등을 "고객 데이터베이스 목록은 편지와 보고서를 생성 하기 위해 고객 정보를 유지할 수 있습니다." 데이터베이스가 더 복잡 한 많은 사람들에서 사용 하는 경우 자주 발생 회사 설정을 목적 단락을 한 명 이상 쉽게 수 있으며 시기와 각 사용자가 데이터베이스를 사용 하는 방법을 포함 되어야 합니다. 전체 디자인 프로세스에서 참조할 수 있는 잘 개발 된 업무 목표 할 것이입니다. 결정을 내릴 때 목표에 집중는 이러한 문 도움이 필요 합니다.

맨 위로 이동

찾기 및 필요한 정보를 구성

찾고 구성 하는 데 필요한 정보를 기존 정보로 시작 합니다. 예를 들어 원장 또는 유지 고객 정보를 파일 캐비닛에 종이 양식에에서 구매 주문서를 기록할 수 있습니다. 이러한 문서를 수집 하 고 각 유형의 정보 표시 (예를 들어 폼에 입력 하는 각 상자)를 나열 합니다. 고객 정보를 기록 하는 양식 디자인에 있는 모든 기존 양식에 없는 경우 대신 가정 합니다. 양식에 정보를 입력 해야 할까요? 어떤 텍스트 상자를 만들어야 할까요? 식별 하 고 각이 항목의 목록입니다. 예를 들어 고객 목록 색인 카드의 현재 유지 해야 합니다. 이러한 카드 검사 각 카드 보유 고객 이름, 주소, 시/도, 상태, 우편 번호, 전화 번호를 표시할 수 있습니다. 각이 항목의 테이블에서 잠재적 열을 나타냅니다.

이 목록 준비를 할 때 발생 하는 방법에 대 한 걱정 처음부터 완벽 한 합니다. 대신, 염두에 제공 되는 각 항목을 나열 합니다. 다른 사용자를 사용할 경우 데이터베이스를 너무 자신의 아이디어에 요청 합니다. 나중에 목록을 세부적으로 조정할 수 있습니다.

그런 다음, 보고서 또는 데이터베이스에서 생성 하는 것이 좋습니다 편지의 종류를 고려해 야 합니다. 예를 들어, 지역별 매출을 표시 하려면 제품 판매 보고서 또는 제품 재고 수준을 보여 주는 인벤토리 요약 보고서 할 수 있습니다. 판매 이벤트를 알리는 또는 최상의 제공 하는 고객에 게 보낼 편지 양식 생성할 수도 있습니다. 내용을 취소에서 보고서를 디자인 하 고는 같습니다 어떤 했다고 가정 하겠습니다. 보고서에 정보를 배치 하는 무엇 인가요? 각 항목을 나열 합니다. 편지 양식 및 해야 하는 만드는 다른 보고서에 대해 동일한 작업을 수행 합니다.

제품 재고 보고서를 구상하고 있는 사람

보고서 및 만들 수도 편지에 생각해 데이터베이스에 해야 할 항목을 확인할 수 있습니다. 예를 들어 고객 (또는 부재 중)에 옵트인 하려면 영업 기회를 제공 정기적으로 전자 메일 업데이트 하려는 선택한 사람들의 목록을 인쇄 합니다. 해당 정보를 기록 하려면 고객 테이블에 "전자 메일 보내기" 열을 추가 합니다. 각 고객에 대 한 필드 아니요를 설정할 수 있습니다.

고객에 게 전자 메일 메시지를 보내려면 요구 사항을 기록 하려면 다른 항목을 제안 합니다. 전자 메일 메시지를 받을 고객 원한다는 것을 알고 있다면 전자 메일 주소를 보내고 싶은 알아야 할 수도 있습니다. 따라서 각 고객에 대 한 전자 메일 주소를 기록 하려면 필요 합니다.

좋은 하려고를 할 각 보고서의 프로토타입 생성 또는 출력 목록의 한 어떤 항목을 고려 보고서를 생성 해야 합니다. 예를 들어, 편지 양식을 검사 하는 경우 몇 가지 사항을 염두에 가져올 수 있습니다. 적절 한 인사말 포함 하려는 경우 — 예를 들어 인사말을 시작 하는 "님", "Mrs." 또는 "김" 문자열을 갖습니다 인사말 항목을 만듭니다. 또한, "님께 씨 Smith" 대신 "님께 편지 일반적으로 시작할 수 있습니다. Sylvester 김 "입니다. 이 첫 번째 이름에서 별도 성을 저장 하려는 일반적으로 제안 합니다.

기억 하기 요점은 유용한 가장 작은 부분에 정보의 각 부분을 구분 해야 한다는 것입니다. 이름의 경우 성을 쉽게 사용할 수 있도록 하려면의 연결이 끊어집니다 이름이 두 부분으로 — 이름, 성을 합니다. 보고서를 성을 기준으로 정렬 하려면 예를 들어 있으면 도움이 고객의 성을 따로 저장 합니다. 일반적으로 정보 항목을 기반으로 보고서 또는 정렬, 검색, 계산 하려는 경우 자체 필드에 해당 항목을 입력 해야 합니다.

생각 질문에 대 한 응답 하려면 데이터베이스를 할 수 있습니다. 예를 들어, 주요 제품의 얼마나 많은 판매 실적 지난 달? 우수 고객 수행 어디에 있나요? 인기 판매 제품의 공급 업체는 누구 입니까? 이러한 질문을 예상 하면 0에서 레코드를 추가 항목에 수 있습니다.

이 정보를 수집한 후 다음 단계에 대 한 준비가 합니다.

맨 위로 이동

정보를 테이블로 분

정보를 테이블로 구분 하려면 주요 항목 또는 주제를 선택 합니다. 예를 들어 찾아 제품 판매 데이터베이스에 대 한 정보를 구성 하면 기본 목록이 다음과 같이 표시 될 수 있습니다.

주제별로 그룹화된 필기 정보 항목

여기에 표시 된 주요 항목 제품, 공급 업체, 고객 및 주문이 됩니다. 이러한 네 가지 테이블 시작 하려고 할 따라서: 제품에 대 한 내용에 대 한 공급자에 대 한 팩트, 고객에 대 한 팩트, 하나는 주문에 대 한 팩트 합니다. 목록, 완전 이지만 좋은 시작점이 됩니다. 제대로 작동 하는 디자인 설정 될 때까지이 목록을 구체화를 계속할 수 있습니다.

먼저 예비 항목 목록을 검토을 위의 그림에 나와 있는 네 개의 대신 단일 테이블에 모두 넣을 수 있습니다. 하는 이유는 바람직하지 여기 설명 합니다. 여기에 표시 된 표를 잠시 것이 좋습니다.

제품과 공급업체가 모두 포함된 테이블을 보여 주는 이미지

이 경우 각 행에는 제품과 공급 업체에 대 한 정보가 들어 있습니다. 동일한 공급 업체에서 여러 제품이 공급 업체 이름 및 주소 정보와 하기 때문에 반복 횟수를 계산 합니다. 디스크 공간을 차지 합니다. 별도 공급 업체 테이블에 한 번만 공급 업체 정보를 기록 하 고 다음 제품 테이블을 해당 테이블에 연결 하지 않는 경우 훨씬 더 나은 솔루션

공급 업체에 대 한 정보를 수정 해야 할 경우이 디자인 된 두 번째 문제에 대 한 제공 됩니다. 예를 들어 공급 업체의 주소를 변경 해야 합니다. 여러 위치에서 나타나므로 실수로 한 곳에서 주소를 변경 했지만 잊지 다른에서 변경할 수 있습니다. 공급 업체의 주소를 녹음/녹화 한 위치 에서만 문제를 해결 합니다.

데이터베이스를 디자인할 때 각 팩트를 한 번만 기록 하려면 항상 봅니다. 특정 공급 업체에 대 한 주소와 같은 여러 곳에서 동일한 정보가 반복 경우 별도 테이블에 해당 정보를 놓습니다.

마지막으로, 하나의 제품이 극동 무역 ㈜가 제공 하 고 제품 삭제 했지만 공급 업체 이름 및 주소 정보를 유지 하려는 경우를 가정 합니다. 또한 공급 업체 정보는 그대로 유지 한 채 제품 레코드를 삭제는 방법 당신은 할 수 없어요. 각 레코드는 제품에 대 한 사실 물론 공급 업체에 대 한 내용에 포함 된 때문에 다른 삭제 하지 않고 한 삭제할 수는 없습니다. 두 개로 한 테이블 분할 해야 하는 이러한 사실의 별도 유지 하기 위해: 제품 정보에 대 한 한 테이블 및 공급 업체 정보에 대 한 다른 테이블입니다. 제품 레코드를 삭제 하면만 팩트 제품에 대 한 공급 업체 사항을 삭제 해야 합니다.

표도 표현 된 주제를 선택한 후 해당 테이블의 열 제목에 대 한 정보를 저장 해야 합니다. 예를 들어, product 테이블 제품에 대 한 정보를 저장 해야 합니다. 공급 업체 주소는 공급 업체에 대 한 팩트 및 제품에 대 한 팩트 아닌 이기 때문에 공급 업체 테이블에 속합니다.

맨 위로 이동

열으로 전환 하는 정보 항목

테이블의 열을 확인 하려면 테이블에 기록 된 주제에 대 한 추적 해야 할 정보를 결정 합니다. 예를 들어 고객 테이블의 이름, 주소, 시/도-City-우편 번호, 전자 메일 보내기, 인사말 및 전자 메일 주소 좋은 시작 목록 단으로 구성 합니다. 동일한 집합을 포함 하는 테이블의 각 레코드의 열 이름, 주소, 시/도-City-우편 번호, 전자 메일 보내기, 저장할 수 있도록 인사말 및 전자 메일 주소 정보를 각 레코드에 대 한 합니다. 예를 들어 주소 열 고객의 주소가 포함 됩니다. 한 명의 고객에 대 한 데이터를 포함 하는 각 레코드 및 해당 고객에 대 한 주소 필드에는 주소입니다.

각 테이블에 대 한 열의 초기 집합을 결정 한 후 열을 추가로 구체화할 수 있습니다. 예를 들어 고객 이름을 두 개의 열으로 저장 하려고 할: 정렬할 수 있도록 검색 및 인덱싱 이름, 성, 이름, 해당 열에 있습니다. 마찬가지로, 주소 5 개의 별도 구성 요소, 주소, 시/도, 상태, 우편 번호 및 국가/지역 실제로 구성 되며 별도 열에 저장 하려고 할 수도 있습니다. Search, 시/도별 필터 또는 정렬 작업을 수행 하려는 경우 별도 열에 저장 된 상태 정보가 필요 예를 들어 있습니다.

데이터베이스도 국내에 대해서만 또는 국제 되는 정보 보유 여부를 고려해 야 합니다. 예를 들어, 국제 주소를 저장 하려는 경우 것이 좋습니다 상태, 대신 지역 열에 이러한 열 국내 상태 및 기타 국가/지역의 지역 수용할 수 있으므로. 마찬가지로, 우편 번호는 국제 주소를 저장할 이동 되는 경우 우편 번호 보다 것이 좋습니다.

다음 목록은 열을 확인 하기 위한 몇 가지 팁입니다.

  • 계산 된 데이터를 포함 하지   

    대부분의 경우에서 하지 테이블의 계산의 결과 저장 해야 합니다. 대신, 결과 표시 하려는 경우 계산을 실행 되도록을 할 수 있습니다. 예를 들어 주문 데이터베이스에 있는 제품의 각 범주에 대 한 단위 부분합을 표시 하는 제품의 주문 보고서가 있습니다. 하지만 모든 테이블에 없는 단위에서 주문 소계 열이 됩니다. 대신, Products 테이블 주문 각 제품에 대 한 단위를 저장 하는 단위에서 순서 열이 포함 되어 있습니다. 해당 데이터를 사용 하 여 Access 부분합 때마다 계산 보고서를 인쇄 합니다. 테이블의 부분합 자체를 저장 되어야 합니다.

  • 가장 작은 논리적 부분에서 정보를 저장 합니다.   

    전체 이름 또는 제품 설명 함께 제품 이름에 대 한 단일 필드를 포함할 수 있습니다. 여러 종류의 필드의 정보를 결합 하는 경우 나중에 개별 정보를 검색할 하기가 어렵습니다. 정보를 논리적 부분; 세분화 시도 예를 들어, 성, 이름 또는 제품 이름, 범주 및 설명에 대 한 별도 필드를 만듭니다.

디자인하는 동안의 정보 항목을 보여 주는 이미지

각 테이블의 데이터 열을 미세 조정가 되 면 준비가 되었으면 각 테이블의 기본 키를 선택 합니다.

맨 위로 이동

기본 키 지정

각 테이블 열 또는 테이블에 저장 된 각 행을 고유 하 게 식별 하는 열 집합이 포함 되어야 합니다. 직원 ID 번호 또는 일련 번호와 같은 고유한 식별 번호가 자주입니다. 데이터베이스 용어로이 정보는 테이블의 기본 키 라고 합니다. Access 기본 키 필드를 사용 하 여 신속 하 게 여러 테이블에서 데이터를 연결 하 고 데이터를 결합 합니다.

테이블의 기본 키로 해당 식별자를 사용할 수 있는 고유 하 게 카탈로그에서 각 제품을 식별 하는 제품 번호와 같은 테이블에 대 한 고유한 식별자를 이미 있는 경우-이 열에에서 있는 값을 각 레코드에 대해 서로 다른 요금은 항상 경우에 있습니다. 기본 키에서 중복 값을 사용할 수 없습니다. 예를 들어 있으므로 사용 하지 않습니다 사용자 이름이 기본 키로 이름은 고유 하지 마십시오. 동일한 테이블에 같은 이름의 두 명의 사용자를 쉽게 있을 수 있습니다.

기본 키 값을 항상 있어야 합니다. 열 값을 지정 하지 않은 될 수 있는 경우 또는 알 수 없음 (누락 된 값) 특정 시점에 기본 키의 구성 요소와 사용할 수 없습니다.

항상 기본 키 값을 갖는 변경 되지 것입니다를 선택 해야 합니다. 둘 이상의 테이블을 사용 하는 데이터베이스에서 테이블의 기본 키 다른 테이블에 대 한 참조로 사용할 수 있습니다. 기본 키 변경 되 면 변경 내용을 적용 해야 키를 참조 하는 모든 위치입니다. 변경할 수 없는 기본 키를 사용 하 여 기본 키 참조 하는 다른 테이블와 동기화 될 수 있다는 가능성이 줄어듭니다.

종종, 임의의 고유 번호가 기본 키로 사용 됩니다. 예를 들어 각 주문 고유한 주문 번호를 지정할 수 있습니다. 주문 번호 유일한 목적은 순서를 식별 하는 것입니다. 지정 된 순서 없음으로 변경 합니다.

열 또는 열을 올바른 기본 키를 만들 수 있는 집합이 염두에 없는, 일련 번호 데이터 형식이 있는 열을 사용 하는 것이 좋습니다. 일련 번호 데이터 형식을 사용 하면 Access 값을 자동으로 할당 합니다. 이러한 식별자에는 행위 설명 하는 것을 나타내는 행 없이 실제 정보가 들어 있습니다. 이러한 식별자를 기본 키로 사용 하기에 적합 되므로 변경 되지 않습니다. 행에 대 한 정보가 들어 있는 기본 키-전화 번호 또는 고객 이름,-자체 실제 정보가 변경 될 수 있으므로, 변경 될 가능성이 됩니다.

기본 키 필드가 있는 제품 테이블을 보여 주는 이미지

1. 일련 번호 데이터 형식으로 자주 설정 열 올바른 기본 키를 만듭니다. 두 개의 제품 번호가 없는 동일합니다.

경우에 따라 테이블의 기본 키를 함께 제공 된 두 개 이상의 필드를 사용 하는 것이 좋습니다. 주문에 대 한 줄 항목을 저장 하는 주문 정보 테이블에서 기본 키에 두 개의 열을 사용 합니다 예: 주문 ID 및 제품 id입니다. 기본 키에서 둘 이상의 열을 사용 하는 경우 복합 키를 라고도 됩니다.

제품 판매 데이터베이스에 대 한 각각의 기본 키로 사용할 테이블에 대 한 일련 번호 열을 만들 수 있습니다: Products 테이블에 대 한 ProductID, 주문에 대 한 주문 Id 테이블, Customers 테이블에 대 한 제품 번호와 Suppliers 테이블에 대 한 공급 업체 Id입니다.

디자인하는 동안의 정보 항목을 보여 주는 이미지


맨 위로 이동

테이블 관계 만들기

정보를 테이블로 구분 했으므로 취합 정보 다시 의미 있는 방식으로 하는 방법이 필요 합니다. 예를 들어 다음 양식을 여러 테이블의 정보가 포함 되어 있습니다.

주문 폼 이미지

1. 이 폼의 정보를 가져오는 위치는 고객 테이블...

2.... 되돌립니다 employees 테이블...

3.... 되돌립니다 orders 테이블...

4.... 되돌립니다 products 테이블...

5.... 그런 주문 정보 테이블입니다.

Access는 관계형 데이터베이스 관리 시스템입니다. 관계형 데이터베이스에서 정보를 별도, 주제 기반 테이블로 나눌 수 있습니다. 다음 테이블 관계를 사용 하 여 정보를 필요에 따라 함께 가져올 수 있습니다.

맨 위로 이동

일대다 관계 만들기

예: 제품의 공급 업체와 제품 테이블 주문 데이터베이스입니다. 공급 업체 제품의 수를 제공할 수 있습니다. Suppliers 테이블에 나타나는 모든 공급 업체에 대 한 있을 수 있다는 Products 테이블에 나타나는 여러 제품이 따릅니다. 공급 업체 테이블과 제품 테이블 간 관계는 따라서-일대다 관계입니다.

일대다 개념

데이터베이스 디자인의-일대다 관계를 나타내려면 관계의 "일" 쪽에서 기본 키를 작성 하 고 관계의 "다" 쪽에 있는 테이블에 추가 열 또는 열 추가 합니다. 이 경우 예를 들어 추가한 공급 업체 ID 열 Suppliers 테이블에서 제품 테이블을 합니다. Access에서에서 사용할 수 공급 업체 ID 번호 Products 테이블 각 제품에 대 한 올바른 공급 업체를 찾을 수 있습니다.

Products 테이블에서 공급 업체 ID 열을 외래 키라고 합니다. 외래 키를 다른 테이블의 기본 키가입니다. Products 테이블에서 공급 업체 ID 열은 Suppliers 테이블의 기본 키 이기도 하므로 외래 키입니다.

디자인하는 동안의 정보 항목을 보여 주는 이미지

기본 키와 외래 키의 쌍을 설정 하 여 관련된 테이블을 조인에 기본을 제공 됩니다. 테이블에서 공통 열을 공유 해야 확실 하지 않은 경우-일대다 관계를 식별 하는 방법은 관련 된 두 테이블에 공유 열 필요 실제로 합니다를 사용 하면 됩니다.

맨 위로 이동

다대다 관계 만들기

Products 테이블 및 주문 테이블 간의 관계를 고려해 야 합니다.

단일 주문을 두 개 이상 제품을 포함할 수 있습니다. 한편, 단일 제품이 여러 주문에 나타날 수 있습니다. 따라서 Orders 테이블의 각 레코드에 대 한에 있을 수 많은 레코드 Products 테이블입니다. 및 Products 테이블의 각 레코드에 대 한 있을 수 많은 레코드 Orders 테이블의 합니다. 모든 제품에 대 한 수 있기 때문에 여러 개의 주문; 이러한 유형의 관계를 다대다 관계 라고 한 순서 없이 배열에 대 한 있을 수 많은 제품 합니다. 테이블 간의-다대다 관계를 검색 하려면,이 관계의 양쪽 고려 하는 중요 합니다.

두 테이블의 주제-주문 및 제품 등 다 다 관계가 설정 합니다. 문제가 발생 합니다. 이 문제를 이해 하기 위해 어떤 일이 발생 했다고 가정 하겠습니다. Orders 테이블에는 제품 ID 필드를 추가 하 여 두 테이블 간의 관계를 만들려고 하면 됩니다. 주문 당 두 개 이상 제품을 사용 하는 하려면 주문 당 주문 테이블에서 하나 이상의 레코드를 해야 합니다. 하면 주문 정보가 반복 단일 순서와 관련 된 각 행에 대 한 — 정확 하지 않은 데이터를 이동할 수 있는 비효율적인 디자인이 만들어집니다. Products 테이블에서 주문 번호 필드를 배치 하는 경우 같은 문제를 발생-각 제품에 대 한 제품 테이블에서 하나 이상의 레코드 넣어야 합니다. 이 문제를 해결 하는 방법은 수 있나요?

답변 라고도 함-일대다 관계 두-다대다 관계 세분화 된 접합 테이블 세 번째 테이블을 만드는 것입니다. 두 테이블의 각에서 세 번째 테이블에 기본 키를 삽입 합니다. 따라서 세 번째 테이블에는 각 항목 또는 관계의 인스턴스 기록 됩니다.

다대다 관계의 개념

주문 정보 테이블의 각 레코드 주문에 대 한 품목을 나타냅니다. 두 개의 필드로 구성 된 주문 정보 테이블의 기본 키-주문 및 제품 테이블의 외래 키입니다. 하나의 주문 여러 줄 항목이 있을 수 있으므로이 테이블에 대 한 기본 키로만 주문 ID 필드를 사용 하 여 작동 하지 않습니다. 주문 ID 필드가 고유 값이 포함 되지 않도록 주문에 각 항목에 대 한 반복 됩니다. 단독 제품 ID 필드를 사용 하 여 제대로 작동 하지 않습니다, 한 제품 여러 다른 주문에 나타날 수 있기 때문에 있습니다. 하지만 함께, 두 개의 필드가 각 레코드에 대 한 고유 값이 항상 생성 합니다.

제품 판매 데이터베이스에서 Orders 테이블 및 Products 테이블 관련이 없는 서로 직접 합니다. 대신,가 통해 간접적으로 관련 주문 정보 테이블입니다. 주문 및 제품의-다대다 관계는 두 개의-일대다 관계를 사용 하 여 데이터베이스에 표시 됩니다.

  • Orders 테이블 및 주문 정보 테이블에는-일대다 관계가 있습니다. 각 주문에 둘 이상의 품목 있을 수 있지만 각 품목별로 하나만 순서에 연결 되어 합니다.

  • 일대다 관계가 된 제품 테이블 및 주문 정보 테이블입니다. 각 제품 관련 된 여러 줄 항목이 있을 수 있지만 각 항목을 하나만 제품 참조 합니다.

주문 정보 테이블에서 특정 순서에 따라 제품의 모든를 확인할 수 있습니다. 특정 제품에 대 한 주문의 모든 확인할 수 있습니다.

주문 정보 테이블 통합 하면 후 테이블 및 필드 목록이 다음과 같이 표시 될 수 있습니다.

디자인하는 동안의 정보 항목을 보여 주는 이미지


맨 위로 이동

일대일 관계 만들기

다른 유형의 관계 일대일 관계입니다. 예를 들어 해야 하는 거의 일부 특수 한 보충 제품 정보를 기록 하려면 필요 하거나 몇 가지 제품에만 적용 되 합니다. 정보는 자주 필요 하지 않은 및 빈 공간에 있는 모든 제품에 대 한 적용 되지 않습니다를 초래 Products 테이블에서 정보를 저장 되므로 별도 테이블에 놓습니다. Products 테이블 같은 기본 키로 ProductID를 사용합니다. 이러한 보충 테이블과 제품 테이블 간의 관계 일대일 관계가입니다. Product 테이블의 각 레코드에 대해 보충 테이블에서 일치 하는 단일 레코드 존재. 이러한 관계를 식별할 때 두 테이블의 공통 필드가 공유 해야 합니다.

데이터베이스에서 일대일 관계에 대 한 요구를 감지 하는 경우에 여부에 사용할 수 있는 두 테이블의 정보가 함께 한 테이블 하는 것이 좋습니다. 할 일 하는 몇 가지 이유로 않으려면: 품목이 있기 때문에 빈 공간을 많이 초래 다음 목록 표시 디자인에서 관계를 나타내는 것 방법:

  • 동일한 주제의 두 테이블을 두 테이블에서 동일한 기본 키를 사용 하 여 관계를 설정할 수 있을 수입니다.

  • 두 테이블을 사용 하는 다른 기본 키를 사용 하 여 다른 주제 테이블 (중 하나) 중 하나를 선택 하 고 외래 키로 다른 테이블의 기본 키를 삽입 합니다.

테이블 간의 관계를 결정 하는 데 적합 테이블 및 열에 수 있습니다. 일대일 또는 일대다 관계가 있으면 관련된 테이블에서 공통 된 열 또는 열을 공유 해야 합니다. 다대다에 관계가 있으면 세 번째 테이블의 관계를 나타내는 데 필요 합니다.

맨 위로 이동

디자인 다듬기

테이블, 필드 및 필요한 관계 했으면 및 예제 데이터가 있는 테이블을 채우는 만들고 해야 정보로 연습해 보세요: 쿼리 만들기, 새 레코드를 추가 하 고 있습니다. 이렇게 하면이를 통해 발생할 수 있는 문제를 강조 표시할 수-예를 들어 디자인 단계 삽입할 잊은 경우 열을 추가 해야 할 수 또는 분할 해야 하는 테이블 되었을 중복을 제거 하려면 두 테이블에 있습니다.

참조 하는 경우 원하는 답을 얻을 수 있는 데이터베이스를 사용할 수 있습니다. 폼과 보고서의 초안 만들기 및 원하는 데이터가 표시 되는지 확인 합니다. 불필요 한 중복 데이터를 찾습니다 하 고 있는지 확인 하 제거 하 여 디자인을 변경 합니다.

초기 데이터베이스를 사용해 처럼 개선 위한 채팅방을 찾을 수 있습니다. 몇 가지 사항을 확인 하는 다음과 같습니다.

  • 모든 열 했는지? 기존 테이블에 있는 정보 속한 하는 등 하는 경우 다른 항목에 대 한 정보를 다른 테이블을 만들 할 수 있습니다. 트랙에 필요한 모든 정보 항목에 대 한 열을 만듭니다. 정보를 다른 열에서 계산할 수 없는 것이 대 한 새 열을 할 수 있습니다.

  • 필요 하지 않은 모든 열 기존 필드에서 계산할 수 있으므로? 정보 항목 기존의 다른 열에서 계산할 수 있는 경우-예를 들어 소매 가격에서 할인된 가격 계산-하 고 새 열을 만드는 대신 일반적으로 좋습니다.

  • 반복 해 서 중복 정보 입력 테이블 중 하나에? 만일 그렇다면 그-일대다 관계가 있는 두 개의 테이블에 테이블을 구분 해야 하는 것입니다.

  • 여러 필드, 레코드를 수가 제한 되어 및 개별 레코드의 많은 빈 필드를 사용 하 여 테이블 있습니까? 그렇다면, 적은 수의 필드와 더 많은 레코드에 표를 다시 디자인 하는 방법에 대 한 생각 됩니다.

  • 각 정보 항목 유용한 가장 작은 부분으로 분할 된? 보고, 정렬, 검색, 또는 정보 항목에서 계산 해야 하는 경우 자체 열에서 해당 항목을 저장 합니다.

  • 각 열에 팩트 테이블의 주제에 대 한 포함 되어 있습니까? 열에 테이블의 주제에 대 한 정보가 없는 경우 다른 테이블에 속합니다.

  • 일반 필드 또는 제 3의 테이블이 나타내는 테이블 간의 관계를 모두 인가요? 일대일 및 일대다 관계 공통 열 필요합니다. 다대다 관계는 세 번째 테이블이 필요합니다.

제품 테이블 조정

제품 판매 데이터베이스에 있는 각 제품 음료, 향신료 또는 해산물 등의 일반 범주에서 해당 가정 합니다. Products 테이블의 각 제품 범주를 표시 하는 필드를 포함할 수 있습니다.

검토 하 고 데이터베이스의 디자인 조정한 후는 가정, 이름과 함께 범주에 대 한 설명을 저장할 수 있습니다. 범주 아래에 있는 각 제품에 대 한 각 범주 설명을 반복 해야 할 제품 테이블에 범주 설명 필드를 추가 하는 경우-좋은 솔루션 하는 것은 아닙니다.

더 나은 솔루션 범주 자체 테이블 및 고유한 기본 키로 추적 하는 데이터베이스에 대 한 새 주제를 거는 됩니다. 외래 키로 제품 테이블을 범주 테이블의 기본 키를 추가 다음 있습니다.

Categories and Products 테이블에 일대다 관계가: 범주 하나 이상의 제품이 포함 될 수 있지만 제품을 하나의 범주에 속하는 수 있습니다.

표 구조를 검토 하는 경우 반복 그룹에 대 한 감시 켜야 합니다. 예를 들어 다음 열이 포함 된 테이블:

  • 제품 ID

  • 이름

  • 제품 번호 1

  • Name1

  • 제품 ID2

  • Name2

  • 제품 번호 3

  • Name3

여기에서 각 제품은만 열 이름의 끝에 번호를 추가 하 여 다른 다른 열 반복 그룹입니다. 이 방법으로 번호가 매겨진 열 표시 되 면 디자인을 다시 확인 해야 합니다.

이러한 디자인에는 몇 가지 결함 합니다. 주로 강제로 상한선 제품 번호에 배치할 수 있습니다. 한도 초과 하는 즉시 주요 관리 작업 하는 표 구조를에 새 그룹의 열을 추가 해야 합니다.

다른 문제는 추가 열 비어 있으므로 공급 업체에서 제공 된 제품의 최대 수 보다 적은 수의 일부 공간을 낭비 됩니다. 이러한 디자인 가장 심각한 결함은 다양 한 작업 정렬 또는 인덱싱 제품 ID 또는 이름을 기준으로 테이블을 같은 수행 하기 어려운입니다.

때마다 분할 하 여 테이블을 두 개로와 밀접 하 게 설계를 검토 하는 그룹 반복 표시 됩니다. 공급 업체 id 연결 된 제품에 대 한 사용 하 여 두 테이블, 공급 업체에 대 한 하는 것이 좋습니다 위의 예제

맨 위로 이동

정규화 규칙 적용

디자인에서 다음 단계로 (방금 경우가 정규화 규칙 이라고 함) 데이터 정규화 규칙을 적용할 수 있습니다. 이러한 규칙을 사용 하 여 테이블은 구조가 올바른지 확인 합니다. 데이터베이스 디자인 하는 규칙을 적용 하는 과정 데이터베이스나 just 정규화 표준화 라고 합니다.

정규화 정보 항목을 모두 표시 되는 기본 디자인에 도착 한 후 가장 유용 합니다. 적절 한 테이블로 정보 항목 구분을 보장 하기 위해 것이입니다. 어떤 정규화 할 수 없는 작업은 올바른 데이터 항목을 모두 시작 해 있는지 확인 합니다.

연속 해 서, 각 단계 보장 디자인의 "기본 양식입니다." 라고 기능 중 하나에 도착 하는 규칙을 적용 다섯 가지 기본 양식 널리 사용 되는-다섯째 기본 폼을 통해 첫 번째 기본 양식입니다. 이 문서는 대부분의 데이터베이스 디자인에 필요한 모든 있기 때문에 처음 3 개를 확장 합니다.

첫 번째 기본 폼

첫째 기본 폼에서 테이블의 모든 행과 열이 교차, 있는지에서는 단일 값을 한 적이 없는 값 목록이 나와 있습니다. 예를 들어 라는 두 개 이상 가격 두면 가격 필드를 사용할 수 없습니다. 한 셀과의 행과 열이 교차 하 각의 생각 되는 경우 각 셀 값이 하나만 보유할 수 있습니다.

둘째 기본 폼

둘째 기본 폼 키가 아닌 각 열 전체 기본 키, 키의 일부가 아니라 완전히 종속 되어야 필요 합니다. 여러 개의 열으로 구성 된 기본 키가 있는 경우이 규칙이 적용 됩니다. 예를 들어 주문 ID 및 제품 번호 기본 키가 구성 위치는 다음과 같은 열이 포함 된 테이블을 한다고 가정 합니다.

  • 주문 ID (기본 키)

  • 제품 ID (기본 키)

  • 제품 이름

전체 기본 키에 종속 되지 않도록 제품 이름이 제품 ID 하지만 제외 주문 ID에 종속 되어 둘째 기본 폼을 위반 하는이 디자인 합니다. 테이블에서 제품 이름 제거 해야 합니다. 다른 테이블 (제품)에 속합니다.

셋째 기본 폼

셋째 기본 폼 뿐만 아니라 모든 키가 아닌 열 전체 기본 키에 종속 있지만 키가 아닌 열 수 서로 독립적으로 필요 합니다.

이 말의 또 다른 방법은 각 키가 아닌 열 기본 키에 대 한 기본 키를 제외한 아무 종속 되어야 합니다입니다. 예를 들어이 다음 열이 포함 된 테이블이 있습니다.

  • ProductID (기본 키)

  • 이름

  • 소매가

  • 할인

할인 제안된 소매가 (소매가)에 따라 달라 집니다 가정 합니다. 이 표에서 키가 아닌 열을 할인 소매가 다른 키가 아닌 열에 종속 되어 셋째 기본 폼을 위반 합니다. 열 독립 다른 열에 영향을 주지 않고 키가 아닌 열을 변경할 수 될 것입니다. 소매가 필드의 값을 변경 하면 할인 되므로 규칙에 위배 적절 하 게 변경 됩니다. 이 경우 할인 소매가에서 키가 다른 테이블을 이동 해야 합니다.

맨 위로 이동

참고: 기계 번역 고지 사항: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft에서는 비영어권 국가에 거주하는 사용자가 Microsoft 제품, 서비스 및 기술을 손쉽게 접할 수 있도록 이러한 기계 번역 내용을 제공하고 있습니다. 본 문서는 기계 번역된 문서이므로 어휘, 구문 또는 문법에 오류가 있을 수 있습니다.

기술 향상
교육 살펴보기
새로운 기능 우선 가져오기
Office Insider 참여

이 정보가 유용한가요?

의견 주셔서 감사합니다!

피드백을 주셔서 감사합니다. Office 지원 에이전트와 연락하는 것이 도움이 될 것 같습니다.

×