데이터베이스를 사용하면 데이터를 효율적이고 명확하게 저장할 수 있어 사람들이 데이터를 보다 빠르고 편리하게 관리할 수 있습니다. 데이터베이스는 다음과 같은 특징을 가지고 있습니다.
1. 대용량의 데이터 정보를 구조적으로 저장하여 사용자가 효과적으로 검색하고 접근할 수 있습니다.
2. 데이터 정보의 일관성과 무결성을 효과적으로 유지하고 데이터 중복성을 줄일 수 있습니다.
3. 애플리케이션의 공유 및 보안 요구 사항을 충족할 수 있습니다.
데이터베이스의 기본 개념:
1. 데이터: 사물을 기술하는 기호 기록은 숫자, 텍스트, 그래픽, 이미지, 사운드, 파일 기록 등을 포함하는 데이터(Data)가 됩니다. 모든 데이터. 데이터는 "기록"이라는 형태로 통일된 형식으로 저장됩니다.
2. 데이터베이스 및 데이터베이스 테이블: 테이블은 특정 데이터를 저장하는 데 사용되며 데이터베이스는 테이블의 모음입니다. 특정 조직 방식으로 저장된 상호 데이터의 모음입니다. 예를 들어, 관계형 데이터베이스 테이블은 레코드로 구성되고, 레코드는 필드로 구성되며, 필드는 문자나 숫자로 구성됩니다. 최소한의 중복성과 높은 데이터 독립성으로 다양한 사용자가 공유할 수 있습니다. 관련 데이터를 모아 통일적으로 관리하는 것입니다.
DBMS(데이터베이스 관리 시스템)는 데이터베이스 리소스의 효과적인 구성, 관리 및 액세스를 구현하는 시스템 소프트웨어입니다. 운영체제의 지원으로 데이터베이스에 대한 사용자의 다양한 작업을 지원합니다. DBMS는 주로
1. 데이터베이스 구축 및 유지 기능
2. 데이터 정의 기능
3. 데이터 운용 기능
4. 데이터베이스 기능 운용 관리 기능
5. 통신 기능
데이터베이스 시스템 DBS는 사람-기계 시스템으로 일반적으로 하드웨어, 운영체제, 데이터베이스, DBMS, 애플리케이션으로 구성된다. 소프트웨어 및 데이터베이스 사용자(데이터베이스 관리자 포함) 사용자는 DBMS나 애플리케이션을 통해 데이터베이스를 운영할 수 있습니다.
애플리케이션은 특정 관리나 데이터 처리 작업을 해결하기 위해 DBMS를 사용하여 컴파일된 명령의 순서 모음입니다. 응용 프로그램이 비교적 완전하고, 인간-기계 친화적인 인터페이스를 제공할 수 있으며, 배포용 실행 파일로 컴파일되어 일반 사용자가 전문적인 컴퓨터 지식이 없어도 짧은 시간 내에 사용법을 배울 수 있는 경우에는 다음과 같습니다. 데이터베이스 응용 소프트웨어라고 합니다.
데이터베이스 관리자 DBA는 데이터베이스 시스템의 정상적인 운영을 위해 데이터베이스 업데이트 및 백업, 데이터베이스 시스템 유지관리, 사용자 관리 등을 담당합니다. DBA는 일반적으로 더 높은 전문 수준과 더 높은 자격을 갖춘 직원이 보유합니다.
데이터베이스 개발의 역사
데이터 모델의 발전에 따라 3단계로 나눌 수 있습니다. 2세대 관계 데이터베이스 시스템; 객체 지향 모델을 주요 특징으로 하는 3세대 데이터베이스 시스템입니다.
1960년대 계층적 모델과 네트워크 모델 데이터베이스 시스템은 IBM이 1969년에 개발한 계층적 모델 데이터베이스 관리 시스템인 IMS(Imformation Management System)와 데이터베이스 태스크 그룹(DBTG)이 제안한 네트워크 모델로 대표됐다. ) 1970년대 미국 데이터 시스템 언어 협회(CODASYL) 소속.
1970년대 초, 2세대 데이터베이스-관계형 데이터베이스가 등장하기 시작했습니다. 점차적으로 지배적인 데이터베이스가 되고 업계의 주류가 됩니다. 관계형 데이터 시스템은 SQL(구조적 쿼리 언어)을 DDL(데이터 정의 언어) 및 DML(데이터 조작 언어)로 사용합니다. 이는 탄생 이후 관계형 데이터베이스의 표준 언어가 되었습니다.
1980년대 이후 엔지니어링 데이터베이스, 멀티미디어 데이터베이스, 그래프 데이터베이스, 지능형 데이터베이스, 분산 데이터베이스, 객체지향 데이터베이스 등 다양한 분야에 적응하는 다양한 새로운 데이터베이스 시스템이 등장했습니다.
클래식 데이터 모델
데이터는 현실 세계의 '양'을 추상화한 것이고, 데이터 모델(Data Model)은 데이터 특성을 추상화한 것입니다. 데이터베이스 시스템에서 데이터 모델은 핵심이자 기초입니다. 데이터 모델은 데이터의 구조, 데이터에 정의된 작업 및 제약 조건을 나타냅니다. 이는 개념적 수준에서 시스템의 정적 특성, 동적 특성 및 제약 조건을 설명하고 데이터베이스 시스템의 정보 표현 및 운영에 대한 추상 프레임워크를 제공합니다.
DBMS 개발 과정에서 네트워크 모델, 계층적 모델, 관계형 모델이라는 세 가지 고전적인 데이터 모델이 등장했습니다.
데이터 모델이 설명하는 내용에는 데이터 구조, 데이터 작업 및 데이터 제약 조건이라는 세 가지 측면이 포함됩니다.
메쉬 모델
데이터 기록은 그래프로 정리되며, 추상적인 분석과 표현을 위해 '데이터 구조 그래프'가 사용됩니다. 네트워크 모델은 복잡한 데이터 관계를 표현하는 데 적합하며 데이터 중복성을 최소한으로 줄일 수도 있습니다. 데이터 구조 모델은 현실의 데이터 간의 관계를 직관적으로 반영할 수 있습니다.
데이터 연산
네트워크 모델의 데이터 연산은 관계 체인을 기반으로 한 탐색 연산입니다. 네트워크 모델은 그래프와
데이터 제약 조건
을 기반으로 합니다. 네트워크 모델의 데이터 제약 조건은 분산 및 격리되거나 다양한 노드에 분산되거나 관계 체인에 집중되어 쉽게 불일치 또는 효율성 감소로 이어집니다. 일반적으로 네트워크 모델은 데이터 제약 조건을 구체적으로 구현하지 않지만 애플리케이션 자체는 데이터 제약 조건을 구현합니다.
계층형 모델
계층형 모델에서는 데이터 레코드가 '트리 구조 다이어그램'을 사용하여 트리 형태로 구성됩니다.
데이터 작업
계층적 모델의 데이터 작업은 필연적으로 네트워크 모델인 탐색의 특성을 갖습니다. 이러한 구조는 데이터 쿼리 효율성을 높이는 데 도움이 되지만 데이터 액세스 탐색에 대한 요구 사항이 여전히 존재하므로 계층적 모델 데이터베이스의 데이터 작업은 여전히 상대적으로 복잡합니다.
데이터 제약 조건
계층적 모델의 데이터 제약 조건은 구조의 단순화로 인해 다대다 및 다대일 관계가 네트워크 모델과 유사합니다. 네트워크 모델은 제거됩니다. 계층적 모델 제약 조건의 데이터는 적절한 시스템에 의해 구현될 수 있거나 애플리케이션 자체에 의해 구현되어야 합니다.
계층적 모델의 구현 기술은 관계형 모델보다 우수하고, 네트워크 모델보다 단순하여 항상 선두를 달리고 있습니다. 그 대표적인 것이 IBM의 IMS 시스템이다. 이 시스템은 가장 초기이자 가장 널리 사용되는 데이터베이스 중 하나였으며 역사상 가장 큰 데이터베이스 중 하나였습니다. 왜냐하면 개발자가 동시성, 복구, 무결성 및 효율적인 쿼리와 같은 문제를 처음으로 다루었기 때문입니다. 이러한 아이디어는 DB2의 오랜 번영의 뿌리인 DB2에 자연스럽게 적용된다.
관계형 모델
데이터 구조. 관계형 모델은 관계형 대수학 이론을 기반으로 하며, 데이터 구조는 간단하고 이해하기 쉬운 2차원 데이터 테이블과 "엔티티-관계"(E-R) 다이어그램으로 직접 표현됩니다. E-R 다이어그램에는 엔터티(데이터 개체)가 포함되어 있습니다. ), 관계 및 속성의 세 가지 요소입니다.
엔터티: 인스턴스라고도 하며, 현실 세계의 다른 객체와 구별할 수 있는 "이벤트" 또는 "사물"에 해당합니다.
엔티티 세트: 동일한 유형과 동일한 속성을 공유하는 엔터티 모음입니다.
속성: 엔터티의 특정 특성은 여러 속성을 가질 수 있습니다.
연락처: 엔터티 세트 간의 대응은 관계라고도 하는 연락처가 됩니다.
데이터 작업. 데이터베이스 사용자의 경우 관계형 모델은 관계형 대수에서 추상화된 DML(데이터베이스 조작 언어)을 사용하여 작동합니다. SQL(구조적 쿼리 언어)은 가장 중요한 언어 중 하나입니다. 그 특징은 결과를 직접적으로 지향하고 작업 단계를 단순화하여 데이터베이스 응용 프로그램의 디자인을 매우 간단하고 이해하기 쉽게 만드는 것입니다.
데이터베이스의 물리적 구조를 보면, 관계형 데이터베이스 시스템은 단순한 데이터 구조, 강력한 기능, 높은 데이터 독립성, 탄탄한 이론적 기반을 갖추고 있습니다. 엄격한 관계형 데이터베이스는 2차원 데이터베이스 테이블을 기본 데이터 구조로 사용하고 단순하거나 복잡한 인덱싱 기술을 사용하여 쿼리 알고리즘을 구현합니다. SQL 언어를 효과적인 데이터 검색 알고리즘으로 직접 변환하는 사전 컴파일 기술을 구현하는 것이 상대적으로 간단하고 용이합니다.
데이터 제약. 관계형 모델의 데이터 제약 조건은 엔터티, 엔터티 속성 또는 관계를 대상으로 할 수 있으며 엔터티, 엔터티 속성 및 관계를 정의할 때 완전히 구현될 수 있습니다. 관계형 모델에서 사용하는 데이터 정의어(DDL)와 관계형 데이터베이스의 핵심 구현을 위한 이론적 요구 사항으로 인해 데이터 제약 조건을 쉽게 구현할 수 있지만 효율성은 높지 않습니다.
일반적으로 관계형 모델은 네트워크 모델이나 계층적 모델보다 더 견고하고 완전한 이론적 기반을 갖고 있습니다. 계층적 모델과 네트워크 모델에 비해 관계형 모델은 사용자에게 더 가까운 반면, 네트워크 모델과 계층적 모델은 기본 구현과 더 밀접하게 통합됩니다. 이러한 기능을 사용하면 관계형 모델이 상용 데이터베이스로 선택되기가 더 쉬워집니다.
현재 주류 데이터베이스 소개
SQL Server는 Microsoft의 데이터베이스 제품입니다. 디자인 측면에서 Microsoft SQL Server는 Microsoft Windows 운영 체제의 기본 구조를 광범위하게 사용하며 Microsoft Windows, 특히 Windows 시리즈 서버 운영 체제 사용자를 직접 대상으로 합니다.
Oracle은 1977년에 설립되었습니다. 2013년 6월 Oracle 12C가 공식 출시되어 기업이 프라이빗 클라우드를 신속하게 구현할 수 있게 되었습니다. Oracle 데이터베이스는 세계에서 가장 널리 사용되는 데이터베이스 시스템 중 하나가 되었습니다. 오라클은 데이터베이스 분야에서 항상 선도적인 위치를 차지하고 있습니다. 데이터베이스 핵심이 우수할 뿐만 아니라 관련 지원 제품도 상당히 완벽하고 포괄적입니다. Oracle은 70개 이상의 운영 체제에 적응할 수 있습니다.
DB2는 1970년 IBM의 Degas Court가 "관계형 데이터베이스의 아버지"라는 개념을 제안했습니다. DB2는 PC부터 UNIX까지, 중소형 머신부터 메인프레임까지 모든 것을 지원합니다. IBM에서 비IBM(HP 및 Sun UNIX 시스템 등) 다양한 운영 체제 플랫폼까지. DB2 서버에 가장 적합한 운영 환경은 IBM 자체 운영 체제 플랫폼인 OS/400입니다.
DB2 Universal Server라고도 알려진 DB2 데이터베이스 코어는 다양한 운영 체제에서 실행될 수 있으며 더 나은 성능을 달성하기 위해 해당 플랫폼 환경에 따라 조정 및 최적화되었습니다.
MySQL도 관계형 데이터베이스 관리 시스템이며 Oracle에 인수되었습니다. MySQL은 Linux 운영 체제에서 실행되며 Apache 및 Nginx는 웹 서버로, MySQL은 백엔드 데이터베이스로, PHP/Perl/Python은 스크립트 인터프리터로 사용됩니다. 네 가지 소프트웨어는 모두 무료이거나 오픈 소스입니다. 업계에서는 "LAMP" 포트폴리오로 알려져 있습니다.
관계형 데이터베이스의 기본 개념
관계형 데이터베이스 시스템은 관계형 모델을 기반으로 한 데이터베이스 시스템이다. 데이터베이스 필드에 적용된 관계형 모델의 인스턴스화입니다. 기본 개념은 관계형 모델에서 나옵니다.
관계형 데이터베이스가 사용하는 저장 구조는 다중 2차원 테이블이며, 사물과 관계를 반영하는 데이터 설명은 플랫 테이블 형태로 구현됩니다.
관계형 데이터베이스는 다음과 같은 데이터 테이블 간의 연관으로 구성됩니다.
데이터 테이블은 일반적으로 행과 열로 구성된 2차원 테이블입니다. 데이터베이스. 개체 및 해당 속성의 특정 측면 또는 부분입니다.
데이터 테이블의 행은 일반적으로 동일한 속성을 가진 여러 개체 중 하나를 나타내는 레코드 또는 튜플이라고 합니다.
데이터 테이블의 열은 일반적으로 필드 또는 속성이라고 하며 해당 데이터베이스에 저장된 공통 속성을 나타냅니다.
기본 키와 외래 키
데이터 테이블의 각 레코드 행은 고유해야 하며 동일한 레코드가 나타날 수 없습니다. 기본 키(Primary Key)를 정의하여 고유성을 보장합니다. 기록(엔티티).
키, 즉 키워드는 관계형 모델에서 매우 중요한 요소이다.
기본 키는 테이블의 행 데이터를 고유하게 식별하며 하나의 기본 키 값은 하나의 데이터 행에 해당합니다. 기본 키는 하나 이상의 필드로 구성되며 그 값은 고유하며 null 값(NULL)을 허용하지 않습니다. 테이블에는 기본 키가 하나만 있을 수 있습니다.
속성 세트가 둘 이상의 속성 없이 테이블의 행을 고유하게 나타낼 수 있는 경우 이 속성 세트를 후보 키라고 합니다. 하나의 테이블에는 여러 개의 후보 키가 있을 수 있지만, 하나의 후보 키만 테이블의 기본 키로 선택할 수 있습니다. 나머지 후보 키를 대체 키라고 합니다.
외래 키
관계형 데이터베이스에는 일반적으로 여러 테이블이 포함되며 이러한 테이블은 외래 키(ForeignKey)를 통해 관련될 수 있습니다.
외래 키는 두 테이블의 데이터 간 연결을 설정하고 강화하는 데 사용되는 하나 이상의 열입니다. 한 테이블의 기본 키 값 열을 하나 이상 다른 테이블에 추가하여 두 테이블 사이에 링크를 만듭니다. 이 열을 두 번째 테이블의 외래 키라고 합니다.
"마스터 테이블"과 "슬레이브 테이블"은 항상 쌍으로 나타나며 "외래 키"로 서로 관련됩니다.
데이터 무결성 규칙
관계형 데이터베이스의 데이터 및 업데이트 작업은 네 가지 유형의 무결성 규칙을 준수해야 합니다.
1. 엔터티 무결성 규칙
엔터티 무결성 성 규칙에 따르면 관계의 튜플은 기본 키 속성에 null 값을 가질 수 없습니다. null 값이 발생하면 기본 키 값은 튜플을 고유하게 식별할 수 없습니다.
2. 도메인 무결성 규칙
도메인 무결성은 열 무결성이라고도 하며, 특정 열에 대해 데이터 세트가 유효한지 여부를 지정하거나 null 값이 허용되는지 여부를 결정합니다.
3. 참조 무결성 규칙
두 테이블이 서로 관련되어 있으면 참조 무결성 규칙에 따라 존재하지 않는 튜플에 대한 참조가 허용되지 않습니다.
4. 사용자 정의 무결성 규칙
사용자 정의 무결성 규칙은 특정 데이터에 대한 제약사항이며 애플리케이션 환경에 따라 결정됩니다. 이는 특정 애플리케이션과 관련된 데이터가 충족해야 하는 의미론적 요구 사항을 반영합니다. 시스템은 이 작업을 애플리케이션에 맡기지 않고 통합 시스템 접근 방식으로 처리할 수 있도록 이러한 유형의 무결성을 정의하고 검증하는 메커니즘을 제공합니다.
엔티티 무결성 규칙과 도메인 무결성 규칙은 관계형 데이터베이스 표준에 따라 데이터베이스 시스템의 핵심 계층에서 구현되어야 합니다.