DataBase

이민기·2022년 2월 3일
0
post-thumbnail

DataBase

특정한 목적을 위해 저장된 데이터들의 집합

DB 설계

  • DATABASE 설계

    • DATA : 각 항목에 저장되는 값
    • TABLE : 열과 행으로 이루어진 DATA
    • Column (Field) : TABLE의 열 단위
    • Row : TABLE의 행 단위
    • Record (tuple) : TABLE의 한 행에 저장되어 있는 데이터
    • Key : 각 record를 구분할 수 있는 고유값
  • TABLE 사이의 관계

    • 1:1 관계 : 하나의 레코드가 다른 테이블 레코드 한개와 1:1로 연결된 경우

    • 1:N관계 : 하나의 레코드가 여러개의 다른 레코드와 연결된 경우

    • N:N관계 : 여러 개의 레코드가 여러개의 다른 레코드와 연결된 경우이며, JOIN을 사용해서 관리
      JOIN테이블을 위한 기본키 (sc_id)가 필수이다.

    • 자기참조 관계 : 테이블 내에서 연결된 경우
      1:N관계와 유사하지만 다르다



DATABASE Normailzation

  • Database Normalization (데이터베이스 정규화)
    • Data redundancy (데이터 중복) : 데이터의 복사본, 혹은 부분적은 복사본
      • 장점
        • 데이터를 복구할 때 수월
      • 단점
        • 일관된 자료처리가 어려우며 저장공간의 낭비로 효율성 감소
    • Data intergrity (데이터 무결성) : 입력된 데이터의 정확성과 일관성을 유지
    • Data Anomaly : 기대한 데이터와는 다른 상황
      • update anomaly (갱신 이상) : 여러 행에 동일한 데이터가 있을 때 발생
      • insertion anomaly (삽입 이상) : 새로운 데이터를 추가 할 때 형식이 맞지 않을 때 발생
      • deletion anomaly (삭제 이상) : 특정 데이터를 지울 때 의도하지 않은 데이터도 지워지는 상황


ACID

데이터베이스에서 일어나는 트랙잭션들의 안정성을 보장하기 위한 성질들
트랜잭션 : 하난의 특정 작업으로 시작해, 관련된 모든 작업을 다 완료해야 종료되는 실행 유닛

  • Atomicity (원자성) : 하나의 트랜잭션 실행 시, 모든 작업은 전부 성공하거나 전부 실패해야 한다
  • Consistency (일관성) : 데이터 베이스는 트랙잭션의 유무와 상관없이 상태는 일관되어야 한다
  • Isolation (격리성) : 모든 트랜잭션들은 각각 다른 트랜잭션으로부터 독립되어야 한다
  • Durability (지속성) : 트랜잭션이 실행 될 경우 오류가 발생하더라도, 해당 기록은 영구적이어야 한다
profile
블로그를 옮기는 중입니다. https://min71.dev

0개의 댓글

관련 채용 정보