티스토리 뷰

SQL

데이터베이스 DBMS / RDBMS 및 SQL

코린이도이 2021. 6. 12. 15:34

데이터베이스

  • 대량의 정보를 컴퓨터가 효율적으로 접근할 수 있도록 가공 및 저장한 것을 데이터베이스라고 한다.
  • 데이터베이스를 관리하기 위한 컴퓨터 시스템을 데이터베이스 관리시스템(DBMS)라고 한다.
  • DBMS를 사용함으로써 대량의 데이터를 다수의 사람이 안전하고 쉽게 다룰 수 있다.
  • 데이터베이스에는 다양한 종류(계층형, NETWORK형, 관계형, 객체형, NoSQL, NewSQL)가 있다.

DBMS

  • 데이터베이스를 관리하는 시스템이다.
  • 사용자와 DB사이에서 사용자의 요구에 따라 데이터를 생성해주고 DB를 관리해주는 소프트웨어이다.
  • DBMS는 데이터를 계층 또는 탐색 형식으로 저장한다. 파일 시스템을 사용해 저장하며 따라서 테이블 간에는 아무런 관계가 없다.
  • 데이터에 대한 많은 보안을 제공하지 않으며 정규화를 수행할 수 없어 데이터는 높은 중복성을 가질 수도 있다.
  • 예) Sybase, dbase, Microsoft Access

RDBMS

  • RDB를 생성하고 수정하고 관리할 수 있는 소프트웨어이다.
  • 관계형 모델을 기반으로 하는 DBMS 유형이다.
  • RDBMS의 테이블은 서로 연관되어 있어 일반 DBMS보다 효율적으로 데이터를 저장, 구성 및 관리할 수 있다.
  • 정규화를 통해 데이터의 중복성을 최소화하며 트랜잭션을 수행하는 것이 더 쉽다.
  • 데이터의 원자성, 일관성, 격리 및 내구성을 유지하며 데이터 무결성을 높인다.
  • 예) MSSQL, MySQL, Oracle

SQL(Structured Query Language)

  • 관계형 데이터베이스를 제어하기 위한 언어
  • SQL에는 ISO에서 정한 표준 규격이 있어서 이 규격을 따르는 SQL을 표준 SQL이라고 하지만 실제로 RDBMS 회사마다 차이가 있다.
  • SQL에서는 처리하고 싶은 내용을 하나의 구문(SQL)으로 기술하고, RDBMS에 전송한다.
원칙적으로는 하나의 SQL문장 끝에는 구분자 세미콜론(;)을 붙여야 한다. 단, RDBMS의 다양한 SQL Editor에서 구분자를 붙이지 않아도 실행될 수 있게 해주기도 한다.

 

1. DBMS특징

  • 실시간 접근성(real time accessibility)
    데이터베이스는 실시간으로 서비스된다. 사용자가 데이터를 요청하면 몇 시간이나 몇 일 뒤에 결과를 전송하는 것이 아니라 수 초 내에 결과를 서비스한다.
  • 계속적인 변화(continuous change)
    데이터베이스에 저장된 내용은 어느 한 순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 변경된다. 데이터베이스는 삽입(insert), 삭제(delete), 수정(update) 등의 작업을 통하여 바뀐 데이터 값을 저장한다.
  • 동시 공유(concurrent sharing)
    데이터베이스는 서로 다른 업무 또는 여러 사용자에게 동시에 공유된다.
  • 내용에 따른 참조(reference by content)
    데이터베이스에 저장된 데이터는 데이터의 물리적인 위치가 아니라 데이터 값에 따라 참조된다.

2. DBMS 장점

  • 데이터를 통합하여 관리하여 데이터의 중복관리를 최소화한다.
  • 한번 저장된 데이터를 여러 가지 형태로 표현 가능하도록 한다.
  • 데이터 불일치나 모순성을 해결하여 데이터 일관성을 유지할 수 있다.
  • 입력이나 수정 시 다양한 무결성 처리를 자동으로 검증할 수 있다.
  • 많은 부분을 DBMS가 지원함으로써 데이터 수집, 분석, 처리가 용이하다.
  • 중앙집중식 관리로 일률적인 보안관리가 가능하다.

