데이터베이스 (Database)

76
컴컴컴 컴컴 컴 컴컴 I 1 데데데데데데 (Database)

description

데이터베이스 (Database). 목 차. 교육 목표 데이터베이스 (Database) 관계형 데이터베이스 관계형 데이터베이스 모델 데이터베이스 접근방법 Data Control DBGrid control 비주얼 데이터 관리자 성적 처리 프로그램. 데이터베이스 란 ? (1). 데이터베이스 정의 상호 관련 데이터가 체계적으로 저장 • 관리되는 것 형식 관계형 데이터베이스 계층적 데이터베이스 네트워크 모델 데이터베이스 - PowerPoint PPT Presentation

Transcript of 데이터베이스 (Database)

Page 1: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 1

데이터베이스(Database)

Page 2: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 2

교육 목표데이터베이스 (Database)

관계형 데이터베이스

관계형 데이터베이스 모델

데이터베이스 접근방법

Data Control

DBGrid control

비주얼 데이터 관리자

성적 처리 프로그램

목 차

Page 3: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 3

데이터베이스 란 ? (1)

데이터베이스정의

상호 관련 데이터가 체계적으로 저장 • 관리되는 것

형식 관계형 데이터베이스 계층적 데이터베이스 네트워크 모델 데이터베이스 ISAM(Indexed Sequential Access Method) 파일 시스템 객체지향형 (Object Oriented) 데이터베이스

Page 4: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 4

관계형 데이터베이스 모델 (1)

관계형 데이터베이스 모델정의

데이터가 저장되어 있는 여러 테이블로 구성

학점컴퓨터공학과컴퓨터공학과

학번학과 이름99100019910002

홍길동일지매

A+F

레코드

필드

인덱스

Page 5: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 5

관계형 데이터베이스 모델 (2)

관계형 데이터베이스 모델용어

필드 (Field) – 하나의 객체와 관련된 실제 데이터를 가지는 항목

레코드 (Record) – 하나의 객체와 관련하여 서로 연관성을 가진 데이터를 하나의 단위로 묶어 놓은 것

테이블 (Table) – 관련된 레코드들을 모아놓은 데이터 집합 Tuple / Attribute

Record Set 혹은 Volume

인덱스 (Index) – 데이터를 좀 더 빨리 접근하기 위해 정렬해놓은 것

키 (Key) – 데이터베이스에서 원하는 자료를 찾을 수 있도록 색인으로 설정된 테이블의 필드

관계형 데이터베이스 – 일련의 테이블들의 독립적인 집합

Page 6: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 6

데이터베이스 접근 방법 (1)

Jet 데이터베이스 파일 (*.mdb) 접근 방법Data 컨트롤과 DAO(Data Access Object) 를 이용

Jet Database Engine 을 통하여 Jet 데이터베이스 파일 (*.mdb) 에 접근 Jet Database Engine

관계형 데이터베이스를 관리하기 위한 관계형 데이터베이스 엔진으로 Microsoft Access 에 사용

Data 컨트롤 DAO 개체의 일부 기능만 사용

DAO Jet Database Engine 의 기능을 이용하기 위한 개체

외부 ISAM 데이터베이스 파일 접근방법 ISAM 드라이버를 이용한 접근

외부 ISAM 데이터베이스 파일 (dBASE, FoxPro, Paradox,….)

Page 7: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 7

데이터베이스 접근 방법 (2)

원격데이터베이스 접근 ODBC(Open Database Connectivity) 드라이버 관리자 , Remote Data

컨트롤 , RDO(Remote Data Object) 를 이용 Remote Data 컨트롤

RDO 의 일부 기능만 지원

Page 8: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 8

외부 ISAM File

데이터베이스 접근 방법 (3)Visual Basic 6.0

MS JetDatabase

OracleDatabase

SQLSever

IISAMDriver

ODBCDriver

ODBC Driver 관리자 DB- 라이브러리

VB SQLControl

ODBCAPI

RDOJet Engine

작업영역ODBC Direct

작업영역

ADORemote

Data Control

DAO

Data Control

Page 9: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 9

Data Control

Data Control기능

코드를 작성하지 않고 데이터베이스에 저장된 데이터를 쉽게 접근하고 레코드간 이동 할 수 있는 기능 제공

속성

내 용

BOFActionEOFActionDatabaseNameExclusiveReadOnlyRecordsetTypeRecordSourceEnabledVisibleAppearance

속 성BOF(Begin Of File) 속성이 True 일 때 , Data 컨트롤의 동작 결정EOF(End Of File) 속성이 True 일 때 , Data 컨트롤의 동작 결정경로를 포함한 데이터베이스 파일명 설정데이터베이스 파일을 배타적 사용 여부 설정데이터를 읽기만 가능하도록 설정레코드 셋의 형식 설정데이터베이스 테이블 이름이나 SQL 문 설정사용 가능 여부 설정Data control 을 보이도록 설정 평면 /3D 설정

