정처기, 20230412

cptkuk91·2023년 4월 12일
1

EIP

목록 보기
8/20

DB 설계 순서

요구조건 분석 → 개념적 설계 → 논리적 설계 → 물리적 설계 → 구현

개념적 설계

  • 개념스키마 모델링
  • 트랙잭션 모델링
  • E-R 다이어그램

논리적 설계

  • DBMS 종속적인 논리스키마 설계
  • 트랜잭션 인터페이스 설계
  • 논리적 구조의 데이터로 모델화

물리적 설계

DMBS의 DDL을 이용하여 DB 스키마를 기술한 후 스키마를 파일로 생성
(DDL: Data Definition Language의 약자로, 데이터베이스에서 사용되는 객체(테이블, 인덱스, 뷰 등)를 생성, 수정, 삭제하는데 사용되는 SQL 명령어)

DB 설계시 고려사항

  • 무결성: 삽입, 삭제 등 DB 저장 후 정해진 제약 조건을 항상 만족해야 함
  • 일관성: 응답이 항상 일정해야 한다.
  • 보안: 데이터 보호

데이터 모델

  • 현실 세계 데이터를 컴퓨터 세계 데이터 구조로 기술하는 것
  1. 개체(Entity)
  2. 속성(Attribute): 가장 작은 논리적 단위
  3. 관계(Relationship)

개체(Entity)

사람이 생각하는 개념이나 정보 단위 같은 현실 세계의 대상체

  • 유일한 식별자에 의해 식별 가능하다.
  • 개체는 다른 개체와 하나 이상의 관계가 있다.
  • 개체는 서로 연관된 몇개의 속성으로 구성된다.

개체 선정방법

  • 업무 기술서
  • 실제 업무 장부나 전표 이용
  • 자료 흐름도를 통해 업무 분석을 수행한 경우, 자료 저장소(Data Store)를 이용
  • 현업(실무) 담당자 인터뷰

개체명 지정방법

  • 현업에서 사용하는 용어 사용
  • 모든 개체명은 유일
  • 약어 사용 제한
  • 가능한 단수 명사

속성(Attribute)

  • DB를 구성하는 가장 작은 논리적 단위이다.
  • 속성은 개체를 구성하는 항목이다.
  • 속성의 수를 디그리 또는 차수라고 한다.

속성명 지정방법

  • 해당 업무에서 사용하는 이름
  • 서술형 X
  • 약어 제한(가급적)
  • 개체명은 속성 사용 금지

속성 개체 구성방식

  • 기본키 속성
  • 외래키 속성
  • 다른 개체와의 관계에서 포함된 속성이다.
  • 일반 속성

관계

A의 각 원소는 개체 집합 B 원소 여러개와 대응하고 있지만, B는 A 원소 한개와 대응한다.

1:N

관계의 종류

  • 종속관계: 주/종 관계
  • 배타관계: 합집합 또는 교집합 관계를 갖는다. AND, OR
  • 중복관계: 두 개체간 두번 이상의 종손관계 발생
  • 재귀관계: 자기자신 === 순환관계

A 원소는 B원소 여러개와, B원소도 A원소 여러개와 관계가 있다.

N:M

데이터 모델에 표시할 요소

  • 구조(Structure): 개체 타입과 개체 타입들간 관계
  • 연산(Operator): 개체 인스턴스를 처리하는 작업, 조작
  • 제약조건(Contraint)

식별자

식별자의 대표성 여부 → 주 식별자, 보조 식별자

  • 두 식별자 모두 개체를 유일하게 식별
  • 하나의 개체에 주식별자는 한개지만, 보조식별자는 하나 이상일 수 있다.

식별자의 특성

  1. 유일성
  2. 최소성
  3. 불변성
  4. 존재성

부합식별자

두개 이상 속성으로 구성된 식별자

후보식별자

NULL이 될 수 있다.

개체-관계 모델 (E-R Model)

P.Chen이 제안한 모델
Design of Information system. shows all the entities as well as the relationship between those entities

  • 관계 유형 제한없이 나타낼 수 있다. (1:1, 1:N, N:M)
  • 개체와 개체관계를 도식화
  • 개체 타입 → 사각형, 관계 → 다이아몬드(마름모), 속성 → 원

관계형 데이터 모델

  • 데이터 모델에서 기본키(Primary Key) 참조하는 외래키(Foreign Key)로 표현하는 데이터 모델
  • 개체를 테이블로 사용하고, 개체 집합들 사이의 관계를 공통속성으로 연결하는 데이터 모델

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글