ACC2000: Access 데이터베이스에 있는 테이블 간의 관계 정의

기술 자료 번역 기술 자료 번역
기술 자료: 304467 - 이 문서가 적용되는 제품 보기.
초급: 단일 사용자 컴퓨터의 사용자 인터페이스에 대한 지식이 필요합니다.

이 문서에서는 경우에만 Access 데이터베이스를 수 (.mdb) 적용됩니다.

모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Microsoft Access 데이터베이스에서 관계를 정의하는 방법에 대해 설명합니다. 다음 항목이 포함되어 있습니다.
  • 테이블 관계 무엇입니까?
  • 테이블 관계 형식
    • 여러 받는 한 관계
    • 여러 받는 다대다 관계
    • 일대일 관계 관계

  • 테이블 간의 관계를 정의하는 방법
    • 1-To-여러 또는 일대일 관계를 정의하는 방법
    • 한 여러-To-여러 정의하는 방법 관계

  • 참조 무결성
  • 계단식 업데이트 및 삭제
  • 조인 형식

추가 정보

테이블 관계 무엇입니까?

관계형 데이터베이스에서 관계를 사용하면 중복 데이터를 방지할 수 있습니다. 예를 들어, 책에 대한 정보를 추적하는 데이터베이스를 디자인하는 경우 책 등의 각 책에 대한 정보를 저장하는 제목 라는 테이블이 있을 수 있습니다? s 제목, 출판, 게시자 날짜. 정보는 또한 출판사의 전화 번호, 주소 및 우편 같은 출판사에 대해 저장하고 볼 수 있습니다. 이러한 모든 정보를 titles 테이블에 저장하는 경우 테이블, 게시자를? s 전화 번호는 출판사가 인쇄한 각 책의 제목마다 중복됩니다.

보다 나은 해결책은 출판사 정보를 한 번만 게시자 라는 별도의 테이블에 저장하는 것입니다. 그런 다음 게시자 테이블의 항목을 참조하는 Titles 테이블에 포인터를 놓기만 하면 됩니다.

데이터가 동기화되어 있지 않은지 확인하려면 제목 및 게시자 테이블 간에 참조 무결성을 적용할 수 있습니다. 참조 무결성 관계는 한 테이블의 정보를 다른 정보를 일치하는지 확인할 수 있습니다. 예를 들어, Titles 테이블에 있는 각 제목 특정 게시자의 게시자 테이블에 연결해야 합니다. 제목은 데이터베이스에 없는 출판사에 대한 데이터베이스에 추가할 수 없습니다.

테이블 관계 형식

관계는 일반적으로 두 테이블 모두에서 같은 이름 가진 열 키 열의 데이터를 일치시켜 작동합니다. 대부분의 경우 관계는 다른 테이블의 외래 키 항목과 각 행에 대해 고유 식별자를 제공하는 한 테이블의 기본 키를 일치시킵니다. 예를 들어, 판매 Sales 테이블 (외래 키) Titles 테이블에 기본 키가 있는 title_id 열 및 title_id 열 간에 관계를 만들어 판매된 특정 제목이 연결할 수 있습니다.

테이블 간의 관계를 다음 세 가지 종류가 있습니다. 만들어지는 관계 형식은 관련된 열이 정의되는 방법에 따라 달라집니다.

여러 받는 한 관계

가장 일반적인 유형의 관계 한 일대다 관계입니다. 이러한 유형의 관계 수 한 행은 테이블 B 테이블의 여러 일치하는 행에 있지만 B 테이블의 행에 A. 테이블에 일치하는 행이 하나만 가질 수 있습니다 예를 들어, 게시자 및 Titles 테이블에 한 일대다 관계를 가질: 각 출판사는 여러 제목을 제공하지만 각 제목은 한 출판사에서만 나옵니다.

관련된 열 중 하나만 기본 키이거나 UNIQUE 제약 조건이 있는 경우에만 한 일대다 관계가 만들어집니다.

Access에서는 한 일대다 관계의 기본 키 쪽은 키 기호로 표시됩니다. 관계의 외래 키 쪽은 무한대 기호로 표시됩니다.

여러 받는 다대다 관계

