반응형
1. 데이터베이스
데이터베이스란 데이터를 조직적으로 통합하여 구조화시켜 놓은 데이터의 집합체이다.
데이터베이스를 생성하고 검색하며, 추가, 삭제를 원활히 하려는 프로그램의 집합을 데이터베이스 관리 시스템(DBMS : Database Management System) 이라고 한다.

DBMS의 기능
1)데이터 구조 정의
2)데이터 검색 및 갱신
3)데이터 추가 및 삭제
4)복수의 사용자로부터 데이터 처리 동시 실행 제어
5)정보보호

DBMS의 형태중 가장 일반적인 것은 관계형 데이터베이스 관리 시스템(RDBMS : Reation DBMS)이다. 관계형 DBMS 데이터 모델은 테이블의 집합으로 표현되어 있다. 데이터베이스는 한 개 이상의 테이블이 존재한다. 또한 테이블은 여러 개의 레코드로 존재 한다.

테이블의 형식
레코드 : 테이블에 저장된 데이터의 행
필드명 : 항목명
필드 : 테이블에 저장된 데이터의 열


2. SQL SERVER
(1) SQL 질의어
SQL(Structured Query Language)은 데이터베이스를 정의하고 조작하려는 질의어(Query Language)이다.

(2) SELECT 문
테이블에서 레코드를 검색할 때 사용하는 구문

형식>SELECT 필드이름 FROM 테이블이름 [WHERE 조건문]
예>   SELECT name FROM tblMember WHERE num = '4'

(3) INSERT 문
테이블에서 레코드를 삽입할 때 사용하는 구문

형식>INSERT INTO 테이블이름 ( 필드이름 ) VALUES ( '값' )
예>   INSERT INTO tblMember (id, pwd, name) VALUES ('melon', '4444', '김콩쥐')
        INSERT INTO tblMember (age, phone) VALUES ('19', '019-999-9999')

(4) UPDATE 문
테이블에서 레코드를 수정할 때 사용하는 구문

형식>UPDATE 테이블이름 SET 필드이름 = '값' [WHERE 조건문]
예>   UPDATE tblMember SET age = '19'
        UPDATE tblMember SET id = 'grapes', name = '팥쥐' WHERE num = '4'

(5) DELETE 문
테이블에서 레코드를 삭제할 때 사용하는 구문

형식>DELETE FROM 테이블이름 [WHERE 조건문]
예>   DELETE FROM tblMember
        DELETE FROM tblMember WHERE pwd = '4444'

3. ADO
(1) ADO(ActiveX Data Objects)는 DAO(Data Access Objects)나 RDO(Remote Data Objects)보다 데이터베이스 접근 절차를 줄여 프로그래머로 하여금 쉽게 데이터베이스에 접근하여 프로그래밍 할 수 있도록 도와주는 객체 모음이다.

(2) DAO : 관계형 데이터베이스의 구조를 모델화한 객체 클래스의 집합니다. 솜규모의 지역적인 클라인언트/서버 환경에서 데이터베이스 구축이 가능하다.

(3) RDO : SQL Server, Oracle 등을 ODBC를 통해서만 데이터베이스에 접근할 수 있다. 관계형 데이터베이스를 제어하는 객체, 속성, 메소드 등을 지원하며 대규모 관계형 데이터베이스 구축에 사용하기 적합한 방법이다.

(4) ODBC(Open Database Connectivity)

(5)ADO 객체 및 컬렉션
 1) 객체
Connection - 프로그램과 데이터베이스의 연결
Command - SQL 문과 같은 명령을 정의하고 실행
Error - 데이터 접근 실패의 설명
Field - 일반 데이터형을 사용하는 데이터
Parameter - Command 객체와 함께 사용되는 파라미터, 인수 의미
Property - ADO 객체의 특성
Record - 저장된 데이터를 처리
Recordset - 데이터베이스에 대한 명령 실행의 결과 등의 반환 값의 집합
Stream - 전자메일, 웹 페이지와 같은 내용에 접근할 때 사용

 2) 메소드
Errors - 명령에 의해 생성된 오류
Fields - Recordset 객체나 Record 객체의 모든 Field 객체 포함
Parameters - Command 객체의 파라미터 포함
Properties - 객체의 속성 포함

