Access 소개

데이터베이스 시작

브라우저가 비디오를 지원하지 않습니다. Microsoft Silverlight, Adobe Flash Player 또는 Internet Explorer 9를 설치하세요.

데이터베이스와 웹앱은 비즈니스에 많은 장점을 제공합니다. 데이터베이스 디자인은 직원 정보를 관리하든, 데이터에 대한 주간 보고서를 제공하든, 고객 주문을 추적하든 간에 목표를 달성하는 데 매우 중요합니다. 데이터베이스 디자인을 이해하는 데 시간을 투자하면 처음부터 제대로 작동하고 변화하는 요구를 수용하는 데이터베이스를 빌드하는 데 도움이 됩니다.

중요: Access 웹앱은 데스크톱 데이터베이스와 다릅니다. 이 문서에서는 웹앱 디자인을 다루지 않습니다.

개념 및 용어

먼저 기본 용어와 개념을 살펴보겠습니다. 유용한 데이터베이스를 디자인하려면 하나의 주제에 중점을 둔 테이블을 만듭니다. 테이블의 필드에 가능한 최소 단위의 데이터를 저장하여 해당 주제와 관련해서 필요한 데이터를 모두 캡처합니다.

관계형 데이터베이스

스프레드시트와 유사한 테이블에 데이터가 나누어져 있는 데이터베이스입니다. 각 테이블에는 고객(한 테이블) 또는 제품(다른 테이블)과 같이 하나의 주제만 포함됩니다.

레코드 및 필드

테이블의 개별 데이터 저장소입니다. 행(또는 레코드)은 고객 이름과 같은 각 고유 데이터 요소를 저장합니다. 열(또는 필드)은 각 데이터 요소에 대해 캡처되는 정보를 가능한 최소 단위로 격리합니다. 이름과 성이 각기 하나의 열이 될 수 있습니다.

기본 키

각 레코드를 고유하게 하는 값입니다. 예를 들어 두 고객이 같은 이름(예: 하미연)을 갖고 있을 수 있습니다. 그러나 하미연 레코드 중 하나의 기본 키는 번호 12이고 다른 하나의 기본 키는 58입니다.

부모-자식 관계

테이블 간의 일반적인 관계입니다. 예를 들어 단일 고객에게 여러 주문이 있을 수 있습니다. 부모 테이블에 기본 키가 있습니다. 자식 테이블에는 기본 키에서 생성된 값으로, 자식 테이블 레코드가 부모 테이블에 연결된 방식을 보여 주는 외래 키가 있습니다. 이러한 키는 관계에 의해 연결됩니다.

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

올바른 데이터베이스 디자인의 두 가지 기본 원칙은 다음과 같습니다.

  • 중복된 정보를 피합니다(중복 데이터라고도 함). 공간이 낭비되며 오류 가능성이 커집니다.

  • 데이터가 올바르고 완전한지 확인합니다. 불완전하거나 잘못된 정보가 쿼리와 보고서에서 전달되어 최종적으로 잘못된 의사 결정을 초래할 수 있습니다.

이러한 문제를 방지하려면 다음을 수행합니다.

  • 좁은 영역에 중점을 둔 주제 기반 테이블에 데이터베이스 정보를 나눕니다. 여러 테이블에 중복된 정보를 포함하지 않습니다. 예를 들어 고객 이름은 한 테이블에만 포함되어야 합니다.

  • 데이터를 복제하는 대신 키를 사용하여 테이블을 조인합니다.

  • 데이터베이스 정보의 정확성과 무결성을 지원하고 보장하는 프로세스를 포함합니다.

  • 데이터 처리 및 보고 요구를 고려하여 데이터베이스를 디자인합니다.

데이터베이스의 장기적 유용성을 높이기 위해 다음 디자인 5단계를 따릅니다.

1단계: 데이터베이스의 용도 결정

시작하기 전에 데이터베이스의 목표를 결정합니다.

