일부 데이터 채우기
일부 "더미" 데이터를 가지려면 유형 테이블에 "게임", "데이터베이스", "인터넷", "그래픽" 그래픽)"의 4개 레코드를 입력하세요. 이 값은 애플리케이션 테이블(애플리케이션)에 저장된 애플리케이션 유형을 선택할 때 사용됩니다. 다음으로 작성자 테이블(Authors)에 'Delphi Guide', '[email protected]', 'http://delphi.about.com' 행을 추가합니다. 마지막으로 애플리케이션 테이블에 'Zoom', 'Zooming the Destop', 'Delphi Guide', 'Graphics', 10, 0, 02/20/2001 행을 추가하고 마지막 필드(Photo )를 비워 둡니다.
이러한 "빈" 데이터베이스를 처리하는 방법은 이 튜토리얼의 나머지 장에서 설명됩니다.
2장 ADO를 사용하여 데이터베이스에 연결? BDE?
섹션 1 델파이 데이터베이스 연결
이전 장에서 설명한 것처럼 데이터베이스는 데이터를 구조화된 형식으로 저장하는 하나 이상의 테이블 모음입니다. 이 테이블에는 행과 열 형식의 데이터가 포함됩니다. 데이터베이스에 하나 이상의 테이블이 포함된 경우 테이블은 일반적으로 별개이지만 관련된 데이터를 보유합니다. MS Access, Interbase 및 SQL Server는 하나의 파일을 사용하여 전체 데이터베이스를 나타냅니다(MS Access는 *.mdb 파일입니다). 반면 Paradox와 dBase는 인덱스와 테이블 관계를 나타내는 별도의 테이블과 파일로 정의됩니다. Paradox 데이터베이스를 설명하는 모든 파일은 일반적으로 하나의 디렉터리에 저장됩니다. 물론 Delphi는 양방향으로 작동할 수 있습니다.
Delphi를 사용하면 로컬 또는 C/S(원격 서버) 데이터베이스 등 다양한 유형의 데이터베이스에 연결할 수 있습니다. 로컬 데이터베이스는 로컬 드라이브나 LAN에 저장됩니다. 원격 데이터베이스 서버는 일반적으로 원격 시스템에 있습니다. 로컬 데이터베이스 유형에는 Paradox, dBase 및 MS Access가 포함됩니다. C/S 데이터베이스에는 MS SQL Server, Interbase 또는 Oracle이 포함됩니다.
로컬 데이터베이스는 종종 단일 계층 데이터베이스라고도 합니다. 단일 계층 데이터베이스는 데이터 편집, 레코드 삽입, 레코드 삭제 등 모든 변경 사항에 즉시 응답합니다. 단일 계층 데이터베이스에는 테이블이 보유할 수 있는 데이터 양과 애플리케이션이 지원할 수 있는 사용자 수에 대한 제한이 있습니다. 데이터베이스에 여러 테이블 간의 복잡한 관계에 대한 정보가 포함되어 있거나 클라이언트 수가 증가하는 경우 2계층 또는 다중 계층 애플리케이션을 사용해야 합니다. 클라이언트 애플리케이션은 로컬 시스템에서 실행됩니다. 애플리케이션 서버는 종종 서버에서 실행되며 데이터베이스는 다른 서버에 있을 수 있습니다. 다중 계층 아키텍처의 기본 개념은 애플리케이션 서버가 많은 작업을 수행할 수 있기 때문에 클라이언트 프로그램이 매우 작을 수 있다는 것입니다. 이를 통해 소위 씬 클라이언트 애플리케이션을 작성할 수 있습니다.
Delphi에서 데이터베이스 애플리케이션을 작성할 때 데이터베이스의 데이터에 액세스하려면 일부 데이터베이스 엔진을 사용해야 합니다. 데이터베이스를 사용하면 데이터에 액세스하는 방법보다는 액세스하는 데이터에 집중할 수 있습니다. 첫 번째 버전부터 Delphi는 데이터베이스 개발자를 위해 BDE(Borland Database Engine)를 제공했습니다. BDE 외에도 Delphi는 5판부터 Microsoft의 ADO 데이터베이스 인터페이스를 지원합니다.
이 자습서에서는 MSAccess 로컬 데이터베이스를 사용하여 단일 계층 데이터베이스 응용 프로그램을 개발하는 데 중점을 둡니다.
섹션 2 볼랜드 데이터베이스 엔진(BDE)
BDE는 Delphi 및 C++Builder를 포함한 모든 Borland 제품에 대한 공통 데이터 액세스 레이어입니다. BDE는 DLL(동적 링크 라이브러리) 및 도구 모음입니다. 그 장점은 모든 데이터 처리가 개발자에게 투명하다는 것입니다. BDE에는 응용 프로그램이 다양한 유형의 데이터베이스와 통신할 수 있도록 하는 드라이버 세트가 함께 제공됩니다. 이러한 드라이버는 높은 수준의 데이터베이스 명령(예: 열기 또는 게시)과 작업(레코드 잠금 또는 SQL 구조)을 특별한 데이터베이스 유형(Paradox, dBase, MS Access 또는 모든 ODBC 데이터 소스)에 필요한 특정 명령으로 변환합니다. BDE API(Application PROgramming Interface)에는 BDE 장치에서 사용할 수 있는 200개 이상의 프로시저와 기능이 포함되어 있습니다. 다행히도 이러한 프로그램을 직접 호출할 필요는 거의 없습니다. 대신 VCL(번역기: 시각적 구성 요소 라이브러리)의 데이터 액세스 구성 요소(구성 요소 패널에 있는 데이터 액세스 페이지)를 통해 BDE를 사용합니다. 특정 데이터베이스에 액세스하려면 애플리케이션은 해당 데이터베이스의 모든 데이터에 액세스하기 위한 데이터베이스 별칭(Alias)만 알아야 합니다. 별칭은 BDE 관리자에서 생성되며 드라이브 매개변수와 데이터베이스 위치를 지정합니다. BDE에는 다양한 유형의 데이터 요소에 액세스할 수 있는 데이터베이스 드라이버 세트가 함께 제공됩니다. 표준 BDE 드라이버에는 Paradox, dBase, MS Access 및 ASCII 텍스트가 포함됩니다. 물론 모든 ODBC 드라이버는 ODBC 관리자를 통해 BDE에서 사용할 수도 있습니다.
BDE를 사용하여 데이터베이스에 액세스하는 Delphi 애플리케이션에는 해당 애플리케이션에 대해 BDE가 배포되어야 합니다. 응용 프로그램의 BDE를 구성할 때 InstallShield Express 또는 다른 Borland 관련 설치 프로그램을 사용해야 합니다.
데이터베이스 엔진으로서의 BDE에는 장점과 단점이 있습니다. 그러나 BDE가 아닌 특정 기술 대신 BDE 메소드를 사용해야 하는(또는 사용하지 말아야 하는) 이유와 시기는 이 튜토리얼에서 논의하지 않습니다.
이 튜토리얼에서는 ADO/MSAccess에 대해 논의하므로 튜토리얼의 나머지 부분에서는 데이터베이스에 대한 BDE가 아닌 접근 방식에 중점을 둘 것입니다.
2002년 12월 22일