튜플 2

[DB] 엔티티

엔티티 (entity) 현실세계를 데이터 관점에서 모델링할 때 사용되는 핵심적인 개념 엔티티란 - 업무의 관심 대상이 되는 정보를 갖고 있거나 그에 대한 정보를 관리할 필요가 있는 유형, 무형의 사물을 말함 예를 들어 회원제 인터넷 쇼핑 사이트에서 정보를 관리해야 할 필요가 있는 회원, 상품, 쇼핑카드와 같은 사물을 엔티티라고 함 회원이나 상품은 실제로 존재하는 유형의 사물이지만 쇼핑카트는 인터넷상에만 존재하는 무형의 사물 눈에 보이지 않는 무형의 사물도 정보를 관리해야 할 필요가 있다면 엔티티 객체지향의 개념에 익숙한 독자라면 엔티티가 클래스에 해당하고 엔티티의 인스턴스는 객체에 해당한다는 것을 알 수 있다 모델링 단계에서는 인스턴스는 크게 중요하지 않음 물리적 설계 단계에서 엔티티와 인스턴스는 각각 ..

[DB] 기본키와 외래키

데이터베이스 설계를 위해 반드시 이해해야 할 개념 중의 하나가 기본키(primary key)와 외래키(foreign key)이다. DBMS를 구현해야 하는 입장에서 보면 중복된 튜플이 삽입되는지를 확인하는 것은 쉬운 일이 아님 1번 튜플이 삽입되는 경우는 이미 존재하는 모든 튜플에 대해 모든 컬럼이 같은지를 일일이 검사해보면 중복 여부를 알 수 있지만, 튜플 수가 수십만 개에 달하는 경우는 비교 시간이 매우 오래 걸리기 때문에 현실적인 방법이 아님 2번 튜플의 경우는 의미적 중복이지만 데이터의 의미를 이해할 수 없는 DBMS로서는 2번 튜플이 의미적으로 중복인지를 알아낼 방법이 없음 후보키 (candidate key)란 테이블에서 각 튜플을 구별하는 데 기준이 되는 하나 혹은 그 이상의 컬럼들의 집합 <..