관계형 데이터베이스는 데이터를 어떻게 구성하나요?
관계형 데이터베이스는 관계형 모델을 데이터 구성 방법으로 사용하는 데이터베이스입니다.
관계형 데이터베이스의 특징은 각각의 데이터를 동일한 속성으로 하나의 테이블에 독립적으로 저장한다는 점이다. 모든 테이블에 대해 사용자는 테이블의 다른 데이터에 영향을 주지 않고 테이블의 데이터를 추가, 삭제 및 수정할 수 있습니다. 관계형 데이터베이스 제품은 출시되자마자 단순하고 명확한 개념과 이해하기 쉽고 배우기 쉬운 데이터베이스 언어로 다수의 사용자들에게 큰 사랑을 받았습니다. ,
관계형 데이터베이스의 계층 구조는 데이터베이스, 테이블 및 뷰, 레코드 및 필드의 네 가지 수준으로 나눌 수 있습니다. 관계형 이론의 해당 용어는 각각 데이터베이스, 관계, 튜플 및 속성입니다. 다음과 같이 설명했습니다.
1. 데이터베이스
관계형 데이터베이스는 데이터 저장 방식과 사용자 접근 방식에 따라 로컬 데이터베이스와 원격 데이터베이스의 두 가지 유형으로 나눌 수 있습니다.
(1) 로컬 데이터베이스: 로컬 데이터베이스는 로컬 드라이브 또는 LAN에 상주합니다. 따라서 여러 사용자가 데이터베이스에 동시에 액세스하는 경우 파일 기반 잠금(충돌 방지) 전략이 채택됩니다. 로컬 데이터베이스 파일 기반 데이터베이스라고 합니다. 일반적인 로컬 데이터베이스에는 Paradox, dBASE, FoxPro 및 Access 등이 포함됩니다. 로컬 데이터베이스 기반 애플리케이션은 데이터베이스와 애플리케이션이 동일한 파일 시스템에 있기 때문에 단일 계층 애플리케이션이라고 합니다.
(2) 원격 데이터베이스: 원격 데이터베이스는 일반적으로 다른 컴퓨터에 상주하며 사용자는 구조적 쿼리 언어 SQL을 통해 원격 데이터베이스의 데이터에 액세스합니다. 따라서 원격 데이터베이스를 SQL 서버라고도 합니다. 때로는 원격 데이터베이스의 데이터가 한 시스템에 상주하지 않고 다른 서버에 분산되는 경우가 있습니다. 일반적인 SQL 서버에는 InterBase, Oracle, Sybase, Informix, MicrosoftSQLServer 및 IBMDB2 등이 포함됩니다. SQL Server 기반 응용 프로그램은 데이터베이스와 응용 프로그램이 서로 독립적인 시스템(계층)에 상주하므로 2계층 또는 다중 계층 응용 프로그램이라고 합니다.
로컬 데이터베이스, SQL 서버에 비해 전자는 접속 속도가 빠르지만, 후자는 데이터 저장 용량이 훨씬 크고 여러 사용자가 동시에 접속하는 데 적합하다. 로컬 데이터베이스를 사용할지 SQL 서버를 사용할지는 저장하고 처리할 데이터의 양, 데이터베이스에 동시에 액세스하는 사용자 수, 데이터베이스의 성능 요구 사항 등 여러 요소에 따라 달라집니다.
2. 테이블
관계형 데이터베이스의 기본 구성 요소는 데이터를 저장하는 테이블(관계형 이론에서는 "관계"라고 함)입니다. 데이터베이스의 테이블은 논리적 구조상 매우 단순하며 여러 행과 열의 단순한 교차로 구성되며 테이블은 테이블 내에 중첩될 수 없습니다. 테이블의 각 단위에는 문자열, 숫자, 통화 값, 논리 값, 시간 등과 같은 상대적으로 간단한 데이터인 하나의 데이터만 포함되어야 합니다. C++ 언어의 구조적 유형과 클래스 객체는 일반 데이터베이스에 저장할 수 없습니다. 이미지 저장도 번거롭고 많은 데이터베이스에서는 이미지를 저장할 수 없습니다.
다른 데이터베이스 시스템의 경우 데이터베이스와 실제 파일의 매핑이 다릅니다. 예를 들어 dBASE, FoxPro 및 Paradox 데이터베이스에서 테이블은 파일이며 인덱스 및 기타 데이터베이스 요소도 자체 파일에 저장됩니다. 이러한 파일은 일반적으로 동일한 디렉터리에 있습니다. Access 데이터베이스에서는 모든 테이블과 기타 구성 요소가 파일에 저장됩니다.
3. 뷰
데이터베이스를 편리하게 사용하기 위해 많은 DBMS에서는 뷰(Access에서는 쿼리라고 함) 구조를 지원합니다. 뷰는 하나 이상의 기본 테이블(실제로 데이터를 저장하는 테이블) 또는 특정 조건에 따라 다른 뷰에서 파생된 테이블입니다. 해당 정의만 데이터베이스에 저장되고 데이터는 여전히 기본 테이블에 데이터 소스로 저장됩니다. . 따라서 기본 테이블의 데이터가 변경되면 뷰에 표시되는 데이터도 변경됩니다.
뷰를 정의하는 이유는 무엇입니까? 먼저 뷰에서 보는 것은 사용자의 필요에 따라 추출된 데이터이므로 사용하기 쉽습니다. 둘째, 사용자가 새로운 요구 사항이 있는 경우 기존 애플리케이션을 수정하지 않고 해당 보기(외부 모드 추가)만 정의하면 됩니다. 이는 애플리케이션 범위를 확장할 뿐만 아니라 어느 정도 논리적 독립성을 제공합니다.
또한 일반적으로 사용자가 보는 데이터는 전체 데이터의 일부일 뿐이며 이는 시스템에 특정 보안 보호를 제공합니다.
4. 레코드
테이블의 행을 레코드라고 합니다. 기록의 내용은 상품 중 직원 번호, 이름, 급여, 주문 번호, 제품 이름, 고객 이름, 단가, 수량 등과 같은 사물 클래스의 특정 항목을 설명하는 일련의 데이터입니다. 거래. 일반적으로 레코드는 여러 데이터 항목(필드)으로 구성되며, 레코드의 필드 구조는 테이블의 제목(관계 스키마)에 따라 결정됩니다.
레코드의 모음(튜플 모음)을 테이블의 콘텐츠라고 하며, 테이블의 행 수를 테이블의 카디널리티라고 합니다. 테이블 이름과 제목은 상대적으로 고정되어 있지만 테이블의 레코드 수와 개수는 자주 변경된다는 점에 주목할 필요가 있습니다.
5. 필드
테이블의 열을 필드라고 합니다. 각 필드는 제품 이름, 단가, 주문 수량 등 표에 설명된 개체의 속성을 나타냅니다. 각 필드에는 필드 이름, 데이터 유형, 데이터 너비, 숫자 데이터의 소수 자릿수 등과 같은 해당 설명 정보가 있습니다. 각 필드에는 동일한 데이터 유형의 데이터 배치가 포함되어 있으므로 필드 이름은 다중 값 변수와 동일합니다. 필드는 데이터베이스 조작의 가장 작은 단위입니다.
테이블 정의 프로세스는 각 필드의 필드 이름, 데이터 유형 및 너비(점유 바이트 수)를 지정하는 것입니다. 테이블의 각 필드는 정의된 데이터 유형만 허용합니다.