Page 10: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 10

DBGrid Control DBGrid Control

기능 레코드 셋의 레코드와 필드를 조작할 수 있는 기능 제공

속성

내 용AllowAddNewAllowDeleteAllowUpdateAppearanceBoderStyleColumnHeadersDataSourceEnabledRowDividerStyleRowHeight

속 성새로운 레코드 추가 여부 설정레코드 삭제 여부 설정레코드 수정 여부 설정평면 / 3D 설정테두리 모양 설정열의 머리글 표현 여부 설정데이터베이스와 연결된 Data 컨트롤 지정사용 가능 여부 지정행 구분선의 유형 설정행 높이 설정

Page 11: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 11

비주얼 데이터 관리자 (1)

비주얼 데이터 관리자기능

데이터베이스 파일 생성

데이터베이스 파일 생성 [ 추가 기능 > 비주얼 데이터 관리자 ]

1. 클릭

Page 12: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 12

비주얼 데이터 관리자 (2)

2. 클릭

3. 파일명 입력(score)

4. 클릭

Page 13: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 13

비주얼 데이터 관리자 (3)

5. 마우스 오른쪽 버튼으로 클릭

데이터베이스 창과 SQL 문 창

6. 클릭

Page 14: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 14

비주얼 데이터 관리자 (4)테이블 구조

7. 테이블 이름 입력

8. 클릭

9. 필드 추가

10. 클릭

Page 15: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 15

비주얼 데이터 관리자 (5)

학과학번이름중간기말과제출석학점

이름 형식TextTextTextIntegerIntegerIntegerIntegerText

크기 기본값 필수12

710

22222

000

100

추가할 필드 목록

Page 16: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 16

비주얼 데이터 관리자 (6)

필드 추가 완료

11. 추가된 필드 목록

12. 클릭

Page 17: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 17

비주얼 데이터 관리자 (7)인덱스 추가

idxID

idxName

이름 인덱스 필드학번이름

Primary Unique

13. 이름 입력

14. 클릭

15. 클릭

Page 18: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 18

비주얼 데이터 관리자 (8)인덱스 추가 완료

16. 추가된 인덱스 목록

17. 클릭

Page 19: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 19

비주얼 데이터 관리자 (9)

테이블 작성 완료

18. 비주얼베이직 테이블 작성 완료

Page 20: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 20

비주얼 데이터 관리자 (10)

데이터 추가

19. 더블 클릭

Page 21: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 21

성적 처리 프로그램 (1)

1. 더블 클릭(frmSugang 입력 )

FormName 지정 : frmSugangCaption 지정 : 성적 처리

2. 더블 클릭( 성적 처리 입력 )

Page 22: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 22

성적 처리 프로그램 (2)

메뉴 편집

3. 메뉴 편집

Page 23: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 23

성적 처리 프로그램 (3)

메뉴 편집Name

입력 (&I)

조회 및 수정 . 삭제 (&S)

출력 (&P)

종료 (&X)

Caption 메뉴 목록 상자mnuInput

mnuSearch

mnuPrint

mnuExit

입력 (&I)

조회 및 수정 . 삭제 (&S)

출력 (&P)

종료 (&X)

메뉴 편집 완료 화면

Page 24: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 24

성적 처리 프로그램 (4) Code 작성

[ 입력 (&I)] 메뉴 Click 이벤트 프로시저 Modal 형으로 frmInput 폼 표현

4. Code 작성

Page 25: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 25

성적 처리 프로그램 (5) Code 작성

[ 조회 및 수정 . 삭제 (&S)] 메뉴 Click 이벤트 프로시저 Modal 형으로 frmSearch 폼 표현

5. Code 작성

Page 26: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 26

성적 처리 프로그램 (6) Code 작성

[ 출력 (&P)] 메뉴 Click 이벤트 프로시저 Modal 형으로 frmPrint 폼 표현

6. Code 작성

Page 27: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 27

성적 처리 프로그램 (7) Code 작성

[ 종료 (&X)] 메뉴 Click 이벤트 프로시저 프로그램 종료

7. Code 작성

Page 28: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 28

성적 처리 프로그램 (8)

입력 폼 작성추가 기능관리자를 이용한 데이터 폼 마법사 등록

[ 추가 기능 > 추가 기능 관리자 ]

8. 클릭

9. 클릭

11. 클릭

10. 클릭

Page 29: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 29

성적 처리 프로그램 (9)데이터 폼 마법사 실행

12. 클릭

13. 클릭

Page 30: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 30

성적 처리 프로그램 (10)

14. 클릭

15. 클릭

Page 31: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 31

성적 처리 프로그램 (11)

16. 클릭 ( 데이터베이스 파일을 찾아 선택 )

