SQL이란?

728x90

안녕하세요! 
지난번 시간에는 MariaDB를 설치해 보았습니다.
오늘은 관계형 데이터베이스 관리시스템을 관리하는 프로그래밍 언어인 SQL(Structured Query Language)에 대하여 알아보도록 하겠습니다.
관계형 데이터베이스, 관계형 데이터베이스 시스템에 대해서 간단하게 알아보겠습니다.

| 관계형 데이터베이스 (relational database | RDB) 
  실무에서 가장 많이 사용하는 데이터베이스
  열(column)과 행(row)으로 구성된 테이블의 형태로 저장하며 고유키(primary key)가 각 행을 식별
  관계형 데이터베이스는 테이블을 분리하고 각 테이블 목적에 맞는 데이터만 저장, 즉 데이터의 중복과 관리 효율성 추구

| 관계형 데이터베이스 관리시스템(relational database mansgement system | RDMBS)
  데이터를 입력, 수정, 삭제하는 등의 다양한 기능을 제공하는 별도의 소프트웨어


두 가지의 차이점을 정리하자면 데이터베이스는 데이터를 담는 통이고 데이터베이스관리 시스템은 이 통을 관리하는 소프트웨어입니다. 

 

| 관계형 데이터베이스 관리시스템(relational database mansgement system | RDMBS) 종류에 따른 SQL

SQL은 개발사마다 다른 명칭을 가집니다. 
개발사마다 표준화 문법인 ANSI SQL을 따르면서도 조금씩 다른 문법이나 명세를 추가한 SQL을 사용합니다.

SQL 명칭 DBMS
ANSI SQL 국제 표준
Oracle PL/SQL
SQL MySQL
Transact-SQL(T-SQL) SQL Server

표준화 문법인 ANSI SQL은 모든 DBMS에서 사용할 수 있습니다.
개발사 마다 약간의 차이가 있을 수 있으나 대부분 형태나 개념이 비슷함으로 한 가지 SQL을 학습하면 
다른 SQL에서도 적응하기 수월합니다.

 

| SQL 문법 종류 3가지


1. 데이터 정의 언어(DDL)
    데이터 정의 언어(data define language | DDL)는 데이터를 정의하는 언어로서
    테이블 스키마를 관리하는 역할을 합니다.
    

  • CRATE : 데이터베이스 또는 테이블 생성
  • ALTER : 테이블 수정
  • DROP : 데이터베이스 또는 테이블 삭제
  • TRUNCATE : 테이블 초기화

 

2. 데이터 조작 언어(DML)
    데이터 조작 언어(data manipulation language | DML)는 데이터를 검색, 입력, 수정, 삭제하며 아래 항목을 포함합니다.
  

  • SELECT : 데이터 검색
  • INSERT : 데이터 입력
  • UPDATE : 데이터 수정
  • DELETE : 테이터 삭제

 

3. 데이터 제어 언어(DCL)
    데이터 제어 언어(data control language | DCL)는 데이터베이스에 접근하거나
    객체에 권한을 부여하는 등의 역할을 합니다. 

  • GRANT : 특정 데이터 베이스 사용자에게 작업 권한을 부여
  • REVOKE : 특정 데이터베이스 사용자에게 부여한 권한을 삭제
  • COMMIT : 트랜잭션 작업을 완료하는 역할
  • ROLLBACK : 트랜잭션 작업을 취소하거나 이전 상태로 복구

 

          | 트랜잭션(Transaction)이란?
            데이터베이스의 상태 변화시키기 위해 수행하는 작업 단위

 

오늘은 SQL에 관하여 알아보았습니다. 다음에는 DDL, DML, DCL 각 문법에 관하여 알아보도록 하겠습니다.
감사합니다!!

728x90
반응형