디자인의 중점을 유지하기 위해 데이터베이스의 용도를 요약하고 자주 요약을 참조합니다. 예를 들어 홈 기반 비즈니스를 위한 소규모 데이터베이스를 원하는 경우 "고객 데이터베이스는 우편물 및 보고서 생성을 위해 고객 정보 목록을 유지합니다."와 같이 작성할 수 있습니다. 기업 데이터베이스의 경우 각기 다른 역할의 사용자가 데이터베이스 및 해당 데이터를 언제, 어떻게 사용할지를 설명하는 여러 단락이 필요할 수 있습니다. 전체 디자인 프로세스에서 참조할 구체적이고 자세한 세부 임무를 만듭니다.

2단계: 필요한 정보 찾기 및 구성

제품 이름, 주문 번호 등 기록하려는 모든 유형의 정보를 수집합니다.

기존 정보와 추적 방법으로 시작합니다. 예를 들어 현재 구매 주문서를 원장에 기록하거나 종이 양식으로 고객 정보를 보관하는 경우 해당 소스를 사용하여 현재 캡처하는 정보를 나열합니다(예: 폼에 있는 모든 상자). 현재 중요한 정보를 캡처하지 않는 경우 필요한 개별 정보를 생각해 보세요. 각 개별 데이터 형식이 데이터베이스의 필드가 됩니다.

첫 번째 목록을 완벽하게 작성하려고 애쓰지 않아도 됩니다. 점차적으로 미세 조정할 수 있습니다. 하지만 이 정보를 사용하는 모든 사용자를 고려하고 아이디어가 있는지 확인합니다.

데이터베이스에서 원하는 내용과 생성할 보고서 또는 우편물의 유형을 생각해 보세요. 그런 다음 해당 목표를 충족하는 데 필요한 정보를 캡처하고 있는지 확인합니다. 예를 들어 지역별 매출을 보여 주는 보고서를 원한다면 지역 수준에서 판매 데이터를 캡처해야 합니다. 실제 정보가 포함된 보고서를 원하는 디자인으로 스케치합니다. 그런 다음 보고서를 만드는 데 필요한 데이터를 나열합니다. 우편물이나 데이터베이스에서 원하는 다른 출력에 대해 동일한 작업을 수행합니다.

예제

정기 전자 메일 업데이트를 옵트 인 또는 옵트 아웃할 기회를 고객에게 제공하고 옵트 인한 고객 목록을 인쇄하려 한다고 가정합니다. 고객 테이블에 예 및 아니요 값이 허용되는 전자 메일 보내기 열이 필요합니다.

전자 메일 수신에 동의한 고객의 경우 전자 메일 주소가 필요하므로 해당 필드도 있어야 합니다. 적절한 인사말(예: Mr., Mrs. 또는 Ms.)을 포함하려면 인사말 필드를 포함합니다. 전자 메일에서 이름으로 고객 주소를 지정하려면 이름 필드를 추가합니다.

팁: 고객 테이블의 이름과 성과 같이 각 정보를 유용한 최소 부분으로 나누어야 합니다. 일반적으로 정보 항목(예: 고객 성)을 기준으로 정렬, 검색, 계산 또는 보고하려는 경우 해당 항목을 별도 필드에 입력해야 합니다.

3단계: 정보를 테이블로 나누기

정보 항목을 제품, 고객, 주문 등의 주요 엔터티나 주제로 나눕니다. 각 주제가 테이블이 됩니다.

필요한 정보 목록을 작성한 후 데이터를 구성하는 데 필요한 주요 엔터티(또는 주제)를 결정합니다. 엔터티 간에 데이터가 중복되지 않도록 합니다. 예를 들어 제품 판매 데이터베이스의 예비 목록은 다음과 같을 수 있습니다.

주제별로 그룹화된 정보 항목의 스크린샷

주요 엔터티는 고객, 공급업체, 제품 및 주문입니다. 따라서 고객 팩트 테이블, 공급업체 팩트 테이블 등 4개의 테이블로 시작합니다. 최종 디자인이 아닐 수도 있지만 좋은 시작점이 됩니다.

