데이터베이스 설계 - kocwelearning.kocw.net/contents4/document/lec/2012/... ·...
TRANSCRIPT
/ 데이터베이스 시동과 접속
/ oracle 주요 구성 요소
/ 데이터베이스 설계
데이터베이스 설계 과정
사용자 요구분석
개발업무 대상 및 사용자 요구 분석
개념적 데이터베이스 설계
DB에 저장해야 할 데이터를 모형으로 표현
E-R모델(관계형 지원), 객체지향 모델(객체지향DB지원)
논리적 데이터베이스 설계
특정 DBMS를 사용하기 위한 논리적 구조의 스키마 설계
물리적 데이터베이스 설계
데이터베이스 스키마를 실제 구축
01 사용자 요구사항 분석
First Bank 은행 업무에 대하여 갂단히 말씀해 주시겠습니까?
우리 FirstBank는 젂국을 대상으로 200개의 지점을 가지고 있으며
젂체 1500여명의 직원이 근무하고 있습니다.
현재 은행 예금 및 대출 업무의 대부분이 수 작업으로 처리되고 있는
관계로 은행 운영에 있어 많은 비용과 시갂이 소요되고 있기 때문에
올해 연말까지 예금 및 대출 업무 젂산화 사업을 계획 중에 있습니다.
이번 젂산화 사업이 완료되면 고객 서비스 만족을 위하여 새로운
지평을 열 수 있을 것으로 기대하고 있습니다.
01 사용자 요구사항 분석
그럼 현재 FirstBank의 고객은 얼마나 있습니까?
지난해 연말까지의 통계 결과 개인 고객은 3만 명 정도 있으며,
기업 고객은 A 상사, B 주식회사와 C 벤처 등 20개의
상사 및 주식회사의 주거래 은행으로 있습니다.
01 사용자 요구사항 분석
FirstBank에서 개인 고객을 대상으로 하는 상품에 대해 말씀해 주시겠습니까?
우리 은행에서는 개인 고객을 대상으로 하는 상품은 크게
두 가지로 요약할 수 있습니다.
첫째, 예금 상품으로는 자유 저축예금, 정기예금, 장기
주택마련저축 등이 있으며
둘째, 대출 상품으로 예금 담보대출, 단골고객 싞용대출,
부동산 담보대출 등이 있습니다.
01 사용자 요구사항 분석
그럼, 기업을 대상으로 하는 상품은 개인 고객과는 그 규모나 상품의 종류가 틀릴 것
같은데 기업을 대상으로 한 상품에 대해 갂략히 소개해 주시겠습니까?
우리 FirstBank에서는 기업을 대상으로 단기적인 싞탁 상품과
장기적 여유 자금을 이용한 정기적금이 있습니다.
그리고 대출 상품으로는 종합통장대출이 있습니다.
1. 데이터 모델링의 개념
02 데이터 모델링
정보 시스템 구축을 위한 데이터와 필요한 정보 분석 방법
모델링 범주
데이터 모델링
데이터 관점 프로세스 관점 데이터와 프로세스의
상관 관점
업무에 관여하는 어떤 것
업무가 관여하는 어떤 것갂의 관계
어떤 것의 성격
데이터 모델링 짂행 시 중요사항
1. 데이터 모델링의 개념
02 데이터 모델링
프로세스 모델링
업무 처리에 필요한 프로세스 분석
트리 자료 구조로 각 프로세스 분해
상관 모델링
데이터, 프로세스 분석
E-R 개체 타입과 단위 프로세스 이용
데이터 모델과 프로세스 모델의 품질 향상
검증 대상
개체 타입, 속성, 관계, 업무 기능, 단위 프로세스
2. ER 모델
02 데이터 모델링
Entity라는 기본 객체와 이들 객체갂의 관계 집합으로 구성된 실세계의 인식에 기반
데이터베이스의 젂체 논리 구조를 나타내는 조직의 스키마를 명시함으로써 데이터베이스 설계를 쉽게 하도록 개발
실 세계 조직의 의미와 상호 작용을 개념적 스키마로 대응시키는 데 특히 유용
많은 데이터베이스 설계 도구들이 ER 모델의 개념에 기반을 둠
3. 모델링 도구
02 데이터 모델링
Entity (개체)
Attribute (속성)
Relation (관계)
3. 모델링 도구
02 데이터 모델링
Entity는 현실 세계의 유,무형의 사물로서 다른 객체와는 구별
데이터베이스의 모델링이 대상이 된다면 개체로 정의
Entity 를 ERD로 나타낼 때는 사각형으로 나타내고 이름을 붙임
Entity(개체)
고객 Entity : 고 객
3. 모델링 도구
02 데이터 모델링
Attribute는 각 Entity가 가질 수 있는 속성
Attribute(속성)
고객
고객번호
고객명 주소
젂화번호
고객구분
고객 Entity : 고객번호, 고객명, 주소 등의 속성을 가짐
Attribute 중의 어떤 Entity 내의 값은 Entity 를 유일하게 구분함
고객 Entity 에서 고객번호는 FirstBank의 특정 고객을 유일하게 구분
3. 모델링 도구
02 데이터 모델링
관계는 여러 Entity갂의 연관성을 의미
관계를 나타내기 위해서 두 Entity들을 연결하는 실선들이 있고
그 사이에 마름모 모양의 표시
Relation(관계)
고 객 대부 대출
3. 모델링 도구
02 데이터 모델링
일 대 일 관계
한 명의 고객은 하나의 계좌만 가질 수 있다면 그 관계는 일 대 일의
관계가 성립
고 객 계좌 거래 1 1
3. 모델링 도구
02 데이터 모델링
일 대 다 관계
한 명의 고객은 여러 계좌를 가질 수 있고 한 계좌는 한 명만 거래할
수 있다면 이 관계는 일 대 다의 관계가 성립
고 객 계좌 거래 1 N
3. 모델링 도구
02 데이터 모델링
다 대 다 관계
한 고객이 여러 개의 계좌를 가지고 있고 하나의 계좌에 대해 여러
고객이 거래한다면 이 관계는 다 대 다의 관계가 성립
고 객 계좌 거래 N N
4. FirstBank ERD
02 데이터 모델링
고객
고객번호
고객명 주소
젂화번호
고객구분
거래
자산총액
젂화번호
주소
지점명
지점번호
서비스
관리지점
계좌번호
1
M
M
계약기갂
금액1
계좌종류
이율1 기갂1
상품구분
한도액
상품명
기갂2 고객구분
이율2
기갂3
이율3
일련번호
M
상품구분
1
M
1
날짜2
날짜1 금액2
M
계좌 상품
지점
1. 각 엔티티의 애트리뷰트
03 테이블 설계
계좌
계좌번호 일련번호
날짜1
금액1
날짜2
금액2
계약기갂
상품구분
고객번호
지점번호
상품명
상품
상품명
한도액
상품구분
고객구분
기갂1
이율1
기갂2
이율2
기갂3
이율3
지점
지점번호
지점명
주소
젂화번호
자산총액
고객
고객번호
고객명
주소
젂화번호
고객구분
서비스
고객번호 지점번호
1. 각 엔티티의 애트리뷰트
03 테이블 설계
다 대 일(M:1) 관계
고객
고객번호
고객명 주소 젂화번호 고객구분
FK
계좌
계좌번호 일련번호
날짜1 금액1 날짜2 금액2 계약기갂 상품구분 고객번호 지점번호 상품명
고객구분
젂화번호
주소
고객명
고객번호
거래 1
계좌번호
계약기갂
금액1
일련번호
상품구분
날짜2
날짜1 금액2
M 계좌 고객
1. 각 엔티티의 애트리뷰트
03 테이블 설계
일 대 다(1:M) 관계
계좌
계좌번호 일련번호
날짜1 금액1 날짜2 금액2 계약기갂 상품구분 고객번호 지점번호 상품명
거래 M
계좌번호
계약기갂
금액1
일련번호
상품구분
날짜2
날짜1 금액2
1 계좌
고객구분
젂화번호
주소
고객명
고객번호
고객
고객
고객번호
고객명 주소 젂화번호 고객구분
FK
1. 각 엔티티의 애트리뷰트
03 테이블 설계
다 대 다(M : N) 관계
FK
고객
고객번호
고객명 주소
젂화번호
고객구분 자산총액
젂화번호
주소
지점명
지점번호
서비스 M M
지점
지점
지점번호
지점명 주소 젂화번호 자산총액
고객
고객번호
고객명 주소 젂화번호 고객구분
서비스 고객번호 지점번호
FK
2. FirstBank 주키와 외래키
03 테이블 설계
FK
FK
FK
고객
고객번호
고객명 주소 젂화번호 고객구분
서비스
고객번호 지점번호
지점
지점번호
지점명 주소 젂화번호 자산총액
상품
상품명
한도액 상품구분 고객구분 기갂1 이율1 기갂2 이율2 기갂3 이율3
계좌 계좌번호 일련번호
FK
FK
날짜1 금액1 날짜2 금액2 계약기갂 상품구분 고객번호 지점번호 상품명
3. 테이블 명세서(customer)
03 테이블 설계
테이블 명세서
시스템명 FirstBank 예금/대출 관리 작성일
테이블 ID customer 작성자
테이블 명 고객
NO 컬럼ID 컬럼명 Type Length NULL Key
1 2 3 4 5
c_no c_name c_addr c_phone c_dist
고객번호 (주민번호/사업자번호) 고객명 주소 젂화번호 고객구분
varchar2
varchar2 varchar2 varchar2
char
14
20 60 16 2
N.N
N.N
P.K
3. 테이블 명세서(customer)
03 테이블 설계
테이블 명세서
시스템명 FirstBank 예금/대출 관리 작성일
테이블 ID branch 작성자
테이블 명 지점
NO 컬럼ID 컬럼명 Type Length NULL Key
1
2
3
4
5
c_no
c_name
c_addr
c_phone
b_assets
지점코드
지점명
주소
젂화번호
자산총액
varchar2
varchar2
varchar2
varchar2
decimal
3
20
60
16
13
N.N
N.N
P.K
3. 테이블 명세서(customer)
03 테이블 설계
테이블 명세서
시스템명 FirstBank 예금/대출 관리 작성일
테이블 ID service 작성자
테이블 명 서비스
NO 컬럼ID 컬럼명 Type Length NULL Key
1
2
serv_c_no
serv_b_no
고객번호
지점코드
varchar2
varchar2
14
3
N.N
N.N
P.K, F.K
P.K, F.K