[sql] 제약 조건과 데이터 정합성

데이터베이스 시스템에서 제약 조건(Constraints)은 데이터의 무결성과 일관성을 보장하기 위해 사용됩니다. 제약 조건은 데이터에 대한 특정 규칙을 정의하고, 이를 위반하는지 여부를 검사하여 데이터의 정합성을 유지합니다.

주요 제약 조건의 종류

  1. 기본 키 (Primary Key) - 테이블에서 고유한 식별자 역할을 수행하는 열을 지정합니다. 각 행은 기본 키 값을 가지고 있어야 하며, 중복된 값이나 NULL 값을 가질 수 없습니다.

    CREATE TABLE students (
      id INT PRIMARY KEY,
      name VARCHAR(50),
      age INT
    );
    
  2. 외래 키 (Foreign Key) - 테이블 간의 관계를 정의하고 연결하기 위해 사용됩니다. 외래 키는 다른 테이블의 기본 키와 연결되며, 참조 무결성을 유지하는데 사용됩니다.

    CREATE TABLE orders (
      order_id INT PRIMARY KEY,
      customer_id INT,
      FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
    );
    
  3. 고유 제약 조건 (Unique Constraint) - 열의 값이 고유하도록 제한하는 제약 조건입니다. 각 행은 해당 열에 대해 중복된 값을 가질 수 없습니다.

    CREATE TABLE products (
      product_id INT PRIMARY KEY,
      product_name VARCHAR(50),
      serial_number VARCHAR(20) UNIQUE
    );
    
  4. 체크 제약 조건 (Check Constraint) - 열에 저장될 수 있는 값의 범위를 지정하는 제약 조건입니다. 해당 열의 데이터는 정의된 조건을 충족해야 합니다.

    CREATE TABLE employees (
      employee_id INT PRIMARY KEY,
      employee_name VARCHAR(50),
      age INT CHECK(age >= 18) 
    );
    

데이터 정합성 유지

제약 조건은 데이터베이스 시스템에서 데이터의 정합성을 유지하는 데 중요한 역할을 합니다. 이를 통해 잘못된 데이터가 삽입되거나 수정됨으로써 데이터의 일관성이 깨지는 것을 방지할 수 있습니다.

데이터 정합성은 데이터의 유효성, 일관성, 정확성, 유일성을 나타냅니다. 제약 조건을 적절하게 사용하여 데이터베이스 시스템에서 데이터의 정합성을 유지한다면, 데이터의 신뢰도를 높일 수 있고, 비즈니스 프로세스에서 발생할 수 있는 잠재적인 문제를 방지할 수 있습니다.

참고 자료