Lecture 03, 데이터모델의 구성요소(2)

2023. 6. 25. 13:192023/데이터베이스개론

서울여자대학교 이종태 교수님의 데이터베이스 개론 수업을 듣고 정리한 내용입니다.


제약조건

  • 릴레이션의 키
    • 각 튜플을 유일하게 식별할 수 있는 하나 이상의 속성 집합
    • 릴레이션은 항상 튜플의 유일성 규칙을 충족하므로 중복 튜플을 허용하지 않음
    • 결과적으로 모든 튜플은 속성 값이 하나 이상이 서로 다름
    • 모든 릴레이션은 키를 갖음
    • 키에 속하는 속성집합은 반드시 그 속성 값의 조합이 튜플마다 달라야 함
    • 키는 릴레이션이 단순한 테이블이 아님을 보여주는 대표적 개념
    • 여러 무결성 제약 조건과 관련하여 중요한 역할을 함
    • 키 선정의 선정은 현재의 릴레이션 데이터 값만으로 결정하지 않아야 함
    • 릴레이션 인스턴스는 계속 변화하므로 미래의 입력 값까지 포함한 속성의 본질적인 의미를 고려하여 키 지정 여부를 결정
    • 키의 종류는 후보키, 슈퍼키, 기본키, 대체키, 외래키 등이 있음
      • Candidate Key
        • 튜플을 유일하게 식별할 수 있는 꼭 필요한 속성들로 구성됨
        • 유일성(릴레이션에서 키로 지정한 속성 값의 조합은 튜플마다 모두 달라야 함), 최소성(릴레이션에서 키로 지정한 속성의 개수를 최소화 해야 함)을 모두 만족해야 함
        • 모든 릴레이션은 최소 1개 이상의 후보키를 가짐
        • 둘 이상의 속성으로 이루어진 복합키가 아니라면 최소성 조건은 항상 충족
      • Super Key
        • 튜플을 유일하게 식별할 수 있는 속성 집합
        • 식별을 위해 꼭 필요한 속성이 아니어도 포함할 수 있음
        • 슈퍼키는 최소성 충족 여부와는 관련이 없고 후보키의 유일성 조건만 만족하면 됨
        • 릴레이션 안에는 여러 후보키가있을 수 있고 모든 후보키는 슈퍼키가 됨
        • 후보키를 포함하는 속성 집합도 모두 슈퍼키가 됨
      • Primary Key
        • 튜플을 대표하도록 선정된 후보키로 여러 후보키 중에서 하나를 선택하여 지정
        • 의미적으로 튜플을 가장 대표할 수 있고 또한 식별 수단으로도 적합한 후보키를 기본키로 선정
        • 기본키 선정 기준
          • 후보키가 하나일 경우
          • 후보키가 여러개인 경우 값이 자주 변경되지 않는 정적인 속성으로 구성된 후보키, 널값을 가질 수 없는 속성으로 구성된 후보키, 속성 개수가 작은 후보키, 속성값의 물리적 크기가 작은 후보키
      • Alternate Key
        • 기본키로 선정되지 못한 후보키
        • 둘 이상의 후보키 중에서 하나를 기본 키로 지정하면 기본키로 지정되지 않은 나머지들은 대체키
        • 릴레이션 안에서 기본키는 하나이지만 대체키는 여러개 존재할 수 있음
      • Foreign Key
        • 특정 릴레이션의 기본키를 참조하는 속성 집합
        • 외래키의 값은 참조되는 기본키 값 중에서 값 하나를 참조하여 취함
        • 외래키 값은 동일한 값을 기본 키값으로 갖는 튜플과의 관계를 자연스럽게 표현
        • 기본키와 외래키는 릴레이션 간의 연관성을 표현
        • 의미적 연관성이 있음에도 다른 릴레이션으로 분리된 튜플 사이의 연결고리 역할
        • 이론적으로 외래키는 다른 릴레이션을 연결할 수도 있고 같은 릴레이션일 수도 있음
        • 이론적으로는 외래키를 포함하여 pk를 지정할 수도 있음
  • 무결성 제약조건
    • 관계형 데이터 모델에서 릴레이션 안의 모든 데이터들을 의미적으로 흠없이 항상 정확하고 안전한 상태로 유지하기 위한 제약 사항
    • 데이터의 무결성: 데이터의 일관성과 정확성을 강조
    • 데이터의 무결성을 유지하는 방식
      • 개별 응용 프로그램 안에 코드를 추가하여 구현 → 각 프로그램마다 제약사항 점검하는 코드 추가
      • DBMS 안의 무결성 제약 조건을 설정하여 구현 → 준수할 공통 제약 사항을 무결성 제약조건으로, 별도 구현 없이 간단하게 설정할 수 있어 부담이 적고 효율적임
  • 개체 무결성 제약 조건
    • 기본키로 지정한 모든 속성은 널값을 가질 수 없고 릴레이션 안에서 중복되지 않는 유일한 값을 가져야 한다는 제약사항
    • 기본키 제약조건
      • 개체의 유일성을 선언하는 제약 조건
      • DBMS에게 기본키를 선언함으로써 즉시 적용됨
    • 기본키는 개체 식별자임
  • 참조 무결성 제약조건
    • 외래키로 지정한 속성은 참조하는 릴레이션의 기본키 속성 값과 일치하는 값이나 널값만을 가짐
    • 외래키 제약 조건
      • 개체의 참조 관계를 선언하는 제약조건
      • DBMS에게 외래키를 선언함으로써 즉시 적용됨
      • 의미적으로 연관된 두 릴레이션 튜플 사이의 일관성 유지를 위해 사용
    • 외래키는 개체 참조자

관계 연산

  • 관계형 데이터 모델에서 릴레이션을 조작하기 위한 연산
  • 관계형 데이터베이스 언어의 명세 형식이나 내부 처리 과정과 밀접한 연관성이 있음
  • 관계 연산의 대표적인 2가지 표현 방법
    • 관계대수
      • 사용자가 필요로 하는 데이터를 획득하는 절차. 즉 연산들의 적용 순서를 define
      • 실행 순서를 순차적으로 define하는 절차적 표현 방법
      • 관계 연산의 기본 토대를 제공하고 몇몇 개념은 관계형 표준 데이터베이스 언어인 SQL에 반영되었을 뿐만 아니라 DBMS가 내부적으로 질의를 구현하고 최적화하기 위한 기반으로도 사용
    • 관계해석
      • 사용자가 필요한 데이터가 무엇인지, 연산들의 최종 결과만을 명세
      • 선언적 표현방법으로 비절차적 표현방법임
  • 관계대수와 관계 해석의 비교
    • 둘다 기능이나 표현력은 동등
    • 관계대수나 관계 해석은 형식 언어로서 둘다 상용 DBMS가 직접 지원하지는 않으므로 실제 사용할 수 있는 데이터 언어는 아님
    • SQL 언어의 작성법이나 내부 처리 방식의 이론적 기반을 제공

'2023 > 데이터베이스개론' 카테고리의 다른 글

Lecture 04, SQL (2)  (0) 2023.08.04
Lecture 04, SQL (1)  (0) 2023.08.03
Lecture 03, 데이터모델의 구성요소(1)  (0) 2023.06.25
Lecture 02, 데이터베이스의 구조  (0) 2023.06.25
Lecture 01, 데이터와 정보(2)  (0) 2023.06.25