Study/강의 메모

SQL(1)

voider 2022. 3. 22. 23:28
  1. SQL(Structured Query Language)은 관계대수에 기초하여 RDBMS의 데이터 관리를 위해 설계된 언어
  2. 1986년 ANSI, 1987년 ISO에서 표준으로 제정
    1. 상용 DBMS 특성에 맞게 국제 표준을 확장한 독자적 버전이 존재
  3. 특징
    1. 비절차적(선언형) 언어, 필요한 데이터만 기술
    2. 인간 언어와 유사하고 간단, 명료함.

SQL 구성

데이터 정의 언어 DDL: Data Definition Language

  • 데이터베이스 내의 객체 생성 및 삭제하고 구조를 조작하는 명령어 집합
  • 데이터가 준수해야 하는 제약조건 기술
  • CREATE, ALTER, DROP 등

데이터 조작 언어 DML: Data Manipulation Language

  • DDL에 의해 정의된 테이블에서 데이터를 조작하는 명령어 집합
  • 데이터에 대한 CRUD 명령 포함
  • INERT, UPDATE, DLETE, SELECT

DDL

개념

  • 데이터베이스 객체를 생성, 삭제 또는 구조를 수정하는 명령어 집합
  • 데이터베이스 객체 종류
    • 데이터 저장 - 테이블, 인덱스, 뷰
    • 데이터 조작 - 트리거, 프로시저, 함수
  • 데이터 정의 명령어 종류
    • CREATE
    • ALTER
    • DROP
    데이터베이스에게 조작하려는 객체가 무엇인지 명확히 지정해야 함.
    • CREATE (or ALTER or DROP) TABLE
    • CREATE (or ALTER or DROP) INDEX
    • CREATE (or ALTER or DROP) VIEW
    • CREATE (or ALTER or DROP) SCHEMA 등
  • 객체

SCHEMA 정의

스키마 = 데이터베이스

  • 한 조직의 데이터베이스 시스템 운영에 필요한 테이블, 인덱스, 뷰 등 데이터베이스 객체 집합을 뜻한다.
  • 스키마 관리 방법
    • Forward Engineer
    • SQL Editor
    • Navigator 패널

스키마 구문 관리 형식

CREATE

CREATE SCHEMA 스키마 이름

DROP

DROP SCHEMA 스키마 이름

정수 데이터 타입

  • TINYINT - 1 바이트 정수 (-128~128)
  • SMALLINT - 2바이트 정수 (-32768~32767)
  • INT- 4바이트 (-20억~20억)
  • BIGINT - 8바이트

실수 데이터 타입

고정 소수형

  • DECIMAL(M, N) - 전체 M 자리, 소수점 이하 N자리 숫자를 지정
  • NUMERIC - DECIMAL과 동일

부동 소수형

  • FLOAT - 4바이트 크기 부동 소수
  • FLOAT(P) - 소수점 이하 P개 자리의 부동 소수
  • DOUBLE - 8바이트 크기 부동 소수형

날짜 및 시간 데이터 타입

날짜 데이터 타입

  • DATE - ‘YYYY-MM-DD’
  • YEAR - ‘YYYY’

시간 데이터 타입

  • TIME - ‘HH:MI:SS’

날짜 및 시간 데이터

  • DATETIME - ‘YYYY-MM-DD HH:MI:SS’
  • TIMESTAMP - 형식은 DATETIME과 같음

문자 데이터 타입

  • CHAR
  • VARCHAR
    • DATABASE라는 여덟자의 영문자를 저장하기 위해 어떤 데이터 타입을 사용해야 할까?
      • CHAR(10)에 저장했을 경우
        • 고정 길이이기 때문에 8개의 문자열이더라도 10개의 공간을 사용함.
      • VARCHAR(10)에 저장했을 경우
        • 딱 8개의 길이만큼의 공간만 사용함.
      언뜻 varchar가 좋아보이지만 검색 성능이 약간 떨어진다는 단점은 있음.
  • TEXT , CLOB 길이가 2~4GB인 가변길이 문자열
  • ENUM- 유한 개 문자열 집합 중 하나의 값을 선택
    • 혈액형 ENUM 등

'Study > 강의 메모' 카테고리의 다른 글

관계형 데이터 모델 수업  (0) 2022.03.15
데이터 모델링 수업  (0) 2022.03.15