많은 일대다 관계에서 테이블 A의 행 테이블 B의 많은 일치하는 행이 있을 수 있습니다 그 반대의 경우도 마찬가지입니다. 기본 키를 외래 키 테이블 및 테이블 B의 구성된 접합 테이블 이라는 세 번째 테이블을 정의하여 이러한 관계를 만들기 예를 들어, 제작자 테이블과 Titles 테이블에 이러한 테이블의 각 TitleAuthors 테이블에 한 일대다 관계에 의해 정의된 다 일대다 관계가 있습니다. TitleAuthors 테이블의 기본 키가 au_id 열의 조합입니다 (authors 테이블에? s 기본 키) 및 title_id 열 (Titles 테이블에? 기본 키가 s).

일대일 관계 관계

일대일 관계에서 테이블 A의 행 테이블 B의 둘 이상의 일치하는 행이 있을 수 있습니다 그 반대의 경우도 마찬가지입니다. 관련된 열 모두가 기본 키이거나 UNIQUE 제약 조건이 있으면 일대일 관계가 만들어집니다.

이런 이 방법으로 관련된 대부분의 정보는 테이블 하나에 모두 들어 있기 때문에 이러한 유형의 관계 일반적인 아닙니다. 일대일 관계를 사용할 수 있습니다.
  • 테이블을 여러 열로 분할할 수 있습니다.
  • 보안상의 이유로 테이블의 일부를 분리할 수 있습니다.
  • 일시적으로 존재하며 테이블을 삭제하여 쉽게 삭제할 수 있는 데이터를 저장하십시오.
  • 기본 테이블의 하위 집합에만 적용되는 정보를 저장하십시오.
Access에서 일대일 관계의 기본 키 쪽은 키 기호로 표시됩니다. 또한 외래 키 쪽에 키 기호로 표시됩니다.

테이블 간의 관계를 정의하는 방법

테이블 간의 관계를 만들 때 관련된 필드에 같은 이름을 가질 필요가 없습니다. 그러나 관련된 필드의 데이터 형식이 일련 번호 필드를 기본 키 필드가 아닌 경우 있어야 합니다. 두 일치 필드의 FieldSize 속성이 같은 경우에만 일련 번호 필드를 숫자 필드와 일치시킬 수 있습니다. 예를 들어, 두 필드의 FieldSize 속성이 정수 (Long) 이면 일련 번호 필드와 숫자 필드를 일치시킬 수 있습니다. 일치하는 두 필드가 모두 숫자 필드인 경우에도 동일한 FieldSize 속성 설정이 같아야 합니다.

1-To-여러 또는 일대일 관계를 정의하는 방법

