wdwd
데이터모델링 본문
- 데이터베이스 설계
- stackeholders : 이해당사자
- project구축 시에는 전과정을 다 만들어야 됨.
- 프로젝트를 구축할 때, 바로 코딩으로 들어가는게 아니라 그 전에 작업이 있음
- 개발자, 사용자, 의뢰인이 대표적
- milestone(이정표) 단계를 설립하는 것이 필요
- 프로젝트 진행 시 이런 이정표를 세움
- 가장 일반적인 milestone 단계
- project 착수단계 - 역할 분담, 어떤 아키텍쳐를 쓸 것인지, 스케줄(간트 차트), milestone도 나와야함
- ★분석 - 요구사항 분석(사용자 측면에서의 분석, 사용자들의 니즈를 알아야 됨), 요구사항 시나리오 제작, 시나리오를 바탕으로 요구사항 명세서가 나옴, 요구사항명세서(SRS)가 나오는 단계, use-case diagram 나옴(가장 중요한 단계)
- 설계(우리가 focusing 맞춰야 되는 부분)
- 구현
- 테스트
- 유지보수
- Waterfull - 이정표를 하나씩 차례로 만드는 것(옛날 방식)
- Agile - 이정표 작성 단계를 유동적으로 왔다갔다하면서 하는 방식
- 데이터베이스의 특징
- 데이터베이스의 구축 목적
DML에 select는 안들어감!!
- 자바에서 vo인스턴스가 될 수 있는 것 -> 엔터티
- 개념설계에서는 엔터티 추출이 가장 중요함
- 개념설계에서 해야하는 가장 중요한 일 2가지
- 엔터티 추출
- 관계 설정
- 개념설계로 인해 ERD 도출이 됨!!
논리 데이터 모델 단계에서는 속성 도출이 가장 중요
논리 설계 : 나머지 일반 속성을 다 채워넣는 것
하드웨어를 고려할 필요가 없다
논리단계에서 속성 다 채우고 정규화해야함
★논리 설계 단계에서 중요한 점
1. 속성 다 채워야함
2. 정규화 작업
3. 하드웨어나 DB에 종속적이지 않음
물리 데이터 모델은 하드웨어, DBMS에 종속적
관계명 - 시계방향으로 진행함
ex) 여러명의 사원은 하나의 부서에 있고, 하나의 부서에는 여러명의 사원이 포함된다.
X가 있는 것 - 배타적 서브타입
X가 없는 것 - 포괄적 서브타입
배타적 서브타입 - 학부생이면서 대학원생 안됨(중복이 안됨)
포괄적 서브타입 - 교수와 대학원생 같이 가능, 조교와 대학원생 같이 가능(중복 가능)
메인 엔티티 : modeling2_2의 고객주식거래(다대다 관계에서 나올수 있음)
액션 엔티티 : 내역과 같은 것들
▶키 앤터티 : 거래처, 학원, 교재, 과정
보통의 과정은 업체, 교재가 종속적으로 나옴...
과정은 키 앤터티가 될 수도 있고, 메인 앤터티가 될 수도 있음! ???
SSAFY 교육 과정 - 모든 사람들이 가져와서 쓸수있음
대학교 여름 특강 - 키로 말하기 애매
▶메인 앤터티 : 교재발주, 교재신청(업무, 행위이므로 메인엔터티가 맞음)
▶액션 엔터티 : 교재발주내역, 교재신청내역, 교재재고(자주 변동되는것들)
교재재고도 내용이 계속 변경되므로 액션 엔터티라고 볼 수 있음
2.1 관계의 형태 읽어보기(병렬 관계 제외)
1차 정규화 : 일반 속성 중에 계속적으로 반복되는것을 엔터티로 뽑아내는 것
2차 정규화 : 기본키에 종속적이지 않은 일반 속성을 엔터티로 뽑아내는 것
3차 정규화 : 일반 속성 영역에서 주종관계를 엔터티를 뽑아내는 것
(일반 속성 영역에 기본키가 들어가있는 것)
뽑아내면 1대다 관계로 됨