본문 바로가기
Backend/DataBase

DB - 데이터 모델링 & 관계형 데이터 모델

by YERIEL_염주둥 2020. 3. 18.
728x90

1. 데이터 모델링

1. 정의 : 복잡한 현실 세계에 존재하는 데이터를 단순화 시켜서 표현해 컴퓨터 세계의 데이터베이스로 옮기는 변환과정

<현실>사이트 로그인(업무-회원가입이 되어있는 전제하) → <개념>이메일, 패스워드, 날짜(관리자 입장에서는 언제 로그인 했는지 알 수 있어야한다.) <컴퓨터> 속성으로 테이블을 생성 하는것을 데이터 모델링

2.특징

① 추상화 - 공통적인 특성을 뽑아내는것... 명사를 찾아내봐
② 단순화 - 누구나 이해 할 수 있도록 표현해야한다. - 코멘트 적기
③ 명확성 - 명확하고 분명해야한다. 의미가 해석되어야 하고 한 가지 의미를 가져야한다.

3. 개념적 데이터 모델

사람의 머리로 이해할 수 있도록 현실 세계를 개념적인 형태로 모델링하여 데이터베이스의 개념적 구조로 표현하는 도구  -도식화 하는것(exerd)

4. 논리적 데이터 모델

개념적 구조를 논리적 형태로 모델링하여 데이터베이스의 논리적 구조로 표현하는 도구

5. 개체 - 관계 모델

데이터 모델링 분야에서 개체-관계 모델이란 구조화된 데이터에 대한 일련의 표현이다.
서로 관계된 두 개의 엔티티 "구조"화 된 데이터를 저장하기 위해 데이터베이스를 쓴다. 

1] 관계 (relationship)

 개체와 개체가 맺고 있는 의미 있는 연관성
 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미
 1 : 1 관계 , 1 : n 관계, n : m관계

2] E - R 다이어그램

이 데이터의 "구조" 및 그에 수반한 제약 조건들은 다양한 기법에 의해 설계될 수 있다. 그 기법 중 하나가 체-관계 모델링(Entity-Relationship Modelling)이다. 줄여서 ERM이라고 한다. ERM 프로세스의 산출물을 가리켜 개체-관계 다이어그램(Entity-Relationship Diagram)이라 한다. 줄여서 ERD라 일컫는다. 데이터 모델링 과정은 데이터 모델을 그림으로 표현하기 위해 표시법을 필요로 한다. ERD는 개념적 데이터 모델 혹은 시맨틱 데이터 모델의 한 타입이다.

E - R 다이어그램 기본

 예시

출처 _ 한국스마트정보교육원
출처 _ 위키백과

 

2. 관계형 데이터 모델 

1. 데이터베이스이 구성

datebase의 구성

① 데이터베이스 스키마 (database schema)

 - 데이터베이스의 전체구조 
 - 데이터베이스를 구성하는 릴레이션 스키마의 모음 

② 데이터베이스 인스턴스 (database instance)

 

2. 릴레이션의 특성 (기사시험 이론에 나와요)

① 튜플의 유일성 : 하나의 릴레이션은 동일한 튜플이 존재할 수 없다
② 튜플의 무순서 : 하나의 릴레이션에 튜플 사이의 순서는 무의미한다.
③ 속성의 무순서 : 속성 순서도 무의미하다.
④ 속성의 원자성 : 속성값으로 원자값으로 사용 할 수있다. 속성에 들어가는 값은 쪼갤수 없게 원자성을 유지해야한다.  

3. 키의 특성 

키(key) : 릴레이션에서 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합
유일성(uniqueness) : 데이터베이스를 구성하는 릴레이션 스키마의 모음 
최소성 : 행을 식별하기 위해서 최소한으로 만들어주는것이 좋다.

4. 키의 종류

키의 종류

① 기본키(primary key) : 후보키 중에서 기본적으로 사용하기 위해 선택한 키 - 유일하게 나올 수 있는 것
② 후보키(candidate key) : 유일성과 최소성을 만족하는 속성 또는 속성들의 집합 - 기본키를 제외한 모든 키가 후보키가 될 수 있다. (단일키 / 복합키)
③ 대체키(alternate key) : 기본키로 선택되지 못한 후보키  
④ 슈퍼키(super key) : 유일성을 만족하는 속성 또는 속성들의 집합 - 유일성만 만족하면 됨.
⑤ 외래키(foreign key) : 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

 

외래키 관계

참조하는 릴레이션 : 외래키를 가진 릴레이션

참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션

참조 되는 릴레이션 > 참조 하는 릴레이션

5. 제약조건

1] 무결성 제약조건 (integrity constraint) :  데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙
 무결성 : 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것 

① 개체 무결성 제약조건 (entity integrity constraint) : 기본키를 구성하는 모든 속성은 null 값을 가질 수 없는 규칙

② 참조 무결성 제약조건 (referential inegrity constraint) : 외래키는 참조 할 수 없는 값을 가질 수 없는 규칙, 그러나 외래키의 속성이 널 값을 가진다고 해서 참조 무결성을 위반하는 것은 아니다.

 

반응형

'Backend > DataBase' 카테고리의 다른 글

MySQL 내장함수  (0) 2020.03.18
20200318 DATABASE 실습  (0) 2020.03.18
MySQL -데이터 타입 & 집계 함수  (0) 2020.03.18
SQL(Structured Query Language) 기초 & 기초 실습  (0) 2020.03.11
Data Base 첫 단계  (0) 2020.03.11

댓글