참고: 최상의 데이터베이스에는 여러 테이블이 포함되어 있습니다. 단일 테이블에 모든 정보를 입력하지 마세요. 이렇게 하면 정보가 중복되고, 데이터베이스 크기가 커지고, 오류가 증가합니다. 각 팩트를 한 번만 기록하도록 디자인합니다. 공급업체 주소 등의 정보를 반복하는 경우 해당 정보를 별도 테이블에 배치하도록 데이터베이스를 재구성합니다.

테이블이 많을수록 더 좋은 이유를 이해하려면 아래 표시된 테이블을 고려해 보세요.

제품 및 공급업체 데이터의 화면 조각

각 행에 제품과 공급업체 둘 다의 정보가 포함되어 있습니다. 동일한 공급업체의 여러 제품을 사용할 수 있으므로 공급업체 이름과 주소 정보를 여러 번 반복해야 합니다. 이 경우 디스크 공간이 낭비됩니다. 대신, 공급업체 정보를 별도의 공급업체 테이블에 한 번만 기록하고 해당 테이블을 제품 테이블에 연결합니다.

이 디자인의 두 번째 문제는 공급업체에 대한 정보를 수정해야 하는 경우에 명확하게 나타납니다. 공급업체 주소를 변경해야 한다고 가정합니다. 주소는 여러 위치에 나타나므로 실수로 한 곳에서만 주소를 변경하고 다른 곳에서는 변경하지 않을 수 있습니다. 한 곳에만 공급업체 주소를 기록하면 이 문제가 해결됩니다.

마지막으로, 세기 무역에서 공급하는 제품이 하나뿐인데 해당 제품을 삭제하되 공급업체 이름과 주소 정보를 유지하려 한다고 가정합니다. 이 디자인에서 어떻게 하면 공급업체 정보 손실 없이 제품 레코드를 삭제할 수 있을까요? 불가능합니다. 각 레코드에 공급업체 팩트뿐 아니라 제품 팩트가 포함되어 있으므로 하나만 삭제하고 다른 하나를 유지하는 것은 불가능합니다. 이러한 팩트를 별도로 유지하려면 이 테이블을 제품 정보 테이블과 공급업체 정보 테이블로 분할합니다. 그런 다음 제품 레코드를 삭제하면 제품 팩트만 삭제되고 공급업체 팩트는 삭제되지 않습니다.

4단계: 정보 항목을 열로 전환

각 테이블에 저장할 정보를 결정합니다. 이러한 개별 데이터가 테이블의 필드가 됩니다. 예를 들어 직원 테이블에는 성, 이름, 고용 날짜 등의 필드가 포함될 수 있습니다.

데이터베이스 테이블의 주제를 선택한 후 해당 테이블의 열에는 단일 주제에 대한 팩트만 저장되어야 합니다. 예를 들어 제품 테이블에는 제품 팩트만 저장되어야 하고 공급업체 팩트는 저장되면 안 됩니다.

테이블에서 추적할 정보를 결정하려면 앞서 만든 목록을 사용합니다. 예를 들어 고객 테이블에는 이름, 성, 주소, 전자 메일 보내기, 인사말, 전자 메일 주소 등이 포함될 수 있습니다. 테이블의 각 레코드(고객)에 동일한 열 집합이 있으므로 고객마다 정확히 동일한 정보를 저장합니다.

첫 번째 목록을 만든 후 검토하고 구체화합니다. 정보를 가능한 최소 필드로 나누어야 합니다. 예를 들어 초기 목록에 주소가 필드로 포함되어 있으면 주소, 구/군/시, 시/도, 우편 번호로 나누거나, 고객이 전 세계에 걸쳐 있는 경우 더 많은 필드로 나눕니다. 그러면 예를 들어 적절한 형식으로 우편물을 보내거나 시/도별로 주문을 보고할 수 있습니다.

각 테이블의 데이터 열을 구체화했으면 각 테이블의 기본 키를 선택할 준비가 되었습니다.

5단계: 기본 키 지정

