데이터베이스 5주차 요약

2023. 1. 31. 18:46·학교수업/데이터베이스

*DM := <S, O, C>

◆무결성 제약조건

▷데이터의 정확성 또는 유효성을 의미한다.

▷데이터베이스의 갱신이 데이터베이스의 일관성을 깨지 않게 하는 수단이다.

▷권한을 가진 사용자들로부터 데이터베이스의 정확성을 지키는 것이다.

 

●무결성 제약조건의 장점

*스키마를 정의할 때 일관성 조건을 오직 한 번만 명시하고, 데이터베이스가 갱신 될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없다.

▷DBMS가 자동으로 처리해준다.

▷데이터 정의어로 명시한다.

 

●무결성 제약조건의 특징

▷스키마의 한 부분이다.

▷데이터베이스의 상태(또는 상태들의 순서)에 대한 제한

▷DBMS가 실행

▷릴레이션 내의 무결성 제약조건 : 오직 한 릴레이션만 포함 / 릴레이션 스키마의 한 부분

▷릴레이션 사이의 무결성 제약조건 : 여러 릴레이션을 포함 / 릴레이션 스키마 또는 데이터베이스 스키마의 한 부분

 

●도메인 제약조건(domain constraint)

▷각 애트리뷰트 값이 반드시 원자값이여야 하며, 유형, 디폴트 값 지정, 범위 제한

 

●키 제약조건(key constraint)

▷키 애트리뷰트에 중복된 값이 존재해서는 안 된다.

 

●기본 키와 엔티티 무결성 제약조건(entity integrity constraint)

▷릴레이션의 기본 키를 구성하는 어떤 애트리뷰트도 널값을 가질 수 없다.

 

●외래 키와 참조 무결성 제약조건(referential constraint)

▷(1) 외래 키의 값은 참조한 어떤 투플의 기본 키 값과 같다.

▷(2) 외래 키가 자신을 포함하고 있는 릴레이션의 기본 키를 구성하고 있지 않으면 널값을 가질 수 있다.

 

◆무결성 제약조건의 유지(는 DBMS가 자동으로 한다)

●갱신 연산

▷삽입, 수정, 삭제 연산

 

 

◆참조 무결성 제약조건을 만족 시키기 위한 옵션

●제한(restricted)

▷참조 무결선 제약조건을 어기는 갱신 연산을 거절한다.

●연쇄(cascade)

▷참조하는 투플도 같이 삭제한다.

●널값(nullify)

▷참조되는 투플을 삭제하고 참조하는 투플들의 외래 키에 널값을 넣는다.

●디폴트값

▷널값 대신에 디폴트 값을 넣는다.


◆관계 대수와 SQL

▷절차적 언어인 관계 대수와 비절차적 언어인 관계 해석

 

◆관계 대수

▷기존의 릴레이션들로부터 새로운 릴레이션을 생성한다.

▷기본적인 연산자들의 집합으로 이루어진다.

▷하나의 관계 연산은 한 개 이상의 입력 릴레이션에 연산자를 적용하여 새로운 릴레이션 하나를 결과로 생성한다.

●이항연산자(binary operator)

▷두개의 수에 적용되어 하나의 수를 산출하는 연산자

*단항연산자(unary operator)

 

◆관계 대수 연산자

●관계 대수 연산자들은 중복된 투플을 가지고 있지 않은 릴레이션들에 적용되며 결과로 생기는 릴레이션에도 중복된 투플이 존재하지 않는다.

●필수적인 연산자

●추가된 연산자

<그림>

 

●실렉션 연산자

▷실랙션 조건을 만족하는 투플들의 부분 집합을 생성한다.

▷{=, <>, <=, <, >=, >} , {AND, OR, NOT}

*결과 릴레이션의 차수와 입력 릴레이션의 차수가 같다.

*실랙션 조건은 릴레이션 애트리부트들에 대하여 명시된 부울식(boolean expression)이다.

*실랙션 조건을 프레디키트(predicate)라고도 한다.

 

●프로젝션 연산자

▷한 릴레이션의 애트리뷰트들의 부분집합을 구한다.

*결과 릴레이션의 차수는 애트리뷰트 리스트 내의 애트리뷰트의 개수와 같다.

 

'학교수업 > 데이터베이스' 카테고리의 다른 글

데이터베이스 7주차 요약  (0) 2023.01.31
데이터베이스 6주차 요약  (0) 2023.01.31
데이터베이스 3주차 요약  (0) 2023.01.31
데이터베이스 2주차 요약  (0) 2023.01.31
데이터베이스 1주차 요약  (0) 2023.01.31
'학교수업/데이터베이스' 카테고리의 다른 글
  • 데이터베이스 7주차 요약
  • 데이터베이스 6주차 요약
  • 데이터베이스 3주차 요약
  • 데이터베이스 2주차 요약
메카인
메카인
  • 메카인
    메카인의 지식창고
    메카인
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 코딩 공부
        • TIL(Today I Learn)
        • TIL
        • 백준(C++)
        • Python
        • 알고리즘
        • 프로젝트 회고
      • C++
        • C++
        • C++ STL
        • C,C++ mCoding yotube
      • 게임개발
        • 언데드서바이벌_골드메탈_클론코딩
        • 3D_골드메탈_클론코딩
        • 유니티_문제해결
        • 게임 수학
      • Unreal 공부
        • UE5 GameDev
        • Unreal Engine 4 C++ The Ult..
      • 교재 문제 풀이
        • 운영체제
      • 정보처리기사
        • 정처기 요약
        • 정처기 오답노트
      • 학교수업
        • 데이터베이스
        • 프로그래밍 언어론
        • 리눅스 시스템
        • 네트워크
      • 일상
        • 주식
        • 독서
      • (비공개 전용)
        • memory
        • Build
        • OOP
        • Smart Pointer
        • lamda
        • 게임 수학
        • 모던 C++
        • 모던 C++ STL
        • 모던 C++ Concurrency, Paralle..
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 블로그 관리
  • 링크

  • 공지사항

    • 공지사항 - 인생과 블로그의 목표
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
메카인
데이터베이스 5주차 요약
상단으로

티스토리툴바