wdwd

데이터모델링 본문

Database

데이터모델링

sang0 2019. 10. 4. 12:12
  • 데이터베이스 설계

  • stackeholders : 이해당사자
    • project구축 시에는 전과정을 다 만들어야 됨.
    • 프로젝트를 구축할 때, 바로 코딩으로 들어가는게 아니라 그 전에 작업이 있음
    • 개발자, 사용자, 의뢰인이 대표적

 

  • milestone(이정표) 단계를 설립하는 것이 필요
    • 프로젝트 진행 시 이런 이정표를 세움
    • 가장 일반적인 milestone 단계
      1. project 착수단계 - 역할 분담, 어떤 아키텍쳐를 쓸 것인지, 스케줄(간트 차트), milestone도 나와야함
      2. ★분석 - 요구사항 분석(사용자 측면에서의 분석, 사용자들의 니즈를 알아야 됨), 요구사항 시나리오 제작, 시나리오를 바탕으로 요구사항 명세서가 나옴, 요구사항명세서(SRS)가 나오는 단계, use-case diagram 나옴(가장 중요한 단계)
      3. 설계(우리가 focusing 맞춰야 되는 부분)
      4. 구현
      5. 테스트
      6. 유지보수
    • Waterfull - 이정표를 하나씩 차례로 만드는 것(옛날 방식)
    • Agile - 이정표 작성 단계를 유동적으로 왔다갔다하면서 하는 방식
  • 데이터베이스의 특징

  • 데이터베이스의 구축 목적

 

DML에 select는 안들어감!!

 

 

 

  • 자바에서 vo인스턴스가 될 수 있는 것 -> 엔터티
  • 개념설계에서는 엔터티 추출이 가장 중요함
  • 개념설계에서 해야하는 가장 중요한 일 2가지
    1. 엔터티 추출
    2. 관계 설정
  • 개념설계로 인해 ERD 도출이 됨!!

 

논리 데이터 모델 단계에서는 속성 도출이 가장 중요

논리 설계 : 나머지 일반 속성을 다 채워넣는 것

하드웨어를 고려할 필요가 없다

논리단계에서 속성 다 채우고 정규화해야함

 

★논리 설계 단계에서 중요한 점

1. 속성 다 채워야함

2. 정규화 작업

3. 하드웨어나 DB에 종속적이지 않음

물리 데이터 모델은 하드웨어, DBMS에 종속적

관계명 - 시계방향으로 진행함

ex) 여러명의 사원은 하나의 부서에 있고, 하나의 부서에는 여러명의 사원이 포함된다.

 

약식으로 표현하는 것이 개념단계이다!!
식별관계, 다대일, cadinality가 optional함

X가 있는 것 - 배타적 서브타입

X가 없는 것 - 포괄적 서브타입

 

배타적 서브타입 - 학부생이면서 대학원생 안됨(중복이 안됨)

포괄적 서브타입 - 교수와 대학원생 같이 가능, 조교와 대학원생 같이 가능(중복 가능)

 

개념만 알아두기

 

 

 

메인 엔티티 : modeling2_2의 고객주식거래(다대다 관계에서 나올수 있음)

액션 엔티티 : 내역과 같은 것들

 

▶키 앤터티 : 거래처, 학원, 교재, 과정

보통의 과정은 업체, 교재가 종속적으로 나옴...

과정은 키 앤터티가 될 수도 있고, 메인 앤터티가 될 수도 있음!   ???

SSAFY 교육 과정 - 모든 사람들이 가져와서 쓸수있음
대학교 여름 특강 - 키로 말하기 애매

메인 앤터티 : 교재발주, 교재신청(업무, 행위이므로 메인엔터티가 맞음)

액션 엔터티 : 교재발주내역, 교재신청내역, 교재재고(자주 변동되는것들)

교재재고도 내용이 계속 변경되므로 액션 엔터티라고 볼 수 있음

 

2.1 관계의 형태 읽어보기(병렬 관계 제외)

 

1차 정규화 : 일반 속성 중에 계속적으로 반복되는것을 엔터티로 뽑아내는 것

2차 정규화 : 기본키에 종속적이지 않은 일반 속성을 엔터티로 뽑아내는 것

3차 정규화 : 일반 속성 영역에서 주종관계를 엔터티를 뽑아내는 것

(일반 속성 영역에 기본키가 들어가있는 것)

 

뽑아내면 1대다 관계로 됨

 

'Database' 카테고리의 다른 글

데이터베이스  (0) 2019.10.10
Comments