데이터베이스를 설계하여 생성하는 업무를 맡았다고 가정해봅시다. 좋은 데이터베이스를 설계하는 것은 매우 중요한 작업입니다. 부주의한 데이터베이스 설계는 제어할 수 없는 데이터 중복을 야기하여 여러 가지 갱신 이상(update anomaly)을 유발합니다. 그렇다면 어떻게 좋은 데이터베이스를 설계해야 할까요? 데이터베이스에 어떤 릴레이션을 생성해야 할까요? 각 릴레이션에 어떤 애트리뷰트를 만들어야 할까요? 01. 릴레이션의 정규화 좋은 관계 데이터베이스 스키마를 설계하는 목적은 ➀ 정보의 중복과 갱신 이상이 생기지 않도록 하면서, ➁ 정보의 손실을 막고 실세계를 훌륭하게 나타내며 ➂ 애트리뷰트들 간의 관계가 잘 표현되는 것을 보장하며, ➃ 어떤 무결성 제약조건의 시행을 간단하게 하여 ➄ 효율성 측면을 고려하..