17. 클릭

Page 32: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 32

성적 처리 프로그램 (12)

18. 폼 이름 입력 (frmInput)

19. 클릭

Page 33: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 33

성적 처리 프로그램 (13)

20. 레코드 원본 선택 ( 비주얼베이직 )

21. 클릭

22. 클릭

Page 34: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 34

성적 처리 프로그램 (14)

23. 선택한 필드 확인

24. 클릭

Page 35: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 35

성적 처리 프로그램 (15)

25. 클릭

27. 클릭

26. 클릭

Page 36: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 36

성적 처리 프로그램 (16)

28. 클릭

Page 37: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 37

성적 처리 프로그램 (17) 입력 (frmInput) 폼 작성 완료

입력 (frmInput) 폼

Code

Page 38: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 38

성적 처리 프로그램 (18) Code 작성

[ 학점 ] 계산을 위한 GotFocus 이벤트 프로시저 점수 및 학점 계산

29. Code 작성

Page 39: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 39

성적 처리 프로그램 (19)

Page 40: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 40

성적 처리 프로그램 (20)

입력 메뉴 실행

30. 클릭

31. 클릭

32. 데이터 입력

33. 클릭

Page 41: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 41

성적 처리 프로그램 (21)

조회 및 수정 • 삭제 폼 작성폼 추가

2. 클릭 1. 클릭

3. 클릭

Page 42: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 42

성적 처리 프로그램 (22)

4. 더블 클릭(frmSearch 입력 )

FormName 지정 : frmSearchCaption 지정 : 조회 및 수정 삭제•

5. 더블 클릭( 조회 및 수정 • 삭제 입력 )

Page 43: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 43

성적 처리 프로그램 (23)

Control 배치LabelTextBoxDataOptionButtonCommandButton

6. Control 배치

Page 44: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 44

성적 처리 프로그램 (24) Control 속성지정

Data

Frame

속 성 Name

Frame1

Frame2

Control Caption

점수조회선택

속 성 Name

Data1

Control

datSugang

Caption

비주얼베이직 Score.mdb비주얼베이직 0- 테이블

DatabaseName

RecordSource

RecordsetType

Frame1

Frame2

Page 45: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 45

성적 처리 프로그램 (25)

Label

속 성 Name

Label1

Label2

Label3

Label4

Label5

Label6

Label7

Control Caption

학 과학 번이 름

중 간

기 말

과 제출 석

AutoSize

True

True

True

True

True

True

True

Label1

Label2

Label3

Label4

Label5

Label6

Label7

Page 46: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 46

성적 처리 프로그램 (26)

TextBox

속 성 Name

Text1

Text2

Text3

Text4

Text5

Text6

Text7

Text8

Control Visible

True

True

True

True

True

True

True

False

txtDepartment

txtNumber

txtName

txtScore

txtScore

txtScore

txtScore

txtHakjum

DataField

학 과학 번이 름

중 간

기 말

과 제출 석학 점

Index TextData

Source

datSugang

datSugang

datSugang

datSugang

datSugang

datSugang

datSugang

datSugang

0

1

2

3

Page 47: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 47

성적 처리 프로그램 (27)

CommandButton

속 성 Name

Command1

Command2

Command3

Control

cmdSearch

cmdDelete

cmdClose

Caption

찾기 (&S)

삭제 (&D)

닫기 (&C)

OptionButton

속 성 Name

Option1

Option2

Control Caption

학번이름

optNumber

optName

Value

True

False

Page 48: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 48

성적 처리 프로그램 (28)

Control 배치 및 속성 지정 완료 화면

Page 49: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 49

성적 처리 프로그램 (29) Code 작성

[ 찾기 (S)] 버튼 Click 이벤트 프로시저 레코드 셋 검사 , 인덱스 설정

7. Code 작성

Page 50: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 50

성적 처리 프로그램 (30)

Seek 메서드를 이용한 레코드 검색

구성요소 설 명recordset

비교식비교값

인덱스된 테이블 형식의 레코드 셋 개체<, <=, =, >=, >

인덱스 필드와 비교할 값 ( 최대 13 개 )

recordset.Seek 비교식 , 비교값 1, 비교값 2, …., 비교값 13

Page 51: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 51

성적 처리 프로그램 (31) Code 작성

[ 삭제 (D)] 버튼 Click 이벤트 프로시저 현재 레코드를 삭제하고 다음 레코드로 이동 .

8. Code 작성

Page 52: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 52

성적 처리 프로그램 (32) Code 작성

[ txtScore] 개체의 LostFocus 이벤트 프로시저 중간 , 기말 , 과제 , 출석 점수를 수정했을 때 학점 재계산

9. Code 작성

Page 53: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 53

성적 처리 프로그램 (33)

Page 54: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 54

성적 처리 프로그램 (34) Code 작성

