본문 바로가기
목차훔치기/면접을 위한 CS 전공지식 노트

관계형 데이터베이스(면접을 위한 CS 전공지식 노트)

by 해삼2 2023. 10. 9.
728x90
반응형
관계형 데이터베이스

관계형 데이터베이스

관계형 데이터베이스(Relational Database)는 데이터를 테이블 형태로 구조화하여 저장하고, 

이러한 테이블 간의 관계를 사용하여 데이터를 관리하는 데이터베이스 유형입니다. 

러한 데이터베이스는 테이블, 행, 열, 인덱스 및 관계를 사용하여 데이터를 구성하고,

SQL(Structured Query Language)을 사용하여 데이터 검색, 삽입, 갱신 및 삭제 작업을 수행합니다.

 

관계형 데이터베이스 주요 특징과 구성 요소

테이블(Table): 

관계형 데이터베이스의 기본 데이터 저장 단위입니다. 

테이블은 열(Column)의 집합으로 이루어지며, 각 행(Row)은 레코드 또는 튜플로서 데이터를 나타냅니다. 

예를 들어, 고객 정보를 저장하는 테이블은 고객 이름, 주소, 전화번호 등의 열로 구성됩니다.

열(Column): 

테이블에서 데이터의 유형을 정의하는 열입니다. 

각 열은 특정 데이터 유형(문자열, 숫자, 날짜 등)을 가지며, 해당 열에 저장될 데이터의 

제약 조건(예: 고유성, 외래 키 등)을 설정할 수 있습니다.

행(Row): 

테이블에서 각 레코드를 나타내는 행입니다. 

각 행은 테이블에 저장된 데이터의 인스턴스이며, 각 열에 해당 행의 값을 포함합니다.

키(Key): 

관계형 데이터베이스에서 데이터 검색 및 관리를 위해 사용되는 유니크한 식별자입니다. 

주요 키(Primary Key)는 각 행을 고유하게 식별하며, 외래 키(Foreign Key)는 

다른 테이블과의 관계를 설정하는 데 사용됩니다.

관계(Relationship): 

여러 테이블 간의 관계를 정의하는 데 사용됩니다. 

예를 들어, 주문 테이블과 고객 테이블 사이에는 "주문자"와 "주문 대상" 사이의 관계가 있을 수 있습니다. 

이러한 관계는 외래 키를 통해 설정됩니다.

SQL(Structured Query Language): 

관계형 데이터베이스와 상호 작용하기 위한 표준화된 질의 언어입니다. 

SQL을 사용하여 데이터 검색, 추가, 수정 및 삭제 작업을 수행할 수 있습니다.

인덱스(Index): 

데이터베이스의 성능을 향상하기 위해 사용되는 데이터 구조입니다. 

인덱스를 사용하면 데이터 검색 속도가 향상되며, 주로 WHERE 조건과 함께 사용됩니다.

트랜잭션(Transaction): 

데이터베이스 작업을 원자적으로 처리하기 위한 단위입니다. 

트랜잭션은 데이터베이스에서 일련의 작업을 수행하고, 

이러한 작업이 모두 성공하거나 모두 실패할 때만 데이터베이스에 영향을 미치도록 보장합니다.

관계형 데이터베이스는 정형 데이터(구조화된 데이터)를 효과적으로 저장하고 관리하는 데 

매우 효과적이며, 비즈니스 애플리케이션, 웹 애플리케이션, 데이터 웨어하우스, 엔터프라이즈 솔루션 등 

다양한 분야에서 사용됩니다. 

러한 데이터베이스는 데이터 무결성과 일관성을 유지하고 복잡한 쿼리 및 조인 연산을 지원하는 데 

강점을 가지고 있습니다.

 

관계형 데이터베이스의 사용

정형 데이터 저장: 

데이터가 엄격하게 구조화되어 있고, 데이터 모델이 고정적인 경우 관계형 데이터베이스를 

사용하는 것이 적합합니다. 

예를 들어, 고객 정보, 주문 내역, 재고 관리와 같이 데이터가 명확하게 정의되어 있는 경우입니다.

복잡한 쿼리와 조인: 

데이터 간의 복잡한 관계와 다양한 쿼리 작업이 필요한 경우 

관계형 데이터베이스가 강력한 기능을 제공합니다. 

여러 테이블 간의 조인 연산을 사용하여 데이터를 결합하고 필요한 정보를 추출할 수 있습니다.

데이터 무결성과 일관성: 

데이터베이스 내의 데이터 무결성을 유지하고 일관성을 보장해야 하는 상황에서 관계형 데이터베이스는 

트랜잭션 처리 및 제약 조건(고유성, 외래 키 등)을 통해 데이터의 무결성을 보호합니다.

스키마 변경이 드물거나 예측 가능한 경우: 

데이터 스키마(테이블 및 열 정의)가 자주 변경되지 않거나 

변경이 예측 가능한 경우 관계형 데이터베이스를 사용하는 것이 효율적입니다.

비즈니스 애플리케이션: 

대부분의 기업 애플리케이션 및 ERP(Enterprise Resource Planning) 시스템은 관계형 데이터베이스를 

백엔드로 사용합니다.

 

관계형 데이터베이스 자세히 알기!!

상황: 

해성은 온라인 서점을 운영하는 사업가입니다. 

그는 고객 정보, 주문 내역, 책 재고 정보 등을 체계적으로 관리해야 합니다. 

해성은 다음과 같은 상황에서 관계형 데이터베이스를 사용합니다.

사용 사례:
고객 정보를 저장하는 "고객" 테이블: 이름, 주소, 이메일 주소, 전화번호 등의 정보가 열로 구성됩니다.
주문 내역을 저장하는 "주문" 테이블: 주문 번호, 주문일, 결제 정보 등의 정보가 열로 구성됩니다.
각 주문과 책 정보 간의 관계를 설정하기 위한 외래 키 사용.
재고 관리를 위한 "재고" 테이블: 각 책의 재고 수량과 가격 정보를 저장.
SQL을 사용하여 주문 내역 검색, 주문 처리, 재고 관리 등의 작업 수행.
해성은 이 관계형 데이터베이스를 사용하여 고객 정보를 관리하고 주문 처리를 수행하며, 

책 재고를 관리합니다. 

이를 통해 데이터 무결성과 일관성을 유지하고 비즈니스를 효율적으로 운영할 수 있습니다.

 

 

*바쁜 사람을 위한 깜찍한 정리

관계형 데이터베이스란 데이터를 테이블 형태로 구조화하여 저장하고, 테이블 간의 관계를 사용하여 데이터를 관리하는 데이터베이스 유형입니다. 관계형 데이터베이스는 주로 다음 상황에서 사용됩니다: 복잡한 쿼리와 조인이 필요한 경우 다양한 데이터 간의 관계를 관리해야 할 때 비즈니스 애플리케이션 및 기업 데이터베이스 시스템에서 많이 사용됩니다. 즉, 관계형 데이터베이스는 예를 들어 각 회사 직원의 정보를 구조화하여 저장하고, 각 직원이 어떤 부서에 속하고 어떤 직책과 직급을 가지는지 파악하기 위해 사용됩니다. 이러한 데이터베이스는 데이터 무결성과 일관성을 유지하며 데이터를 효율적으로 관리할 수 있는 강력한 도구입니다.
728x90
반응형