분산 DBMS-데이터베이스 제어

데이터베이스 제어는 데이터베이스의 실제 사용자와 애플리케이션에 올바른 데이터를 제공하기 위해 규정을 시행하는 작업을 의미합니다. 사용자가 올바른 데이터를 사용할 수 있으려면 모든 데이터가 데이터베이스에 정의 된 무결성 제약 조건을 준수해야합니다. 또한 데이터베이스의 보안 및 개인 정보를 유지하기 위해 권한이없는 사용자로부터 데이터를 차단해야합니다. 데이터베이스 제어는 데이터베이스 관리자 (DBA)의 기본 작업 중 하나입니다.

데이터베이스 제어의 세 가지 차원은-

  • Authentication
  • 액세스 권한
  • 무결성 제약

입증

분산 데이터베이스 시스템에서 인증은 합법적 인 사용자 만 데이터 리소스에 액세스 할 수있는 프로세스입니다.

인증은 두 가지 수준으로 시행 될 수 있습니다-

  • Controlling Access to Client Computer−이 수준에서는 데이터베이스 서버에 사용자 인터페이스를 제공하는 클라이언트 컴퓨터에 로그인하는 동안 사용자 액세스가 제한됩니다. 가장 일반적인 방법은 사용자 이름 / 암호 조합입니다. 그러나 높은 보안 데이터에는 생체 인증과 같은보다 정교한 방법이 사용될 수 있습니다.

  • Controlling Access to the Database Software−이 수준에서 데이터베이스 소프트웨어 / 관리자는 사용자에게 일부 자격 증명을 할당합니다. 사용자는 이러한 자격 증명을 사용하여 데이터베이스에 액세스 할 수 있습니다. 방법 중 하나는 데이터베이스 서버 내에 로그인 계정을 만드는 것입니다.

액세스 권한

사용자의 접근 권한은 테이블 생성, 테이블 삭제, 테이블에서 튜플 추가 / 삭제 / 업데이트, 테이블 쿼리 등 DBMS 작업과 관련하여 사용자에게 부여되는 권한을 의미합니다.

분산 환경에서는 테이블이 많지만 사용자 수가 많기 때문에 개별 액세스 권한을 사용자에게 할당하는 것이 불가능합니다. 따라서 DDBMS는 특정 역할을 정의합니다. 역할은 데이터베이스 시스템 내에서 특정 권한이있는 구성입니다. 다른 역할이 정의되면 개별 사용자에게 이러한 역할 중 하나가 할당됩니다. 종종 역할 계층은 조직의 권한 및 책임 계층에 따라 정의됩니다.

예를 들어, 다음 SQL 문은 "Accountant"역할을 만든 다음이 역할을 "ABC"사용자에게 할당합니다.

CREATE ROLE ACCOUNTANT; 
GRANT SELECT, INSERT, UPDATE ON EMP_SAL TO ACCOUNTANT; 
GRANT INSERT, UPDATE, DELETE ON TENDER TO ACCOUNTANT; 
GRANT INSERT, SELECT ON EXPENSE TO ACCOUNTANT; 
COMMIT; 
GRANT ACCOUNTANT TO ABC; 
COMMIT;

의미 론적 무결성 제어

의미 론적 무결성 제어는 데이터베이스 시스템의 무결성 제약을 정의하고 시행합니다.

무결성 제약은 다음과 같습니다-

  • 데이터 유형 무결성 제약
  • 엔티티 무결성 제약
  • 참조 무결성 제약

데이터 유형 무결성 제약

데이터 유형 제약 조건은 지정된 데이터 유형을 사용하여 필드에 적용 할 수있는 값 범위와 작업 유형을 제한합니다.

예를 들어, "HOSTEL"테이블에 호스텔 번호, 호스텔 이름 및 수용 인원의 세 필드가 있다고 가정 해 보겠습니다. 호스텔 번호는 대문자 "H"로 시작해야하며 NULL이 될 수 없으며 용량은 150을 초과 할 수 없습니다. 다음 SQL 명령을 데이터 정의에 사용할 수 있습니다.

CREATE TABLE HOSTEL ( 
   H_NO VARCHAR2(5) NOT NULL, 
   H_NAME VARCHAR2(15), 
   CAPACITY INTEGER, 
   CHECK ( H_NO LIKE 'H%'), 
   CHECK ( CAPACITY <= 150) 
);

엔티티 무결성 제어

엔티티 무결성 제어는 각 튜플을 다른 튜플에서 고유하게 식별 할 수 있도록 규칙을 적용합니다. 이를 위해 기본 키가 정의됩니다. 기본 키는 튜플을 고유하게 식별 할 수있는 최소 필드 집합입니다. 엔티티 무결성 제약 조건은 테이블의 두 튜플이 기본 키에 대해 동일한 값을 가질 수 없으며 기본 키의 일부인 필드가 NULL 값을 가질 수 없음을 나타냅니다.

예를 들어, 위의 호스텔 테이블에서 호스텔 번호는 다음 SQL 문 (수표 무시)을 통해 기본 키로 할당 될 수 있습니다.

CREATE TABLE HOSTEL ( 
   H_NO VARCHAR2(5) PRIMARY KEY, 
   H_NAME VARCHAR2(15), 
   CAPACITY INTEGER 
);

참조 무결성 제약

참조 무결성 제약 조건은 외래 키 규칙을 설정합니다. 외래 키는 관련 테이블의 기본 키인 데이터 테이블의 필드입니다. 참조 무결성 제약 조건은 외래 키 필드의 값이 참조 된 테이블의 기본 키 값 중 하나이거나 완전히 NULL이어야한다는 규칙을 정합니다.

예를 들어, 학생이 호스텔에 살기를 선택할 수있는 학생 테이블을 생각해 봅시다. 이를 포함하려면 호스텔 테이블의 기본 키가 학생 테이블에 외래 키로 포함되어야합니다. 다음 SQL 문은 이것을 통합합니다-

CREATE TABLE STUDENT (  
   S_ROLL INTEGER PRIMARY KEY, 
   S_NAME VARCHAR2(25) NOT NULL, 
   S_COURSE VARCHAR2(10), 
   S_HOSTEL VARCHAR2(5) REFERENCES HOSTEL 
);