4. Connection 객체
데이터베이스에 연결하여 레코드의 추가, 수정, 삭제 등의 작업을 SQL 문을 사용하여 실행 할 수 있는 객체이다.

(1) Connection 객체
 1) 메소드
BeginTrans - 트랜젝션의 시작
Cancel - 현재 처리중인 실행 작업 중단
Close - 연결과 관련된 객체를 닫음
CommitTrans - 현재 트랜잭션 종료
Execute - 질의문 등을 실행
Open - 데이터 소스에 접근 개시
OpenSchema - 데이터베이스 스키마 정보 반환
RollbackTrans - 현재 트랜잭션의 모든 변경 사항 취소 후 트랜잭션 종료
 2) 속성
Attributes - Connection 객체의 속성 반환
CommandTimeout - 명령 실행 제어 시간
ConnectionString - 데이터베이스 연결 문자열
ConnectionTimeout - 데이터 소스와의 연결 시도 제한 시간
CursorLocation - 커서의 위치 조정
DefaultDatabase - Connection 객체에서의 기본 데이터베이스
Errors - 연결 오류로 인한 Error
IsolationLevel - 트랜잭션의 격리 수준 설정
Mode - 데이터베이스의 데이터 변경에 관한 허용범위 설정
Properties - Connection 객체의 속성 정보 반환
State - 현재 연결 상태 반환
Version - ADO 버전 번호 반환

Connection 객체를 사용하려면 Server 객체의 CreateObject 메소드를 사용하여 객체를 생성해야 한다.

형식> Set 객체 = Server.CreateObject("ADODB.Connection")
예>    Set ConnDB = Server.CreateObject("ADODB.Connection")
         Set objCon = Server.CreateObject("ADODB.Connection")

객체를 생성한 후에는 데이터베이스에 연결하는 작업을 해야 한다. 데이터베이스 연결은 Open 메소드와 데이터베이스 정보를 이용하여 이루어진다.

ODBC 연결방식일 때

형식> 객체.Open DSN|연결문자열 = 경로명 [, 아이디, 비밀번호 ]
예>    ConnDB.Open "DSN=dbMember;UID=member;PWD=1;"
         objCon.Open "Driver={SQL Server}; Server=myserver;
                             Database=dbMember;UID=member;PWD=1;"

OLE DB 연결방식일 때

형식> 객체.ConntionString="Provider = OLE DB 데이터 공급자;
                Data Source = 서버; Initial Catalog = 데이터베이스;
                User ID = 아이디; Password = 비밀번호"
예>    ConnDB.ConntionString="Provider = SQLOLEDB;
                Data Source = (localhost); Initial Catalog = tblMember;
                User ID = member; password = 1;

Connection 객체를 사용하여 연결하고 어떠한 작업을 마친 후에는 데이터베이스와의 연결을 종료하고 객체의 리소스를 해제해야 한다.

Connection 객체의 연결 종료와 리소스 해제의 형식

형식> 객체.Close
         Set 객체 = Nothing
예>    ConnDB.Close
         Set ConnDB = Nothing

반응형

'공부 > ASP' 카테고리의 다른 글

Server 컴포넌트  (0) 2011.06.14
Application, Session, Server 객체  (0) 2011.06.13
객체의 구성요소  (0) 2011.06.10
Request, Response 객체  (0) 2011.06.10
Command 객체  (0) 2011.06.10
반응형
1. Connection 객체의 속성과 메서드

Connection 객체의 속성
CommandTimeout - 명령실행 후 에러 리턴까지 기다리는 초
ConnectionString - 데이터 소스 연결을 위한 정보를 담는 문자열
ConnectionTimeout - 연결시도 후 에러 리턴까지 기다리는 초

Connection 객체의 메서드
Open     - 데이터 소스에 연결함
Close    - 연결된 Connection 객체를 닫음
Execute - 쿼리나 명령 등을 실행
BeginTians - 새로운 트랜잭션을 시작함
CommitTians - 수정내용을 저장함
RollbackTrans - 수정내용을 취소

2. 데이터 베이스와의 연결

(1) ODBC를 이용한 연결
Connection 객체의 생성
Set cn = Server.CreateObject("ADODB.Connection")

