데이터베이스 기초

ayboori·2023년 11월 15일
0

CS Study

목록 보기
19/22

데이터베이스

엔티티 (Entity)

  • 사람이 생각하는 개념 / 정보 단위 등 현실 세계의 대상체
  • 실세계에 독립적으로 존재하는 정보 (형태가 있는지는 무관)
  • 유일한 식별자에 의해 식별됨

릴레이션 (Relation)

  • 데이터들을 표(Table)로 표현한 것

속성 (Attribue)

  • DB를 구성하는 가장 작은 논리적 단위
  • 개체의 특성을 기술함
    - 예를 들어, 학생 엔티티의 속성은 학번, 이름, 성별 등
  • 속성의 수 : 디그리, 차수

도메인 (Domain)

  • 하나의 속성이 취할 수 있는 같은 타입의 원자(Atomic) 값들의 집합
    즉, 속성에 입력될 수 있는 값. 도메인 이외의 값은 입력 불가

필드 (Field)

  • 테이블의 열

레코드 (Record)

  • 테이블의 행
  • 각각 레코드는 엔티티의 한 인스턴스에 해당

DB에서 조건에 만족하는 튜플을 찾거나 정렬할 때 기준이 되는 속성

후보키(Candidate)

  • 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합
    = 기본키로 사용할 수 있는 속성들

만족시켜야 할 조건들

  • 유일성 (Unique)
    하나의 키 값으로 하나의 튜플 만을 유일하게 식별할 수 있어야 함
  • 최소성(Minimality)
    키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없어야 함 = 꼭 필요한 최소의 속성으로 구성

기본키 (Alternate Key)

후보키 중에 특별히 선정된 주 키 (Main key)
- 중복값 불가
- NULL 값 불가 (존재성)

대체키 = 보조키

후보키가 둘 이상일 때 기본 키를 제외한 나머지 후보키

슈퍼키

한 릴레이션 내의 속성들의 집합으로 구성된 키
슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않음
모든 튜플에 대해 유일성 만족, 최소성 불만족

외래키

다른 릴레이션의 기본키를 참조하는 속성 / 속성들의 집합
참조 릴레이션의 기본키에 없는 값은 입력 불가

테이블간의 관계 (Relationship)

  • 개체와 개체 간의 논리적인 연결
  • 릴레이션의 형태는 1:N, 1:1, N:M

트랜잭션과 무결성

트랜잭션 (Transaction)

    • 하나의 논리적 기능을 수행하기 위한 작업 단위
  • 한꺼번에 모두 수행되어야 할 연산들
  • DB 시스템에서 병행 제어, 회복 작업 시 처리되는 작업의 논리적 단위

특성 : ACID

Atomicity (원자성)

DB에 모두 반영되도록 완료 (커밋) 되거나 모두 반영되지 않도록 복구 (롤백)되어야 함

Consistency (일관성)

성공적으로 완료하면 언제나 일관성 있는 DB 상태로 변환함

Isolation (독립성)

둘 이상의 트랜잭션이 병행 실행 시 어느 하나의 실행 중에 다른 트랜잭션의 연산이 끼어들 수 없음

Durability (영속성)

성공적으로 완료된 트랜잭션의 결과는 시스템이 고장나더라도 영구적으로 반영되어야 함

무결성 (integrity)

데이터베이스에 저장된 데이터 값과 현실 세계의 실제값이 일치하는 정확성
- 개체 무결성 : 기본키를 구성하는 속성은 NULL, 중복값을 가질 수 없다
- 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과
동일해야 한다. ~라는 규정

profile
프로 개발자가 되기 위해 뚜벅뚜벅.. 뚜벅초

0개의 댓글