데이터베이스의 기본

xyzw·2024년 9월 25일
0

CS

목록 보기
12/18

데이터베이스: 일정한 규칙을 통해 구조화되어 저장되는 데이터의 모음
DBMS: 데이터베이스를 제어 및 관리하는 통합 시스템

엔터티

여러 개의 속성을 지닌 명사

약한 엔터티와 강한 엔터티

  • 약한 엔터티: 혼자서는 존재하지 못하고, 다른 엔터티의 존재 여부에 종속적
  • 강한 엔터티: 약한 엔터티가 종속되는 엔터티

릴레이션

데이터베이스에서 정보를 구분하여 저장하는 기본 단위

엔터티에 관한 데이터를 데이터베이스에서 릴레이션으로 관리

테이블과 컬렉션

  • 테이블: 관계형 데이터베이스에서 릴레이션을 일컫는 말
  • 컬렉션: NoSQL 데이터베이스에서 릴레이션을 일컫는 말

속성(attribute)

릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보

서비스의 요구 사항을 기반으로 관리해야 할 필요가 있는 속성들만 엔티티의 애트리뷰트가 됨

도메인

릴레이션에 포함된 각각의 속성들이 가질 수 있는 값의 집합

ex. 성별의 도메인: {여, 남}

필드와 레코드

  • 필드: 속성
  • 레코드: 행 단위의 데이터 (=튜플)

필드 타입

MySQL 기준 필드 타입

  1. 숫자 타입
    TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT 등

  2. 날짜 타입
    DATE, DATETIME, TIMESTAMP 등

  3. 문자 타입
    CHAR(고정 길이), VARCHAR(가변 길이), TEXT(큰 문자열), BLOB(이미지, 동영상 등), ENUM, SET(ENUM과 비슷하지만 여러 개의 데이터를 선택 가능, 비트 단위의 연산 가능, 최대 64개 요소) 등

관계

  • 1:1 관계
  • 1:N 관계
  • N:M 관계 : 1:N, 1:M 관계를 갖는 테이블 두 개로 나눠서 설정

테이블 간의 관계를 명확히 하고 테이블 자체의 인덱스를 위해 설정된 장치

기본키

PK, 테이블의 데이터 중 고유하게 존재하는 속성으로 중복 불허

  • 자연키: 중복되지 않는 것을 자연스럽게 뽑다가 나오는 키, 언젠가 변함
  • 인조키: 인위적으로 생성한 키, 변하지 않음

→ 기본키는 보통 인조키로 설정

외래키

FK, 다른 테이블의 기본키를 그대로 참조하는 값으로 개체와의 관계를 식별하는 데 사용

후보키

기본키가 될 수 있는 후보들
유일성과 최소성을 동시에 만족

대체키

후보키가 두 개 이상일 때, 기본키로 지정하고 남은 후보키

슈퍼키

각 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키

0개의 댓글