[데이터베이스] 관계형 데이터베이스(Relational DataBase)

김동욱·2023년 5월 8일
0

데이터베이스

목록 보기
1/1
post-thumbnail

관계형 데이터베이스(Relational DataBase)란

관계형 데이터베이스(Relational Database)란 데이터를 테이블(Table)의 형태로 구조화 하여 관리하는 데이터베이스이다. 각각의 테이블은 특정 주제나 카테고리와 관련된 데이터를 저장하며, 여러 개의 테이블을 조합하여 하나의 데이터베이스를 구성한다.

관계형 데이터베이스의 특징

장점

  • 데이터의 분류, 정렬, 탐색 속도가 빠르다.
  • 데이터의 구조를 논리적으로 설계할 수 있다.
  • 데이터의 중복을 최소화할 수 있다.
  • 오랫동안 사용된 만큼 신뢰성이 높고, 데이터의 무결성을 보장할 수 있다.

    데이터의 무결성은 데이터베이스 내의 데이터가 항상 정확하고 유효한 값을 가지는 것을 의미한다. 데이터의 무결성은 주로 데이터베이스의 제약조건을 통해 보장된다.

  • SQL(Structured Query Language)을 이용하여 데이터를 조작하고 검색할 수 있다.

단점

  • 대량의 데이터를 처리할 때 성능이 저하될 수 있다.
  • 유연성이 떨어져서 데이터 구조 변경(스키마를 수정)에 어려움이 있을 수 있다.

RDB의 단점을 보완하는 다양한 기술(샤딩, 레플리케이션)이나 NoSQL 데이터베이스가 존재한다. 따라서 상황에 맞는 기술을 사용하여 발생하는 문제를 해결하는 것이 중요하다.

관계형 데이터베이스 용어

테이블 (Table)

데이터를 저장하는 데 사용되는 2차원 구조의 형식화된 데이터 모음이다. 테이블은 열(Column)과 행(Row)으로 구성되어 있으며, 열은 데이터의 속성을 정의하고, 행은 개별 데이터 레코드를 나타낸다.

열(Column)

테이블의 세로축으로, 테이블에 저장된 데이터의 특성을 나타내는데 사용된다. 열은 각기 고유한 데이터 유형을 가질 수 있다. 열은 필드(field), 속성(attribute)으로 불리기도 한다.

행(Row)

테이블의 가로축으로, 데이터 레코드를 나타낸다. 행은 각기 고유한 기본 키(primary key)를 가질 수 있다. 행은 튜플(tuple), 레코드(record)로 불리기도 한다.

키(key)

  • 후보키(Candidate Key): 유일성과 최소성을 만족하는 열들의 집합이다. 즉, 특정 행을 유일하게 식별하기 위해 반드시 필요한 최소한의 열의 집합이다.
  • 기본키(Primary Key): 후보키 중에서 선택한 하나의 키로, 테이블에서 각 행을 고유하게 식별할 수 있는 유일한 값이다. 기본키는 NULL 값을 가질 수 없으며, 테이블 내에서 중복될 수 없다.
  • 대체키(Alternate Key): 후보키 중에서 기본키로 선택되지 않은 나머지 후보키들을 의미한다.
  • 외래키(Foreign Key): 다른 테이블의 기본키를 참조하는 열로, 참조 무결성을 유지하기 위해 사용된다. 외래키는 다른 테이블의 기본키와 일치해야 하며, 테이블 간의 관계를 표현할 때 많이 사용된다.

관계(relationship)

  • 일대일 관계(One-to-One Relationship)
    두 개의 테이블 간의 일대일 관계는 하나의 테이블의 각 행이 다른 테이블의 한 개의 행과 대응하는 경우이다. 예를 들어, 인적 정보 테이블과 연락처 정보 테이블이 있을 때, 각 인적 정보 행은 연락처 정보 테이블의 한 개의 행과 일치해야 한다.

  • 일대다 관계(One-to-Many Relationship)
    일대다 관계는 한 테이블의 각 행이 다른 테이블에서 여러 개의 행과 대응되는 경우이다. 예를 들어, 부서 테이블과 직원 테이블이 있을 때, 한 부서에 여러 명의 직원이 속할 수 있다.

  • 다대다 관계(Many-to-Many Relationship)
    다대다 관계는 두 개 이상의 테이블 간의 관계로, 한 테이블의 각 행이 다른 테이블의 여러 행과 대응되는 경우이다. 예를 들어, 수강 테이블과 학생 테이블이 있을 때, 한 명의 학생이 여러 개의 과목을 수강할 수 있으며, 각 과목에 여러 명의 학생이 수강할 수 있다.

스키마(schema)

스키마는 데이터베이스에서 사용되는 테이블, 컬럼, 제약조건 등의 구조를 정의하는 개념이다. 즉, 스키마는 데이터베이스의 뼈대를 구성하며, 데이터베이스를 구성하는 테이블, 컬럼, 제약조건 등의 정보가 저장되어 있다.

스키마는 데이터베이스에서 정의되어야 하며, 데이터베이스를 생성할 때 스키마를 먼저 정의한 후, 그 안에 테이블을 생성하고 데이터를 저장한다. 스키마는 데이터베이스의 구조를 명확히 하기 위해 사용되며, 데이터베이스에 저장되는 데이터가 스키마에 정의된 구조에 맞게 저장되도록 보장한다.

profile
안녕하세요! 질문과 피드백은 언제든지 환영입니다:)

0개의 댓글