13 장 데이터베이스

60
1 13 장 장장장장장장

Upload: xantha-moody

Post on 01-Jan-2016

115 views

Category:

Documents


8 download

DESCRIPTION

13 장 데이터베이스. 데이터베이스 구조. 데이터의 가장 작은 논리적 단위. 열 , 속성 , 필드 , 데이터 항목. 행 레코드 투플. 서로 논리적으로 관련 있는 항목의 모임. 데이터베이스  관련 있는 테이블들의 모임. 데이터베이스 작성. 데이터베이스 프로그램 이용 MS Access 프로그램 비주얼 데이터 관리자 이용. Access. Access. Access. Access. Access. Access. 비주얼 데이터 관리자. 비주얼 데이터 관리자. 비주얼 데이터 관리자. - PowerPoint PPT Presentation

TRANSCRIPT

1

13 장 데이터베이스

2

데이터베이스 구조

서로 논리적으로 관련 있는 항목의 모임

학번 이름 학년 학과100 홍길동 4 컴퓨터200 이순신 3 전기300 강감찬 1 컴퓨터400 김유신 2 전자500 유관순 3 국문과

행레코드투플

열 , 속성 , 필드 , 데이터 항목데이터의 가장 작은 논리적 단위

데이터베이스 관련 있는 테이블들의 모임

3

데이터베이스 작성데이터베이스 프로그램 이용MS Access 프로그램

비주얼 데이터 관리자 이용

4

Access

5

Access

6

Access

필드 이름 형식 필드크기 인덱스번호 숫자 Long 예 ( 중복불가능 )

성명 텍스트 10 예 ( 중복가능 )

주민등록번호 텍스트 14 예 ( 중복불가능 )

전화번호 텍스트 13 아니오주소 50 아니오

7

Access

8

Access

9

Access

10

비주얼 데이터 관리자

11

비주얼 데이터 관리자

12

비주얼 데이터 관리자

13

비주얼 데이터 관리자

14

비주얼 데이터 관리자

이름 형식 크기일련번호 Long

이름 Text 20

전화번호 Text 20

주소 Text 50

15

비주얼 데이터 관리자

16

비주얼 데이터 관리자

17

비주얼 데이터 관리자

18

비주얼 데이터 관리자

19

비주얼 데이터 관리자

20

비주얼 데이터 관리자

21

데이터 컨트롤이미 작성된 DB 파일을 읽어와 레코드 단위로 입력 , 수정 , 삭제 등의 편집 작업을 할 수 있게 하는 컨트롤DB 의 종류와 파일을 지정연결 가능한 DB 의 종류 Access, DBASE, Excel, FoxPro, Lotus, Paradox, Text

DB 와 연결 후 , 연결 가능한 다른 컨트롤과 연결하여 프로그램 작성 TextBox, PictureBox, Image, OLE, Label, CheckBox

22

데이터 컨트롤

데이터 컨트롤의 Caption 속성

처음 데이터

이전 데이터

마지막 데이터

다음 데이터

23

데이터베이스와 연결

1. Connect 속성 : DB 종류 지정2. DatabaseName 속성 : DB 파일 지정

3. RecordSource 속성 : 테이블 지정

데이터 컨트롤 속성창

4. DataSource 속성 : 원하는 데이터 컨트롤과 연결

5. DataField 속성 : 연결 가능한 데이터베이스의 필드명을 지정

텍스트박스 속성창

24

데이터베이스와 연결

각 텍스트박스에 대해 DataSource, DataField 속성 지정

25

데이터베이스와 연결

26

데이터 컨트롤Exclusive현재 프로그램에서 사용할 데이터베이스 테이블을

다른 프로그램에서 사용할 수 없도록 하는 속성

ReadOnly데이터베이스 파일의 내용을 고치거나 쓸 수 없고 ,

읽기만 가능하도록 만드는 속성

27

데이터 컨트롤RecordsetType데이터베이스 파일의 레코드들을 어떻게 접근할

것인가를 결정0- 테이블

추가 / 삭제 / 수정이 즉시 적용 , 질의문 사용 불가1- 다이너셋 ( 기본값 )

추가 / 삭제 / 수정이 바로 적용 , 질의문 사용 가능2- 스냅샵

질의문 / 검색 / 출력 가능 , 수정 / 삭제 / 추가 불가

28

데이터 컨트롤이동MoveFirst, MoveLast, MovePrevious, MoveNext

검색FindFirst, FindLast, FindPrevious, FindNext

Data1.Recordset. 메소드명

29

