2020. 10. 15. 23:53ㆍ개발/[DB] 데이터베이스 개념정리
이 글은 DB개념을 정리한 글입니다.
데이터 모델링
데이터 모델링 : 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정
추상화 : 누가 들어도 머릿속에서 데이터를 찾을 수 있게 하는 작업
개념적 모델링 : 중요 데이터를 추출하여 개념 세계로 옮기는 작업
논리적 모델링 : 개념 세계의 데이터를 데이터베이스에 저장할 구조를 결정하고 이 구조로 표현하는 작업
데이터 모델 : 데이터 모델링을 쉽게 할 수 있도록 도와주는 도구
데이터 모델은 데이터 구조, 연산, 제약조건으로 구성 된다.
개념적 데이터 모델 : 사람의 머리로 이해할 수 있도록 현실 세계를 개념적 모델링하여 데이터 베이스의 개념적 구조로 표현하는 도구
논리적 데이터 모델 : 개념적 구조를 논리적 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구
개념적 데이터 모델 + 논리적 데이터 모델링 = 데이터베이스 설계
개체-관계 모델
개체-관계 모델은 1976년에 피터 첸이 제안한 것으로, 개체와 개체 간의 관계를 이용해 현실 세계를 개념적 구조로 표현하는 방법이다
개체(entity): 현실 세계에서 조직을 운영하는데 꼭 필요한 사람이나 사물과 같이 구별되는 모든 것 ex) 은행에서의 고객<개체
개체 인스턴스 : 개체를 구성하고 있는 속성이 실제 값을 가짐으로써 실체화된 개체
파일 구조에서 개체=레코드, 속성=필드 E-R다이어그램에서 개체는 사각형
-----------------------------------------------------------------------------
속성: 개체가 가지고 있는 고유의 특성 ex) 은행에서의 고객의 이름, 주소, 연락처
E-R다이어그램에서 속성은 타원으로 표현
단일 값 속성 : 특정 개체를 구성하는 속성의 값이 하나 ex) 고객 개체를 구성하는 이름, 적립금 등의 속성은 한명의 고객 인스턴스에 대해 하나의 값만 가진다.
다중값 속성 : 속성이 값을 여러 개 가질 수 있으면 다중 값 속성 (E-R 다이어그램에서 이중타원) ex) 고객 개체를 구성하는 연락처 속성은 한 명의 고객 인스턴스에 대해 집 전화번호와 휴대폰 번호 등 값을 여러 개 가질 수 있다.
단순 속성 : 더는 분해할 수 없는 속성 ex) 적립금 속성은 더 분해되지 않는다
복합 속성 : 의미를 분해할 수 있어 갑싱 여러 개의 의미를 포함한다. ex) 주소 속성은 도, 시, 동으로 분해 된다.
유도 속성 : 기존의 다른 속성 값에서 유도되어 결정되는 속성(E-R다이어그램에서 점선 타원)
ex) 책 개체가 가지는 가격, 할인율 속성과 유도되는 판매가격(유도속성)
널 속성 : 널 값은 아직 결정되지 않았거나 모르는 값을 의미 또는 해당되는 값이 없는, 즉 존재하지 않는 값 / 공백이나 0과는 다르다 => 이 널 값이 허용되는 속성을 널 속성
키 속성 : 속성들 중에서 특별한 역할을 하는 속성 ex) 고객 개체의 고객아이디는 고객마다 다르기 때문에 키속성!(E-R 다이어그램에서 밑줄)
-----------------------------------------------------------------------------
관계 : 개체와 개체가 맺고 있는 의미 있는 연관성 즉 개체 집합들 사이의 대응관계를 의미
(E-R다이어그램에서 마름모)
관계의 유형
일대일 관계(1:1): 개체 A의 개체 인스턴스와 개체 B의 개체 인스턴스와 하나의 관계를 맺음
일대다 관계(1:n): 개체 A의 개체 인스턴스는 개체B의 개체 인스턴스 여러개와 관계를 맺을 수 있지만 개체 B의 인스턴스는 개체 A의 인스턴스와 하나와만 관계를 맺는다.
다대다 관계(n:m): 개체 A의 개체 인스턴스와 개체 B의 개체 인스턴스가 n:m으로 관계를 맺는다.
관계의 참여 특성
개체가 관계에 모두 참여하는지, 선택 참여하는지 나타내는 것 (E-R다이어그램에서 이중 실선)
관계의 종속성
개체 B가 독자적으로는 존재할 수 없고 다른 개체 A의 존재 여부에 의존적이라면, 개체 B가 개체A에 종속되어 있다고 한다.
--------------------------------------------------------
논리적 데이터모델
E-R 다이어그램으로 표현된 개념적 구조를 데이터베이스에 저장할 형태로 표현한 논리적인 구조를 논리적 데이터 모델이라 한다.
계층 데이터 모델
데이터베이스의 논리적 구조가 트리형태이며, 루트 역할을 하는 개체가 존재하고 사이클이 존재하지 않는다.
단점) 관계 정의시 여러 제약이 존재하므로 논리적 모델링을 자연스럽게 하기 힘들며, 데이터의 조작기능이 쉽지 않다.
네트워크 데이터 모델
데이터베이스의 논리적 구조가 그래프 또는 네트워크 형태
장점) 같은 개체들 사이의 관계를 두 개 이상 표현할 수 있어 계층 데이터 모델보다 논리적 모델링이 자연스럽다.
단점) 계층 데이터 모델보다 구조가 훨씬 복잡해질 수 있고, 데이터의 조작기능이 더 어려워진다.
'개발 > [DB] 데이터베이스 개념정리' 카테고리의 다른 글
[DB] 관계형 데이터 모델링 개념 정리 (0) | 2020.10.15 |
---|---|
[DB] 데이터베이스 시스템 (0) | 2020.10.15 |
(DB)데이터베이스 관리시스템(DBMS) (0) | 2020.10.15 |
[DB] 데이터베이스 개념정리 (0) | 2020.10.15 |