상세 컨텐츠

본문 제목

SQL 이론 (1)

본문

 SQL 이론 정리 (1)

 목차

1. 데이터베이스와 DBMS

2. 릴레이션의 특징

3. 키(Key)의 개념

4. 무결성 제약 조건

5. 기타 참고 사항


1 .  데이터베이스와  DBMS

  • 데이터베이스(Database): 논리적으로 연관된 데이터를 구조적으로 통합해 놓은 집합.
  • DBMS(Database Management System): 데이터를 효율적으로 정의, 저장, 검색, 수정, 삭제하는 시스템.
  • 데이터는 기존에는 파일(file)로 저장했지만, 현재는 데이터 모델 기반으로 관리됨.

데이터 모델의 대표 예시

  • 관계형 데이터 모델(RDB: Relational DataBase)→ 각각의 행(Row)은 하나의 레코드(투플), 열(Column)은 속성을 나타냄
    • 데이터를 2차원 표(테이블) 형태로 표현

 


2 .  릴레이션의  특징

 

관계형 데이터 모델의 기본 단위인 릴레이션(Relation)은 다음과 같은 특징을 가진다.

  1. 속성은 단일 값을 가진다
    • 하나의 셀에는 하나의 값만 존재해야 한다. 예: 주소 = 서울 (O), 주소 = 서울, 부산 (X)
  2. 속성은 서로 다른 이름을 가진다
    • 하나의 릴레이션 내에서 속성명(열 이름)은 중복될 수 없다.
  3. 속성의 값은 동일한 도메인 값만 가진다
    • 특정 속성의 값은 모두 동일한 데이터 유형(도메인)을 따라야 한다.
  4. 속성의 순서는 상관없다
    • (이름, 주소)나 (주소, 이름)은 동일한 릴레이션 구조로 간주됨.
  5. 릴레이션 내 중복된 투플은 허용되지 않는다
    • 모든 행은 유일해야 하며, 동일한 값을 가지는 두 행은 존재할 수 없다.
  6. 투플의 순서는 상관없다
    • 데이터의 삽입, 삭제, 갱신에 따라 순서는 달라질 수 있으며 의미는 없다.

3 .  키(Key)의  개념

 

Key?

  • 릴레이션 내에서 각 투플(행)을 유일하게 식별하기 위해 사용하는 속성 또는 속성의 집합.
  • 키는 중복된 투플을 방지하며, 릴레이션 간의 관계를 맺을 때도 사용됨.

Key의 종류

슈퍼키(Super Key) 투플을 유일하게 식별할 수 있는 모든 속성 집합
후보키(Candidate Key) 슈퍼키 중 최소 속성 집합
기본키(Primary Key) 후보키 중 하나를 대표로 선택한 키 (NULL, 중복 불가)
대체키(Alternate Key) 기본키로 선택되지 않은 후보키
대리키(Surrogate Key) 의미 없는 일련번호 등 시스템에서 생성한 인조 키
외래키(Foreign Key) 다른 릴레이션의 기본키를 참조하는 속성

 

외래키는 참조 릴레이션의 기본키와 도메인이 같아야 하며, 값이 변경되면 연쇄적으로 영향을 받는다.

 


4 .  무결성  제약  조건

 

데이터의 정확성과 일관성을 보장하기 위해 무결성 제약조건이 사용된다.

 

구분 도메인 무결성 개체 무결성 참조 무결성
대상 속성 투플(기본키) 속성 및 투플(외래키)
동일 용어 Domain Constraint Primary Key Constraint Foreign Key Constraint
NULL 허용 허용 불가 허용
제약 개수 속성 수와 동일 1개 0~여러 개
특징 도메인 정의 우선 확인 기본키 중복/NULL 불가 부모 릴레이션 존재 확인

예시

  • 개체 무결성 위반: 동일한 기본키 값을 가진 투플 삽입 시 거부
  • 참조 무결성 위반: 존재하지 않는 외래키 값을 참조하는 경우 삽입/수정 불가

기타  참고  사항

  • MySQL Workbench는 단순 클라이언트 앱이며, 접속을 위해 계정과 주소가 필요하다.
  • 예시로 사용된 계정은 cool, 데이터베이스는 project, 샘플 테이블에는 project_dept.sql, project_emp.sql 등이 포함된다.

 

 

관련글 더보기