철학과 학생의 개발자 도전기

DBMS와 RDB의 키 본문

데이터베이스

DBMS와 RDB의 키

Younghun 2023. 10. 19. 16:00

데이터베이스

  • 여러 사람이 공유하고 사용할 목적으로 관리되는 데이터 모음
  • 데이터 공유 : 많은 사람들이 데이터를 공유할 수 있다.
  • 중복의 제거 : 데이터를 한 곳에 모으면서 중복되는 데이터를 제거할 수 있다.
  • 데이터 통합 : 흩어져 있는 데이터를 한 곳에 모을 수 있다.
  • 보안성 : 권한이 있는 관리자가 데이터를 관리하여 데이터의 보안을 지킬 수 있다.

DBMS (Data Base Management System)

  • DB를 관리하고 운영하는 소프트웨어
  • 응용프로그램들이 DB에 접근할 수 있는 인터페이스를 제공
  • 복구 및 보안 기능 등을 제공

DBMS의 장점

  • 자료의 통합성을 증진시키고 데이터의 접근을 용이하게 해준다.
  • 데이터의 통제가 쉬워지고 애플리케이션을 쉽게 개발하고 관리할 수 있다.
  • 중복되는 데이터를 최대한 없애고 쉽게 정리해서 유지보수가 쉬워진다.
  • 장애 발생시 회복이 가능하고 표준화가 가능하다.

DBMS의 종류

DBMS 종류 설명
Oracle 오라클에서 만들어 판매중인 상업용 RDBMS입니다.
주로 대기업에서 사용하며 글로벌 DB시장에서 점유율 1위를 하고 있습니다.
MySQL 현재는 오라클에 흡수합병 되었습니다.
예전에는 오픈소스로 이루어져 있던 무료 프로그램이지만 합병 이후에는 상업용으로 쓰입니다.
SQL Server 마이크로소프트사에서 개발한 상업용 RDBMS
MSSQL 마이크로소프트가 1989년 사이베이스(Sybase)를 기반으로 개발한 RDBMS
MariaDB 오픈 소스의 RDBMS
Tibero  기업 비즈니스 구현의 기반이 되는 DBMS

DBMS의 분류

  • 계층형: 폴더와 파일 등의 계층 구조로 하드 디스크 등에서 사용
  • 관계형: 행과 열을 가진 표 형태로 데이터를 관리하며, SQL을 사용해서 데이터 조작 가능
  • NoSQL: key-value 형태로 데이터를 관리하며, 관계형과 달리 스키마나 join이 없음

관계형 데이터베이스

릴레이션(Relation)

  • 관계형 데이터 모델에서 하나의 개체에 관한 데이터를 저장하기 위한 구조 ( = 테이블)
  • 스키마와 인스턴스로 이루어져있다.

릴레이션 스키마(Schema)

  • 릴레이션의 이름, 각 속성의 이름, 타입, 도메인 등을 정의하는 개념

릴레이션 인스턴스(Instance)

  • 릴레이션에 저장되는 데이터(튜플)의 집합

속성(Attribute) / 필드

  • 릴레이션의 열(Column)
  • 서로 다른 이름을 가져야 한다.

튜플(Tuple) / 레코드

  • 릴레이션의 행(Row)
  • 중복되면 안된다.

도메인(Domain)

  • 릴레이션의 속성이 가질 수 있는 원자값들의 집합

차수(Degree)

  • 하나의 릴레이션에서 속성의 전체 개수

Cardinality

  • 하나의 릴레이션에서 튜플의 전체 개수

Key

  • 릴레이션의 튜플을 식별할 수 있는 단일 속성 혹은 속성들의 집합
  • 테이블 내 튜플을 식별해주고 테이블 간의 관계를 설정 및 식별할 수 있다.
  • 유일성과 최소성에 따라 나눌 수 있다

1. 슈퍼 키

  • 유일성 O, 최소성 X
  • ex) 주민번호 + 학번

2. 후보 키

  • 유일성 O, 최소성 O
  • ex) 주민번호, 학번

3. 기본 키 (PK)

  • 후보 키에서 선택받은 키
  • null 값을 가질 수 없다.
  • 값이 자주 변경되는 경우, 기본 키로 부적합하다.

4. 대체 키

  • 후보 키에서 선택받지 못한 키

5. 외래 키 (FK)

  • 다른 릴레이션의 기본 키를 참조하는 키
  • 릴레이션 간의 관계를 나타내기 위해 사용
  • ex) 학생은 학교의 기본 키를 외래 키로 가질 수 있다.

 

 

'데이터베이스' 카테고리의 다른 글

옵티마이저  (0) 2023.11.05
Lock과 MVCC  (0) 2023.11.05
트랜잭션  (0) 2023.10.29
인덱스  (0) 2023.10.28
이상과 정규화  (0) 2023.10.27