각 테이블의 기본 키를 선택합니다. 제품 ID, 주문 ID 등의 기본 키는 각 레코드를 고유하게 식별합니다. 명확한 고유 식별자가 없는 경우 Access를 사용하여 직접 만듭니다.

각 테이블의 행을 고유하게 식별하는 방법이 필요합니다. 두 고객의 이름이 같았던 앞의 예제를 떠올려 보세요. 두 고객이 이름을 공유하기 때문에 각 고객을 개별적으로 식별하는 방법이 필요합니다.

따라서 모든 테이블에 각 행을 고유하게 식별하는 열(또는 열 집합)을 포함해야 합니다. 이를 기본 키라고 하며 직원 ID 번호, 일련 번호 등의 고유 번호인 경우가 많습니다. Access는 기본 키를 사용하여 여러 테이블의 데이터를 신속하게 연결하고 데이터를 통합합니다.

때로는 기본 키가 둘 이상의 필드로 이루어져 있습니다. 예를 들어 주문의 개별 항목을 저장하는 주문 세부 정보 테이블은 주문 ID와 제품 ID의 두 열을 기본 키에 사용할 수 있습니다. 기본 키가 둘 이상의 열을 사용하는 경우 복합 키라고도 합니다.

제품 테이블의 화면 조각

카탈로그에서 각 제품을 고유하게 식별하는 제품 번호와 같이 테이블의 정보에 대한 고유 식별자가 이미 있는 경우 해당 식별자를 사용하되, 이러한 값이 기본 키에 대한 다음 규칙을 충족해야 합니다.

  • 각 레코드의 식별자가 항상 다릅니다. 기본 키에 중복 값은 허용되지 않습니다.

  • 항목의 값이 항상 있습니다. 테이블의 모든 레코드에 기본 키가 있어야 합니다. 여러 열을 사용하여 키를 만드는 경우(예: 부품 패밀리 및 부품 번호), 두 값이 항상 있어야 합니다.

  • 기본 키는 변경되지 않는 값입니다. 키가 다른 테이블에서 참조되기 때문에 한 테이블에서 기본 키를 변경할 경우 해당 키를 참조하는 모든 테이블에서 변경되어야 합니다. 자주 변경할 경우 오류가 발생할 가능성이 커집니다.

명확한 식별자가 없는 경우 임의의 고유 번호를 기본 키로 사용합니다. 예를 들어 주문을 식별하는 목적으로만 각 주문에 고유한 주문 번호를 할당할 수 있습니다.

팁: 고유 번호를 기본 키로 만들려면 일련 번호 데이터 형식을 사용하는 열을 추가합니다. 일련 번호 데이터 형식은 각 레코드에 고유한 숫자 값을 자동으로 할당합니다. 이러한 유형의 식별자에는 나타내는 행을 설명하는 팩트 정보가 포함되어 있습니다. 전화 번호, 고객 이름 등 행에 대한 팩트가 포함된 기본 키와 달리 번호는 변경되지 않으므로 기본 키로 사용하기에 적합합니다.

더 많은 정보를 원하는 경우

필드, 컨트롤 및 개체 이름 지정 지침

테이블 소개

Excel 교육

Outlook 교육

최상의 데이터베이스는 적절한 구조 디자인에서 시작됩니다. 이 비디오에서는 데이터베이스란 무엇인지, 특히 Access를 사용하여 만들 수 있는 관계형 데이터베이스에 대해 알아보겠습니다. 테이블을 사용하여 데이터베이스를 구성하는 방법 및 키를 사용하여 테이블 간의 관계를 만드는 방법을 배우게 됩니다.

데이터베이스란 무엇일까요? 가장 광범위한 의미에서, 데이터베이스는 구성된 모든 데이터 모음입니다. 여러분의 요리책 또한 모두 데이터베이스이며, Excel의 이 간단한 이름 및 전화 번호 목록도 데이터베이스입니다.

