320x100
320x100

데이터베이스 (Database)

- 데이터를 전산상에 저장하고 원하는 때에 사용할 수 있는 데이터의 집합체

 

 

- 데이터베이스의 필요성

 : 데이터 종속성 해소 (플랫폼에 상관없이 데이터 접근 가능) 

 : 일관성 유지 (데이터의 동일성을 유지하기 위해 중복을 최소화)

 : 보안성 (모든 데이터에 대한 동일한 수준의 보안 유지)

 : 경제성 (저장되는 공간에 대한 비용 절감)

 : 무결성 (데이터의 정확성을 유지)

※ 무결성

 =데이터의 정확성, 일관성, 유효성을 유지하는 것

 

 

- 종류

 : 계층형 데이터베이스

 : 망형 데이터베이스

 : 관계형 데이터베이스

 : 객체지향 데이터베이스

 : 객체관계형 데이터베이스

 : No-SQL 데이터베이스

 

 

 

 

SQL (Structured Query Language)

- 데이터베이스에 저장된 데이터를 조회, 입력, 수정, 삭제하는 등의 조작이나

  테이블을 비롯한 다양한 객체(시퀀스, 인덱스 등)을 생성 및 제어하기 위한 언어

=> 데이터베이스를 관리하기 위한 명령어 

 

- Query (질의)

 : 대부분의 데이터베이스를 관리하기 위한 명령어

 

 

 

 

 

 

 

 

 

 

데이터베이스의 종류

계층형 데이터베이스

- 구조

 : 트리구조, 계층구조, 1대N 관계

 

- 특징

 : 가장 오래된 방식

 : 각 계층이 물리적인 포인터로 연결되어 있으며 종속적 관계를 지님

 

- 장점

 : 데이터가 부모, 자식의 형태로 연결되어 있어 대용량 데이터 처리에 용이

 : 데이터의 무결성이 우수함

 

- 대표적인 DBMS

 : IMS 

 

 

 

 

망형 데이터베이스

- 구조

 : 그물형 구조, N대N 관계

 : 계층형 트리를 확장한 형태

 

- 장점

 : 계층구조에 링크라는 개념을 추가하여 유연성과 접근성이 우수함

 : 데이터 추출이 빠르고 효과적

 

- 단점

 : 유지 및 보수 비용이 많이 듦

 : 프로그램 작성시 프로그램의 구조를 이해해야만 작성가능

 : 구조  변경시 이를  참조했던 모든 응용 프로그램에 대한 수정 필요

 

- 대표적인 DBMS

 : DBTG, EDBS, TOTAL

 

 

 

 

관계형 데이터베이스

- 구조

 : 테이블 구조 (행렬)

 

- 장점

 : 현재 현업에서 사용중인 대부분의 DBMS에서 채택한 방식으로 범용성과 성능이 높음

 : 데이터의 일관성을 보증

 : 정규화에 따른 갱신비용 최소화

 : 다른 DB로의 변환이 용이하고 간결하며 판독이 쉬움

 : 구조적인 독립성

 : 유연한 질의(Query) 능력

 : 물리적 구조의 특성으로부터 자유로워 데이터베이스 설계시 용이

 

- 단점

 : 데이터 속성의 확장이 어려움

 : 대량의 데이터 입력처리가 필요

 : 갱신이 발생한 테이블의 인덱스 생성 및 스키마의 변경 필요

 : 하드웨어와 운영체제의 오버헤드가 발생 우려로 인한 성능저하 

 

- 대표적인 DBMS

 : Oracle, MySQL, MsSQL, SQLite, MariaDB, SYBASE, DB2

 

 

 

 

객체지향 데이터베이스

- 구조

 : 객체 / 클래스 / 메소드 / 상속

 

- 장점

 : 복잡한 객체구조를 효과적으로 관리

 : 오디오 및 비디오와 같은 비정형 데이터 지원

 : 중첩 객체를 지원

 : 장시간 트랜잭션 처리 및 버전관리 가능

 : 복잡한 객체의 생성, 조회, 삭제가 용이함

 

- 단점

 : 데이터베이스의 기본 기능 제공 미흡

 : 데이터 모델의 논리적 / 물리적 복잡성

 : 저장공간의 낭비 및 성능저하 유발

 : 기존 데이터베이스와의 미흡한 호환성 (SQL 미지원)

 : 질의 최적화의 복잡성

 

- 대표적인 DBMS

 : Objectivity, O2, Versant, Ontos, Gemstone

 

 

 

 

객체관계형 데이터베이스

- 구조

 : 관계형 + 객체지향형

 : 사용자 정의 타입, 참조 타입, 중첩 테이블, 객체간의 상속관계 지원

 

- 장점

 : 관계형 데이터베이스와 객체지향 데이터베이스의 장점을 모두 가짐

 : 복잡한 데이터 모델 지원

 : 빈번한 동일 객체 접근에 대한 빠른 접근을 제공 

 

- 단점

 : 효율적인 질의 처리 미비

 : 표준제정의 지연으로 인한 혼란스러운 관련기술의 상태

 

- 대표적인 DBMS

 : Unsql, Object Store

 

 

 

 

No-SQL 데이터베이스

- 구조

 : 키 / 값

 

- 특징

 : 관계형 데이터베이스 다음으로 많이 사용되며 최근 사용이 늘고 있는 데이터베이스 형태

 : 키를 이용하여 데이터를 접근하고 관리

 : SQL을 거의 사용하지 않음

 

- 장점

 : 반정형화 ,비정형화된 데이터에 적합

 : 대용량 데이터 처리에 용이

 : 데이터 분산처리가 가능

 : 클라우드 컴퓨팅에 용이

 : 빠른 읽기 및 쓰기속도

 : 유연한 데이터 모델링

 : 많은 서버로의 확장 가능

 : 가변적인 구조로 데이터 저장 가능

 

- 단점

 : 다양하고 복잡한 데이터질의 불가

 : 데이터의 일관성이 보장되지 않음

 : 높은 학습수준을 요구

 : 데이터 모델링의 어려움

 : 관계형 데이터베이스에 비해 보안에 취약

 

- 대표적인 DBMS

 : 문서지향

 ㆍMongoDB

 ㆍIBM Domino

 ㆍCouchDB

 

: key-Value

 ㆍOracle NoSQL Database, Apache Ignite, Dynamo

 

: Graph

 ㆍNeo4j

 

 

 

300x250
728x90