ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQLD] SQL 개발자 공부하기 Day 11 : DDL
    Study/SQL 2024. 2. 26. 23:29
    728x90
    반응형
    목차
    1. DDL

    1. DDL

     

     

    DDL Data Definition Language

    데이터베이스의 구조를 정의하는 언어이다.

     

     

    (1) 테이블 생성

    데이터베이스를 사용하기 위해서는 테이블을 먼저 생성해야 한다.

    SQL문 설명
    CREATE Table  새로운 테이블을 생성한다.
    ALTER Table 생성된 테이블을 변경한다.
    Drop Table  해당 테이블을 삭제한다.

     

     

    (2) Create Table 구조

     

    1) CREATE Table A : A라는 테이블을 생성하라. ( ) 괄호 사이에 칼럼을 쓰고 마지막은 세미클론으로 끝난다.

    2) 칼럼 정보 : 테이블에 생성되는 칼럼 이름과 데이터 타입을 입력한다.

    3) 데이터 타입 : number는 숫자형 타입, varchar2는 가변 길이 문자열로 지정.

    4) 기본키 : 기본키를 지정할 때 칼럼 옆에 primary key를 입력한다.

     

     

    (3) CASCADE

    CASCADE 옵션은 참조 관계(기본키와 외래키 관계)가 있을 경우 참조되는 데이터를 자동으로 반영할 수 있는 것이다.

     

     

    (4) 테이블 변경

    ALTER Table을 통해 테이블을 변경할 수 있다.

    테이블명 변경, 칼럼 추가, 삭제 등을 할 수 있다.

    반응형

     

    [ 테이블명 변경 ]

    ALTER Table EMP
    RENAME TO NEW_EMP;

     

    EMP 테이블의 테이블명을 NEW_EMP로 변경한다.

     

     


     

    [ 칼럼 추가 ]

    ALTER Table EMP
    ADD (age number(2));

     

     EMP 테이블에 두 자리 숫자까지 저장할 수 있는 age 칼럼을 추가한다.

     

     


     

    [ 칼럼 변경 ]

    ALTER Table EMP
    MODIFY (ename varchar2(40) not null);

     

     EMP 테이블에 ename 칼럼의 길이를 40으로 변경하고 not null 조건을 설정한다.

    칼럼 변경을 통해 데이터 타입을 변경하거나 데이터의 길이를 변경할 수 있다.
    칼럼의 데이터 타입을 변경할 때 기존 데이터가 있는 경우 에러가 발생한다.
    예를 들어, 숫자타입이고 숫자 데이터가 저장되어 있는데 문자형 데이터 타입으로 변경하면 에러가 발생한다.

     

     


     

    [ 칼럼 삭제 ]

    ALTER Table EMP
    DROP COLUMN age;

     

     EMP 테이블의 age 칼럼을 삭제한다.

     

     


     

    [ 칼럼명 변경 ]

    ALTER Table EMP
    RENAME COLUMN ename to new_ename;

     

     EMP 테이블의 ename 칼럼명을 new_ename으로 변경한다.

     

     

     

    (5) 테이블 삭제

     DROP Table을 통해 테이블을 삭제 할 수 있다.

     DROP Table은 테이블의 구조와 데이터를 모두 삭제한다.

     DROP Table에서 CASCADE CONSTRAINT 옵션을 사용할 수 있다.

     

     

    (6) 뷰(View) 생성과 삭제

    View는 테이블로부터 유도된 가상의 테이블이다.

    실제 데이터를 가지고 있지 않고 테이블을 참조해서 원하는 칼럼만을 조회할 수 있게 한다.

    View는 데이터 딕셔너리(Data Dictionary)에 SQL문 형태로 저장하되 실행 시에 참조된다.

    728x90

     

    (7) 뷰(View)의 특징

     참조한 테이블이 변경되면 뷰도 변경된다.

    뷰의 검색은 참조한 테이블과 동일하게 할 수 있지만, 뷰에 대한 입력, 수정 삭제에는 제약이 있다.

    특정 칼럼만 조회시켜서 보안성을 향상시킨다.

    한번 생성된 뷰는 변경할 수 없고 변경을 원하면 삭제 후 재생성해야 한다.

    ALTER문을 사용해서 뷰를 변경할 수 없다.

     

    View 장점

     특정 칼럼만 조회할 수 있기 때문에 보안 기능이 있다.
     데이터 관리가 간단하다.
     SELECT문이 간단해진다.
     하나의 테이블에 여러 개의 뷰를 생성할 수 있다.

     

    View 단점

     독자적인 인덱스를 만들 수 없다.
     삽입, 수정, 삭제 연산이 제약된다.
     데이터 구조를 변경할 수 없다.

     

     


     

    [ View 생성 ]

    CREATE VIEW t_emp AS 
    SELECT * FROM emp;

     

    emp 테이블의 모든 데이터를 조회한 결과를 t_emp라는 뷰를 생성하라.

     

     


     

    [ View 조회 ]

    SELECT * FROM t_emp;

     

    t_emp를 조회한다.

     

     


     

    [ View 삭제 ]

    DROP VIEW t_emp;

     

     t_emp 뷰를 삭제한다.

     

     

     

    728x90
    반응형

    댓글

Designed by Tistory.