ITmembers.net 아카이브 · 2001–2009

재미로 배우는 오라클 & SQL 강좌

데이터베이스 설계(Database Design)

지난 시간까지 ERD에 대해 살펴 보았습니다.
이번 시간에는 ERD를 가지고 실제 논리적 테이블을 설계하는 과정에 대해 간략하게 짚고 넘어가겠습니다.


먼저 다음 그림을 보시죠. ERD와 테이블의 상관 관계를 나타낸 것입니다.


  • ERD에서 entity의 이름이 실제 테이블의 이름이 됩니다.
  • ERD에서 설정된 관계는 테이블에서 외래 키(ForeignKey)로 구분해 줍니다.
  • ERD에서 attribute는 테이블의 열(Column=필드)에 해당합니다.
  • ERD에서 occurrence는 테이블의 행(Row=레코드)에 해당합니다.
  • ERD에서 고유(unique) 식별자는 테이블의 기본 키(Primary Key)에 해당합니다.

occurrence에 대해 앞에서 언급이 없었죠? 데이터베이스에서 구체적인 정보를 담고 있는 하나 하나의 데이터를 가리키는 말입니다. 여러 attribute로 이루어진 구체적인 데이터를 말합니다. EMPLOYEE entity가 number, name, age 등의 attribute로 구성되어 있다면 "10112, 홍길동, 27"과 같은 구체적인 정보가 바로 occurrence해 해당됩니다.

다음 그림은 DEPARTMENT와 EMPLOYEE entity 간의 relationship과 이를 테이블로 나타낸 것입니다.


위에서 PK는 PrimaryKey, NN은 Not Null, U는 Unique, FK는 ForeignKey를 뜻합니다.
DEPARTMENT와 EMPLOYEE 테이블을 연결해 주는 필드가 하늘 색으로 표시된 DEPNO 필드입니다. 각 사원이 속한 부서 코드를 입력하는 필드입니다. 각 사원에 해당되는 소속 부서 코드를 다른 테이블과 연결하는 외래 키(ForeignKey)로 설정한 것입니다. EMPLOYEE의 부서 코드는 DEPARTMENT 테이블에서는 PrimaryKey입니다. 부서 테이블에서 부서 코드는 유일한 식별자인 것이죠.

어떠셨어요? 물론 처음 Database를 접하시는 분은 위의 그림이 이해 안될 수도 있습니다. 그리고 Foreign Key, Primary Key 등에 대해서도 전혀 감이 잡히지 않을 수 있구요.
앞으로도 자주 나오는 용어들이라 자주 접하다가 보면 어느새 이해가 될 것이니 지레 위축될 필요는 없겠죠?

즐거운 휴일 보내세요.
이상 일요일 새벽 동주아빠 손병목이었습니다.