데이터 컨트롤

AddNew빈 레코드 추가

Delete현재 레코드 삭제

AbsolutePosition현재 레코드 번호를 반환 (0 부터 시작 )

Refresh데이터 구조 업데이트

Data1.Recordset.AddNew

Data1.Recordset.Delete

Data1.Refresh

Data1.Recordset.AbsolutePosition

30

바운드 컨트롤

VB 과 연결된 DB 파일의 각 레코드들을 실제적으로 VB 폼에 표시하는 컨트롤텍스트박스ActiveX 컨트롤

DBListDBComboDBGrid

31

DBList

MS Data Bound List Controls 6.0

DB 파일을 연결하여 리스트에 레코드 표시두 테이블을 연결한 다음 필요한 필드들을 폼에 표시할

때 사용

32

DBList

DataSource연결될 데이터 컨트롤의 이름을 설정

DataFieldDataSource 속성에서 설정한 테이블과

연결하고자 하는 다른 테이블의 연결고리 역할을 하는 필드

RowSourceDataSource 속성에서 설정한 테이블과

연결하고자 하는 다른 데이터 컨트롤을 설정

33

DBList

BoundColumnDataField 속성에서 설정한 연결고리 필드와

연결되는 RowSource 에서 설정한 테이블의 연결고리 필드를 설정

ListFieldRowSource 속성에서 설정한 테이블에서

실제적으로 현재 폼에 표시할 필드를 설정

34

DBList

35

DBList

36

DBList

Data1 - 수강신청 Data2 - 과목코드

학번

성명

수강과목 1

수강과목 2

전화번호

과목 ID

과목명

DataSource RowSource

DataField

BoundColumn

ListField

37

DBList

38

DBCombo

39

DBGrid

MS Data Bound Grid Control 5.0 (sp3)

DataSourceDBGrid 와 연결할 데이터 컨트롤을 설정

ColumnHeadersDBGrid 컨트롤에 나타나는 첫 번째 행에 필드명의

표시 여부 결정

40

DBGrid

AllowAddNewDBGrid 와 연결된 테이블의 마지막

레코드에 새로운 레코드를 추가할 수 있게 할 지를 결정

AllowDeleteDBGrid 와 연결된 테이블의 레코드 삭제

여부AllowUpdateDBGrid 와 연결된 테이블의 레코드 수정

여부

41

DBGrid

42

DBGrid

43

DBGrid

44

데이터 폼 마법사

45

데이터 폼 마법사

46

데이터 폼 마법사

데이터 컨트롤의 Connect 속성 지정과 유사

47

데이터 폼 마법사

데이터 컨트롤의 DatabaseName 속성 지정과 유사

48

데이터 폼 마법사

기본값 선택

49

데이터 폼 마법사

50

데이터 폼 마법사

51

데이터 폼 마법사

기본값 선택

52

데이터 폼 마법사

53

데이터 폼 마법사

54

데이터 폼 마법사

55

데이터 폼 마법사

56

[ 실습 ]

57

[ 실습 ]

Private Sub cmdFirst_Click()

Data1.Recordset.MoveFirst

End Sub

Private Sub cmdPrevious_Click()

If Data1.Recordset.AbsolutePosition = 0 Then

MsgBox " 처음 레코드입니다 "

Exit Sub

End If

Data1.Recordset.MovePrevious

End Sub If Not Data1.Recordset.BOF Then Data1.Recordset.MovePreviousEnd If

58

[ 실습 ]

Private Sub cmdLast_Click()

Data1.Recordset.MoveLast

End Sub

Private Sub cmdNext_Click()

If Data1.Recordset.AbsolutePosition = -1 Then

MsgBox " 마지막 레코드입니다 "

Exit Sub

End If

Data1.Recordset.MoveNext

End Sub If Not Data1.Recordset.EOF Then Data1.Recordset.MoveNextEnd If

59

Private Sub cmdAppend_Click() Data1.Recordset.AddNewEnd SubPrivate Sub cmdDelete_Click() Data1.Recordset.Delete Data1.Recordset.MoveNextEnd SubPrivate Sub cmdResort_Click() Data1.RefreshEnd SubPrivate Sub cmdSearch_Click() Dim name As String name = InputBox(" 검색이름을 입력하세요 ", " 레코드검색 ") Data1.Recordset.FindFirst " 이름 ='" & name & "'" If Data1.Recordset.NoMatch Then MsgBox (" 찾고자 하는 레코드가 없습니다 ") End IfEnd Sub

60

[ 실습 ]