DB(Database)
데이터베이스(DB): 데이터의 집합
- 여러 사람이 공유해 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합.
- 즉, 자료 파일들을 조직적으로 통합해 항목의 중복을 없애고 자료를 구조화해 기억시켜 놓은 자료의 집합체
DBMS(Database Management System)
- 파일시스템의 단점을 보완하고 대량의 데이터를 보다 효율적으로 관리하고 운영하기 위해서 사용됨(데이터베이스를 운영하기 위한 시스템)
- 데이터베이스 생성, 조회, 수정, 삭제와 같은 환경과 각종 응용프로그램이 데이터베이스에 접근할 수 있는 인터페이스를 제공하며 복구, 권한 관리와 같은 보안성 기능도 제공
DBMS 또는 DB의 특징
데이터의 무결성 | 데이터베이스 안의 데이터는 오류가 있어서는 안된다. |
데이터의 독립성 | 데이터베이스의 크기를 변경하거나 데이터 파일의 저장소를 변경하더라도 기존에 작성된 응용프로그램은 전혀 영향을 받지 않아야 한다. |
보안 | 데이터베이스 안의 데이터에 아무나 접근할 수 있는 것이 아니라 데이터를 소유한 사람이나 데이터에 접근이 허가된 사람만 접근할 수 있어야 한다. -> 접근할 때도 사용자의 계정에 따라서 다른 권한을 가져야 한다. |
데이터 중복의 최소화 | 동일한 데이터가 여러 개 중복되어 저장되는 것을 방지한다. |
응용 프로그램 제작 및 수정이 쉬워짐 |
데이터베이스를 이용해서 통일된 방식으로 응용 프로그램 작성이 가능해지고, 유지보수 또한 쉬워진다. |
데이터 안정성 향상 | 대부분의 DBMS가 제공하는 백업, 복원 기능을 이용해서 데이터가 깨지는 문제가 발생했을 때 복원 또는 복구할 수 있다. |
DBMS의 분류
계층형 DBMS | 데이터 간의 관계가 트리 형태의 구조. |
부모-자식 관계로 표현되며 1:N으로 구성될 수 있음 | |
구조가 간단하고 구현, 수정, 검색이 쉽지만 N : N 관계 처리가 불가능하고 구조변경이 어려움 | |
ex) IMS(IBM의 Information Management System) | |
네트워크형(망형) DBMS | 계층형 데이터베이스의 단점을 보완해 N : N 구성이 가능한 망 형태의 모델 |
유연성과 접근성이 높지만 구조가 복잡해 유지보수가 어려움 | |
ex) IDMS(Integrated Data Store) | |
관계형 DBMS | 키(key)와 값(value)으로 이루어진 데이터들을 행(Row), 열(Column)로 구성된 테이블 구조로 단순화시킨 모델 SQL(Structured Query Language)를 사용해 데이터 관리 |
데이터 모델링이 간단하지만 비정형 데이터들을 다루거나 실시간 분석에는 적합하지 않음 | |
ex) MySQL, Oracle, Maria DB | |
다른 DBMS에 비해서 업무가 변화될 경우에 쉽게 변화에 순응할 수 있는 구조, 유지보수 측면에서도 편리함 | |
객체지향형 DBMS | 객체지향 프로그래밍 개념에 기반해 만든 데이터 모델 |
비정형 데이터들을 데이터베이스화 하기 위해 만들어진 모델 | |
검색이나 대규모 트랜잭션 처리에서 성능이 떨어지는 단점이 있어 몇몇 특수 전문분야에서만 사용 | |
ex) O2, ONTOS | |
객체관계형 DBMS | 관계형 데이터베이스에 객체 지향 개념을 도입해 만든 데이터베이스 모델 |
객체지향 개념을 지원하는 표준 SQL을 사용할 수 있고, 데이터 타입도 다양하게 추가되었음 | |
ex) UniSQL, Object Store |
DBMS의 종류
Oracle |
Oracle Corporation에서 개발되었고 현재 가장 널리 사용되는 RDBMS이다. |
Oracle Database는 관계형 모델을 객체 관계형 모델로 확장해 복잡한 비즈니스 모델을 관계형 데이터베이스에 저장할 수 있다. | |
MySQL |
MySQL은 오픈 소스이며 무료이고 세계에서 가장 인기있는 DB이다. |
관계형데이터베이스, 서버가 매우 빠르고 안정적이며 확장 가능하고 사용하기 쉽다 | |
SQL Server | Microsoft에서 개발한 SQL Server는 세계에서 가장 널리 사용되는 데이터베이스 중 하나로 C, C++로 작성되어 있고, SQL Microsoft Azure Cloud의 일부이다. |
MariaDB |
MySQL 개발자에 의해 만들어졌으며 오픈 소스를 유지하도록 보장 |
은행에서 웹 사이트에 이르기까지 광범위한 응용프로그램에서 데이터를 구조화된 정보로 변환한다. |
SQL(Structured Ourey Language)
- SQL: DBMS에 데이터를 구축하고 관리하고 활용하기 위해서 사용되는 언어 중 하나
- 관계형 데이터베이스에서 사용하는 표준 질의언어를 말한다.(즉 SQL은 사람과 DBMS가 소통하기 위한 말(언어))
- 사용방법이나 문법이 다른 언어(Java, C C#)보다 단순하다.
- 모든 DBMS에서 사용 가능하다.(다른 시스템으로 이식성이 좋다.)
-> SQL 표준은 서버용, 개인용, 휴대용 장비에서 운영되는 DBMS마다 상호호환성이 뛰어나다.
- 인터프리터(대화식)언어이다.
-> 기존 프로그래밍 언어는 프로그램 작성, 컴파일 및 디버깅, 실행이라는 과정을 거쳐야만 그 결과를 확인할 수 있었지만 SQL은 이와 달리 바로 질의하고 결과를 얻는 식으로 구성되어 있다.
- 분산형 클라이언트/서버 구조이다.
-> SQL은 분산형 구조인 클라이언트/서버 구조를 지원한다. 즉, 클라이언트에서 질의하면 서버에서 그 질의를 받아서 처리한 후, 다시 클라이언트에게 전달하는 구조를 가진다.
- 대소문자를 구별하지 않는다.
'멀티캠퍼스 풀스택 과정 > 데이터베이스' 카테고리의 다른 글
데이터베이스2-2 데이터의 삽입(INSERT), 수정(UPDATE), 삭제(DELETE) (0) | 2022.01.19 |
---|---|
데이터베이스2-1 JDBC로 JAVA와 DB의 연동(SELECT문) (0) | 2022.01.19 |
데이터베이스1-4 내장함수와 그룹함수 (0) | 2022.01.18 |
데이터베이스1-3 기본 명령어와 SELECT문 및 연산자와 기본문제 (4) | 2022.01.16 |
데이터베이스1-2 데이터베이스 모델링과 구조, DBMS 언어(DDL, DML, DCL, TCL) (0) | 2022.01.16 |