ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 데이터베이스(Database) 개론
    Full-Stack 2023. 11. 16. 22:23
    반응형
    SMALL

    데이터베이스 란?

    데이터베이스는 체계적으로 구조화된 데이터의 집합(또는 모음)으로, 이러한 데이터는 효율적으로 검색, 저장 및 관리될 수 있도록 설계되어 있습니다. 데이터베이스는 여러 가지 목적으로 사용되며, 주로 다양한 응용 프로그램이나 시스템에서 데이터를 효율적으로 관리하기 위해 활용됩니다.

     

    데이터베이스의 특징.

    1. 구조화된 데이터: 데이터베이스에 저장된 데이터는 특정 형식이나 구조로 정리되어 있습니다. 이는 데이터의 일관성과 효율적인 관리를 가능하게 합니다.
    2. 데이터의 독립성: 데이터베이스는 데이터와 응용 프로그램 간의 독립성을 제공합니다. 이는 데이터의 변경이나 수정이 응용 프로그램에 미치는 영향을 최소화하고, 데이터를 다양한 응용 프로그램에서 공유하거나 재사용할 수 있도록 합니다.
    3. 데이터의 공유 및 동시 접근: 여러 사용자가 동시에 데이터베이스에 접근하고 데이터를 공유할 수 있습니다. 이는 협업과 다양한 작업을 효과적으로 지원합니다.
    4. 데이터의 지속성: 데이터베이스에 저장된 데이터는 시스템이나 응용 프로그램이 종료되더라도 계속해서 유지됩니다. 이는 데이터의 지속적인 보존과 회복을 가능하게 합니다.
    5. 데이터의 무결성: 데이터베이스는 데이터의 무결성을 유지하여 정확하고 일관된 데이터를 유지합니다. 무결성은 데이터베이스 내의 데이터가 정의된 규칙과 제약 조건을 준수하는 것을 의미합니다.
    6. 데이터의 보안: 데이터베이스는 접근 권한을 통해 데이터의 보안을 제어할 수 있습니다. 이는 민감한 정보에 대한 무단 액세스를 방지하는 데 도움이 됩니다.

     

    DBMS 란?

    DBMS는 "Database Management System"의 약어로, 데이터베이스를 효과적으로 관리하고 조작하기 위한 소프트웨어 시스템을 가리킵니다. DBMS는 데이터베이스를 생성, 수정, 관리, 검색하고 사용자에게 필요한 데이터를 제공하는 일련의 프로그램과 도구를 포함합니다. 이것은 데이터베이스와 응용 프로그램 간의 인터페이스 역할을 수행하며, 데이터의 구조, 저장, 검색, 보안, 관리 등 다양한 측면을 관리합니다.

    1. 데이터 정의 언어 (Data Definition Language, DDL): 데이터베이스의 구조를 정의하기 위한 언어로, 테이블, 관계, 제약 조건 등을 정의합니다.
    2. 데이터 조작 언어 (Data Manipulation Language, DML): 데이터를 삽입, 갱신, 삭제 및 조회하기 위한 언어로, 사용자 및 응용 프로그램이 데이터베이스에 접근할 때 사용됩니다.
    3. 데이터 제어 언어 (Data Control Language, DCL): 데이터베이스에 대한 접근 권한을 제어하는 언어로, 사용자에 대한 권한 관리를 담당합니다.
    4. 트랜잭션 관리: 여러 데이터 조작 작업을 논리적으로 묶어서 원자성, 일관성, 고립성, 지속성 (ACID) 등의 트랜잭션 속성을 보장하며, 데이터베이스의 일관성을 유지합니다.
    5. 데이터 보안과 권한 관리: 데이터베이스의 보안을 유지하고 사용자에게 적절한 권한을 부여하여 무단 액세스를 방지합니다.
    6. 데이터 백업과 회복: 데이터의 손실을 방지하기 위해 주기적으로 데이터를 백업하고, 장애 발생 시 데이터를 회복하는 기능을 제공합니다.
    7. 성능 최적화: 데이터베이스 쿼리의 실행 계획을 최적화하고, 인덱스를 효율적으로 사용하여 빠른 데이터 검색을 지원합니다.

    대표적인 관계형 DBMS에는 Oracle, MySQL, Microsoft SQL Server, PostgreSQL 등이 있으며, NoSQL DBMS로는 MongoDB, Cassandra, Redis 등이 있습니다. 각각의 DBMS는 특정한 용도나 요구 사항에 맞게 선택될 수 있습니다.

     

    SQL 이란?

    SQL은 "Structured Query Language"의 약어로, 관계형 데이터베이스에서 데이터를 관리하고 조작하기 위한 표준화된 프로그래밍 언어입니다. SQL은 데이터베이스에서 데이터를 검색, 추가, 수정, 삭제하는 등의 작업을 수행하는 데 사용됩니다. 이 언어는 데이터베이스 관리 시스템(DBMS)과 상호 작용하여 데이터의 구조를 정의하고 조작하는 데에 쓰입니다.

    CREATE TABLE Employees (
        EmployeeID INT PRIMARY KEY,
        FirstName VARCHAR(50),
        LastName VARCHAR(50),
        DepartmentID INT
    );

     

     

    관계형 데이터베이스 란?

    관계형 데이터베이스는 데이터를 테이블이라는 구조로 정리하고 관리하는 데이터베이스 시스템의 한 유형입니다. 이는 관계형 모델에 기반하며, 테이블 간의 관계를 이용하여 데이터를 구성합니다. 이러한 데이터베이스는 일반적으로 SQL(Structured Query Language)을 사용하여 데이터의 정의, 조작, 조회 등을 수행합니다.

    기본적인 구성 요소는 다음과 같습니다:

    1. 테이블 (Table): 데이터를 행과 열의 격자 형태로 표현한 것으로, 각 행은 레코드(Record) 또는 튜플(Tuple)이라 불리고, 각 열은 속성(Attribute)이라고 합니다. 예를 들어, "고객" 테이블은 각 행이 하나의 고객 정보를 나타내며, 열은 해당 고객의 속성(이름, 주소, 전화번호 등)을 나타냅니다.
    2. 열 (Column): 테이블의 각 세로줄을 나타내며, 각 열은 특정한 데이터 유형과 함께 속성을 정의합니다. 예를 들어, "고객" 테이블의 열 중 하나는 "이름"이라는 속성을 가질 수 있습니다.
    3. 행 (Row): 테이블의 각 가로줄을 나타내며, 각 행은 하나의 레코드를 나타냅니다. "고객" 테이블의 각 행은 한 명의 고객에 해당하는 정보를 담고 있습니다.
    4. 키 (Key): 테이블 내에서 각 레코드를 식별하기 위한 열 또는 열의 조합을 나타냅니다. 주요 키(primary key)는 각 레코드를 고유하게 식별하는 데 사용되며, 외래 키(foreign key)는 여러 테이블 간의 관계를 정의하는 데 사용됩니다.
    5. 관계 (Relationship): 여러 테이블 간의 관계를 정의합니다. 예를 들어, "주문" 테이블과 "고객" 테이블 사이에는 주문한 고객을 식별하기 위한 관계가 있을 수 있습니다.

     

     

    데이터베이스 스키마(Schema)란?

    스키마는 관계형 데이터베이스에서 데이터가 구조화되는 방식을 정의합니다. 여기에는 테이블 이름, 필드, 데이터 유형, 그리고 이러한 엔티티 간의 관계 등 논리적 제약조건이 포함됩니다. 일반적으로 스키마는 시각적 표현을 사용하여 데이터베이스의 아키텍처를 전달하며, 조직의 데이터 관리 규율의 기반입니다. 이 데이터베이스 스키마 설계 프로세스를 데이터 모델링이라고도 합니다.

     

    데이터 모델링이란?

    데이터 모델링은 데이터 포인트 간의 연결 관계 및 구조를 알리기 위해 정보 시스템 전체나 그 일부를 시각적으로 표현하는 프로세스입니다. 시스템 내에서 사용되고 저장되는 데이터의 유형, 이 데이터 유형 간의 관계, 데이터를 그룹화하고 조직화하는 방식, 그 형식과 특성을 나타내는 데 그 목적이 있습니다.

    반응형
    LIST

    'Full-Stack' 카테고리의 다른 글

    SQL(Structured Query Language)  (0) 2023.11.17
    docker : step 2) Application 업데이트 하기  (1) 2023.06.03
    docker : step1) Application의 Container를 만들고 실행하기  (0) 2023.06.03
    Introduction  (0) 2023.06.03
    docker Overview  (0) 2023.06.03
Designed by Tistory.