컴퓨터 기술과 네트워크 통신 기술이 발달하면서 데이터베이스 기술은 정보 사회에서 대량의 데이터를 구성하고 관리하는 중요한 기술 수단과 소프트웨어 기술이 되어 네트워크 정보 관리 시스템의 기초가 되었습니다. 이 장에서는 주로 데이터베이스 기술의 응용 및 개발, 관계형 모델의 기본 개념, 관계형 데이터베이스의 설계 이론 및 방법을 소개하며 현대 데이터베이스 기술을 배우고 습득하는 기초입니다.
1..1데이터베이스 기술 개발 및 적용
1960 년대 말부터 지금까지 데이터베이스 기술은 30 여 년 동안 발전해 왔다. 30 여 년의 여정에서 사람들은 데이터베이스 기술의 이론 연구와 시스템 개발 방면에서 눈부신 성과를 거두고 차세대 데이터베이스 시스템을 심도 있게 연구하기 시작했다. 데이터베이스 시스템은 이미 현대 컴퓨터 시스템의 중요한 부분이 되었다.
1..1.1데이터베이스 기술 및 정보 기술
정보기술 (IT) 은 오늘날 가장 자주 사용되는 용어 중 하나입니다. 산업, 농업, 일상생활에 컴퓨터 기술이 광범위하게 적용됨에 따라 점점 더 많은 개인과 기업들이 세계 트렌드를 따라잡는 상징 중 하나로 여겨지고 있습니다. 데이터베이스 기술은 정보 기술의 중요한 지원입니다. 데이터베이스 기술이 없다면 사람들은 광대한 정보 세계에서 어찌할 바를 모를 것이다.
데이터베이스 기술은 컴퓨터 과학 기술의 중요한 분기이다. 1950 년대 중반부터 컴퓨터 응용이 과학연구 부서에서 기업 관리 및 정부 행정부로 확대되면서 데이터 처리에 대한 요구가 높아지고 있다. 1968 년 세계 최초의 상업화된 정보 관리 시스템인 IMS (정보 관리 시스템) 가 탄생했습니다. 그 이후로 데이터베이스 기술은 빠르게 발전했습니다. 오늘날 인터넷이 보편화됨에 따라 데이터베이스 기술, 지식 및 기술의 중요성이 충분히 커지고 있습니다. 이제 데이터베이스는 정보 관리, 사무 자동화, 컴퓨터 지원 설계 등의 애플리케이션을 위한 주요 소프트웨어 도구 중 하나로 자리잡아 사람들이 다양한 정보와 데이터를 처리할 수 있도록 돕고 있습니다.
1..1.2 데이터베이스 기술의 응용 및 특징
데이터베이스는 처음에 대기업이나 기관으로 대규모 트랜잭션의 기초가 되었다. 이후 개인용 컴퓨터가 보급됨에 따라 데이터베이스 기술은 PC (PC) 에 이식되어 단일 사용자 개인 데이터베이스 어플리케이션에 사용되었습니다. 그런 다음 PC 가 작업 그룹에서 네트워크로 연결되어 있기 때문에 데이터베이스 기술이 작업 그룹 레벨로 마이그레이션됩니다. 이제 데이터베이스는 인터넷과 인트라넷에 널리 사용되고 있습니다.
60 년대 중반, 데이터베이스 기술은 파일 처리 시스템의 문제를 해결하는 데 사용되었다. 당시 데이터베이스 처리 기술은 아직 취약해서 신청서를 제출할 수 없는 경우가 많았다. 1970 년대 관계형 모델의 탄생은 데이터베이스 전문가가 데이터베이스를 구축하고 처리할 수 있는 표준 방법을 제공하여 관계형 데이터베이스의 발전과 응용을 촉진시켰다. 1979 년 Ashton-Tate 는 관계형 데이터베이스 관리 시스템이라고 하는 마이크로컴퓨터 제품인 dBase 를 출시했습니다. 그 이후로 데이터베이스 기술이 개인용 컴퓨터에 이식되었다. 1980 년대 중반부터 80 년대 후반까지 최종 사용자는 LAN 기술을 사용하여 독립 컴퓨터를 네트워크에 연결하고 터미널을 공유하여 클라이언트/서버 데이터베이스 구조라는 새로운 다중 사용자 데이터 처리 방식을 형성하기 시작했습니다. 현재 데이터베이스 기술은 인트라넷, 부서 LAN 및 월드 와이드 웹에 데이터베이스 데이터를 게시하기 위해 인터넷 기술과 결합하는 데 사용되고 있습니다.
1..1.3 데이터베이스 기술 발전사
데이터 모델은 데이터베이스 기술의 핵심이자 기초이므로 데이터베이스 시스템 개발 단계의 분할은 데이터 모델의 발전과 발전을 주요 근거와 상징으로 삼아야 합니다. 데이터 모델의 진화 과정에서 데이터베이스 기술은 시작부터 현재까지 30 년 만에 세 단계를 거쳤다. 1 세대는 네트워크 및 계층적 데이터베이스 시스템이고, 2 세대는 관계형 데이터베이스 시스템이며, 3 세대는 객체 지향 데이터 모델을 특징으로 하는 데이터베이스 시스템이다. 데이터베이스 기술과 네트워크 통신 기술, 인공 지능 기술, 객체 지향 프로그래밍 기술 및 병렬 컴퓨팅 기술의 상호 침투와 유기적 결합은 현대 데이터베이스 기술 발전의 중요한 특징이 되었습니다.
1. 1 세대 데이터베이스 시스템
1 세대 데이터베이스 시스템은 1970 년대에 발전한 계층, 네트워크화 데이터베이스 시스템이다. 계층 데이터베이스 시스템의 일반적인 대표는 IBM 이 1969 년에 개발한 계층 모델 데이터베이스 관리 시스템 IMS 입니다. 60 년대 말 70 년대 초, Coda Syl (데이터 시스템 언어 회의) 의 산하기관인 DBTG (데이터베이스 임무 그룹) 가 DBTG 보고서라고 하는 몇 가지 보고서를 제출했다. DBTG 보고서는 그리드 데이터베이스 시스템의 많은 개념, 방법 및 기술을 정의하고 설정하며 그리드 데이터베이스의 대표적인 대표입니다. DBTG 사상과 방법의 지도 하에 데이터베이스 시스템의 구현 기술은 이미 성숙되어 계층 모델과 네트워크 모델을 기반으로 하는 많은 상용 데이터베이스 시스템을 개발했습니다.
계층 데이터베이스는 데이터베이스 시스템의 창시자이고 메쉬 데이터베이스는 데이터베이스 개념, 방법 및 기술의 창시자라고 할 수 있습니다.
2 세대 데이터베이스 시스템
2 세대 데이터베이스 시스템은 관계형 데이터베이스 시스템입니다. 1970 IBM 의 산호세 연구소 연구원인 Edgar F. Codd 는' 대형 데이터베이스 데이터의 관계형 모델' 이라는 제목의 논문을 발표하고 관계형 데이터 모델을 제시하며 관계형 데이터베이스 방법과 관계형 데이터베이스 이론을 만들어 관계형 데이터베이스 기술의 이론적 토대를 마련했다. Edgar F. Codd 는 198 1 년 관계형 데이터베이스 연구에 대한 그의 뛰어난 공헌을 인정하기 위해 ACM 튜링상을 수여했습니다.
1970 년대는 관계형 데이터베이스 이론 연구와 프로토타입 개발의 시대였으며, 전형적인 대표는 IBM 산호세 연구실이 개발한 System R 과 버클리대가 개발한 Ingres 였다. 대량의 이론적 성과와 실천 경험은 결국 관계형 데이터베이스를 실험실에서 사회로 옮겼다. 따라서 사람들은 1970 년대를 데이터베이스 시대라고 부른다. 1980 년대에는 새로 개발된 거의 모든 시스템이 관계형 시스템이었고, DB2, Ingres, Oracle, Informix, Sybase 와 같은 고성능 비즈니스 관계형 데이터베이스 관리 시스템이 많이 등장했습니다. 이러한 상용 데이터베이스 시스템이 적용됨에 따라 데이터베이스 기술은 기업 관리, 정보 검색, 의사 결정 등의 모든 측면에 점점 더 광범위하게 적용되어 정보 시스템을 구현하고 최적화하는 기본 기술이 되었습니다.
3 세대 데이터베이스 시스템
1980 년대 이후, 상업적으로 데이터베이스 기술의 큰 성공은 다른 분야에서 데이터베이스 기술 수요의 급속한 성장을 자극했다. 이러한 새로운 분야는 데이터베이스 애플리케이션을 위한 새로운 세계를 개척하고 데이터베이스 기술의 연구와 발전을 촉진하는 새로운 데이터 관리 요구 사항을 제시합니다.
1990 년 고급 DBMS 기능위원회는 3 세대 데이터베이스 시스템 선언을 발표하고 3 세대 데이터베이스 관리 시스템이 갖추어야 할 세 가지 기본 특징을 제시했습니다.
L 데이터 관리, 객체 관리 및 지식 관리를 지원해야 합니다.
L 2 세대 데이터베이스 시스템의 기술을 유지하거나 상속해야 합니다.
나는 다른 시스템에 개방해야 한다.
객체 지향 데이터 모델은 3 세대 데이터베이스 시스템의 주요 특징 중 하나입니다. 데이터베이스 기술과 다학과 기술의 유기적 결합도 제 3 세대 데이터베이스 기술의 중요한 특징이다. 분산 데이터베이스, 병렬 데이터베이스, 엔지니어링 데이터베이스, 연역 데이터베이스, 지식 기반, 멀티미디어 데이터베이스 및 퍼지 데이터베이스가 그 예입니다.
1..1.4 데이터베이스 시스템 액세스 기술
현재 주요 데이터베이스 서버에 액세스하는 표준 인터페이스는 주로 ODBC, OLE DB 및 ADO 입니다. 다음은 이 세 가지 인터페이스에 대한 간략한 설명입니다.
1. 오픈 데이터베이스 연결 (ODBC)
ODBC (open database connectivity) 는 Microsoft 가 정의한 데이터베이스 액세스 표준입니다. ODBC 응용 프로그램을 사용하면 로컬 컴퓨터의 데스크탑 데이터베이스에 저장된 데이터뿐만 아니라 SQL Server, Oracle, Informix 또는 DB2 에서 빌드한 데이터베이스와 같은 이기종 플랫폼의 데이터베이스에 액세스할 수 있습니다.
ODBC 는 데이터베이스에 액세스하기 위한 중요한 API (응용 프로그래밍 인터페이스) 입니다. 표준 기반 SQL 문, ODBC 의 핵심은 SQL 문입니다. 따라서 ODBC 를 통해 데이터베이스 서버에 액세스하려면 데이터베이스 서버가 SQL 문을 지원해야 합니다.
ODBC 는 데이터베이스에 액세스하기 위해 표준 함수 (ODBC API) 세트를 호출하지만 프로그래머는 이러한 ODBC API 를 이해하지 않고도 ODBC 기반 클라이언트/서버 응용프로그램을 쉽게 개발할 수 있습니다. Visual Basic, PowerBuilder, Visual C++ 등 널리 사용되는 프로그래밍 언어가 많기 때문이다. , 개발자가 직접 사용할 수 있는 다양한 ODBC 표준 함수를 캡슐화하는 코드 계층을 제공합니다.
ODBC 는 큰 성공을 거두어 일부 데이터베이스 개발 작업을 크게 간소화했다. 그러나 심각한 단점도 있어 마이크로소프트가 OLE DB 를 개발했다.
2.OLE DB
OLE DB 는 Microsoft 가 제공하는 데이터베이스 시스템 수준 프로그래밍 인터페이스이며 Microsoft 의 데이터베이스 액세스의 기초입니다. OLE DB 는 실제로 Microsoft OLE 개체 표준의 구현입니다. OLE DB 객체 자체는 COM (component object model) 객체이며 해당 객체에 필요한 모든 인터페이스를 지원합니다.
일반적으로 OLE DB 는 데이터베이스에 액세스하는 두 가지 방법을 제공합니다. 하나는 ODBC 드라이버를 통해 SQL 언어를 지원하는 데이터베이스 서버에 액세스하는 것입니다. 다른 하나는 원본 OLE DB 를 통해 인터페이스에 직접 액세스하는 것입니다. ODBC 는 SQL 언어를 지원하는 데이터베이스에만 적용되기 때문에 적용 범위가 너무 좁습니다. 현재 마이크로소프트는 점차 ODBC 를 OLE DB 로 대체하고 있다.
OLE DB 는 객체 지향 인터페이스이므로 객체 지향 언어에 특히 적합합니다. 그러나 많은 데이터베이스 응용 프로그램 개발자가 VBScript, JScript 등의 스크립팅 언어 개발 프로그램을 사용하기 때문에 Microsoft 는 OLE DB 개체를 기반으로 ADO 를 정의했습니다.
3. 동적 데이터 객체
ADO (active data object) 는 개발자가 모든 OLE DB 데이터를 처리할 수 있으며 스크립팅 언어 또는 고급 언어로 호출할 수 있는 간단한 객체 모델입니다. ADO 는 데이터베이스에 응용프로그램 수준의 프로그래밍 인터페이스를 제공하며, 거의 모든 언어를 사용하는 프로그래머는 ADO 를 사용하여 OLE DB 기능을 사용할 수 있습니다. Microsoft 는 ADO 가 다른 데이터 액세스 방법을 대체할 것이라고 주장하므로 ADO 는 Microsoft 제품을 사용하는 모든 데이터베이스 어플리케이션에 매우 중요합니다.
1..1.5 네트워크 데이터베이스 시스템 프로그래밍 기술
오늘날 네트워크가 성행하는 시대에 데이터베이스와 웹 기술의 결합은 네트워크 애플리케이션을 심각하게 변화시키고 있습니다. 데이터베이스 지원을 통해 웹 페이지 기능 확장, 대화형 페이지 디자인, 강력한 백그라운드 관리 시스템 구축, 웹 사이트 업데이트, 웹 사이트 유지 관리가 쉬워집니다. 네트워크 응용 프로그램이 심화됨에 따라 웹 데이터베이스 기술은 점점 더 중요한 위치를 보여 줄 것입니다. 다음은 웹 데이터베이스 개발과 관련된 기술에 대한 간략한 소개입니다.
1. CGI (common gateway interface) 프로그래밍
CGI (common gateway interface) 는 클라이언트의 요청을 받아들이고, 인식하고 처리하고, HTML 문서를 생성하고, 클라이언트로 다시 보내는 통신 표준입니다. 이 통신 프로세스의 프로그래밍을 CGI 프로그래밍이라고합니다. CGI 는 다양한 플랫폼에서 실행할 수 있으며 강력합니다. Visual Basic, Visual C++, Tcl, Perl, 애플릿 스크립트 등 여러 언어로 프로그래밍할 수 있습니다. 펄 언어로 작성된 CGI 프로그램이 더 흔합니다. 하지만 CGI 도 치명적인 약점을 가지고 있습니다. 즉, 속도가 느리고 보안이 떨어지는 것입니다.
2. 동적 서버 페이지 (ASP)
ASP (Active Server Pages) 는 Microsoft 의 대체 CGI 기술로서 정말 간단하고 강력한 서버 프로그래밍 기술입니다. ASP 는 Microsoft 에서 개발한 서버측 스크립트 운영 환경으로 동적이고 대화형 효율적인 웹 서버 애플리케이션을 구축할 수 있습니다. ASP 로 작성된 모든 프로그램은 서버측에서 실행됩니다. 프로그램이 실행된 후 실행 결과를 클라이언트 브라우저에 반환하면 클라이언트 브라우저의 부담이 줄어들고 상호 작용 속도가 크게 향상되며 ASP 프로그램 소스 코드 유출을 방지하고 프로그램 보안이 향상됩니다.
3.Java 서버 페이지 (JSP)
Jsp (Java server pages) 는 Sun 이 발표한 웹 애플리케이션 개발 기술입니다. 일단 출시되면 사람들의 광범위한 관심을 불러일으켰다. JSP 기술은 시장의 대부분의 서버 제품에 적용할 수 있는 매우 동적인 웹 응용 프로그램을 만들기 위한 고유한 개발 환경을 제공합니다.
JSP 는 Java 언어를 사용하여 서버측 프로그램을 작성합니다. 클라이언트가 서버에 요청을 보낼 때 JSP 소스 프로그램은 서블릿으로 컴파일되어 Java 가상 시스템에서 실행됩니다. 이 컴파일 작업은 JSP 페이지를 처음 요청할 때만 발생합니다. 따라서 JSP 프로그램은 더 빠른 상호 작용 속도, 보안 및 크로스 플랫폼 성능을 제공할 수 있습니다.