반응형

🚀

데이터베이스에는 다양한 용어가 사용되는데 이러한 용어들의 의미를 살펴보고 정리하는 포스팅입니다.

 

💡 Index(인덱스)

데이터의 레코드에 빠르게 접근하기 위해 <키 값, 주소> 쌍으로 구성된 데이터 구조

데이터가 저장된 물리적 구조와 밀접한 관계를 가지고 있으며
인덱스를 통해 테이블의 레코드에 대해 빠르게 액세스를 할 수 있음

 

💡 Table, Row, Column, Key

파일 시스템 데이터베이스 모델링 관계형 데이터베이스
파일(File) 엔티티(Entity) 테이블(Table)
레코드(Record) 튜플(tuple) 행(Row)
키(Key) 식별자(Identifier) 기본키(Primary Key), Unique
필드(Field) 속성(Attribute) 열(Column)
  • 테이블(Table) : 행(Row)과 열(Column)로 이루어진 데이터 집합을 의미. (=릴레이션(Relation))
  • 행(Row) : 관계된 데이터의 묶음. 튜플(Tuple) 또는 레코드(Record)라고도 불림
  • 열(Column) : 가장 작은 단위의 데이터를 의미. 필드(Field) 또는 속성(Attribute)라고도 불림
  • 키(Key) : 테이블에서 행의 식별자로 이용되는 식별자

엔티티(Entity) : 현실 세계에 존재하는 객체를 데이터베이스 상에 표현하기 위해 사용하는 추상적인 개념.

예시) 학생을 관리하기 위해 사용하는 데이터베이스에서 학번, 이름, 나이, 학과 등등의 정보들을 통해 'Student'라는 Entity를 표현할 수 있습니다. 

 

💡 유일성과 최소성

  • 유일성 : 하나의 키로 어떠한 행을 바로 찾아낼 수 있는 성질
    (ex: 주민등록번호)
  • 최소성 : 레코드를 식별하는 데 꼭 필요한 속성들로만 구성되어 있는 성질
    (ex: [주민등록번호 + 학번]은 최소성을 만족하지 않음. Because, 주민등록번호로만 행을 구분할 수 있기 때문!)

 

💡 Key의 종류

  • 슈퍼 키(Super Key) : 테이블의 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합
    (유일성은 만족하지만 최소성은 만족하지 않음)
  • 복합 키(Composite Key) : 2개 이상의 속성(Attribute)을 사용한 키
  • 후보 키(Candidate Key) : 유일성과 최소성을 만족하는 키 (각 튜플을 유일하게 식별할 수 있는 속성의 집합)
  • 기본 키(Primary Key) : 후보 키에서 선택된 키 (null 값 혹은 중복 값으로 가질 수 없음)
  • 대체 키(Surrogate Key) : 후보 키에서 선택되지 않은 키
  • 외래 키(Foreign Key) : 서로 다른 테이블 간의 관계를 맺어주는 키 (다른 테이블의 기본키를 참조)

 

💡 Degre(차수)

하나의 Realtion 내에 있는 Attribute의 수
(예를 들어 어떠한 테이블의 열이 고객, 이름, 전화번호로 구성되어있다면 그 테이블의 차수는 3!)

 

💡 Domain(도메인)

Relation에서 각각의 속성에 채워질 수 있는 데이터의 타입과 길이를 의미
(성별이라는 필드에는 남, 여 외에 다른 값이 들어갈 수 없음. 나이 또한 숫자 값만 가능)

 

💡 Schema(스키마)

데이터베이스를 구성하는 데이터 객체, 속성, 레코드 간의 관계 등등,
데이터베이스의 골격 구조를 나타내는 일종의 도면.

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

 

💡 Schema의 3 계층

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

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

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

 

💡 Transaction(트랜잭션)

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

 

💡 데이터베이스 언어 종류

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

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

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

 

💡 Integrity(무결성)

정보에 결점이 없도록 유지하는 성질

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

 

💡 원자값

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

 

💡 Anomaly(이상 현상)

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

  • 갱신 이상(Modification Anomaly)
    중복 데이터 중 일부만 수정되어 데이터 불일치가 일어나는 현상

  • 삽입 이상(Insertion Anomaly)
    중복된 데이터 중 일부만 수정되어 데이터의 모순이 일어난 현상

  • 삭제 이상(Deletion Anomaly)
    특정 정보 삭제 시 다른 정보까지 삭제되어버리는 현상

 

💡 Normalization(정규화)

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

 

 

 

📚 참고

http://tcpschool.com/mysql/mysql_intro_relationalDB

https://wkdtjsgur100.github.io/database-terms/

https://quizlet.com/kr/439390515/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-flash-cards/?isSetPageSignup=1 

 

반응형

+ Recent posts