SQL(Structured Query Language)

By | 2017-12-25
  1. DB 설치 : 오토셋 설치( http://autoset.net/xe/ )
  2. 실습용 파일
    1. 수업용 소스 파일
    2. 엑셀 파일
  3. DDL(Data Definition Language)
    1. 정의 : 스키마,  도메인, 테이블, 뷰, 인덱스를 정의하거나 변경 또는 제거할 때 사용
    2. 유형
      1. CREATE
      2. ALTER
      3. DROP
    3. CREATE TABLE
    4. ALTER TABLE
    5. DROP TABLE
    6. CREATE VIEW

      1. 뷰(VIEW) : 하나 이상의 기본 테이블로 부터 유도되는 이름을 갖는 가상테이블
      2. 학생 테이블에서 성별이 ‘남’인 학생들을 ‘남학생’이란 이름의 뷰로 생성
    7. DROP VIEW
    8. CREATE INDEX

      1. 인덱스(INDEX) : 검색을 빠르게 하기 위해 만든 보조적인 데이터 구조
      2. MySql의 information_schema DB의 INNODB_SYS_INDEXES 테이블에 추가된다.
    9. CREATE TRIGGER

      1. 트리거(TRIGGER) : 데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때 마다 자동적으로 수행되는 사용자 정의 프로시저
      2. 새로운 레코드가 삽입되기 전 학년에 값이 없다면 학년을 ‘신입생’으로 바꾸어 입력
  4. DML(Data Manipulation Language)
    1. 정의 : 데이터베이스 사용자가 질의어를 통해 저장된 데이터를 실질적으로 관리하는데 사용
    2. 유형
      1. INSERT
      2. DELETE
      3. UPDATE
    3. INSERT 문
    4. DELETE 문
    5. UPDATE 문
  5. SELECT 문
    1. 일반형식
    2. 그룹 검색
      1. 예제1
      2. 예제2
    3. 하위 질의
    4. 복수 테이블 검색

      1. 양쪽 테이블에 이름이 같은 레코드만 검색됨
      2. WHERE를 이용한 INNER JOIN의 한 방법
    5. 통합(UNION) 검색
    6.  연산자
      1. 비교 연산자 :  =    <>     >    <    >=   <=
      2. 논리 연산자 : AND   OR   NOT
      3. LIKE 연산자 : *  %      ?  _      #
      4. 연산자 우선 순위 : 산술 연산자 > 관계 연산자 > 논리 연산자
    7. 그룹 함수
      1. COUNT(속성명) :
      2. MAX(속성명) :
      3. MIN(속성명) :
      4. SUM(속성명) :
      5. AVG(속성명) :
  6. JOIN
    1. INNER JOIN : 2개의 테이블에 대해 연관된 튜플을 결합하여 조건에 맞는 것만 반환

      1. WHERE 이용
      2. NATURAL JOIN 이용
      3. JOIN ~ USING 이용
    2. OUTER JOIN : 조건에 맞지 않는 것도 반환

      1. LEFT OUTER JOIN
      2. RIGHT OUTER JOIN
      3. FULL OUTER JOIN : MySql은 지원하지 않음
    3. SELF JOIN : 같은 테이블을 연결

      1. WHERE 이용
      2. JOIN 이용
  7. DCL(Data Control Language)
    1. 데이터의 보안, 무결성, 회복, 병행 제어 등을 정의하는데 사용하는 언어
    2. 데이터베이스 관리자(DBA)가 데이터 관리를 목적으로 사용
    3. 유형
      1. COMMIT : 조작 작업을 영구적으로 반영하여 완료
      2. ROLLBACK : 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복귀
      3. GRANT : 사용자에게 사원 권한 부여
      4. REVOKE : 사용자에게 사원 권한 취소
  8. 실습 : [사원], [여가활동] 테이블을 만들어 아래 표의 값을 저장하시오.
    1. [사원] 테이블
      이름 부서 생일 주소 기본급
      홍길동 기획 04/04/61 효자동 120
      임꺽정 인터넷 10/09/69 석사동 80
      황진이 편집 07/21/75 후평동 100
      김선달 편집 10/22/73 효자동 90
      성춘향 기획 02/20/64 후평동 100
      장길산 편집 03/11/67 고잔동 120
      일지매 기획 04/29/78 원곡동 110
      강호동 인터넷 12/11/80 90
    2. [여가활동] 테이블
      이름 취미 경력
      김설달 당구 10
      성춘향 나이트댄스 5
      일지매 택견 15
      임꺽정 씨름 8