728x90

데이터 모델링

- 데이터를 DB로 표현하기 위한 모델링 과정

1. 개념적 모델링 : 현실 데이터를 추상화하여 개념적 데이터로 표현. ER 모델 이용하여 ERD로 표현

2. 논리적 모델링 : 개념적 모델을 DBMS에서 사용하는 논리적 데이터 모델로 변환. 2차원 테이블 형태로 릴레이션 표현

3. 물리적 모델링 : 논리적 데이터 모델을 물리적 데이터(디스크에 저장)로 변환 

 

데이터 모델

- 데이터를 기술하는 개념적 도구

- 개념적 데이터 모델 : 개체와 관계라는 개념으로 구성 -> ER 모델

- 논리적 데이터 모델 : 레코드와 관계라는 개념으로 구성 -> 관계형 데이터 모델

* 데이터 모델은 일반적으로 논리적 데이터 모델 지칭

 

 

개념적 데이터 모델

- 현실 세계를 개념적 모델링하여 얻을 수있는 데이터 구조. 개체와 관계로 구성된 데이터 모델 ex) ER 모델

- Entity Relation Model : ERD로 표현

 

논리적 데이터 모델

- 개념적 데이터 모델을 DBMS에서 사용가능한 논리적 데이터 모델. 레코드와 관계 개념으로 구성

- 관계 데이터 모델 : DB를 릴레이션(테이블 집합)으로 모델링한 구조

 

ER 모델 관련 용어

 

개체 entity

- DB가 표현하려는 정보, 서로 구별될수 있는 요소

- 파일 시스템의 레코드에 대응

- 둘 이상의 속성으로 구성

 

속성 attribute

- 개체 특성을 나타내는 요소. 가장 작은 논리적단위 열

 

도메인 domain

- 속성이 가질수 있는 값의 범위

- ex) : 성별 속성의 도메인 "남, 여"

 

개체 타입 entity type

- 속성들을 포함한 개체 정의

 

개체 인스턴스 entity instance

- 행 하나 값들의 집합

 

관계 relation

- 개체들관 의미있는 연결

- 1:1, 1:N, N:M 관계

 

카디널리티 cardinality

- 관계에 대응하는 개체 수

- (min, max)로 표현 . (1, 3) 해당 개체는 최소 1개서 3개까지 대응

- 아래의 예시서 학생은 최소 1개서 7개의 교과목 수강. 교과목은 최소 1, 최대 7명 학생이 수강

 

차수 degree

- 관계에 연결된 개체 타입 개수

- 개체 타입 개수에 따라 1진, 2진, N진 관계로 구분

 

 

 

 

관계 데이터 모델

- DB를 2차원 테이블, 릴레이션 집합으로 모델링하는 논리적 데이터 구조

- ER 모델을 관계 데이터 모델로 바꾸기 쉬움

- 사원 개체를 표현한 개체 관계 데이터 모델

 

테이블과 릴레이션 차이

- 테이블 : 릴레이션을 표현하는 구체적인 표현 방법. 중복 행 허용

- 릴레이션 : 추상적 개념. 중복행 허용 x

 

관계 데이터 모델 관련 용여

- 튜플 tuple : 관계 데이터 모델 하나의 행. 엔티티에 대응

- 속성 attribute : 관계 데이터 모델 하나의 열

- 도메인 domain : 속성이 가질수 있는 값의 범위

- 기수 cadinality : 릴레이션이 갖는 튜플의 갯수

- 차수 degree : 릴레이션이 갖는 속성의 갯수

- 릴레이션 스키마 relation scehema : 속성들의 집ㅎ바

- 릴레이션 인스턴스 relation instance : 튜플들의 집합

- 릴레이션 relation : 행과 열의 2차원 구조로 릴레이션 스키마와 릴레이션 인스턴스의 합한 개념

- 키 key : 튜플을 유일하게 식별할수 있는 속성, 속성 집합

* 개체 관계 모델과 관계 데이터 모델의 카디널리티와 차수의 개념은 조금씩 다르다

 

 

관계형 데이터베이스

- 릴레이션(테이블)의 집합으로 테이블 형태로 표현

 

관계형 데이터베이스 스키마

- 릴레이션 스키마와 무결성 제약조건으로 정의

 

릴레이션 스키마 :  속성들의 집합

릴레이션 인스턴스 : 튜플들의 집합

릴레이션 : 릴레이션 스키마 + 인스턴스

 

- 릴레이션을 구성하는 튜플들을 식별하는 속성, 속성들의 집합

- 후보키 : 유일성과 최소성을 만족하는 속성들의 집합

- 슈퍼키 : 유일성은 만족하나 최소성이 만족하지 않는 속성 집합

- 기본키 : 후보키 중 가장 적합한 하나의 키. not null. 중복 불가

- 대체키 : 기본 키를 제외한 나머지 후보키

- 외래키 :하위(참조) 릴레이션이 상위(피참조) 릴레이션의 기본키를 외래키로 가짐

 

유일성 : 각 튜플을 유일하게 식별

최소성 : 각 튜플들을 유일하게 식별한는데 필요한 최소 속성만 포함

 

후보키 candidate key

- 사번, 이름, 입사일, 호봉, 휴대폰 속성

- 사번, 휴대폰만 후보키 가능

- 이름, 입사일, 호봉은 유일하지 않음

- {사번, 이름}, {사번, 호봉} -> 최소성을 만족하지 않음

 

외래키 foreign key

- 하위-참조 릴레이션이 상위-피참조 릴레이션의 기본키(or null)를 참조하는 속성을 외래키

 

무결성 제약조건 integrity

- 데이터 정확성 일관성 유지를 위해 DB가 만족해야하는 조건

- 개체 무결성 entitiy integrity : 튜플 유일하게 식별하도록 기본키는 반드시 값을 가져야함. 기본키는 not null

- 참조 무결성 referencial integrity : 외래키는 피참조 릴레이션의 기본키나 널값을 가짐

- 도메인 무결성 domain integrity : 미리 정해진 값을 가져야함

 

무결성 제약 조건

- 기본키와 외래키는 개체 무결성과 참조 무결성이 묵시적으로 정의

- not null

- unique

- check 

300x250

'컴퓨터과학 > SW, DB' 카테고리의 다른 글

데이터베이스 3 - SQL  (0) 2020.05.17
요구사항 2 - UML  (0) 2020.05.16
데이터베이스 1 - 데이터베이스 관리 시스템  (0) 2020.05.16
보안 점검 항목  (0) 2020.05.16
암호 알고리즘  (0) 2020.05.16

+ Recent posts