데이터 모델링
- 데이터를 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
'컴퓨터과학 > 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 |