You can make anything
by writing

C.S.Lewis

by 에릭 Apr 29. 2025

Entity Relationship Model의 이해

객체-관계 모델

ERModel

관심 있는 사물(엔티티)과 그 사물들 간의 관계를 설명하는추상적인 데이터 모델니다.데이터베이스의 논리적인 구조를 시각적으로 표현하여 개발자들이 데이터베이스를 효율적으로 설계하고 이해하는 데 도움을 줍니다.


ER 모델은 총 3가지의 핵심 구성 요소로 이루어져 있습니다.

1. Entity:현실 세계의 객체로, 고유한 존재를 가지며, 속성들의 집합.

2. Attribute: 엔터티의 특성을 설명하는 데이터 항목.

3. Relationship: 2개 이상의 엔터티 간의 연관성.

무료 카지노 게임예시 1

위 예시에 표기된 데이터베이스에서 선생님에 관한 Attribute로는 (이름과 나이), 학생 또한 (이름과 나이)을 갖습니다. 또한 선생님(Entity)들은 특정 학생(Entity)과 가르침(Relationship)을 갖고 있습니다.


Key(열쇠)의 개념

예시 1의 데이터 모델은 중복되는 선생님 혹은 학생의 이름이 없을 때적절하게 작동할 수 있습니다. 다만, 이름과 나이가 같은 선생님(예: Jessica - 21세)이 2명 이상 생긴다면 구분하기 어렵습니다. 이에 따라 Entity는 중복되지 않는 Attribute를 요할 때가 많습니다.


Super Key

Entity집합 내에서 각 엔터티를 고유하게 식별할 수 있는 속성들의 집합입무료 카지노 게임. 독단적으로 혹은 집합으로써 존재할 수 있습니다.예를 들어, '고객' 테이블에 '고객 ID', '이름', '주소' 속성이 있다면, {'고객 ID'}, {'고객 ID', '이름'}, {'고객 ID', '이름', '주소'} 등은 모두 슈퍼키가 될 수 있습니다. '고객 ID'만으로도 각 고객을 유일하게 식별할 수 있지만, 다른 속성들을 함께 포함해도 여전히 유일성을 보장하기 때문입무료 카지노 게임.


Candidate Key

최소한의 속성 집합으로 구성된 슈퍼키로, 더 이상 속성을 제거할 수 없습니다. 예를 들어 {'이름', '주소', '생년월일'}의 경우, 이 세 가지 속성의 조합이 각 개인을 유일하게 식별할 수 있고, 이 중 어느 하나라도 빠지면 유일성을 보장할 수 없다면, 이는 후보 키가 될 수 있습니다.

위의 '고객' 테이블 예시에서, 만약 '고객 ID'가 모든 고객에 대해 유일한 값을 가진다면, {'고객 ID'}는 후보 키가 됩무료 카지노 게임. 만약 '주민등록번호' 속성이 추가로 있고 이 또한 유일하다면, {'주민등록번호'} 또한 후보 키가 될 수 있습무료 카지노 게임. {'고객 ID', '이름'}은 '이름' 속성이 없어도 유일성을 유지할 수 있으므로 후보 키가 아닙무료 카지노 게임.

Primary Key

후보키 중에서 데이터베이스설계자가 선택한 주 식별자입무료 카지노 게임. 기본 키는 NULL 값을 가질 수 없으며, 테이블 내에서 중복된 값을 가질 수 없습니다. '고객' 테이블에서 {'고객 ID'}를 기본 키로 선택할 수 있습니다. 다른 후보 키가 있다면 (예: '주민등록번호'), 이는 대체 키 (Alternate Key)라고 불립니다.

무료 카지노 게임예시 2


관계(Relationship) 특성

Degree - 치수

관계에 참여하는 엔터티의 수를 나타냅니다. 이항관계(2개), 삼항 관계(3개) 등이 있습니다.

무료 카지노 게임


Cardinality -카디널리티

한 엔터티가 다른 엔터티와 맺을 수 있는 관계의 수를 나타냅니다. 예: 1:1, 1:N, M:N.

예시 2번에서 선생님은 많은학생을 가르칠 수 있고, 학생은 많은선생님에게 가르침을 받을 수 있습무료 카지노 게임. 고로 이는 M:N 관계입무료 카지노 게임.

매니저는 1개의 매장을 관리하고, 각 매장은 1명의 매니저만 갖고 있습니다. 고로 1:1 관계입무료 카지노 게임.

은행 지점은 여러 개의 계좌를 개설하지만, 계좌는 1개의 개설 지점을 갖고 있습니다. 고로 1:N 관계입무료 카지노 게임.


Participation - 참여

Total (전체)과 Partial(부분) 참여로 나뉩니다. Total Participation은 모든 Entity가 관계에 참여하지만, Partial은 이름 그대로 전체가 참여한다는 보장을 하지 않습니다. Total Participation은 굵은 선으로 나타냅무료 카지노 게임.

예시 3

예를 들어

1. 강연자는 최대 1개의 수업을 진행할 수도, 안 할 수도 있습니다. 하지만 모든 수업은 무조건 1명 이상의강연자가 있습니다.

2. 강연자는 최소 1개 혹은 그 이상의 수업을 진행합니다. 수업은 최소 1명 혹은 여러 명이 강연자를 갖습니다.

3.강연자는 최대 1개의 수업을 진행할 수도, 안 할 수도 있습니다. 하지만 모든 수업은 무조건 최대 1명의 강연자가 있습니다.


Strong & Weak Entity

Weak(약한)Entity는 자체적으로는 기본 키(Primary Key)를 가질 수 없는 Entity입무료 카지노 게임. 즉, 자신의 속성만으로는 각 인스턴스를 고유하게 식별할 수 없습니다. 따라서 약한 엔티티(Weak Entity)는 항상 강한 엔티티(Strong Entity)와의 관계를 통해 식별됩니다. 이 관계를 식별 관계(Identifying Relationship)라고 부릅니다.

위 예시에서 Employee(직원)은 Strong Entity, Contact(연락처)는 Weak Entity입무료 카지노 게임. 직원의 이름과 전화번호는 Employee Entity에 의존합니다.


이러한 구조가 필요한 이유는 여러 가지가 있습무료 카지노 게임. 첫 번째는 Existence Dependency(존재 종속성)을 통해 Strong Entity가 삭제되면 Weak Entity도 자연스럽게 삭제되도록 하는 것이고, 두 번째는 Identification Dependency(식별 종속성)을 통해 특정한 정보를 가져올 때 String Entity도 필수적으로 요하도록 설계하는 것입무료 카지노 게임.


Subclass와 Inheritance(종속성)

Subclass는상위 엔터티의 모든 속성과 관계를 상속받으며, 추가적인 속성과 관계를 가질 수 있습무료 카지노 게임.

왼쪽 예제에서 사람은 의사 혹은 환자 혹은 둘 다 아닐 수 있습니다. 오른쪽 예제에서 직원은 필수적으로 정직원이거나 계약직 중 하나입무료 카지노 게임.


Subclass인 Doctor, Patient는 Parent class인 Person의 정보를 굳이 기입하지 않고도 쉽게 접근할 수 있으며, 데이터 중복성도 최대한 배제할 수 있습니다. 이는 나중에 설명할 Normalization과도 관련이 있습니다.



본 글은University Of New South Wales - COMP3311코스에서 배운 내용을 복습 및 시험 대비 노트를 위해 작성했습무료 카지노 게임.

브런치는 최신 브라우저에 최적화 되어있습무료 카지노 게임.