본문 바로가기
CS/Database

[Database] 데이터베이스 용어 정리

by clolee 2025. 3. 27.

✅ 데이터베이스 용어 정리 


1. 데이터베이스(Database)

  • 데이터를 조직적으로 저장하고 다룰 수 있게 해주는 저장소.
  • 보통은 DBMS(Database Management System)를 통해 조작.
  • ✅ 관계형 데이터베이스(RDBMS) vs 비관계형(NoSQL)

2. 테이블(Table) = 릴레이션(Relation)

  • 관계형 모델에서 데이터를 표현하는 핵심 단위.
  • 행(Row)와 열(Column)로 구성됨.
  • 하나의 테이블은 하나의 엔터티(Entity)를 표현 (예: 고객, 주문 등).

✅ MySQL vs Oracle

  • MySQL은 테이블 명 대소문자 구분 여부가 OS에 따라 다름 (Linux는 구분, Windows는 구분 안 함).
  • Oracle은 항상 대소문자 구분 안 함.

3. 행(Row) = 튜플(Tuple)

  • 테이블의 한 줄. 하나의 데이터 레코드를 의미함.
  • 예: 고객 테이블의 한 행 = 한 명의 고객 정보.

✅ 용어 비교

개념  관계형 모델 용어  일반 용어
테이블 릴레이션(Relation) Table
튜플(Tuple) Row, Record
속성(Attribute) Column

4. 열(Column) = 속성(Attribute)

  • 각 열은 특정 속성을 나타냄.
  • 예: 고객명, 이메일주소, 가입일 등

5. 도메인(Domain)

  • 하나의 열이 가질 수 있는 값의 범위 또는 타입
  • 예: 고객 나이라는 열의 도메인은 1~120의 정수
  • 실제 구현에서는 데이터 타입(Data Type)으로 표현됨 (INT, VARCHAR 등)

✅ MySQL vs Oracle 차이

  • MySQL: TINYINT, MEDIUMINT 등 정수 타입 세분화되어 있음
  • Oracle: NUMBER(p, s)로 정수/실수 등 범용 커버

6. 스키마(Schema)

  • 데이터베이스 구조의 논리적 정의
  • 테이블, 뷰, 인덱스, 프로시저 등 구성 요소들을 포함하는 이름 공간

✅ MySQL vs Oracle

  • MySQL: 스키마 = 데이터베이스 (동의어처럼 사용)
  • Oracle: 스키마는 하나의 사용자 계정에 속한 오브젝트 집합

7. 속성(Attribute)

  • 테이블의 열(column)을 의미
  • 같은 이름으로 쓰일 수 있으나, 이론적 표현은 attribute, 실제 DB에서는 column이 더 자주 쓰임.

8. 기본 키(Primary Key)

  • 행을 고유하게 식별하는 속성
  • 중복 ❌, NULL ❌
  • 보통 AUTO_INCREMENT 또는 SEQUENCE와 같이 자동 생성

✅ MySQL vs Oracle

  • MySQL: AUTO_INCREMENT 사용
  • Oracle: SEQUENCE + TRIGGER 또는 Oracle 12c 이후 IDENTITY

9. 외래 키(Foreign Key)

  • 다른 테이블의 기본 키를 참조하는 열
  • 테이블 간 관계(1:N, N:M 등)를 표현할 때 사용

10. 제약 조건(Constraint)

  • 데이터 무결성을 위한 규칙
  • 종류:
    • NOT NULL
    • UNIQUE
    • PRIMARY KEY
    • FOREIGN KEY
    • CHECK (MySQL은 v8.0부터 공식 지원)

11. 뷰(View)

  • 테이블처럼 사용할 수 있는 가상의 테이블
  • 하나 이상의 테이블에서 데이터를 SELECT한 결과를 저장한 것처럼 보여줌
  • 실질적인 데이터는 저장하지 않음

12. 인덱스(Index)

  • 테이블 검색 속도를 빠르게 하기 위한 구조
  • 책의 목차 같은 역할
  • ✅ 성능을 위해 반드시 필요한 요소지만 무분별한 생성은 오히려 성능 저하

13. 정규화(Normalization)

  • 데이터의 중복을 제거하고, 데이터 무결성을 유지하는 구조로 테이블을 나누는 과정
  • 단계: 제1정규형(1NF), 제2정규형(2NF), ... 보이스-코드 정규형(BCNF) 등
  • 반대 개념: 반정규화(Denormalization)

14. ERD(Entity Relationship Diagram)

  • 테이블과 그 관계를 시각적으로 표현한 다이어그램
  • 개발 설계에서 반드시 작성되는 문서

 

 

댓글