Download presentation
Presentation is loading. Please wait.
Published by호정 공 Modified 8년 전
1
1. 추상화와 모델링 2. 데이터베이스 설계의 개념 3. 정보시스템 구축과 데이터베이스 설계 4. 데이터베이스 설계의 상세 과정
2
엔티티 정의 (6 장 ) 엔티티 정의 (6 장 ) 엔티티 정의 설계를 위한 준비 설계를 위한 준비 요구사항 분석 (5 장 ) 요구사항 분석 (5 장 ) 논리적 DB 설계 논리적 DB 설계 물리적 DB 설계 (11 장 ) 물리적 DB 설계 (11 장 ) 데이터베이스 구축 (12 장 ) 데이터베이스 구축 (12 장 ) 데이터베이스 기초 (1 장 ) 데이터베이스 기초 (1 장 ) 시스템구축 & DB 설계 (2 장 ) 시스템구축 & DB 설계 (2 장 ) DB 모델링의 주요 개념 (3 장 ) DB 모델링의 주요 개념 (3 장 ) 모델링 도구의 사용 (4 장 ) 모델링 도구의 사용 (4 장 ) 키 / 관계의 정의 (7 장 ) 키 / 관계의 정의 (7 장 ) 주키 정의 관계 정의 외래키 정의 업무규칙정의 세부속성 확정 상세화 (7 장 ) 상세화 (7 장 ) 정규화 (8 장 ) 정규화 (8 장 ) 도메인 / 용어사전 정의 (9 장 ) 도메인 / 용어사전 정의 (9 장 ) ERD 통합 통합및 검증 (10 장 ) 통합및 검증 (10 장 ) 엔티티 검증 관계 검증 속성 검증
3
데이터베이스 설계과정은 ◦ 소프트웨어 ( 정보시스템 ) 개발 과정의 일부 ◦ 소프트웨어 개발은 현실세계에 대한 추상화 (abstraction) 과정이다. ◦ 추상화 개념을 이해하는 것이 데이터베이스 설계를 이해하는데 도움이 된다. ◦ 추상화는 모델 (model) 이라는 수단을 통해 이루어짐. ◦ 추상화 모델링 ◦ 추상화의 대표적인 사례는 지도
4
추상화의 예 이 사진을 보고 종묘를 찾아가려 한다면.. 서울에 대한 위 성사진
5
추상화의 예 현실세계가 간단한 도형, 선, 색깔로 표현 현실세계와 정확히 일치하 지는 않지만 현실세계에 대 한 ‘ 모델 ’ 의 역할 종로 3 가 부근의 지도
6
추상화의 예 이 지도를 보고 알수 있는 정보와 알수 없는 정보 는 ? 지하철 2 호선 노선도
7
추상화 ◦ 모델 (model) : 사람들이 복잡한 현실세계를 쉽게 이해하기 위하여 현실세계를 개 념화, 단순화하여 가시적으로 표현한 것 ◦ 모델링 (modeling) : 모델을 만드는 과정 ◦ 추상화 : 현실세계를 모델링하는 것을 다른 말로 현실세계에 대한 추상화라고 한 다. 현실세계 지도 ( 모델 ) 모델의 구성 요소들 추상화 ( 모델링 ) 추상화 과정
8
S/W 개발에서의 추상화 1~1000 까 지의 합을 어 떻게 구하지 ? i = 0 sum =0 start i = i + 1 sum = sum + i i < 1000 Print sum no yes end Main() { int I =0; sum =0 while (I < 1000) { i ++; sum +=i ; } print(sum); } 현실세계의 문제문제해결의 모델프로그램 SW 개발도 추상화
9
S/W 개발에서의 추상화 현실세계 개념적 모델 소프트웨어 Main() { int I =0; sum =0 while (I < 1000) { i ++; sum +=i ; } print(sum); } Main() { int I =0; sum =0 while (I < 1000) { i ++; sum +=i ; } print(sum); } Main() { int I =0; sum =0 while (I < 1000) { i ++; sum +=i ; } print(sum); } 소프트웨어는 현실세계를 반영한다.
10
훌륭한 소프트웨어 엔지니어는 코딩을 잘하는 사람이 아니라 현실 세계의 문제를 잘 파악하 고 모델링할 수 있는 능력을 가 진 사람입니다
11
오늘날 정보 시스템, 웹사이트의 개발 ◦ 데이터베이스를 기반으로 한다 database 데이터베이스를 기반 으로 한 시스템 개발
12
데이터베이스 설계란 ◦ 데이터베이스 안에 저장될 테이블, 뷰 등의 구조를 디자인하고, 기본키 외래키, 인 덱스 등의 요소들을 계획하는 작업 ◦ 업무의 분석, 논리적설계 ( 데이터 모델링 ), 물리적 설계, 데이터베이스 구축에 이르 는 전 과정을 포함 database 구조를 디자인
13
데이터베이스 설계란 ◦ 데이터베이스 설계는 소프트웨어 개발과정 중의 일부 이므로 데이터베이스의 설 계 역시 현실세계에 대한 모델링 과정에 속한다. ◦ 그리고 구축된 데이터베이스 역시 현실세계의 어떤 부분을 반영한 것이다. ◦ 학생이 수강신청을 하는 업무에 대한 데이터베이스 설계 ( 다음 슬라이드 )
14
학생 수강신청 STUDENT 학번수강과목 991021 C 언어 991021 자료구조 STUDENT_COURSE 학생 학번 (PK) 이름 전공 학생 학번 (PK) 수강과목 (PK) 학번이름전공 991021 홍길동컴퓨터공학 ……… 데이터베이스 설 계의 입력물 (Input) 현실세계 중간 산출물 (output) ERD 최종 산출물 (output) 구축된 DB 데이터베이스 설계의 입력물과 산출물
15
데이터베이스 설계 ◦ 현실세계에 존재하는 개체 (entity) 에 대한 정보, 데이터를 반영 ◦ 개체들의 행위 (behavior) 나 사건 (event) 는 반영되지 않음 이것은 프로그램에서 반영 ◦ 데이터베이스와 프로그램이 결합될 때 현실세계가 온전히 모델링 된다.
16
데이터베이스 설계 ◦ 논리적 데이터베이스 설계 : 현실세계를 관찰, 분석하여 개념적 모델 (ERD) 을 만드 는 과정. 데이터 모델링이라고도 한다 DBMS 제품의 종류와 무관하게 진행 ◦ 물리적 데이터베이스 설계 : 논리적 설계를 바탕으로 실제 데이터베이스를 구축하 기 위한 테이블, 뷰, 인덱스 등을 설계하고 반정규화를 시행하는 과정 특정 DBMS 를 염두에 두고 진행
17
일반적인 소프트웨어 개발 절차 요구사항 분석 설계 구현 통합 및 테스트 유지보수 소프트에웨어 개발 절 차 (waterfall 모델 )
18
데이터베이스를 기반으로 한 정보시스템 구축 절차 정보전략 계획수립 (ISP) 데이터 모델링 프로세스 모델링 상관 모델링 물리 DB 설계 프로그램 ( 로직 ) 설계 DB 구축 프로그램 개발 DB 튜닝 프로그램 테스트 RUN & 유지보수 요구사항 분석 설계구현 통합및 테스트 유지보수 논리적 DB 설계 업무 분석 정보시스템 구축 절차
19
정보전략계획수립 ◦ 기업의 경영전략 및 장단점 분석 oo 기업의 전략 분석 – 경쟁력 확보 – 고유 기업문화 정착 – 고객 만족 – 이윤의 극대화 현행 업무절차 평가 현행 정보시스템 평가 – HOST – N/W – Application – Language, Tool - 의사 결정을 위한 경영정보 미비 - 부서간의 유기적 협조 부족 - 체계적인 재무관리 부족 - 데이터 공유로 부서간 정보교류 - 경영정보 시스템 구축 - 기능위주 Process 위주로 문제점개선방향 전략 정보계획 수립 단계 산출물의 예
20
업무의 분석 ◦ 현실세계에서 업무가 어떻게 이루어지는지를 파악 공급업체비디오 대여점 신규 비디오 리스트 발송 신규 비디오 리스트 접수 신규 비디오 리스트 구매 목록 선정 주문서 발송주문서 접수 주문서 물품 발송물품 접수 거래 명세서 물품 확인 / 대금 송금 입금 확인 관리대장에 기록 업 무 흐름도의 예
21
데이터 모델링 ◦ 현실세계를 데이터의 관점에서 파악하여 ERD 로 표현하는 단계 ERD(entity- relationship diagram) 의 예
22
프로세스 모델링 ◦ 업무의 구성, 업무의 처리절차를 파악 비디오 대여점 관리 구매 관리 회원 관리 대여 관리 재고 관리 거래처 관리 구매 등록 회원등록 구매정산 회원탈퇴 우수회원 대여등록 반납등록 재고조사 오류보정 비디오폐기 기능 분해도의 예
23
프로세스 모델링 ( 계속 ) 프로세스 흐름도의 예
24
상관 모델링 ◦ 데이터 모델과 프로세스 모델을 통합하여 평가 ◦ 데이터 모델과 프로세스 모델은 동일한 현실세계의 서로 다른 면을 표현한 것이기 때문에 상호 조화를 이루어야 한다 거래처주문서거래명세서비디오정보 거래처 등록 비디오 등록 주문 신청 물품 납품 주문 취소 거래처 조회 CRRRCRRR CRDCRD CDCD CRCR 프로세스 앤티티 CRUD 매트릭스의 예
25
물리적 DB 설계 ◦ 데이터베이스 구축을 위한 테이블, 뷰, 인덱스, 데이터 용량 등을 설계 테이블 기술서의 예
26
데이터베이스 구축 ◦ 특정 DBMS 제품에 대하여 데이터베이스 및 테이블, 뷰, 인덱스 등을 생성하는 과 정 ◦ 이렇게 구축된 데이터베이스를 가지고 프로그램을 개발하고 테스트 하게 된다 ◦ 데이터베이스의 구축은 수작업으로 할수도 있지만 보통은 모델링 도구에서 제공 하는 기능을 이용하여 거의 자동적으로 데이터베이스를 구축
27
구축된 데 이터베이스 예
28
데이터베이스 튜닝 ◦ 데이터베이스가 일정한 성능을 유지할 수 있도록 비효율적인 요소를 제거하고 성 능 개선을 위하여 SQL 문장을 포함, 데이터베이스의 여러 요소들을 조정하는 과정 ◦ 데이터베이스 내에 데이터의 양이 증가하고 사용자의 수가 증가하면 자연히 데이 터베이스의 응답 속도 및 처리 속도가 저하되기 마련이다. ◦ 따라서 데이터베이스 튜닝을 통하여 일정한 성능을 유지시키는 것이 중요
29
데이터베 이스 튜닝을 위한 시스 템 정보
30
유지보수 ◦ 데이터베이스 구축 후 시스템을 운영하면서 지속적으로 데이터베이스를 관리하는 과정 사용자 요구의 변화 경영 환경의 변화 프로그램의 변화 데이터베이스의 변화
31
정리 현실세계 개념화 데이터모델 물리적 DB 프로세스 모델 데이터모델링 프로세스 모델링 현실세계 컴퓨터 세계 프로그램 현실세계가 컴퓨터세계로 모델링되는 과정
32
본 수업에서 다루는 데이터베 이스의 설계 “ 요구사항 ( 업무 ) 분석 ” 부터 “ 데 이터베이스의 구축 ” 에 이르는 전 과정
33
엔티티 정의 (6 장 ) 엔티티 정의 (6 장 ) 엔티티 정의 설계를 위한 준비 설계를 위한 준비 요구사항 분석 (5 장 ) 요구사항 분석 (5 장 ) 논리적 DB 설계 논리적 DB 설계 물리적 DB 설계 (11 장 ) 물리적 DB 설계 (11 장 ) 데이터베이스 구축 (12 장 ) 데이터베이스 구축 (12 장 ) 데이터베이스 기초 (1 장 ) 데이터베이스 기초 (1 장 ) 시스템구축 & DB 설계 (2 장 ) 시스템구축 & DB 설계 (2 장 ) DB 모델링의 주요 개념 (3 장 ) DB 모델링의 주요 개념 (3 장 ) 모델링 도구의 사용 (4 장 ) 모델링 도구의 사용 (4 장 ) 키 / 관계의 정의 (7 장 ) 키 / 관계의 정의 (7 장 ) 주키 정의 관계 정의 외래키 정의 업무규칙정의 세부속성 확정 상세화 (7 장 ) 상세화 (7 장 ) 정규화 (8 장 ) 정규화 (8 장 ) 도메인 / 용어사전 정의 (9 장 ) 도메인 / 용어사전 정의 (9 장 ) ERD 통합 통합및 검증 (10 장 ) 통합및 검증 (10 장 ) 엔티티 검증 관계 검증 속성 검증 2.4 데이터베이스 설계 상세 과정
Similar presentations