05 SQL

데이터베이스 2016. 3. 9. 22:52
  • SQL

    5.1 SQL 개요

    • SQL 개요
      • SQL(Structured Query Language)은 관계 대수에 기초하여 관계형 DB의 데이터를 관리하기 위해 설계된 언어
      • 1986년 ANSI, 1987년 ISO에서 표준으로 제정
      • 특징

        비절차적 언어, 필요한 데이터만 기술

        인간의 언어와 매우 유사하고 간단, 명료

           

    5.2 데이터 정의

    • 데이터 정의 언어(Data Definition Language; DDL)
      • 데이터(테이블 및 인덱스)의 구조를 생성, 수정, 삭제 하는 등의 정의
      • 데이터가 준수해야 하는 제약조건을 기술
    • 데이터 조작 언어(Data Manipulation Language)
      • 데이터를 추가, 수정 및 삭제 등의 명령 포함
      • 데이터베이스로부터 데이터를 검색

           

         

    • 데이터 타입
      • 컬럼이 가질 수 있는 값의 범위, 즉 도메인 결정
      • 기본 데이터형
        • INTEGER: 부호있는 4바이트 2진 정수
        • SMALLINT: 부호있는 2바이트 2진 정수
        • NUMERIC(p [,g]): 부호있는 10진 p자리 정수, g자리 소수
        • FLOAT: 부동 소수점수
        • CHAR(n): n 크기 고정길이 문자열
        • VARCHAR(n): n 크기 가변길이 문자열
        • DATETIME: 년-월-일 시:분:초 형식의 날짜시간
  • 스키마 정의
    • 테이블 생성
      • 새로운 2차원 형태의 테이블을 생성
      • 구문형식

           

           

    • 테이블 수정
      • 테이블에 새로운 컬럼을 추가, 삭제 및 수정하여 구조를 변경
      • 구문형식

       

    • 테이블 제거
      • 테이블을 데이터베이스에서 제거
      • 구문형식

       

       

    5.3 데이터 조작

    • INSERT문
      • 테이블에 새로운 레코드를 삽입
      • 모든 속성 또는 부분 속성에 대한 속성값을 삽입
      • 구문형식

           

    • UPDATE 문
      • 조건을 만족하는 레코드의 특정 컬럼값을 수정
      • 구문형식

           

    • DELETE 문
      • 조건을 만족하는 레코드를 삭제
      • 구문형식

           

    • 기본 SELECT 질의
      • 테이블에서 조건을 만족하는 전체 또는 특정 레코드를 검색
      • 구문형식

    • 복수의 테이블에 대한 SELECT 질의
      • 하나 이상의 테이블에서 정보를 추출
      • 구문형식

    • 집합 연산이 포함된 SELECT 질의
      • 집합 연산을 주어진 두 릴레이션에 적용
      • 두 릴레이션의 스키마가 반드시 동일
      • 집합 연산(A 연산자 B 형식)
        • UNION(합집합): A 또는 B에 존재하는 모든 레코드의 집합
        • INTERSECT(교집합): A 와 B 양쪽 모두에 존재하는 레코드의 집합
        • EXCEPT(차집합): B 릴레이션에는 없고 A 릴레이션에만 존재하는 레코드의 집합

       

    • 집계 함수를 사용한 SELECT 질의
      • 복수의 레코드에 존재하는 특정 컬럼값에 집계 함수를 통해 다양한 계산을 수행할 수 있는 기능
      • 집계 함수의 종류
        • COUNT: 컬럼에 있는 값들의 개수
        • SUM: 컬럼에 있는 값들의 합
        • AVG: 컬럼에 있는 값들의 평균
        • MAX: 컬럼에서 가장 큰 값
        • MIN: 컬럼에서 가장 작은 값

             

    • 그룹 질의
      • 특정 기준으로 레코드를 그룹화하고 각 레코드 그룹에 대해 집계 함수를 적용하는 질의
      • 구문형식

        *주의 - 출력되는 컬럼에 그룹의 기준과 집계함수 이외의 컬럼은 포함될 수 없음

           

    • HAVING 절을 사용한 그룹 질의
      • 레코드를 그룹화하고 집계 함수를 적용한 결과에 조건을 기술
      • 구문 형식

        *주의 - WHERE 절은 레코드에 적용되는 조건을 기술

        HAVING 절은 레코드 그룹에 적용되는 조건을 기술

    • 중첩 질의
      • SELECT 문 내부에서 독립적으로 실행 가능한 또다른 SELECT 문이 내포되어 있는 질의
      • FROM 절에서의 중첩 질의 활용
      • 구문형식

    • WHERE 절에서의 중첩 질의 활용
      • WHERE 절에서의 결과 집합을 활용하여 외부 질의에서 레코드의 출력 여부를 결정
        • IN, NOT IN, EXISTS, NOT EXISTS 사용
      • 구문형식

           

      • 하나 이상의 원본 테이블로부터 유도되어 일반 테이블처럼 조작할 수 있는 가상 테이블
      • 물리적으로 저장되지 않음
      • 구문형식

           

'데이터베이스' 카테고리의 다른 글

07 정규화 II  (0) 2016.03.10
06 정규화 I  (0) 2016.03.10
04 관계형 모델  (0) 2016.03.09
03 데이터베이스 모델링  (0) 2016.03.08
02 데이터베이스  (0) 2016.03.07
Posted by redcode.
,