RDBMS (Relational DBMS, 관계형 DBMS)란?

임로빈·2024년 1월 11일

정의 / 기본구조 / 구성 요소

정의

표 형태로 데이터를 구조화하고 관리하는 데이터베이스

관계형 데이터베이스는 데이터를 테이블 형태로 구조화하는 방식
: 2차원 테이블을 사용하여 데이터를 정의하고 표현하는 데이터 모델

  • 여기서 데이터는 속성(Attribute)과 해당 속성에 대응하는 데이터 값(Attribute Value)으로 구성
    즉, 데이터를 정리하고 설명하기 위해 속성과 데이터 값 간의 관계를 찾아내어 이를 테이블 형태로 나타낸다. 이 테이블은 열(Column)행(Row)으로 이뤄져 있으며, 각 열은 데이터의 속성을 나타내고 각 행은 해당 속성에 대응하는 데이터 값을 포함한다.

기본구조

Database → Table → Column, Row

  • Database = 구조화된 데이터의 집합
    : 데이터 저장, 검색, 수정, 삭제할 수 있게 해주는 시스템

  • Table = DB 내 데이터 저장소
    : 행(Row)과 열(Column)의 격자 형태로 구성

  • Column = Attribute = Field (컬럼)
    : 테이블 내의 특정 카테고리 또는 데이터 유형

  • Row = Record = Tuple (행)
    : 테이블 내의 개별 데이터 항목으로, 각 행은 하나의 데이터 항목 또는 개체를 나타낸다.

  1. 스키마(Schema)
    : 데이터베이스 구조 정의. 테이블, 행, 열, 인덱스, 관계 등 데이터베이스 구조 명시.
  2. SQL (Structured Query Langugage)
    : 데이터베이스에서 데이터 관리 위해 사용하는 표준 프로그래밍 언어. 데이터베이스에 질의, 업데이트, 삭제 등 작업 수행.
  3. 인덱스 (Index)
    : DB에 데이터 검색 속도를 빠르게 하기 위해 사용하는 객체. 특정 열에 대한 포인터를 포함하여 데이터 건ㅁ색 시간 단축.
  4. 데이터베이스 관리 시스템(DBMS)
    : 데이터베이스를 관리하는 소프트웨어. 예시 종류 링크 참고
  5. 트랜잭션 (Transaction)
    : 데이터베이스 상태를 변화시키는 하나의 작업 단위. 데이터 무결성을 유지하는 데 중요한 역할.

RDBMS는 데이터의 구조화와 안정성 측면에서 강력하며, 일반적인 업무 응용에 적합하다. 그러나 성능이나 유연성 등의 측면에서 고려해야 할 부분도 있다.

구성요소

  1. 데이터 베이스 (학교)
  2. 테이블=모델 (학생, 교실, 선생님(급여), 행사, 급식, 동아리, 방과후활동, 과목, 시험, 비품)
  3. 행 : 하나의 데이터
  4. 열 : 컬럼
    1. (테이블) 학생 - (컬럼) 나이, 성별, 주소, 성적
    2. 교실 - 학생수, 평균성적
    3. 선생님 - 나이, 성별, 주소, 급여
  5. 키 : ID
    1. PK (Primary Key) id or pk
      1. 테이블 내에서 중복이 절대 불가능 (고유값으로 사용이 가능)
      2. 행(=하나의 데이터)을 식별할 수 있는 유일한 값
      3. 유니크한 값이면 가능
        1. 주민등록번호
        2. 국가 코드 (+82, +1, +86 …)
        3. 학번 (2010+119+09)
        4. 군번
    2. FK (Foreign Key)
      1. 다른 테이블의 기본키로 지정된 키

대표적인 RDBMS

  1. MySQL: 개방 소스 RDBMS, 다양한 용도로 활용됨.
  2. PostgreSQL: 객체 관계형 데이터베이스 시스템, 확장 가능하고 다양한 기능 제공.
  3. Microsoft SQL Server: Microsoft에서 제공하는 RDBMS, 엔터프라이즈 급 데이터베이스 솔루션.
  4. Oracle Database: 대규모 엔터프라이즈용 RDBMS, 뛰어난 성능과 안정성 제공.
  5. SQLite: 경량 로컬 RDBMS, 임베디드 시스템과 모바일 애플리케이션에 활용.
  • MySQL과 PostgreSQL: 오픈 소스, 무료 사용 가능, 다양한 용도에 활용
  • Microsoft SQL Server와 Oracle Database: 주로 기업 환경에서 사용
  • SQLite: 경량 환경과 모바일 애플리케이션에 간단한 데이터베이스 요구에 사용

DB Schema

데이터베이스 스키마

  • 데이터베이스의 구조. 청사진이자 설계도.
  • 논리적 스키마와 물리적 스키마가 있는데 논리적 스키마가 더 중요.
  • 데이터베이스 내 테이블 간 어떻게 연결되었는지 보여준다.

SQL (Structured Query Language)

  • 관계형 데이터베이스에서 데이터를 처리, 제어하는 데 사용하는 표준화된 언어
  • 주로 DBMS에서 상호 작용을 위해 설계
  1. 데이터 정의 언어(DDL - Data Definition Language)
    : DB의 구조 정의 및 관리에 사용.
    주요 명령어:
    1. CREATE : DB 객체 생성 (CREATE TABLE, CREATE INDEX 등)
    2. ALTER: DB 객체 수정 (ALTER TABLE 등)
    3. DROP: DB 객체 삭제 (DROP TABLE 등)
    4. TRUNCATE: 테이블의 모든 레코드를 삭제하나, 테이블은 유지
  2. 데이터 처리 언어 (DML - Data Manipulation Language)
    : 데이터 검색, 삽입, 수정, 삭제에 사용.
    주요 명령어:
    1. SELECT: DB에서 정보 검색
    2. INSERT : 새로운 이터를 테이블에 삽입
    3. UPDATE: 테이블의 기존 데이터 수정
    4. DELETE: 테이블에서 데이터 삭제
  3. 데이터 제어 언어(DCL - Data Control Language)
    : 데이터베이스에 대한 액세스 제어에 사용.
    주요 명령어:
    1. GRANT:
    2. REVOKE
profile
https://readyoun.tistory.com/

0개의 댓글