티스토리 뷰

728x90

모델링이란?

 : 다양한 현실세계의 현상을 규칙화 시키는 것

 

모델링 특징 3가지

 : 추상화(일정한 형식에 집어넣는 것), 단순화, 명확화 

 

데이터 모델

 : 데이터베이스의 구조를 단순화, 추상화 하여 체계적으로 표현하는데 사용되는 도구

 

데이터 모델 구성요소 

  • 데이터 구조(Data Structure)
  • 연산(Operation)
  • 제약조건(constraint)

데이터 모델링의 3단계

개념적 모델링

: 개체(Entity) 속성(attribute) 그리고 개체 간의 관계(relationship)을 이용하여 데이터를 추상화

 

논리적 모델링

: 관계 스키마 모델을 만드는 과정(표같이 생긴거)

 

물리적모델링

: 관계 스키마 모델의 물리적 구조를 정의하고 구현하는 과정

 

데이터 독립성의 요소

외부 스키마 : 사용자가 보는 개인적 DB 스키마

개념 스키마 : 모든 사용자 관점을 통합한 전체 DB

내부 스키마 : 개발자가 보는 관점, 물리적 장치에서 데이터가 실제적 저장

 

데이터 독립성

논리적 독립성 : 개념 스키마가 변경되어도 외부 스키마에는 영향을 주지 않는 것

물리적 독립성 : 내부스키마가 변경되어도 외부/개념 스키마에게 영향을 주지 않는 것

 

개체 (Entity)

식별자가 있고

2개이상의 인스턴스,

속성을 가지고 있고,

다른 개체와 최소 한개 이상의 관계가 있다.


사용 목적에 따른 종류 : 유형, 개념, 사건 엔터티

발생시점에 따른 종류 : 기본, 중심, 사건 엔터티

 

속성(attribute)

분해 여부에 따른 종류

  • 단일속성 : 회원 ID, 이름 등
  • 복합속성 : 주소, 생년월일 등
  • 다중값 속성 : 연락처

특성에 따른 종류

  • 기본속성 : 회원ID
  • 설계속성 : 상품코드
  • 파생속성 : 합계 평균 등 

 

관계(relationship)

개체와 개체가 맺고 잇는 의미있는 연관성을 의미한다.

  • 존재 관계 : 앤터티 간의 상태를 의미 예) 고객이 로그인 되어 있다.
  • 행위 관계  : 앤터티 간에 어떤 행위가 있는다.예) 고객이 글을쓴다.

관계 차수

특정한 관계에 연결된 개체의 개수를 의미

개체가 자기 자신과 관계를 맺는 1차, 두개의 개체를 연결하는 2차 N개를 연결하는 N차가 있음.

엔터티 간의 관계는 다음과 같이 표현한다.

독립적으로 존재할 수 있는 강한 개체는 다른 엔터티에 의존하지 않고 독립적으로 존재

강한 개체는 다른 엔터티와 관계를 가질 때 다른 엔터티에게 기본키를 공유

강한 개체는 식별관계로 (기본키를 다른 엔터티에게 기본키의 하나로 공유하는 것) 

 

2차원 구조로 표현한 표 - 릴레이션

차수 : 속성 개수 - 6개 
카디널리티 : 튜플의 전체 개수 - 4개

 

릴레이션의 특성

  1. 튜플의 유일성 : 동일한 튜플(행)은 존재 할 수 없다. 구분 해주는 attribute(속성)을 Key 라고 한다.
  2. 튜플의 무선서 : 튜플(행)사이 순서는 무의미함, 나중에 필터걸어서 볼거니까~
  3. 속성의 무순서 : 속성도 내용을 보고 검색을 하니까 INDEX는 무의미해~
  4. 속상의 원자성 : 더는 분해할 수 없는 값을 사용해야해

 

키의 종류 - 데이터를 식별하는 고유한 식별자 기능

  1. 수퍼키 : 유일성 / 주민등록번호, 휴대폰번호 등
  2. 후보키 : 유일성, 최소성 / 주민등록번호 등 ( 휴대폰 번호는 한사람이 2개 씩 가지고 잇을 수도 있기때문에 최소성을 만족하지 않는다.)
  3. 기본키(PK) : 후보키중 하나 선택 / 널이나 중복된 값 가질 수 없다.
  4. 대체키 : 후보키중 기본키를 제외한 나머지
  5. 외래키(FK) 뽀린키 : 참조 무결성을 확인 하기 위한 키 (다른 릴레이션의 기본키)

 

개체 무결성 제약 조건

기본키 제약(PK)이라고도 한다

중복값이나 NULL 값 사용 불가, 튜플(행)을 효율적으로 빠르게 접근해야하기 때문에

 

참조 무결성 제약조건 

외래키 제약(FK)이라고도 한다

부모릴레이션의 기본키와 도메인이 동일해야함, 

자식릴레이션에서 참조하고 있는 값을 부모릴레이션에서 삭제하거나 다른값으로 변경할때도 거부됨..~!

 

요구사항 분석 과정

요구사항 분석  - 요구사항 명세서 작성
개념적설계 - ER다이어그램 작성
논리적 - 릴레이션
물리적 - PK, FK

ER 다이어그램

댓글