Skip to content

Latest commit

 

History

History
103 lines (78 loc) · 5.04 KB

database2.md

File metadata and controls

103 lines (78 loc) · 5.04 KB

데이터베이스2

데이터베이스 종류

  1. 파일 시스템 : 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식이다.

ISAM

자료 내용은 주 저장부 , 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템

VSAM

대형 운영 체계에서 사용되는 파일 관리 시스템

  1. 계층형 데이터베이스 (HDBMS)

    • 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스이다.
    • 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않다.
  2. 망형 데이터베이스 관리 시스템(NDBMS)

    • 데이터의 구조를 네트워크 상의 망상 형태로 논리적으로 표현한 데이터 모델이다.
    • 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡하다는 단점이 있다.
    • IDS, TOTAL , IDMS와 같은 제품이 있다.
  3. 관계형 데이터베이스 관리 시스템(RDBMS)

    • 가장 보편화 된 데이터베이스 관리 시스템이다.
    • 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관 관계를 정리한다.
    • 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이하다.
  4. NoSQL (Not Only SQL)

    • 전통적인 관계형 데이터베이스보다 덜 제한적인 일관성 모델을 이용하고, 빅 데이터와 실시간 웹 애플리케이션 상업적 이용에 쓰인다.

데이터베이스 관리 시스템(DBMS) 특징

  • 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
  • 데이터 일관성 : 삽입 , 삭제 , 갱신 , 생성 후에도 저장된 데이터가 변함없이 일정해야 하는 성질
  • 데이터 회복성 : 장애가 발생하였을 시 특정 상태로 복구되어야 하는 성질
  • 데이터 보안성 : 불법적인 노출,변경,손실로부터 보호되어야 하는 성질
  • 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화 되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족시켜야 하는 성질

데이터베이스 관리 시스템 분류

  1. 시스템 특징별 분류
  • 관계형 데이터베이스

    Oracle , MySQL , MS SQL Server, PostgreSQL , DB2 , Maria DB

  • 문서 저장 DBMS

    Mongo DB , Amazon Dynamo DB , Couchbase, MS Azure cosmos DB

  • 그래프 DBMS

    Neo4j , MS Azure cosmos DB , Orient DB , Arango DB

  • 키값 DBMS

    Redis , Amazon Dynamo DB , Memcached

  1. 상용화 및 오픈소스 기반 분류
  • 상용화 DBMS : 상업적 목적으로나, 판매를 목적으로 생성되는 소프트웨어
  • 오픈소스 기반 DBMS : 누구에겐 공개해 제한 없이 사용할 수 있는 소프트웨어

데이터베이스 관리

데이터베이스 연산

  • CRUD는 데이터베이스가 가지는 기본적인 데이터 처리 기능인 Create(생성) , Read(읽기) , Update(갱신) , Delete(삭제)를 말한다.
기본처리 SQL 설명
Create Insert 테이블 내 컬럼에 데이터를 추가한다.
Read Select 테이블 내 컬럼에 저장된 데이터를 불러온다.
Update Update 테이블 내 컬럼에 저장된 데이터를 수정한다.
Delete Delete 테이블 내 컬럼에 저장된 데이터를 삭제한다.
  1. 데이터 삽입
    • 테이블에서 데이터를 읽기 위해서는 Insert 명령어를 사용한다
INSERT INTO table_name
VALUES(value1 , value2, value3, ...);
  1. 데이터 읽기
    • 테이블에서 데이터를 읽기 위해서는 Select 명령어를 사용한다.
    • Select 다음 * 표기를 사용하면 모든 데이터를 읽어 오고, 컬럼명을 지정하면 특정 컬럼만을 읽어 온다.
SELECT column1 , column2, ...
FROM table_name;
  1. 데이터 갱신
    • 테이블에서 데이터를 갱신하기 위해서는 Update 명령어를 사용한다.
    • where 조건절을 사용하여 업데이트 할 데이터를 특정해야 한다.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
  1. 데이터 삭제

    • 테이블에서 데이털ㄹ 삭제하기 위해서는 Delete 명령어를 사용한다.
    • where 조건절을 사용하여 삭제할 데이터를 특정해야 한다.
  2. 기타 SQL 명령어

    • ALTER DATABASE 명령어를 사용하여 데이터베이스 수정
    • ALTER TABLE 명령어를 사용하여 테이블 구조를 수정한다
    • DROP TABLE 명령어를 사용하여 테이블을 전체 삭제한다.
    • CREATE INDEX 명령어를 사용하여 테이블 내 데이터의 검색 속도를 향상시킬 수 있는 인덱스를 생성한다.
    • 그 외 UNION , GROUP BY 등의 다양한 명령어를 사용한다.