데이터베이스 언어

데이터베이스 사용과 관리가 분리되면서 데이터베이스 언어가 생성되었따.

SQL

Structured Query Language는 관계대수에 기초하여 관계형 데이터베이스의 데이터를 광리하기 위해 설계된 언어

  • 1986년 ANSI, 1987년 ISO에서 표준으로 제정, SQL:2008로 확장
  • 비절자척언어로 필요한 데이터만 기술
  • 사람의 언어와 유사하고 간단명료하다.

⭐️ 1. 데이터 정의 언어(DDL)

1. 개념

  • 데이터베이스 내이 객체를 생성, 삭제하고 그 구조를 조작하느 명령어의 집합

2. 데이터베이스 객체의 종류

  • 데이터 저장 -> table, index, view
  • 데이터 조작 -> trigger, procedure, routine, cursor 등

3. 명령문의 종류

  • 객체 생성 -> CREATE
  • 객체 수정 -> ALTER
  • 객체 삭제 -> DROP

4. 사용법 명령어와 객체를 조합하여 간결하게 DBMS에 명령을 내릴 수 있다. 이미지넣기


⭐️ 2. 데이터 조작 언어(DML)

  • 테이블의 데이터를 조작하는 명령어의 집합
  • INSERT, UPDATE, DELETE, SELECT

3. 데이터 제어 언어(DCL)

  • 사용자 권한 및 접근을 통제하는 명령어의 집합
  • GRANT, REVOKE

데이터 타입

DBMS가 어떠한 디스크에 데이터를 저장하려고할때 모든 데이터는 2진수로 저장이된다. 이때 정확하게 타입을 저장하지않으면 저장시에는 문제가 없으나 DBMS가 데이터를 읽을때 문제가 발생할 수 있다. 그래서 데이터 타입을 설정해주어야한다.

기능

  • 테이블 생성 및 수정시 테이블을 구성하는 컬럼의 이름과 데이터타입을 정의

데이터베이스 객체의 종류

  • 프로그래밍 언어에서의 변수 생성시 사용하는 데이터타입의 사용목적 유사
  • 정수형
  • 소수형: 고정, 부동
  • 문자형: 고정, 가변
  • 날짜 및 시간

1. 정수 데이터 타입

  1. TINYINT
  • 1바이트 정수 (-128 ~ 127)
  • 나이나 학년같은 크기가 작은 정수
  1. SMALLINT
  • 2 바이트 정수(-32768 ~ 32767)
  • 물품번호, 인원 등 중간 크기의 정수
  1. INT
  • 4 바이트의 정수 (약 -20억 ~ 20억)
  • 물품의 금액, 전화번호 등 일반적인 크기의 정수
  1. BIGINT
  • 8 바이트 정수
  • 계좌의 잔고, 길이 등 천문학적인 크기의 정수

2. 실수 데이터 타입

  1. 고정 소수형
  • DECIMAL(M, N)

    • 전체자리 M개, 소수점 이하 자리 N개
    • ex) DECIMAL(5,2) 는 -999.99 ~ 999.99
  • NuMERIC -DECIMAL과 동일하게 사용

  1. 부동 소수형
  • FLOAT
    • 4바이트 크기 부동 소수
  • FLOAT(P)
    • 소수점 이하 P개 자리의 부동 소수
  • DOUBLE
    • 8 바이트 크기의 부동 소수형
  1. 날짜 및 시간 데이터 타입
  • DATE
    • ‘YYYY-MM-DD’ 형식의 시간
  • YEAR
    • ‘YYYY’ 형식의 연도
  • TIME
    • ‘HH:MI:SS’ 형식의 시간
  • DATETIME
    • ‘YYYY-MM-DD HH:MI:SS’ 형식의 날짜 및 시간
  1. 문자 데이터 타입
  • CHAR(N)

    • 최대길이가 N인 고정된 문자열
    • 10 byte 중에 3byte 의 데이터만 들어오더라도 7byte를 함께 저장하고 다음 컬럼값을 저장한다.
  • VARCHAR(N)

    • 10 byte 중에 3byte 의 데이가 들어올 경우 3byte만을 저장하고 다음 컬럼값을 저장한다.
  • TEXT
  • 길이가 긴(최대 2~4GB) 가변길이 문자열(20억~40억자)
  • 인덱스 불가능(내부 문자를 검색시 시간이 오래걸린다)

  • ENUM
  • 유한개의 문자열 집합 중 하나의 값을 선택
  • 성별 - ENUM(‘남’,’여’)
  • CHECK 라는 제약 조건을 사용해서 유사하게 만드는 방법도 있다.

스키마

스키마 = 데이터베이스

  • 한 조직의 데이터베이스 시스테믜 운영에 필요한 테이블, 인덱스, 뷰 등의 데이터베이스 객체의 집합

스키마 생성 및 삭제 방법

  • Forward Engineer
  • SQL 문
  • 네이게이터 패널
-- 스키마 생성
CREATE SCHEMA 스키마명
CREATE DATABASE 스키마명

-- 스키마 삭제
DROP SCHEMA 스키마명
DROP DATABASE 스키마명

카테고리:

업데이트:

댓글남기기