[DB] 5. Database(DB) 관련 용어 정리

작성일     업데이트:

카테고리:

태그:

Database(DB) 관련 용어

데이터베이스는 엑셀과 매우 유사한 형식으로 구성되어 있다
데이터가 어떻게 저장되어있는지 떠올려 볼 때 엑셀의 테이블(표)을 생각하면 좀 더 쉽게 이해할 수 있다

파일 시스템 데이터베이스 모델링 관계형 데이터베이스
파일(File) 엔티티(Entity) 테이블(Table)
레코드(Record) 튜플(tuple) 행(Row)
키(Key) 식별자(Identifier) 기본키(Primary Key), Unique
필드(Field) 속성(Attribute) 열(Column)

테이블 Table (= 파일 Files , 릴레이션 Relation)

  • 서로 연관된 레코드(행)의 집합
  • 행(Row)과 열(Colunm)로 이루어진 데이터 집합

어트리뷰트(특성) Attribute (= 필드 Fields)

  • 엑셀에서 열(Column)에 해당하는 가장 작은 단위의 데이터를 의미
  • 엔티티(Entity)의 속성(특성)을 표현한다
  • 각 엔티티마다 특성(어트리뷰트)이 다를 수 있다
  • 같은말로는 칼럼이라고도 한다
  • 어트리뷰트의 수는 디그리(Degree) 라고도 한다
  • 데이터베이스에서 필드와 특성(어트리뷰트)는 본질적으로 같은 것을 이야기 한다, 다만 이 특성들은 다른 테이블/엔티티와의 관계에 대해 이야기 할 때 필드라고 불려질 수 있다

차수 Degre

  • 하나의 Realtion(테이블) 내에 있는 Attribute의 수

튜플 Tuple (= 레코드 Records)

  • 엑셀의 행(Row)에 해당한다
  • 논리적으로 연관(관계)된 필드의 집합을 의미한다
  • 여기서 각각의 필드는 특정한 데이터 타입과 크기가 지정되어 있다
    -> 여러행이 모여 한 열을 이루듯 여러 필드가 모여 한 레코드를 이루는 것임
  • 튜플은 릴레이션에서 같은 값을 가질 수 없다
  • 튜플의 수는 카디날리티(Cardinality) 라고 한다

엔티티 Entity

  • 객체
  • 현실 세계에 존재하는 객체를 데이터베이스 상에서 표현하기 위해 사용하는 추상적인 개념
  • 엔티티와 레코드의 차이점
    • 레코드는 실제 데이터베이스 상에 저장되어 있는 값들의 모임을 말한다
    • 반면, 엔티티는 현실세계에 존재하는 객체를 표현하기 위해 비유(추상)적으로 사용된다

식별자 Identifier

  • 여러개의 집합체를 담고있는 관계형 데이터베이스에서 각각의 구분할 수 있는 논리적인 개념
  • 특성
    • 유일성 : 하나의 키로 어떠한 행을 바로 찾아낼 수 있는 성질
    • 최소성 : 레코드를 식별하는데 꼭 필요한 속성들로만 구성되어 있는 성질

키 Key

  • 테이블에서 행의 식별자로 이용되는 식별자
  • 조건에 만족하는 튜플을 찾거나 순서대로 정렬할때 튜플들을 서로 구분할수 있는 기준이 되는 어트리뷰트

  • 슈퍼 키 Super Key

    • 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키이다
    • 테이블의 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합
    • 릴레이션을 구성하는 모든 튜플에 대해 유일성을 만족시키지만 최소성은 만족시키지 못한다
  • 복합 키 Composite Key

    • 2개 이상의 속성(Attribute)을 사용한 키
  • 후보 키 Candidate Key

    • 유일성과 최소성을 만족시켜야 한다
    • 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합
    • 기본 키로 사용할 수 있는 속성들을 의미
    • 모든 릴레이션에는 반드시 하나 이상의 후보키가 존재한다
  • 기본 키 Primary Key

    • 후보 키에서 선택된 Main 키
    • null 값을 가질 수 없다
    • 동일한 값이 중복되어 저장될 수 없다
    • 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다
  • 대체 키 Surrogate Key

    • 후보 키에서 선택되지 않은 키
  • 외래 키 Foreign Key

    • 어떤 다른 테이블간의 기본키를 참조하는 속성
    • 테이블들 간의 관계를 나타내기 위해서 사용된다
    • 다른 릴레이션의 기본 키를 그대로 참조하는 속성의 집합을 의미한다
    • 외래키가 되는 속성과 기본키가 되는 속성의 이름은 달라도 되지만 그 둘 속성의 도메인들은 반드시 같아야한다
      -> 도메인이 같아야 연관성 있는 투플을 찾기위한 비교 연산이 가능하기 때문이다
    • 기본키를 참조하지만 기본키가 아니기 때문에 null값을 가질 수 있고, 서로 다른 투플이 같은 값을 가질 수 있다

