[DB] 데이터베이스 용어

밀크야살빼자·2023년 4월 13일
0

Index(인덱스)

데이터의 레코드에 빠르게 접근하기 위해 사용된다.
<키 값, 주소> 쌍으로 구성된 데이터 구조
데이터가 저장된 물리적 구조와 밀접한 관계를 가지고 있고 인덱스를 통해 테이블의 레코드에 대해 빠르게 액세스 할 수 있다.

Table, Row, Column, Key

파일 시스템데이터베이스 모델링관계형 데이터베이스
파일(file)엔티티(entity)테이블(table)
레코드(record)튜플(turple)행(row)
키(key)식별자(identifier)기본키(primary key), unique
필드(field)속성(attribute)열(column)
  1. 테이블(table)
    행(row)과 열(column)로 이루어진 데이터 집합을 의미(=릴레이션(relation))

  2. 행(row)
    관계된 데이터 묶음.
    튜플 또는 레코드라고 불림

  3. 열(column)
    가장 작은 단위의 데이터를 의미
    필드 또는 속성이라고도 불림

  4. 키(key)
    테이블에서 행의 식별자로 이용되는 식별자

  5. 엔티티(Entity)
    현실 세계에 존재하는 객체는 데이터베이스 상에 표현하기 위해 사용되는 추상적인 개념필드와 특성의 차이점
    데이터베이스에서 필드와 특성은 본질적으로 같은 것을 이야기 함.
    엔티티의 특수한 성질을 의미하며, 고객 엔티티에서 costomer_id, name, age, class는 고객이라는 엔티티의 고유한 특성들이며, 이 특성들은 다른 테이블/엔티티와의 관계에 대해 이야기할 때, 필드라고 불려질 수 있음

    엔티티와 레코드의 차이점
    레코드는 실제 데이터베이스 상에 저장되어 있는 값들의 모임을 말함.
    엔티티는 현실 세계에 존재하는 객체를 표현하기 위해 비유적으로 사용됨

    유일성과 최소성
    - 유일성 : 하나의 키로 어떠한 행을 바로 찾아낼 수 있는 성질 (ex. 주민등록번호)
    - 최소성 : 레코드를 식별하는 데 꼭 필요한 속성들롤만 구성되어 있는 성질

Key의 종류

  1. 슈퍼키(super key)
  • 테이블의 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합
  • 유일성은 만족하지만 최소성은 만족하지 않음
  1. 복합키(composite key)
  • 2개 이상의 속성을 사용한 키
  1. 후보키(candidate key)
  • 유일성과 최소성을 만족하는 키(각 튜플을 위해 유일하게 식별할 수 있는 속성의 집합)
  • 기본 키로 사용할 수 있는 속성들을 의미
  • 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재
  • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합
  1. 기본키(primary key)
  • 후보키에서 선택된 키
  • (null 값 혹은 중복 값으로 가질 수 없음
  • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성
  • 동일한 값이 중복되어 저장될 수 없음
  1. 대체키(surrogate key)
  • 후보키에서 선택되지 않은 키
  1. 외래키(foreign key)
  • 서로 다른 테이블 간의 관계를 맺어주는 키
  • 다른 테이블의 기본키를 참조

Degree(차수)

하나의 realtion 내에 있는 attribute의 수
(ex. 어떤 테이블의 열이 고객, 이름, 전화번호로 구성 → 차수 =3)

Domain(도메인)

relation에서 각각의 속성에 채워질 수 있는 데이터의 타입과 길이를 의미

Schema(스키마)

데이터베이스의 엔티티와 그 엔티티들 간의 관계를 정의하고 어떠한 타입의 데이터가 어느 위치에 적재되어야 하는지, 또 다른 테이블이나 엔티티와 어떠한 관계를 맺는지 정의

Schema의 3계층

  1. 외부 스키마(=서브 스키마=사용자 뷰(가상 테이블))
    사용자 입장에서 정의한 데이터베이스의 논리 구조
    데이터들은 어떠한 형식, 구조, 화면을 통해 사용자에게 보여줄것인가에 대한 명세를 뜻하며 하나의 데이터베이스에는 여러 개의 외부 스키마가 있을 수 있음

  2. 개념 스키마(=전체적인 뷰)
    데이터베이스의 전체적인 논리적인 구조
    사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스로 하나만 존재하며 객체 간의 관계와 제약조건, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 뜻함

  3. 내부 스키마
    물리적 저장장치와 입장에서 본 데이터 구조
    데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적인 순서 등을 나타냄

Transaction(트랜잭션)

  • 데이터베이스 내에서 한거번에 모두 수행되어야 할 연산들의 집합
  • 하나의 작업 처리를 위한 논리적 작업 단위

데이터베이스 언어의 종류

  1. DML(Data Multipulation Language) - 데이터 조작어
    데이터베이스 내의 자료를 검색, 삽입, 갱신, 삭제하기 위해 사용되는 언어
    주요 명령어 : INSERT, UPDATE, DELETE, SELECT 등

  2. DDL(Data Definition Language) - 데이터 정의어
    데이터베이스 구조를 정의하는 언어
    데이터를 생성, 수정, 삭제하는 등 전체 골격을 결정하는 역할
    주요 명령어 : CREATE, ALTER, DROP

  3. DCL(Data Control Language) - 데이터 제어어
    데이터베이스에 저장된 데이터 관리를 위해 데이터의 보완성, 무결성 유지 등을 제어하는 언어
    주요 명령어 : COMMIT, ROLLBACK, GRANT, REVOKE 등

Integrity(무결성)

정보에 결점이 없도록 유지하는 성질
데이터베이스 내에 저장되는 데이터 값들이 항상 일관성을 갖고 데이터의 유효성, 정확성, 안정성을 유지할 수 있도록 하는 제약조건을 두는 데이터베이스 특성

원자값

더 이상 분해되지 않는 최소 구성의 단위

Anomaly(이상 현상)

테이블 내에서 데이터 중복성에 의해 발생되는 데이터 불일치 현상

  1. 갱신 이상
    중복 데이터 중 일부만 수정되어 데이터 불일치가 일어나는 현상
  2. 삽입 이상
    중복된 데이터 중 일부만 수정되어 데이터의 모순이 일어난 현상
  3. 삭제 이상
    특정 정보 삭제 시 다른 정보까지 삭제되어 버리는 현상

Normalization(정규화)

논리적 설계단계에서 발생할 수 있는 종속으로 인한 이상 현상의 문제점을 해결하기 위해, 속성들 간의 종속 관계를 분석하여 여러 개의 릴레이션으로 분해하는 과정

profile
기록기록기록기록기록

0개의 댓글