everyday com-eat
작성일
2021. 12. 29. 14:25
작성자
갱수터
728x90

데이터 모델링

- 복잡한 현실 세계에 존재하는 데이터를 단순화 시켜 표현해 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정(업무에 필요한 정보들만 가공해서 자료의 형태로 이용) ex) 학원에서 수강신청을 하는것 

 

특징

  • 추상화(Abstraction)
    - 현실세계를 간략하게 표현한다 (누구나 가지고 있는 공통적인 특성을 뽑아내 간략하게 표현)
  • 단순화(Simple)
    - 누구나 쉽게 이해할 수 있도록 표현한다
  • 명확성(Clarity)
    - 명확하게 의미가 해석되어야 하고 한 가지 의미를 가져야 한다(중복의 최소화)

 

현실세계 > 개념적 구조 > (ERD) > 논리적 구조

개념적 데이터 모델 : 사람이 머리로 이해할 수 있도록 현실 세계를 개념적인 형태로 모델링 

논리적 데이터 모델 : 개념적 구조를 논리적 형태로 모델링

* 실무에선 두개를 같이하는 경우가 많음

 

관계

- 개체와 개체가 맺고 있는 의미 있는 연관성

- 개체 집합들 사이의 대응 관계, 즉 매핑(mapping)을 의미

- ex) 고객 개체와 상품 개체 간의 구매 관계 "고객은 상품을 구매한다"

 

관계의 유형

  • 일대일(1:1) 관계
  • 일대다(1:N) 관계
  • 다대다(N:M) 관계

 

E-R 다이어그램 도형 기호

테이블은 관계로 인해 연결되고,
관계에는 속성들이 있어 하나의 테이블로 구성할 수 있다
erd보고 무슨 관계 유형인지 읽어낼 수 있어야함

 

정보공학(Information Engineering) 표기법

| : 필수적

○ㅣ : 참여적(있을수도 없을수도)

<- : n(다)관계


관계형 데이터 모델

데이터베이스 구성

스키마(schema) 인스턴스(instance)
- 데이터베이스의 전체구조
- 데이터베이스를 구성하는 릴레이션 스키마의 모음
- 정적인 구조
- 데이터베이스를 구성하는 릴레이션 인스턴스의 모음
- 실제 데이터가 쌓이는 행이라고 생각,,,
- 동적인 구조

 

릴레이션의 특성

  • 튜플의 유일성 : 하나의 릴레이션에는 동일한 튜플이(식별자 기준) 존재할 수 없다
  • 튜플의 무순서 : 하나의 릴레이션에서 튜플 사이의 순서는 무의미하다
  • 속성의 무순서 : 하나의 릴레이션에서 속성 사이의 순서는 무의미하다
  • 속성의 원자성 : 속성 값으로 원자 값으로 사용할 수 있다

키의 특성

키 - 릴레이션에서 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합

  • 유일성(uniqueness)
    - 하나의 키 값으로 하나의 튜플만을 유일하게 식별
    - 한 릴레이션에서 모든 튜플은 서로 다른 키 값을 가져야함
  • 최소성(minimality)
    - 꼭 필요한 최소한의 속성들로만 키를 구성

키의 종류

  • 기본키(primary key)
    - 후보키 중에서 기본적으로 사요하기 위해 선택한 키
    ex)고객 아이디
  • 후보키(candidate key)
    - 유일성과 최소성을 만족하는 속성 또는 속성들의 집합
    ex)고객 아이디,고객 주민등록번호 등
  • 대체키(alternate key)
    - 기본키로 선택되지 못한 후보키 ex) 고객 주민등록번호
  • 슈퍼키(super key)
    - 유일성을 만족하는 속성 또는 속성들의 집합
    ex) 고객 아이디, (고객 아이디, 고객 주민등록번호) 등
  • 외래키(foreign key)
    - 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합
    - 릴레이션들 간의 관계를 표현
    - 참조하는 릴레이션 : 외래키를 가진 릴레이션
    - 참조되는 릴레이션 : 외래키가 참조하는 기본키를 가진 릴레이션








제약조건

무결성 제약조건(integrity constraint)

- 데이터의 무결성을 보장하고 일관된 상태로 유지하기 위한 규칙

- 무결성 : 데이터를 결함이 없는 상태, 즉 정확하고 유효하게 유지하는 것

  • 도메인 무결성 제약조건(Domain constraint)
    - 특정 속성의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 규칙
    - null 값은 허용됨(not null이 아닌 경우)
  • 개체 무결성 제약조건(entity integrity constraint)
    - 기본키를 구성하는 모든 속성은 null 값을 가질 수 없는 규칙
  • 참조 무결성 제약조건(referential integrity constraint)
    - 외래키는 참조할 수 없는 값을 가질 수 없는 규칙
    - but, 외래키의 속성이 null 값을 가진다고 해서 참조 무결성을 위반한 것은 아니다
    - RESTRICTED : 레코드를 변경 또는 삭제하고자 할 때 해당 레코드를 참조하고 있는 개체가 있다면, 변경 또는 삭제 연산을 취소
    - CASECADE : 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체도 변경 또는 삭제
    - SETNULL : 레코드를 변경 또는 삭제하면, 해당 레코드를 참조하고 있는 개체의 값을 null로 설정

 

 

 


 


id020이 없기 때문에 insert 되지 않는다

728x90

'{ "Hello World!" }; > DataBase' 카테고리의 다른 글

(DB) 데이터베이스 설계  (0) 2022.01.14
(DB) JOIN, UNION  (0) 2021.12.29
(DB) MySQL 내장 함수,연산자  (0) 2021.12.29
(DB) 데이터베이스, SQL  (0) 2021.12.23
(DB) DBMS 구축하기  (0) 2021.12.13