더북(TheBook)

샘플 스키마의 개념 알아보기

샘플 스키마에는 기본적으로 테이블 9개가 있다. 오라클 샘플 스키마 중 HR, SH 스키마에 속하는 테이블을 옮겨왔고, 일부 테이블은 추가하거나 삭제한 컬럼이 있다. 이 테이블들의 목록은 다음과 같다.

employees: 사원 테이블(사원번호, 사원명, 부서번호 등)

departments: 부서 테이블(부서번호, 부서명 등)

jobs: job 테이블(job번호, 명칭 등)

job_history: job_history 테이블 (job번호, 사원번호, 부서번호 등)

countries: 국가 테이블(국가번호, 국가코드, 국가명 등)

customers: 고객 테이블(고객번호, 고객명, 국가번호 등)

channels: 판매채널 테이블(채널번호, 채널명 등)

products: 제품 테이블 (제품번호, 제품명 등)

sales: 판매 테이블(제품번호, 고객번호, 채널번호, 사원번호 등)

  RDBMS는 최소한의 데이터를 테이블에 담은 후 연결고리를 이용해서 테이블을 연결하고 데이터를 추출해 낸다. 9개의 테이블도 마찬가지다. 예를 들어, 사원과 부서 테이블은 부서번호로 연결되어 해당 사원이 어느 부서에 소속됐는지 알 수 있고, 국가와 고객은 국가번호로 연결되어 해당 고객이 어느 나라에 속한 고객인지 알 수 있다. 이런 관계를 한 눈에 볼 수 있는데, 이를 도식적으로 표현한 것을 ERDEntity Relationship Diagram라고 한다.

그림 1-42 ERD

[그림 1-42]를 간략히 살펴보면, 사원 테이블인 employees는 부서 테이블인 departments와 department_id(부서번호)로 연결되어 있다. 또한 jobs 테이블은 job_id로 employees 테이블과 연결되어 있다. jobs와 employees 간의 선을 보면 jobs쪽은 ◯로 employees 쪽은 옆으로 뉘인 삼지창 형태로 되어 있는데, 이는 jobs 테이블의 job_id 한 건이 employees에 여러 건 올 수 있다는 의미다.

사실 시스템을 개발할 때 맨 처음에 하는 작업이 업무를 분석해 테이블을 정의하는 단계이며, 이는 논리적 설계와 물리적 설계로 나눌 수 있다. 논리적 설계와 물리적 설계는 ERD 툴로 작업을 진행하고 검증이 끝나면 마지막에 물리적 설계 내용을 스크립트로 변환해 DB상에 테이블을 생성한다. 논리적, 물리적 설계와 ERD에 대해서는 이 책의 범위를 넘어서는 내용이므로 다른 자료나 서적을 참조하기 바란다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.