DB/ORACLE

관계형 데이터베이스의 주요 특징과 개념 정리

성코 2023. 8. 6. 00:28

 

 

1. 관계형 데이터베이스란?

2. 용어정리

3. 특징

 


관계형 데이터베이스란?

관계형 데이터베이스(RDBMS = Relational DataBase Management System)는 현재 가장 많이 사용되고 있는 데이터베이스의 한 종류이다. 행과 열로 이루어진 각각의 테이블을 고유값(Primary Key)을 참조하여 서로 종속되는 관계(=연결하는 것)를 표현하는 데이터 베이스 구조를 관계형 데이터베이스라고 한다. 

 

  • 데이터를 테이블로 구성하고 테이블 간 정의된 관계를 통해 데이터를 조작하는 시스템
  • 2차원적인 표(Table)을 이용해서 데이터 상호 관계를 정의하는 데이터베이스
  • 개체(Entity)와 관계(Relationship)를 모두 릴레이션(Relation)이라는 표(Table)로 표현하기 때문에 개체를 개체 릴레이션과 관계 릴레이션이 존재한다.
  • 대표적인 관계형 데이터베이스 : Oracle Database, MySQL, PostgerSQL, Microsoft SQL server 등

관계형 데이터베이스의 릴레이션 구조

릴레이션(Relation)은 데이터들의 표(Table)의 형태로 표현한 것으로, 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다. 

출처 : liveyourit.tistory.com/213

 


용어 정리

  • 테이블(Table)

 - 데이터가 저장되는 기본 단위

 - 행과 열로 이루어진 2D 구조

 - 각 테이블은 고유한 이름을 가지며, 각 열은 속성을 나타냄.

  • 행 (Row) = 튜플 (Tuple)

 - 테이블에 저장되는 개별 데이터의 한 단위

 - 레코드 또는 튜플이라고 불림

 - 릴레이션을 구성하는 각각의 행을 말하며 속성의 모임으로 구성됨

 - 파일 구조에서 레코드와 같은 의미

 - 튜플의 수카디널리티(Cardinality)라고 함

  • 열 (Calumn) = 속성 (Attribute)

 - 각 열에는 특정 유형의 데이터 저장

 - 필드 또는 속성이라고 불림

 - 데이터베이스를 구성하는 가장 작은 논리적 단위

 - 개체의 특성을 기술

 - 파일 구조상의 데이터 항목 또는 데이터 필드에 해당

 - 속성의 수디그리(Degree) 또는 차수라고 함

  • 기본키 (Primary Key)

 - 테이블에서 각 행을 고유하게 식별하는 데 사용되는 열 또는 열의 조합

 - 중복된 값이나 NULL값을 가질 수 없다.

  • 외래키 (Foreign Key)

 - 다른 테이블에서 기본키를 참조하는 열

 - 두 테이블 간의 관계를 정의하고 유지하는 데 사용

  • 관계 (Relationship)

 - 두 개 이상의 테이블 간의 연결

 - 외래키를 통해 관계를 형성

 - 관계를 통해 데이터의 일관성과 무결성을 유지

  • 정규화 (Normalization)

 - 데이터베이스 설계에서 중복을 최소화하고 데이터의 일관성을 유지하기 위한 프로세스

 - 정규화된 테이블은 보다 효율적으로 검색 기능, 무결성을 보장

  • SQL (Structured Query Language)

 - 관계형 데이터베이스에서 데이터를 조작하는 표준화된 언어

 - 데이터의 삽입, 삭제, 갱신, 검색 등 다양한 작업 수행 가능


특징

  • 장점 : 간결하여 보기 편리 / 다른 데이터베이스로 변환이 용이
  • 단점 : 성능이 다소 떨어짐

ACID 특성

  • 원자성 (Atomicity) : 트랜잭션의 모든 연산이 성공 또는 실패로 처리되어야 함.
  • 일관성 (Consistency) : 트랜잭션이 실행 전과 후에 데이터베이스가 일관된 상태를 유지해야 함.
  • 고립성 (Isolation) : 여러 트랜잭션이 동시에 실행될 때 각 트랜잭션이 서로 영향을 미치지않아야 함.
  • 지속성 (Dutability) : 트랜잭션이 성공적으로 완료되면 그 결과를 영구적으로 저장되어야 함.

* 트랜잭션(Transaction) : 데이터베이스 내에서 한꺼번에 모두 수행되어야 할 연산들의 집합. 하나의 작업 처리를 위한 논리적 작업 단위