도메인 Domain

  • Realtion(테이블)에서 각각의 속성에 채워질 수 있는 데이터의 타입과 길이를 의미한다

스키마 Schema

  • 데이터베이스를 구성하는 데이터 객체, 속성, 레코드 간의 관계 등
    데이터베이스의 골격 구조를 나타내는 일종의 도면
  • 데이터베이스의 엔티티과 그 엔티티들 간의 관계를 정의하고 , 어떠한 타입의 데이터가 어느 위치에 적재되어야 하는지 , 또 다른 테이블이나 엔티티와 어떠한 관계를 맺는지 정의한다

  • 외부 스키마 (=서브 스키마=사용자 뷰(가상 테이블))

    • 사용자 입장에서 정의한 데이터베이스의 논리구조
    • 데이터들을 어떠한 형식/구조/화면을 통해 사용자에게 보여줄 것인가에 대한 명세를 뜻한다
    • 하나의 데이터베이스에는 여러 개의 외부 스키마가 있을 수 있다
  • 개념 스키마 (=전체적인 뷰)

    • 데이터베이스의 전체적인 논리적 구조
    • 사용자가 필요로 하는 데이터를 통합한 조직 전체의 데이터베이스이다
    • 객체 간의 관계와 제약조건, 데이터베이스의 접근 권한, 보안 및 무결성 규칙에 관한 명세를 뜻한다
    • 데이터베이스 당 하나만 존재한다
  • 내부 스키마
    • 물리적 저장장치의 입장에서 본 데이터베이스 구조
    • 데이터베이스에 저장될 레코드의 물리적인 구조, 저장 데이터 항목의 표현 방법, 내부 레코드의 물리적 순서 등을 나타낸다

트랜잭션 Transaction

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

데이터베이스 언어 종류

  • 데이터 조작어 DML (Data Multipulation Language)

    • 저장된 데이터를 실질적으로 처리하는데 사용하는 언어로 데이터베이스 내의 자료를 검색, 삽입, 갱신, 삭제하기 위해 사용한다
    • INSERT , UPDATE , DELETE , SELECT 등
  • 데이터 정의어 DDL (Data Definition Langauge)

    • 데이터 베이스를 정의하는 언어로 데이터베이스 안의 값들을 생성, 수정, 삭제하는 등 전체 골격을 결정하는 역할을 한다
    • CREATE , ALTER , DROP
  • 데이터 제어어 DCL (Data Control Language)

    • 데이터베이스에 접근하거나 객체에 권한을 주는 역할로 데이터 관리를 위해 데이터의 보안성, 무결성 유지 등을 제어하는 언어이다
    • COMMIT , ROLLBACK , GRANT , REVOKE 등

DBMS (Database Management System)

  • 데이터베이스를 관리하는 소프트웨어
  • 대표적으로 Oracle, MySQL, MS-SQL, MariaDB 등이 있다

SQL (Structured Query Language)

  • 구조화된 질문 언어
  • DBMS와 개발자가 소통하는 수단으로 데이터베이스에 접근하고 이용하기 위한 언어이다
  • DBMS 종류에 따라 조금씩 차이가 있다

무결성 Integrity

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

원자값

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

이상 현상 Anomaly

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

  • 갱신 이상 Modification Anomaly

    • 중복 데이터 중 일부만 수정되어 데이터 불일치가 일어나는 현상
  • 삽입 이상 Insertion Anomaly

    • 중복된 데이터 중 일부만 수정되어 데이터의 모순이 일어난 현상
  • 삭제 이상 Deletion Anomaly

    • 특정 정보 삭제 시 다른 정보까지 삭제되어버리는 현상

정규화 Normalization

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

댓글남기기