본문 바로가기

IT 용어 정리

SQL/DBMS/RDBMS/NoSQL

반응형

 

SQL 정의

Structured Query Language 의 약자이다.

DB서버에 *CRUD 명령어를 보내 시스템의 정보를 DB 서버에 영구 보관한다.

SQL문법은 DB 서버 제품마다 다르기 때문에 유지보수를 위해서

가능하다면 표준 AQL인 ANSI SQL을 사용하는 것이 좋다. 

(*CRUD: Create(생성), Read(읽기), Update(갱신), Delete(삭제))

 

데이터베이스 시스템에서 자료를 처리하는 용도로 사용되는 구조적 데이터 질의 언어.

어느 데이터베이스에서나 기본적으로 제공하기에 배워두면 여러 곳에서 쓸데가 많다.

SQL 기능

 

1. 데이터 조회

    데이터베이스에서 원하는 데이터를 조회할 수 있다.

    SELECT 문을 사용하여 데이터를 조회한다.

 

2. 데이터 삽입, 삭제, 수정

    데이터베이스에 데이터를 삽입, 삭제, 수정할 수 있다.

    INSERT, DELETE, UPDATE 문을 사용하여 데이터를 조작한다.

 

3. 데이터베이스 생성, 수정, 삭제

    데이터베이스를 생성, 수정, 삭제할 수 있다.

    CREATE, ALTER, DROP 문을 사용하여 데이터베이스를 관리한다.

 

SQL 개발자 TASK

 

1. 데이터베이스 설계

    데이터베이스의 구조와 특성을 파악하고, 데이터베이스를 설계한다.

    데이터베이스 설계에는 데이터의 종류, 데이터의 관계, 데이터의 저장 방식 등을 고려해야 한다.

 

2. SQL 작성

    데이터베이스를 데이터를 조작하고 관리하기 위해 SQL을 작성한다.

    SQL을 ㅈ가성하여 데이터를 조회, 삽입, 삭제, 수정 등의 작업을 수행한다.

 

3. 데이터베이스 관리

    데이터베이스의 성능을 모니터링하고, 데이터베이스의 장애를 예방하고 복구한다.

    데이터베이스의 보안을 유지하고 사용자의 권한을 관리한다.

 

DBMS 정의

 

데이터베이스 관리 시스템.

데이터베이스를 직접 응용 프로그램들이 조작하는 것이 아니라 데이터베이스를 조작하는 별도의 소프트웨어가 있는데 이를 데이터베이스 관리 시스템(DBMS: DataBase Management System)이라 한다. 즉 데이터베이스 관리 시스템이란 데이터베이스를 관리하며 응용 프로그램들이 데이터베이스를 공유하며 사용할 수 있는 환경을 제공하는 소프트웨어다.

 

이런 DBMS는 데이터베이스를 구축하는 틀을 제공하고, 효율적으로 데이터를 검색하고 저장하는 기능을 제공한다. 또한 응용 프로그램들이 데이터베이스에 접근할 수 있는 인터페이스를 제공하고, 장애에 대한 복구 기능, 사용자 권한에 따른 보안성 유지 기능 등을 제공한다. 대표적인 DBMS는 오라클, 인포믹스, 액세스 등이 있다.

 

DBMS 종류

 

1. RDBMS(Relational Database Management System)

    RDBMS는 관계형 데이터베이스 관리 시스템으로, 데이터를 테이블 형태로 저장하고 SQL(Structured Query Language)을 사용해 관리한다. 테이블 간의 관계를 표현하고 정규화를 통해 데이터 중복을 최소화 한다.

 

    ㄴ장점: 데이터 일관성, 무결성, 보안, 안정성 등을 보장할 수 있다.

                 데이터 모델링이 가능하므로 데이터구조를 명확히 파악하고 설계할 수 있다.

                 SQL을 사용하요 복잡한 데이터들을 직관적이고 편리하게 조작이 가능하다.

 

    ㄴ단점: 상대적으로 확장성이 떨어지기에 대량의 데이터를 처리할 경우 성능 이슈 발생 가능,

                 데이터모델링이 복잡하고, 긴 시간이 걸려 초기비용이 높다.

 

 

    1)ORACLE 오라클 데이터베이스

     DBMS 중 가장 유명한 프로그램으로 오라클에서 만든 오라클 데이터베이스를 들 수 있다.

     전세계 데이터베이스 시장을 주름잡는 오라클사가 만든 프로그램답게

     가장 높은 기술력과 안정성을 보여주지만 유료라는 단점.

 

    2)MySQL 마이에스큐엘

      한 때 오라클 데이터베이스의 대항마로 데이터베이스 시장을 양분하였으며,

      오픈소스라는 장점 덕분에 현재도 국내에서 많이 사용중이다.

      그러나 모회사인 썬마이크로시스템사가 오라클에 인수되면서 찬밥신세가 되었다.

 

    3)MariaDB 마리아디비

       MySQL이 오라클에 인수되면서 서비스가 개판이 되자 이에 반발하여

      기존 개발자들이 독립하여 만든 것으로 오픈소스 기반의 DBMS다.

 

    4)MS SQL 엠에스에스큐엘

       MS에서 만든 DBMS로 ASP, ASP.NET과 연동하여 사용한다.

 

2. NOSQL

    관계형 데이터베이스의 한계를 극복하기 위해 개발된 비관계형 데이터베이스이다.

    데이터를 JSON, XML 등의 형식으로 저장하며, 분산처리를 위해 여러 노드에 데이터를 분산한다.

 

    ㄴ장점

        대규모의 데이터를 처리할 때 높은 성능과 확장성을 보장한다.

        스키마를 미리 정의하지 않아, 데이터 구조를 명확히 파악하지 않아도 되므로 유연하게 데이터를 관리할 수 있다.

 

    ㄴ단점

        데이터모델링이 유연하지만 데이터 불일치 문제 발생할 수 있다. 데이터의 일관성과 무결성을 보장하기 어렵다.

        또한 사용법이 비슷한 RDBMS SQL에 익숙한 개발자들에게 NOSQL은 배우는 데 시간이 걸릴 수 있다.

 

     MongoDB

     기존의 관계 기반의 RDBMS가 아닌 NoSQL 계열의 DBMS로 SQL을 사용하지 않는다.

 

 

RDBMS 관계형 데이터베이스 관리 시스템

2개 이상의 데이터베이스 또는 테이블을 연결하기 위해 고유한 식별자를 사용하는 데이터베이스로서,

각각의 항목과 그 속성이 다른 모든 항목 및 그의 속성과 연결될 수 있도록 구성된 자료 구조.

자료가 다중 연결되어 있어 각각의 다른 필드들과 연결되도록 하는 강력하고 유연성 있는 데이터베이스의 종류.

보통 관계형 질의(Query)는 하나 이상의 필드에 특정 조건을 주어 그것을 만족하는 레코드를 찾게 한다.

 

RDBMS 종류

 

반응형

'IT 용어 정리' 카테고리의 다른 글

CDN  (0) 2024.01.17
ssl과 tls, CA 인증기관  (0) 2024.01.13
http와 https의 차이  (0) 2024.01.13