[ 종료 (X)] 버튼 Click 이벤트 프로시저

10. Code 작성

Page 55: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 55

성적 처리 프로그램 (35)

실행 결과 [ 조회 및 수정•삭제 ] 버튼

11. 클릭

12. 클릭

Page 56: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 56

성적 처리 프로그램 (36)

출력 폼 작성폼 추가

2. 클릭 1. 클릭

3. 클릭

Page 57: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 57

성적 처리 프로그램 (37)

4. 더블 클릭 (frmPrint 입력 )

FormName 지정 : frmPrintBoderStyle: 3- 크기 고정 대화 상자Caption 지정 : 학과별 출력

5. 더블 클릭(3- 크기 고정 대화상자 선택 )

6. 더블 클릭 ( 학과별 출력 입력 )

Page 58: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 58

성적 처리 프로그램 (38) Microsoft Data Bound Grid Control 5.0(SP3) 추가하기

[ 프로젝트 > 구성요소 ]

8. 클릭 7. 클릭

Page 59: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 59

성적 처리 프로그램 (39)

Microsoft Data Bound Grid Control 5.0(SP3) 추가하기

9. 추가된 Data Bound Grid Control 5.0(SP3)

Page 60: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 60

성적 처리 프로그램 (40)

Control 배치LabelComboBoxDBGridDataCommandButton

10. Control 배치

Page 61: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 61

성적 처리 프로그램 (41)

Control 속성지정Label

ComboBox

속 성 Name

Combo1

Control

cboDepart

List

전자계산과

사무자동화과

산업디자인과

속 성 Name

Label1

Control

Label1

AutoSize

학 과

Caption

Style

0 - 드롭 다운 콤보

True

Page 62: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 62

성적 처리 프로그램 (42)

DBGrid

속 성 Name

DBGrid1

Control

DBgrdDepart

Height

3075

Data

속 성 Name

Data1

Control

datDepart

Visible

False Score.mdb비주얼베이직 2- 스냅샷

DatabaseName

RecordSource

RecordsetType

DataSource Enable Caption

datDepart

Width

3615

False

Left

368

비주얼베이직

Top

795

속 성 Name

Command1

Control

cmdClose 닫기 (&C)

Caption

CommandButton

Page 63: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 63

성적 처리 프로그램 (43)

Control 배치 및 속성 지정 완료 화면

Page 64: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 64

성적 처리 프로그램 (44)

DBGrid 편집

11. 마우스 오른쪽 버튼으로 클릭

12. 클릭

Page 65: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 65

성적 처리 프로그램 (45)

13. 클릭

14. 필드 추가 확인

Page 66: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 66

성적 처리 프로그램 (46)

DBGrid 의 필드 추가 및 속성 지정

15. 마우스 오른쪽 버튼으로 클릭

16. 클릭

Page 67: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 67

성적 처리 프로그램 (47)

17. 클릭

18. 클릭

Page 68: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 68

성적 처리 프로그램 (48)

20. 데이터 지정

19. 열 선택

속성Caption

Column0

Column1

Column2

학 번이 름학 점

DataField

학번이름학점

Page 69: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 69

성적 처리 프로그램 (49)

21. Width 지정(1140)

Page 70: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 70

성적 처리 프로그램 (50)

DBGrid 의 필드 추가 및 속성 지정 완료 화면

22. Field 추가 및 속성 지정 확인

Page 71: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 71

성적 처리 프로그램 (51) Code 작성

[ Form] Load 이벤트 프로시저 학과 콤보박스의 목록에서 첫 번째 항목 선택 .

23. Code 작성

Page 72: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 72

성적 처리 프로그램 (52) Code 작성

[ 학과 ] 선택 ComboBox Click 이벤트 프로시저 데이터베이스에서 해당 레코드만을 추출하여 레코드 셋 형성

24. Code 작성

Page 73: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 73

성적 처리 프로그램 (53)

Select * From 비주얼베이직 where 학과 = ‘ 전자계산과’

SQL 문 분석

(3) Select * 모든 필드를 선택

(1) From 비주얼베이직 비주얼베이직 테이블에서

(2) Where 학과 =‘ 전자계산과’ 학과 필드값이 전자계산과인 레코드인

Page 74: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 74

성적 처리 프로그램 (54) Code 작성

[ 닫기 (C)] 버튼 Click 이벤트 프로시저

25. Code 작성

Page 75: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 75

성적 처리 프로그램 (55)

실행 결과 [ 출력 ] 버튼

26. 클릭

27. 결과 확인

Page 76: 데이터베이스 (Database)

컴퓨터 응용 및 실습 I 76

데이터베이스 (Database)

관계형 데이터베이스

관계형 데이터베이스 모델

데이터베이스 접근방법

Data Control

DBGrid control

비주얼 데이터 관리자

성적 처리 프로그램

정 리