Access의 경우 (DNS은 'member', SQL Server의 DSN은 'membersql')

cn.open "DSNname"

또는

cn.open "DSN=member"

SQL SERVER의 경우는 (계정 id는 testq 암호는 1234 를 가정)

cn.open "membersql", "testq", "1234"

또는

cn.open "DSN=member;UID=testq;PWD=1234"


2. OLE DB를 이용한 연결
OLE DB는 ODBC에 비해 속도가 빠르고 ODBC에 비해 많은 종류의 데이터 액세스를 지원하므로 대부분의 데이터베이스 접속에 널리 사용된다.

(1)Access의 경우
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
             "Data Source=somefolder\xxxx.mdb;"


(2)SQL Server의 경우 OLE DB를 이용한 연결
SQL Server의 경우(SQL Server 이름은 coolnet, 사용할 데이터베이스 이름은 'memberdb', 계정 id는 'testq', 암호는 '1234'를 가정)

cn.Open "Provider=sqloledb;" & _
             "Data Source=coolnet;" & _
             "Initial Catalog=memberdb;" & _
             "User Id=testq;" & _
             "Password=1234"

또는

cn.Open "Provider=sqloledb;" & _
             "Server=coolnet;" & _
             "Database=memberdb;" & _
             "User Id=testq;" & _
             "Password=1234"


서버가 원격에 있다면 서버이름으로는 전체이름이나 IP 주소를 써 주면 된다.
(서버의 주소가 coolnet.dongyang.ac.kr)

cn.Open "Provider=sqloledb;" & _
             "Data Source=coolnet.dongyang.ac.kr;" & _

처럼 서버의 풀네임을 써주든지

cn.Open "Provider=sqloledb;" & _
             "Data Source=203.204.205.7;" & _

처럼 서버이름에 IP 주소를 쓰면 된다.


3. Connection 객체를 이용한 실행 쿼리의 실행

(1)Insert 쿼리의 실행
예문>
'객체 생성 및 DB와의 연결
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Server.MapPath(".") & "\Db\memberdb.mdb;"

SQL = "insert into 테이블명"
SQL = SQL & " (필드명1, 필드명2, ....)"
SQL = SQL & " values ('필드값1', '필드값2', ......)"

'쿼리실행
cn.execute SQL


(2)update 쿼리의 실행
예문>
SQL = "update 테이블명 set 필드명1 = 필드값1, 필드명2 = 필드값2 where 조건필드명 = '조건값'"

cn.execute SQL


(3)delete 쿼리의 실행
예문>
SQL = "delete from 테이블명 where 조건필드명 = '조건값'"

cn.execute SQL


(4) 쿼리에 의해 영향 받은 레코드 수 알아내기
예문>
SQL = "delete from member where age >= 200"
cn.execute SQL, RecordsAffected
response.write RecordAffected & "개의 레코드가 삭제되었습니다."

RecordsAffected라는 변수에 삭제된 레코드의 갯수가 들어 있게 된다. RecordsAffected라는 이름은 설명을 위해서 일부러 길게 변수 이름을 쓴 것이니 임의로 쓰면 된다.


4. Connection 객체의 Errors 컬렉션
Errors 컬렉션이 가지고 있는 속성
Count : Errors 컬렉션 내에 있는 error 객체의 숫자를 나타낸다.
Item : 숫자나 이름으로 특정한 error 객체를 리턴한다.
예문> cn.errors.item(0)

Error 컬렉션이 가지고 있는 메서드
Clear : Errors 컬렉션에 있는 모든 error 객체를 지운다.
Refresh : 컬렉션 내의 객체들을 update 한다.

Error 객체가 가지고 있는 속성
Description : 오류에 대한 설명 문자열
Number : 오류상수에 해당하는 Long 타입의 정수
Source : 오류를 발생시킨 객체







반응형

'공부 > ASP' 카테고리의 다른 글

Command 객체  (0) 2011.06.10
Recordset 객체  (0) 2011.06.08
ADO 컴포넌트와 ODBC/OLE DB  (0) 2011.06.03
SQL 기초  (0) 2011.06.01
실습 - HTML 웹 문서에서 VBScript를 사용하여 웹 페이지를 작성해 본다.  (0) 2011.05.31

+ Recent posts