2019백업

4장 데이터 모델링

728x90

4장 데이터 모델링

 MySQLRDBMS(관계형 데이터베이스 매니저먼트 시스템)

 

4.1 프로젝트 진행 단계

프로젝트란 현실세계의 업무를 컴퓨터 시스템으로 옮겨놓는 일련의 과정

몇몇 뛰어난 프로그래머에게 의존하는 형태를 취해왔다. -> 실패가 많아짐

이러한 문제점을 해결하기 위해서 소프트웨어 개발 방법론이 나타났다.

ex) 소프트웨어 공학 , 가장 오래되고 전통적으로 사용되는 것은 폭포수 모델

 

폭포수 모델

프로젝트 계획 -> 업무분석 -> 시스템 설계 -> 프로그램 구현 -> 테스트 -> 유지보수

 

4.2 데이터베이스 모델링


4.2.1 데이터베이스 모델링의 개념

업무 분석, 시스템 설계에서 데이터베이스 설계, 모델링이 필요하다.

현실세계에 있는 상품이나 고객, 직원을 넣을 수는 없으니 특징들을 추출해서 테이블을 만 드는 과정.

데이터베이스 모델링은 3단계로 구성되어있는데 개념적 모델링, 논리적 모델링 ,물리적 모 델링

 

실습1

우리는 지금 새로운 쇼핑몰을 오픈했다.

고객 방문 기록 (엑셀로 작성되어있다 생각)

고객이름 출생년도 주소 연락처 구매한 물건 단가(천 원) 수량

김태훈 1995 서울 010-6233 여기 비여있ㅇㅓ! ->only 구경

김태훈 1995 서울 010-6233 운동화 2 3 ->한번 더 방문

L 자로 만듬

 

1. 고객테이블과 구매 테이블 두 개로 만들어버림 공간을 아끼기 위해

고객 테이블 : 이름, 년생, 주소, 전번

구매 테이블 : 구매한 물건, 단가, 수량

2. 고객테이블에서 중복된 이름을 압축.

3. PK를 지정해줌(여기에서는 이름으로 해줌 안되지만)

4. 구매테이블 누가 샀는지 알 수가 없네! 고객이름을 붙여버림. 고객이름이 중복이 안되는 PK로설정 해놨으니 고객이름으로 붙이장-> 외래키 조건인가봄

구매테이블에서는 동일한 김태훈이 여러명 나옴 .

5. 고객테이블을 부모로, 구매 테이블을 자식으로 관계를 설정.

6. 고객테이블(고객이름-기본키) 1:N 구매테이블(고객이름-외래키) 관계 생김

한 고객이 여러 개를 구매함.

 

 

물리적 모델링을 설정

테이블이름

열 이름

데이터형식

Null허용

기타

고객테이블

(userTBL)

고객이름(userNAme)

문자(최대3글자)

x

PK

 

출생년도(birthYear)

숫자(정수)

x

 

 

주소(addr)

문자(최대2글자)

x

 

 

연락처(mobile)

문자(최대12글자)

o

 

구매테이블

(buyTBL)

고객이름(userName)

문자(최대 3글자)

x

FK

 

구매한 물건(prdName)

문자 최대 (3글자)

x

 

 

단가(price)

숫자(정수)

x

 

 

수량(amount)

숫자(정수)

x

 

 

데이터형식을 어떻게 할건지~

 

4장 데이터베이스 모델링 2

mysql workbench에서 모델링 툴을 제공

먼저 테이블을 만든 후에 옆에 있는 관계 표시를 선택하여 1:n, n:m, 1:1을 표현하면됨

 

모델링 그림그린 것을 DB로 넣을 수 있고 만들어진 shopdper 다이어그램으로도 표현할 수 있음,

 

 

반응형

'2019백업' 카테고리의 다른 글

Chapter3_1정리(Day 7일차)  (0) 2018.05.23
mysql고급문법  (0) 2018.05.15
5장 SQL의 기본  (0) 2018.05.14
데이터분석 4장 핵심  (0) 2018.05.12
3장  (0) 2018.05.10