다음 질문은 "Access 데이터베이스에는 어떤 차이점이 있는가? 왜 사용해야 하는가?"입니다. 답변은 관계형 테이블 구조이며, 그 의미는 다음과 같습니다.

데이터는 테이블로 구성됩니다. 이러한 테이블은 키라는 공유 필드에 의해 함께 연결됩니다.

키는 두 가지 작업을 수행합니다. 첫째, 테이블의 모든 행에 특정 종류의 값을 할당합니다. Lester Baxley의 이름에 값 "1"이 할당되고 Patricia White의 이름에 값 "2"가 할당된 것을 볼 수 있습니다.

키도 필드 간에 값을 공유하여 테이블을 연결합니다. 예를 들어 Lester의 키 값이 두 전화 번호와 공유되며 이 때문에 해당 전화 번호가 Lester 소유임을 확인할 수 있습니다. Naomi Barton의 키 값이 세 번 공유되며 해당 전화 번호가 Naomi 소유인 것도 확인할 수 있습니다.

이제 데이터베이스에 두 종류의 키가 포함되어 있습니다. 키 값은 이 필드에서 발생하고 대상 필드인 이 필드에서 공유됩니다. 원래 필드를 기본 키라고 하고 대상 필드를 외래 키라고 합니다. 하지만 필드가 있다고 해서 연결되는 것은 아닙니다. 이렇게 하려면 테이블 간에 관계를 만들어야 합니다.

"잠시만요. 많은 작업이 필요한 것 같은데 왜 이 작업을 해야 하나요?"라고 생각할 수도 있습니다. 좋은 질문입니다. 첫째, 저장소가 더 효율적입니다. 여기서 이름이 얼마나 자주 반복되는지 보셨나요?

관계형 구조에서는 대부분의 데이터를 한 번만 입력합니다. 따라서 공간을 많이 절약할 수 있습니다. 또한 데이터를 두 번 이상 입력할 경우 오류가 발생할 위험이 있으므로 관계형 구조는 정확도를 향상시킵니다.

예를 들어 Naomi Barton의 이름을 잘못 입력할 경우 어떻게 되는지 살펴보세요. 해당 전화 번호를 찾기가 더 어려워지며 실수를 발견하지 못할 수도 있습니다. 관계형 구조에서는 대부분의 데이터를 한 번만 입력하므로 오류가 발생할 가능성이 줄어듭니다. 또한 실수한 경우에도 한 곳에서만 수정하면 됩니다.

관계형 구조는 트랜잭션을 캡처하는 데에도 효과적입니다. 데이터베이스의 특성에 따라 트랜잭션은 어떤 학생이 어떤 교실에 있는지, 어떤 매출이 발생했는지 또는 누구에게 책을 빌려주었는지를 나타낼 수 있습니다.

이제 데이터베이스 디자인의 처음 세 가지 기본 단계를 배웠습니다. 1단계는 저장해야 하는 모든 데이터를 캡처하는 것입니다. 이 예제에서는 고객 이름, 전화 번호, 해당 번호를 분류하는 방법이 필요했습니다.

2단계는 반복 가능성이 큰 데이터를 모두 파악하는 것입니다. 이 예제에서는 고객 이름입니다.

마지막으로, 3단계는 해당 데이터를 고유한 테이블로 구성하는 것입니다.

하지만 유형 필드에서 반복된 데이터를 발견하셨나요? 맞습니다. 실제로 해당 데이터를 테이블로 나눌 수 있습니다. 그러나 몇 개의 값뿐이므로 짧은 값 선택 목록인 조회 목록을 만드는 것이 더 좋습니다.

테이블과 키를 사용하여 관계형 구조를 만드는 것은 좋은 데이터베이스 디자인의 기본적인 단계입니다. Access에서 관계형 데이터베이스를 사용하면 시간과 공간을 절약하고, 오류를 줄이고, 중요한 데이터를 중심으로 트랜잭션을 캡처할 수 있으므로 보다 효율적으로 작업할 수 있습니다.

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

이 정보가 유용한가요?

의견 주셔서 감사합니다!

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

×