한 일대다 만들려면 또는 일대일 관계를 다음과 같이 하십시오.
  1. 열어 놓은 테이블을 모두 닫습니다. 열려 있는 테이블 간의 관계를 수정 또는 만들 수 없습니다.
  2. F11을 키를 눌러 데이터베이스 창으로 전환합니다.
  3. 도구 메뉴에서 관계 를 클릭하십시오.
  4. 데이터베이스에 관계를 정의하지 않은 경우 테이블 표시 대화 상자가 자동으로 표시됩니다. 관계를 설정할 수 있지만 테이블 표시 대화 상자가 표시되지 않는 테이블을 추가하려는 경우 관계 메뉴에서 테이블 표시 를 클릭하십시오.
  5. 관계를 만들 테이블의 이름을 두 번 클릭한 다음 테이블 표시 대화 상자를 닫습니다. 테이블 자체 사이에 관계를 만들려면 해당 테이블을 두 번 추가하십시오.
  6. 다른 테이블의 관련 필드로 한 테이블에서 관계를 만들려는 필드를 끌어 놓습니다. 여러 필드를 끌어오려면 Ctrl 키를 각 필드를 클릭한 다음 끕니다.

    대부분의 경우 다른 테이블에서 외래 키라는 유사한 필드 (보통 이름이 같음) 한 테이블의 기본 키 필드 (굵은 텍스트로 표시되는 끕니다.
  7. 관계 편집 대화 상자가 표시됩니다. 두 열에 표시되는 필드 이름이 올바른지 확인하십시오. 필요한 경우 변경할 수 있습니다.

    필요하면 관계 옵션을 설정하십시오. 관계 편집 대화 상자의 특정 항목에 대한 정보가 필요한 경우 물음표 단추를 클릭한 다음 항목을 클릭하십시오. 이러한 옵션은 이 문서의 뒷부분에 자세히 설명되어 있습니다.
  8. 관계를 만들려면 만들기 클릭하십시오.
  9. 관계를 만들려는 테이블 각 쌍에 대해 5-8단계 반복하십시오.

    관계 편집 대화 상자를 닫을 때 Microsoft Access 레이아웃을 저장할 것인지 묻는 메시지가 표시됩니다. 레이아웃 저장 여부에 관계없이 만든 관계는 데이터베이스에 저장됩니다.

    참고: 쿼리를 물론 테이블 관계를 만들 수 있습니다. 그러나 참조 무결성은 쿼리로 적용되지 않습니다.

한 여러-To-여러 정의하는 방법 관계

많은 다대다 관계를 만들려면 다음과 같이 하십시오.
  1. 여러 일대다 관계에 있는 두 테이블을 만듭니다.
  2. 접합 테이블이라는 세 번째 테이블을 만들어 접합 테이블에 새 필드를 기본 키 필드와 같은 정의 가진 다른 두 테이블 각각의 추가하십시오. 접합 테이블에 기본 키 필드는 외래 키로 작동합니다. 다른 테이블과 마찬가지로 접합 테이블에 다른 필드를 추가할 수 있습니다.
  3. 접합 테이블에 다른 두 테이블의 기본 키 필드를 포함하도록 기본 키를 설정하십시오. 예를 들어, TitleAuthors 정션 테이블에서 기본 키는 OrderID 및 ProductID 필드가 구성될 수 있습니다.

    참고: 기본 키를 만들려면 다음과 같이 하십시오.
    1. 테이블 디자인 보기에서 엽니다.
    2. 기본 키로 정의할 필드를 선택하십시오. 하나의 필드를 선택하려면 원하는 필드의 행 선택기를 클릭하십시오.

      여러 필드를 선택하려면 Ctrl 키를 누른 상태에서 각 필드의 행 선택기를 클릭하십시오.
    3. 도구 모음에서 기본 키 를 클릭하십시오.

      참고: 다중 필드 기본 키에 있는 필드의 순서를 테이블에 있는 해당 필드의 순서를 다르게 하려면 인덱스 대화 상자를 표시한 다음 PrimaryKey 명명된 인덱스 필드 이름을 도구 모음에서 인덱스 를 클릭하십시오.
  4. 각 두 기본 테이블과 정션 테이블 간에 한 일대다 관계를 정의하십시오.

참조 무결성

참조 무결성 규칙을 사용하면 실수로 삭제하거나 변경하지 관련된 데이터가 있는 Microsoft Access가 관련된 테이블 레코드 간의 관계가 유효한지 확인하기 위해 사용하는 및 시스템입니다. 다음 조건이 모두 충족되면 참조 무결성을 설정할 수 있습니다.
  • 기본 테이블의 일치하는 필드가 기본 키이거나 고유 인덱스를 가집니다.
  • 관련된 필드의 데이터 형식이 있습니다. 두 가지 예외가 있습니다. 일련 번호 필드를 숫자 필드와 함께 정수(Long), FieldSize 속성 설정하면 연관될 수 및 FieldSize 속성 설정이 복제 ID 일련 번호 필드를 숫자 필드를 복제 ID에 대한 FieldSize 속성 설정으로 관련이 있을 수 있습니다.
  • 두 테이블 모두 같은 Access 데이터베이스에 속해 있습니다. 해당 테이블이 연결된 테이블이면 테이블 Microsoft Access 형식의 있어야 하며 참조 무결성을 설정하려면 저장된 데이터베이스를 열어야 합니다. 형식이 다른 데이터베이스에 있는 연결된 테이블에 대해서는 참조 무결성을 강화할 수 없습니다.
참조 무결성을 사용할 때 다음 규칙이 적용됩니다.

  • 기본 테이블의 기본 키에 존재하지 않는 관련 테이블의 외래 키 필드에 값을 입력할 수 없습니다. 그러나 레코드를 관련이 지정하는 외래 키에 Null 값을 입력할 수 있습니다. 예를 들어, 존재하지 않는 고객에게 할당된 주문은 있을 수 있지만 CustomerID 필드에 Null 값을 입력하여 아무에게도 할당된 주문은 있을 수 있습니다.
  • 관련된 테이블에 일치하는 레코드가 있으면 기본 테이블에서 레코드를 삭제할 수 없습니다. 예를 들어, Orders 테이블에 있는 직원 할당된 주문이 있으면 Employees 테이블에서 직원 레코드를 삭제할 수 없습니다.
  • 해당 레코드에 관련된 레코드가 있으면 기본 테이블에서 기본 키 값을 변경할 수 없습니다. 예를 들어, Orders 테이블에서 해당 직원 할당된 주문이 있으면 Employees 테이블에서 직원 ID를 변경할 수 없습니다.

계단식 업데이트 및 삭제

참조 무결성이 적용되는 관계의 경우 Microsoft Access에서 자동으로 업데이트를 모두 원하는 또는 관련된 레코드 모두 삭제 여부를 지정할 수 있습니다. 이러한 옵션을 설정할 경우, 삭제 및 업데이트 참조 무결성 규칙에 의해 일반적으로 방지되는 작업을. 레코드를 삭제하거나 기본 테이블에서 기본 키 값을 변경할 때 Microsoft Access 참조 무결성을 유지하도록 관련된 테이블에 필요한 변경을 작업을 수행합니다.

관계를 정의할 때 관련 필드 모두 업데이트 확인란을 선택하면 기본 테이블에서 레코드의 기본 키를 변경할 때마다 Microsoft Access가 자동으로 기본 키를 모든 관련 레코드에서 새 값으로 업데이트합니다. 예를 들어, Customers 테이블의 고객 ID를 변경할 경우 관계를 끊어진 되지 않도록 CustomerID 필드는 테이블의 모든 중 해당 고객의 주문이 자동으로 업데이트됩니다. Microsoft Access 모든 메시지를 표시하지 않고 업데이트를 계단식 배열합니다.

참고: 기본 테이블의 기본 키가 일련 번호 필드인 경우에는 관련 필드 모두 업데이트 확인란을 선택하면 일련 번호 필드의 값은 변경할 수 없으므로 아무 효과가 합니다.

관계를 정의할 때 관련 레코드 모두 삭제 확인란을 선택하면 기본 테이블에서 레코드를 삭제할 때마다 Microsoft Access에서 자동으로 관련 테이블의 관련된 레코드를 삭제합니다. 예를 들어, Customers 테이블의 고객 레코드를 삭제하면 고객의 모든 주문 (레코드가 관련된 Orders 레코드를 Order Details 테이블에서 포함) Orders 테이블에서 자동으로 삭제되지 않습니다. 관련 레코드 모두 삭제 확인란을 폼이나 데이터시트에서 레코드를 삭제하면 Microsoft Access 관련된 레코드도 삭제될 수 것을 경고합니다. 그러나 삭제 쿼리를 사용하여 레코드를 삭제할 때, 레코드가 자동으로 해당 관련 테이블의 경고를 표시하지 않고 삭제됩니다.

조인 형식

3 가지 조인, 다음과 같은:

옵션 1 내부 조인을 정의합니다. 내부 조인은 조인된 필드의 값이 지정한 조건을 만족하는 경우에만 경우에만 두 테이블의 레코드가 쿼리 결과에 결합되는 조인이 것입니다. 쿼리에서 기본 조인은 조인된 필드의 값이 일치하는 경우에만 레코드를 선택하는 내부 조인을 것입니다.

옵션 2 왼쪽된 외부 조인을 정의합니다. 왼쪽 외부 조인은 오른쪽 테이블의 조인된 필드에 일치하는 값이 없는 경우에도 모든 쿼리 결과를 쿼리의 SQL 문에서 LEFT JOIN 연산의 왼쪽에 레코드가 추가됩니다.

옵션 3 오른쪽 외부 조인을 정의합니다. 오른쪽 우선 외부 조인은 왼쪽 테이블의 조인된 필드에 일치하는 값이 없는 경우에도 모든 쿼리 결과를 쿼리의 SQL 문에서 RIGHT JOIN 연산의 오른쪽에 레코드가 추가됩니다.

참조

Access에서 관계에 대한 자세한 내용은 다음 Microsoft 웹 사이트에서 Microsoft Access 2000 도움말 페이지의 "테이블 만들기 및 디자인" 항목을 클릭하세요.
Microsoft Access 2000 Help
Access에서 관계에 대한 자세한 내용은 도움말 메뉴에서 Microsoft Access 도움말 을, 만들기 또는 수정 관계 Office 길잡이나 도움말 마법사에서 입력한 다음 반환된 항목을 보려면 검색 을 누릅니다.

속성

기술 자료: 304467 - 마지막 검토: 2004년 6월 29일 화요일 - 수정: 2.1
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Access 2000 Standard Edition
키워드:?
kbmt kbhowto KB304467 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com