Download presentation
Presentation is loading. Please wait.
Published by준면 판 Modified 6년 전
1
학습목표 학습목표 이번 강좌에는 웹 프로그램에서 데이터베이스에 질의를 할 때에 어떤 방식으로 이루어지는가에 대한 내용들과 웹 프로그램과 데이터베이스를 연동하는데 필요한 작업들은 무엇이 있는지에 대하여 학습을 한다. 대표적인 웹 프로그래밍 언어중의 하나인 ASP를 사용하여 실제 주문이 이루어지는 과정을 웹 프로그램으로 작성하여 실습함으로서 그 원리를 이해한다
2
웹 서버상에서 실행되어 그 결과를 클라이언트에게 전달해 주는 프로그램들을 말함
웹 응용의 개념 1. 웹 애플리케이션에 대한 개념 익히기 웹 서버상에서 실행되어 그 결과를 클라이언트에게 전달해 주는 프로그램들을 말함 웹 애플리케이션 프로그램의 종류로는 ASP, PHP, JSP, Perl등 다양함 웹 애플리케이션의 3-tire 연동에 의한 동작 클라이언트(사용자) : 정보의 요청자 웹 서버 : 정보의 제공자 데이터베이스 서버 : 데이터 저장
3
ASP 소개 2. ASP에 대한 소개 ASP는 웹 애플리케이션 프로그램중의 한가지 종류임 ASP 프로그램의 소스코드는 HTML 태그들과 스크립트(Java 또는 VB) 명령문들 그리고 ASP 명령문들로 구성됨 ASP 명령문들은 HTML 태그들과 구별을 위해 <% 와 %> 사이에 기술되어야 함 ASP 명령문들은 대소문자를 구별하지 않음
4
2.1 ASP 객체 모델의 종류 및 특성 브라우저 객체 모델 서버 객체모델 객체모델의 종류
객체모델이란 ? 여러 객체들을 관련 있는 것끼리 하나의 구조로 구성한 것을 말함 객체모델의 종류에는 크게 브라우저 객체 모델과 서버 객체 모델이 존재함 브라우저 객체 모델 클라이언트 스크립트처리에 주로 사용됨 브라우저 개체들을 주로 다루는데 사용됨 종류에는 Window 객체, Document 객체, Frame 객체, Form 객체 , Element 객체 , Location 객체 , Link 객체 등이 있음 서버 객체모델 일명 ASP 객체 모델이라고도 함 주로 서버 스크립트 처리 및 서버 객체를 다루는 주로 사용됨 서버 객체 모델들 중 SERVER 객체와 RESPONSE 객체가 가장 빈번히 사용됨
5
객체모델의 종류 서버 객체모델들의 역할 REQUEST 객체 : 클라이언트(웹 서버 사용자)의 브라우저가 서버로 보낸 사용자 요청에 관련된 모든 정보를 제공해 해주는 기능을 담당 RESPONSE 객체 : 클라이언트(웹서버 사용자)의 요청에 대한 응답 정보를 제공해 주는 기능을 담당 SERVER 객체 : 서버 전체의 자원이나 유틸리티 등을 사용할 수 있도록 해주는 기능을 담당 SESSION 객체 : 웹 애플리케이션과 사용자 연결이 만들어질 때 생성되는 객체이며 사용자의 연결이 끊어지면 자동 소멸하는 특성을 가짐 APPLICATION 객체 : 동시에 다수 사용자들의 요청이 하나의 애플리케이션에 정보 요청을 요구 함으로서 생기는 충돌 오류를 회피하기 위해 애플리케이션을 잠그고 해제하는 메서드를 제공함
6
2.2 ASP의 기본 연산자들 할당연산자 기본 연산자들
연산자의 종류에는 할당연산자, 산술연산자, 비교연산자, 논리연산자, 연결 연산자 등이 있음 할당연산자 변수에 어떤 값을 저장하기 위한 연산자로서 ‘= ’기호를 사용 ‘=’기호의 왼쪽에는 항상 변수를 오른쪽에는 변수, 상수, 수식 중의 한 가지를 사용함
7
산술 연산자 기본적인 사칙연산자 (+, -, *, /)연산자 기본 연산자들 ■ 할당연산자의 종류 사용 예 의미 a=10
■ 할당연산자의 종류 사용 예 의미 a=10 상수값 10을 변수 a에 저장 함 a=b 변수 b의 값을 변수 a에 저장함 d=a+b 변수 a와 변수 b의 값을 더해서 변수 c에 저장함 address="" 변수 address에 null값을 저장 함 code=request("code") request객체를 이용하여 클라이언트로부터 전달 받은 폼 태그 입력 값들 중에서 태그명 code에 저장된 값을 서버상의 지역변수 code에 저장함. (※주의 여기서 2개의 code는 서로 다른 것임) sql="select * from 주문" 따옴표 안의 문자열 데이터를 sql변수에 저장함 산술 연산자 기본적인 사칙연산자 (+, -, *, /)연산자 ‘^’ 연산자 : 지수승을 계산 ‘\’ 연산자 : 두 개의 정수 나눗셈에서 정수의 몫만을 계산 Mod 연산자 : 나눗셈의 나머지 값을 계산
8
비교 연산자 두 개의 변수 또는 식을 비교하는데 주로 사용 논리 연산자 기본 연산자들 반복문이나 제어문들과 함께 사용
비교연산의 결과는 논리 값인 True 또는 False중 한 가지가 됨 종류에는 ‘<’(작다), ‘<=’(작거나 같다), ‘>’(크다), ‘>=’(크거나 같다), ‘=’(같다), ‘<>’(같지 않다) 등이 있음 논리 연산자 두개 이상의 비교연산자를 사용하는 경우에 주로 함께 사용 다수의 비교연산자들에 대한 전체적인 연산 결과를 결정하며 그 결과는 논리 값이 됨 종류로는 AND(논리합), OR(논리곱), Not(부정), XOR(배타적 논리합)등이 있음 연결 연산자 ‘&’기호 : 두 개 이상의 문자열을 합성하여 하나의 문자열로 만드는데 사용 예: SQL="Update 주문 “ SQL=SQL & "set 수량=“ & su
9
2.3 ASP의 제어문과 반복문 제 어 문 If-then문 제어문과 반복문
제 어 문 제어문은 조건에 따라서 수행할 문장 블록을 결정하는 명령문 제어문의 종류 : If-then문, If-then-else문, Select-case문이 있음 If-then문 정의한 조건식의 연산결과가 True(참)이면 then과 End if 사이에 정의한 문자들을 실행하고 조건이 False(거짓)이면 End if 다음 문장으로 제어가 이동 함 구문형식 : If 조건식 then 문장들 End if 예제 : If(su="") then SQL=SQL & "set 수량=“ & su end if
10
If-then else문 제어문과 반복문 구문형식 : If 조건식 then 문장들 else End if
조건식의 연산결과가 True이면 then 다음의 정의한 문장들을 실행하고 False이면 else 다음에 정의한 문장들을 실행 함 구문형식 : If 조건식 then 문장들 else 문장들 End if 예제 : If (address = "") then SQL="insert into 주문(상품코드,고객ID,수량,주문금액,주문일자)" SQL=SQL & " values('" & code & "','" & id & "'," & su & "," & amt & ",'" SQL=SQL & orderdate & "')" else SQL="insert into 주문(상품코드,고객ID,수량,주문금액,주문일자,배송지)" SQL=SQL & " values('" & code & "','" & id & "'," & su & "," & amt & ",'" SQL=SQL & orderdate & "','" & address & "')" end if
11
제어문과 반복문 Select-case문 검사식의 결과가 여러 개 나올 수 있으며 이들의 결과 값에 따라서 동일한 값을 정의한 case문으로 제어가 이동하여 정의한 문장들을 수행하게 됨 구문형식 : Select case 검사식 Case 값 1 문장들 Case 값 2 : Case else End Select
12
제어문과 반복문 Case 'A','a' result="매우잘함“ Case 'B','b' result="잘함“
예제 : Select case grade Case 'A','a' result="매우잘함“ Case 'B','b' result="잘함“ Case 'C','c' result="보통“ Case else result="노력바람“ End Select
13
반 복 문 While-Wend문 제어문과 반복문
반 복 문 주어진 조건식의 평가결과가 True인 동안 반복해서 블록 내에 정의한 문장들을 수행하거나 일정한 회수만큼 블록 안에 정의한 문장들을 반복 수행하는 명령문임 중첩해서 사용하는 것이 가능함 반복문의 종류 : While-Wend문과 For-Next문 문이 있음 While-Wend문 주어진 조건식의 평가 결과가 True인 동안 While과 Wend사이에 정의한 문장들을 반복 수행함 정확한 반복회수가 미리 결정되지 않았을 때 주로 사용함
14
제어문과 반복문 구문형식 : While 조건식 문장들 Wend 예제 : While Not Rs.EOF
문장들 Wend 예제 : While Not Rs.EOF <td><%=Rs("상품코드“) %> </td> <td><%=Rs("고객ID“) %> </td> <td><%=Rs("수량“) %> </td> Rs.MoveNext Wend
15
제어문과 반복문 For-Next문 반복 회수를 미리 알고 있는 경우에 주로 사용함 For문에 정의한 제어변수의 값이 초기값부터 종료값이 될 때까지 증감값 만큼 증가 또는 감소시키면서 변함 제어변수의 값이 한번 변할 때마다 For와 Next사이에 정의한 문장들을 한번씩 수행함 구문형식 : For 제어변수=초기값 to 종료값 step 증감값 문장들 Next 예제 : For i=1 to 100 step 1 sum=sum+i
16
3. ADO 컴포넌트와 ODBC 설정하기 3.1 ADO 컴포넌트와 ODBC의 역할 ODBC ADO와 ODBC
Open DataBase Connectivity 는 마이크로소프트사가 제안 하였음 다양한 DBMS에 의해 구축된 데이터베이스 파일을 공통적인 인터페이스를 통해서 접근할 수 있도록 개발한 표준 API 임 윈도우 환경에서 웹 애플리케이션 프로그램과 데이터베이스를 연동하기 위해서 반드시 설정하여 하는 작업 다양한 DBMS들에 의해 구축된 데이터들을 윈도우 환경에서 ODBC를 이용하여 같은 소스 코드로 서로 다른 종류의 DBMS에 의해 구축된 데이터베이스의 데이터들을 사용할 수 있도록 한 것을 말함 웹 애플리케이션 프로그램과 데이터가 저장된 장소 사이에서 경로(통로) 역할을 함
17
ADO 컴포넌트 Connection객체 ADO와 ODBC의 역할
데이터베이스의 종류에 상관없이 공통적으로 연동을 해 줄 있는 데이터베이스 연동용 인터페이스 임 마이크로소프트사에서 개발한 ADO(ActiveX Data Objects) 컴포넌트 임 ADO 컴포넌트는 Connection객체, Recordset 객체, Command 객체 등 3가지 주요 객체를 제공함 Connection객체 데이터베이스 연결 객체이며 가장 많이 사용하는 객체임 객체를 생성하기 위해서는 ASP의 Server 객체와 CreateObject 메서드를 사용
18
ADO와 ODBC의 역할 Connection 객체에서 사용되는 메서드들과 속성들 메서드들 Open 생성된 Connection객체를 데이터베이스와 연결 Close 연결된 Connection객체를 닫음 Execute 질의어 실행 BeginTrans 새로운 트랜잭션을 시작 CommitTrans 수행한 트랜잭션 작업을 데이터베이스에 반영 RollbackTrans 수행한 트랜잭션 작업을 취소 속성들 CommandTimeout 명령실행 후 에러가 반환되기까지의 대기시간 설정 ConnectionString 데이터소스 연결을 위한 정보를 저장하는 문자열 ConnectionTimeout 연결시도 후 에러가 반환되기까지의 대기시간 설정
19
Recordset 객체 ADO와 ODBC의 역할
Select 질의를 실행하거나 질의 결과를 반환 받고자 할 때 주로 사용하는 객체임 객체를 생성하기 위해서는 ASP의 Server 객체와 CreateObject 메서드를 사용 객체의 생성은 생략이 가능하며 생략한다면 Recordset 객체는 디폴트 형식으로 생성됨
20
Recordset 객체에서 사용되는 메서드들과 속성들
ADO와 ODBC의 역할 Recordset 객체에서 사용되는 메서드들과 속성들 메서드들 AddNew 새로운 레코드를 데이터베이스에 추가 Close Open되었던 Recordset 객체변수를 닫음 Move 레코드셋에서 레코드 포인터를 원하는 위치로 이동 MoveFirst 레코드셋에서 레코드 포인터를 첫 번째 레코드로 이동 MoveLast 레코드셋에서 레코드 포인터를 마지막 레코드로 이동 MoveNext 레코드셋에서 레코드 포인터를 다음 레코드로 이동 MovePervious 레코드셋에서 레코드 포인터를 이전 레코드로 이동 Open 질의어를 실행하고 결과 레코드셋을 객체변수에 저장 Update 현재 레코드에서 변경된 내용을 데이터베이스에 반영 속성들 AbsolutePage 현재 레코드 포인터가 가리키는 레코드의 페이지 위치 또는 레코드 포인터가 위치할 절대 페이지 AbsolutePosition 현재 레코드 포인터가 가리키는 레코드의 위치값 BOF 레코드셋에서 레코드 포인터가 첫 번째 레코드의 앞을 가리키면 이속성의 값이 True로 설정됨 EOF 레코드셋에서 레코드 포인터가 마지막 레코드의 다음을 가리키면 이 속성의 값이 True로 설정됨 PageCount 레코드 셋의 총 페이지 수 PageSize 한 페이지를 구성하는 레코드의 수 RecordCount 레코드셋의 기억된 전체 레코드의 수
21
ADO와 ODBC의 역할 예제 1 : Connection객체와 Recordset객체 생성 Set Conn=Server.CreateObject("ADODB.Connection") Set Rs=Server.CreateObject("ADODB.Recordset") Conn.Open “testcon","Su","s12345" Rs.Open "select * from 주문" Rs.Close Conn.Close 예제2 : Recordset객체 생성을 생략하는 경우 Set Rs=Conn.Execute("select * from 주문“) Conn.Close
22
3.2 SQL서버와 연동을 위한 ODBC설정 DB연동과 ODBC설정
웹 애플리케이션 프로그램과 SQL Server를 연동하기 위해서는 ODBC의 설정이 반드시 필요 함 ODBC를 설정하는 과정에서 지정하는 사용자 관련 정보는 반드시 해당 데이터베이스 서버에 계정을 가지고 있는 사용자이어야 함 SQL Server에 원하는 DB 사용자 계정을 등록하는 작업이 ODBC 설정보다 먼저 이루어져야 하며 사용하고자 하는 데이터베이스에 대한 사용자의 권한도 미리 설정되어 있어야 함
23
DB연동과 ODBC설정 ODBC의 설정하기 1. 시작-> 설정->제어판->관리도구 ->데이터원본(ODBC)
24
DB연동과 ODBC설정 2. ODBC 데이터원본 관리자->시스템 DSN탭->‘추가’ 버튼 클릭
25
DB연동과 ODBC설정 3. 새 데이터원본 만들기->'SQL Server‘->‘마침’ 버튼 클릭
26
DB연동과 ODBC설정 4. SQL Server에 새로운 데이터원본 만들기 1단계-> 이름란 “testconn“ 입력-> 서버란 (local) 선택-> ‘다음’ 버튼 클릭
27
DB연동과 ODBC설정 5. SQL Server에 새로운 데이터원본 만들기 2단계->라디오버튼(사용자가 입력한 로그인 ID … ) 선택->로그인 ID 입력-> 암호입력 ->‘다음’ 버튼 클릭
28
DB연동과 ODBC설정 6. SQL Server에 새로운 데이터원본 만들기 3단계->“기본데이터베이스를 다음으로 변경” 체크박스 체크-> 콤보상자에서 ‘manpower' 선택-> ’다음‘ 버튼 클릭
29
DB연동과 ODBC설정 7. ‘마침’ 버튼 클릭
30
DB연동과 ODBC설정 8. ‘데이터 원본 테스트’ 버튼 클릭 9. ‘확인’ 버튼 클릭
31
DB연동과 ODBC설정 10. ’확인‘ 버튼 클릭
32
4. SQL을 이용한 웹 애플리케이션 실습하기 실습내용 SQL 웹 응용실습
쇼핑몰 모델링으로 구축된 DB의 주문테이블을 위한 웹 애플리케이션 프로그램작성 웹 프로그래밍 언어는 ASP를 사용 함 HTML 태그들과 약간의 자바 스크립트(Java script)를 사용 함 실습내용 웹 애플리케이션 프로그램을 이용한 데이터 검색 SQL 실습하기 웹 애플리케이션 프로그램을 이용한 데이터 삽입 SQL 실습하기 웹 애플리케이션 프로그램을 이용한 데이터 삭제 SQL 실습하기 웹 애플리케이션 프로그램을 이용한 데이터 수정 SQL 실습하기
33
4.1 웹 애플리케이션을 이용한 레코드 검색 웹 애플리케이션의 검색 질의 소스코드 웹 응용과 검색질의
CONNECTION객체 생성 ODBC를 통한 사용할 DB열기 (사용자ID,암호지정) 질의어 정의 및 실행 결과 반환된 레코드 셋을 객체변수 Rs에 저장 Rs에 저장된 질의결과를 필드단위로 HTML양식으로 출력 DB 닫기
34
웹 응용과 검색질의 웹 애플리케이션의 검색 질의 수행결과
35
웹 응용과 삽입질의 4.2 웹 애플리케이션을 이용한 레코드 삽입 1. 검색질의 화면-> ‘레코드삽입’링크 클릭
36
웹 응용과 삽입질의 2. 새 레코드입력 창-> 데이터 입력-> ‘삽입실행’ 버튼 클릭
37
삽입 연산을 수행할 프로그램 파일의 이름(“Exeinsert.asp”) 정의
웹 응용과 삽입질의 레코드 삽입에 대한 입력 폼 HTML 코드 입력 폼의 항목들 중 빠진 항목이 있는지 체크 입력 폼의 항목들 중 빠진 항목이 있는지 체크 데이터 입력폼 구성 삽입 연산을 수행할 프로그램 파일의 이름(“Exeinsert.asp”) 정의
38
웹 애플리케이션의 삽입질의 소스코드 웹 응용과 삽입질의 삽입질의 문장 생성 메인화면(검색)으로 돌아가기
CONNECTION객체 생성 및 DB열기 입력 폼에서 전달 받은 내용을 프로그램의 지역 변수에 할당 삽입 질의어 수행 DB닫기 삽입질의 문장 생성 메인화면(검색)으로 돌아가기
39
웹 응용과 삽입질의 웹 애플리케이션의 삽입질의 수행결과
40
4.3 웹 애플리케이션을 이용한 레코드 삭제 웹 응용과 삭제질의
1. 검색질의 화면-> ‘레코드삭제’링크 클릭->레코드삭제 조건 입력창-> 삭제 조건값 입력->’삭제실행’ 버튼 클릭
41
레코드 삭제에 대한 입력 폼 HTML 코드 웹 응용과 삭제질의 데이터 입력 폼 구성
입력 폼의 항목들 중 빠진 항목이 있는지 체크 데이터 입력 폼 구성 삭제 질의를 수행할 프로그램 파일의 이름(“Exedelete.asp”) 정의
42
웹 애플리케이션의 삭제질의 소스코드 웹 응용과 삭제질의 삭제 질의 문장 생성 및 수행 메인화면(검색)으로 돌아가기
CONNECTION객체 생성 및 DB열기 입력 폼에서 전달 받은 내용을 프로그램의 지역 변수에 할당 삭제 질의 문장 생성 및 수행 DB 닫기 메인화면(검색)으로 돌아가기
43
웹 응용과 삭제질의 웹 애플리케이션의 삭제질의 수행결과
44
4.4 웹 애플리케이션을 이용한 레코드 수정 웹 응용과 수정질의
1. 검색질의 화면-> ‘레코드수정’링크 클릭->수정데이터 입력창-> 수정할 데이터값 입력->’수정실행’ 버튼 클릭
45
삭제 질의를 수행할 프로그램 파일의 이름(“Exeupdate.asp”) 정의
웹 응용과 수정질의 레코드 삽입에 대한 입력 폼 HTML 코드 입력 폼의 항목들 중 빠진 항목이 있는지 체크 데이터 입력 폼 구성 삭제 질의를 수행할 프로그램 파일의 이름(“Exeupdate.asp”) 정의
46
웹 애플리케이션의 수정 질의 소스코드 웹 응용과 수정질의 수정질의 문장 생성 및 수행 메인화면(검색)으로 돌아가기
CONNECTION 객체 생성 DB 열기 입력 폼에서 전달 받은 내용을 프로그램의 지역 변수에 할당 수정질의 문장 생성 및 수행 DB 닫기 메인화면(검색)으로 돌아가기
47
웹 응용과 수정질의 웹 애플리케이션의 수정질의 수행결과
48
단원 정리 단원정리 1 ★ 는 웹 서버상에서 실행되어 그 결과를 클라이언트에게 전달해 주는 프로그램들을 말한다. ? 웹 애플리케이션 단원정리 2 ★ 클라이언트(웹서버 사용자)의 브라우저가 서버로 보낸 사용자 요청에 관련된 모든 정보를 제공해 해주는 기능을 담당하는 객체는 이다. ? REQUEST
49
단원 정리 단원정리 3 ★ 마이크로소프트사가 제안하였으며 다양한 DBMS에 의해 구축된 데이터베이스 파일을 공통적인 인터페이스를 통해서 접근할 수 있도록 개발한 표준 API는 이다. ? ODBC 단원정리 4 ★ 는 데이터베이스 연결 작업, 웹 프로그램에서 정의한 SQL 명령어들을 실행 작업, 처리된 명령 결과를 레코드 셋의 형태로 되돌려 받아 필드단위로 처리하는 작업등을 수행한다. ? ADO
Similar presentations