728x90
복습하기 위해 학부 수업 내용을 필기한 내용입니다.
이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다.
그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다.
▶데이터 모델링의 개념
- 데이터 모델링
- 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
- 3단계 데이터의 세계
- 현실 세계(real world)
- 인간이 감각기능을 통해 감지할 수 있는 실체로 되어있는 세계
- 개념 세계(conceptual world)
- 현실 세계의 실체를 개념으로 표현한 단계
- 컴퓨터 세계(computer world)
- 개념 세계를 컴퓨터가 처리할 수 있는 데이터로 변환한 단계
- 현실 세계(real world)
- 개념적 데이터 모델링
- 현실 세계의 실체를 추상적 개념을 통해 개념 세계로 표현하는 과정
- 개념적 데이터 구조
- 개념적 데이터 모델링으로부터 얻은 결과
- 개체 타입
- 현실 세계의 개체들을 추상화시킨 것
- ex. 학생, 교수, 과목
- 속성
- 개체 타입에 속하는 개체들의 공통적인 속성
- ex. 학번, 성명, 전화번호
- 인스턴스
- 각 개체의 값
- ex. "20181234, 김철수, 010-4654-7654"
- 개념 세계의 개념적 데이터 구조는 컴퓨터가 직접 이해할 수 없기 때문에 컴퓨터 세계의 환경에 맞게 변환
728x90
- 논리적 데이터 모델링
- 개념적 데이터 구조로부터 논리적 개념을 이용하여
- 논리적 데이터 구조, 즉 데이터 모델로 표현하는 것
- 물리적 데이터 모델링
- 논리적 데이터 구조를 컴퓨터가 접근할 수 있는 물리적 데이터 구조로 변환시키는 것
- DBMS를 이용해서 물리적 데이터 구조로 저장
▶데이터 모델
- 데이터베이스 설계(database design)
- 현실 세계 → 개념적 데이터 구조 → 논리적 데이터 구조 → 물리적 데이터 구조로 변환시키는 모든 과정
- 개념적 데이터 모델(conceptual data model)
- 속성들로 기술된 개체 타입과 이 개체들 간의 관계를 이용하여 현실 세계를 표현하는 방법
- 논리적 데이터 모델(logical data model)
- 데이터 필드로 기술된 레코드 타입과 이 레코드 타입들 간의 관계를 이용하여 개념 세계를 표현하는 방법
- 지금까지 제안된 논리적 데이터 모델
- 계층 데이터 모델(hierarchical data model) : tree형식
- 네트워크 데이터 모델(network data model)
- 관계형 데이터 모델(relational data model) : 가장 많이 사용 (표)
- 객체 지향 데이터 모델(object-oriented data model)
- 객체-관계형 데이터 모델(object-relational data model) : 최근 사용
▶관계
- 개체들 사이에 존재하는 연관성이나 연결로서 두 개 이상의 개체 타입들 간의 사상(mapping)을 말한다.
- 학생과 교수 개체 집합만으로는 별 의미를 나타내지 못하지만
- “교수가 학생을 지도한다”라는 관계를 정의한다면 유용한 의미를 표현한다.
- 사상 원소수 (mapping cardinality)
- 일 대 일 (1 : 1) : 신랑과 신부
- 일 대 다 (1 : n) : 어머니와 자식
- 다 대 일 (n : 1) : 학생과 교수
- 다 대 다 (n : n) : 학생과 과목
▶E-R 모델 - 개념적 데이터
- 개체–관계 모델(Entity-Relationship model)
- 1976년 P. Chen이 제안한 개념적 데이터 모델
- E-R 다이어그램: E-R 모델을 그래프 방식으로 표현한 것
- 개체 타입 (entity type)
- 관계 (relationship)
- 속성(attribute)
- 개체 타입은 연관된 개체 타입들을 링크로 연결하고, 사상 원소수에 따라 레이블을 붙인다.
- 또한 속성도 가질 수 있다.
▶개체 타입
- 개체 타입에는 강한 개체 타입과 약한 개체 타입이 있다
- 강한 개체 타입
- 독자적으로 존재하며 개체 타입 내에서 자신의 속성들을 사용하여
- 고유하게 개체들을 식별할 수 있는 타입을 의미 (지금까지 한 것)
- 약한 개체 타입
- 키를 형성하기에 충분한 속성들을 갖지 못한 개체 타입
▶속성의 여러 가지 유형
- 단순 속성
- 더 이상 다른 속성으로 나눌 수 없는 속성
- ex. 개체 '고객'의 ID, 이름, 주소 등
- 복합 속성
- 두 개 이상의 속성들로 이루어진 속성
- ex. 속성 '주소'의 시, 군, 동, 우편번호
- 주소는 단순 속성이지만, 세분화할 필요가 있을 땐 복합 속성이 된다.
- 다치 속성
- 각 개체마다 여러 개의 값을 가질 수 있는 속성 (가능하면 사용 X)
- ex. 속성 '취미'
- 유도된 속성
- 다른 속성의 값으로부터 얻어진 속성
▶약한 개체 타입
- 약한 개체 타입에게 키 속성을 제공하는 개체 타입을 소유 개체 타입 또는 식별 개체 타입이라 한다.
- E-R 다이어그램에서 약한 개체 타입은 이중선 직사각형으로 표기
- 강한 관계는 강한 개체들 사이의 관계이다.
- 약한 관계는 강한 개체 타입과 약한 개체 타입을 연결하는 관계이다.
▶참여 제약 조건
- 참여 제약 조건은 전체 참여와 부분 참여가 있다.
- 어떤 관계에 객체 타입의 모든 객체들이 참여하면 전체 참여라고 한다.
- 일부 객체만 참여하면 부분 참여라고 한다.
- E-R 다이어그램에서 전체 참여는 이중 실선으로 표시하고, 특히, 약한 개체 타입은 항상 관계에 전체 참여한다.
▶논리적 데이터 모델
- 관계형 데이터 모델(relational data model)
- 개체와 관계가 모두 테이블(릴레이션)로 표현
- 개체와 관계에 대한 정의만 명세한 것을 릴레이션 스키마(relation schema)라 한다.
- 개체 릴레이션: 학생, 교수, 과목
- 관계 릴레이션: 지도, 수강, 강의
728x90
'컴퓨터공학 > 데이터베이스' 카테고리의 다른 글
[데이터베이스] B 트리 & B+ 트리 (0) | 2022.10.14 |
---|---|
[데이터베이스] 물리적 데이터 (0) | 2022.10.13 |
[데이터베이스] 데이터베이스 시스템 (0) | 2022.10.12 |
[데이터베이스] DBMS (Database Management System) (0) | 2022.10.12 |
[데이터베이스] 데이터베이스의 정의 (0) | 2022.10.12 |