[데이터베이스] 2강. 데이터 모델

데이터 모델


데이터 모델의 개요

현실 세계(개체) <=> 개념 세계(개념) <=> 컴퓨터 세계(자료)


현실 세계 (개체)


개념 세계 (개념)


컴퓨터 세계 (자료)


개념적 모델링 (Conceptual Modeling)


데이터 모델링 (Data Modeling)


데이터 구조화 (Data Structuring)


현실 세계   (업무 프로세스) -> 개념적 데이터 모델링 -> 개념화 -> 논리적 데이터 모델링 (단순화, 추상화)
                                                        |
                                                        |
                                                        V
컴퓨터 세계  물리적 DB <- 개념적 데이터 모델링 (데이터 구조화) <- 데이터 모델


D = <S, O, C> : [ S: Structure, O: Operation, C: Constraint ]


데이터 구조 (Data Structure)


연산 (Operation)


제약조건 (Constraint)


개체, 관계, 속성

개체 (Entity) : 업무에 관한 어떤 것
관계 (Relation) : 업무에 관계되어 있는 어떤 것 간의 관계
속성 (Attribute) : 어떤 것이 가지는 성격

ex) 로미오와 줄리엣은 사귀고 있다.

로미오와 줄리엣 - 개체
사귀고 있다 - 관계
속성 - 로미오의 이름 로미오, 로미오의 성별 남자
      줄리엣의 이름 줄리엣, 줄리엣의 성별 여자


개체 (Entity)

학과 개체 (무형), 학생 개체 (유형)

개체(Entity)와 객체(Object)의 차이?

객체가 개체보다 포괄적인 의미입니다.
객체는 Entity와 행동을 의미합니다.


관계 (Relation)

학생이 학과에 소속되어 있음


속성 (Attribute)

학과 개체의 속성 : 학과장, 학과이름, 학과위치
학생 개체의 속성 : 학번, 이름, 학과


ERD : Entity Relation Diagram


개념적 데이터 모델과 논리적 데이터 모델

개념적 데이터 모델


개체 관계 모델 (E-R : Entity-Relationship Model)


논리적 데이터 모델


개념적 데이터 모델



약한 개체 타입 => 직사각형 (개체 타입) 두번 중첩
식별 관계 타입 => 다이아몬드 (관계 타입) 두번 중첩
다중 값 속성 => 원 (속성 타입) 두번 중첩
유도 속성 => 점으로 그려진 원
복합 속성 => 두 개 이상의 연결 기호
전부 참여 개체 타입 => =
부분 참여 개체 타입 => -

ISA관계등.. 필요시 찾아보기


개체(Entity) : 학번 | 이름 | 학과 <= 개체 타입 (Entity Type)

개체 집합 (Entity Set) : 001 | 이근환 | 컴퓨터 <= 개체 인스턴스 (Entity Instance)
                       002 | 대장부 | 변호사
                       003 | 태양초 | 고추장
                       ...

개체 인스턴스의 집합을 개체 집합이라고 한다.


단순 속성 (Simple Attribute)


복합 속성 (Composite Attribute)


단일 값 속성 (Single-Valued Attribute)


다중 값 속성 (Multi-Valued Attribute)


유도 속성 (Derived Attribute)


저장 속성 (Stored Attribute)

생년월일 (저장속성) - 학생 - 나이 (유도 속성 : 현재날짜 - 생년월일 = 나이)


널 속성 (Null Attribute)


관계 타입 (Relationship Type)


관계 집합 (Relationship Set)

학과[네모] - 지도[마름모] - 학생[네모]


관계 유형


카디날리티 (Cardinality)


카디날리티 비율의 최소값과 최대값


고객(0,N) - 카드발급 - 카드 (1,N)

고객은 카드가 필요 없을 수도 있지만,
카드는 발급되려면 최소한 1명의 고객이 있어야 한다.
고객은 여러명일 수 있고 고객은 카드를 만들고자할 때 여러개를 만들 수 있다.


ISA 관계


논리적 데이터 모델


논리적 데이터 모델링


논리적 데이터 모델링 목적


계층 데이터 모델

교수 - 학생 - 수강과목
교수 - 과목 - 수강학생


네트워크(Network) 데이터 모델


관계 데이터 모델