3. RDBMS 특징

  • 일상생활에서 데이터를 정리하여 표현할 때, 흔히 표와 같은 방법을 사용하게 되는데, 관계형 데이터베이스는 이 "표"의 개념을 사용해서 데이터를 구성하는 방법을 사용하고 있다. 이것을 테이블(Table)이라고 부른다.
  • 예를 들어 고객들의 주소와 전화번호를 정리할 때, 테이블을 사용한다면, 첫 번째 열(Column)은 이름, 두 번째 열은 주소, 세 번째 열은 전화번호를 써서 나타낼 수 있다.
  • 테이블은 데이터항목을 나타내는 열(Column)한 건의 데이터를 뜻하는 행(Row)으로 구성된다.
  • 데이터 읽기/쓰기는 행(Row)단위로 처리된다.
  • 테이블 데이터가 실제로 저장되는 장소의 구조가 바뀌더라도, 응용프로그램을 변경시킬 필요가 없는 물리적 구조로부터의 독립성을 제공한다.

4. RDBMS 시스템 구성

  • RDBMS를 사용할 때 가장 일반적인 시스템 구성이 클라이언트-서버형(C/S형)이다.
  • 서버(Server)란 다른 프로그램으로부터 요청을 받아서 해당 요청에 따라 처리를 하는 프로그램 또는 프로그램이 설치된 장비(컴퓨터)를 의미한다.
  • RDBMS도 서버의 일종으로 데이터베이스 데이터를 꺼내서 반환하거나 데이터 변경작업을 수행한다.
  • 클라이언트(Client)란 서버에 요청을 보내는 프로그램 또는 해당 프로그램이 설치된 장비(컴퓨터)를 의미한다.
  • 클라이언트는 어떤 데이터를 보고 싶은지, 데이터를 어떻게 변경하고 싶은지를 SQL문으로 작성해서 서버로 전송한다.
  • 다수의 클라이언트가 동시에 하나의 데이터베이스에 접속해 작업을 수행할 수 있다.

5. SQL 특징

  • 배우고 사용하기 쉬운 언어이다. 개발자들뿐만 아니라 DBA, 일반인(END USER)들도 SQL을 배우고 사용한다.
  • 절차적인 언어가 아니라 선언적 언어이다.
    SQL은 절차적 언어처럼 처리 과정을 일일이 기술할 필요가 없다. 실제 데이터들이 어떻게 처리되는지에 대한 세부적인 과정은 SQL문장을 작성하는 사람은 신경 쓰지 않아도 된다는 장점이 있다.
  • DBMS의 종류에 얽매이지 않고 사용할 수 있는 장점이 있다.
    DBMS의 제품으로는 Oracle, MSSQL, MySQL, SYBASE, DB2등 여러 회사의 제품이 존재하며, 그 구조나 특성면에서 모두 다르지만 표준 SQL문을 적용할 수 있다.

6. SQL 종류

  • SQL은 목적에 따라 DDL, DML, DCL로 분류할 수 있다.
  • DDL(Data Definition Language)
    데이터를 저장하는 데이터베이스 및 테이블, 기타 오브젝트를 생성/변경/삭제하기 위한 것이다.
  • DML(Data Manipulation Language)
    테이블의 행을 검색하거나 변경하기 위한 것이다.
  • DCL(Data Control Language)
    데이터베이스에서 처리한 변경 내용을 확정하거나 취소하기 위한 것이다.
  • 구분 명령문 설   명
    DML SELECT
    INSERT
    UPDATE
    DELETE
    - 데이터베이스에서 데이터를 검색할 때 사용한다.
    - 테이블에서 새 행을 입력한다.
    - 기존 행 변경한다.
    - 행을 제거한다.
    DDL CREATE
    ALTER
    DROP
    RENAME
    TRUNCATE
    - 테이블 등 데이터 구조물(객체)를 생성한다.
    - 객체를 수정할 때 사용한다.
    - 객체 제거시 사용한다.
    - 객체 이름을 변경할 때 사용한다.
    - 객체내의 모든 행을 삭제한다.
    DCL COMMIT
    ROLLBACK
    GRANT
    REVOKE
    - 데이터베이스 변경 내용을 확정(저장)한다.
    - 데이터베이스 변경 내용을 취소한다.
    - 사용자에게 처리 권한을 부여한다.
    - 사용자에게 처리 권한을 제거한다.

'SQL' 카테고리의 다른 글

그룹으로 나누기 (GROUP BY)  (0) 2021.06.21
정렬하기 (order by)  (0) 2021.06.18
검색 조건 지정하기 (WHERE)  (0) 2021.06.17
SELECT 구문  (0) 2021.06.13
테이블 생성하기  (0) 2021.06.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함