ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 테이블 생성 &열의 성질
    Oracle-diary/DDL 2020. 1. 29. 19:11
    요약
    테이블 생성 명령어 정의 데이터 베이스의 구조를 정의한다.
    테이블 종류 데이터 딕셔너리,사용자 정의 테이블
    열의 성질 varchar,char,number
    데이터 넣기 insert into 테이블명(열 이름 ..)
     
     
    ------------------------------------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------------------------------------------------------
     
     
     
    테이블 생성 명령어란?
    =데이터 베이스의 구조를 정의한다.
    DDL(DATA definition language)
    :create
    ------------------------------------------------------------------------------------------------------------------------------------
    테이블의 종류?
    1. 데이터 딕셔너리 <-orcl을 설치하면 존재함
    2. 사용자 정의 테이블 <-
     
    테이블 생성 명령어
    create table table명
    (column명 column성질 ..)
    ex)
    1 CREATE TABLE EMP1
    2 (EMPNO NUMBER(4),
    3 ename varchar2(20),
    4 SAL NUMBER(7,2),
    5* HIREDATE DATE) <TABLE의 열들
     
    테이블이 생성되었습니다.
    ------------------------------------------------------------------------------------------------------------------------------------
    테이블을 구성하는 열의 성질
     
    number(4)의 의미
    4자리 숫자 저장가능하다.
     
    NUMBER(4,2)
    4자리 숫자중 소수점 둘째자리까지 표현할 수 있다.
    CREATE TABLE COPY_EMP
    EMPNO NUMBER(38) 1234 <- 38개까지 들어간다 39개부터는 에러가 난다.
     
    varchar의 종류
    varchar2 <-가변형 문자 타입
    varchar
    char <-고정 문자 타입
     
    ex varchar2(8) -> 8칸이 주어지는데 만약 a,b,c를 넣으면 3칸을 채우고 5칸을 지운다.
    char (8) -> 8칸이 주어지는데 만약 a,b,c를 넣으면 3칸을 채우고 5칸은 비워둔다.
     
    *varchar2와 char 비교
    varchar2는 필요한 공간만 두고 없애서 공간을 줄이는데
    char는 채워지는 것과는 상관없이 주어진 공간을 그대로 두어 공간을 차지한다.
     
    varchar2의 사용은 공간을 효율적으로 쓸 수 있는데 왜 char이 필요한가?
    varchar2는 공간효율적인 측면에서 좋지만 읽어들이는 속도는 떨어진다.
    왜냐하면 2글자를 읽을지 3글자를 읽을지 판단을 하고 나서 읽어야 하기 때문이다.
     
    반면에 char는 공간효율적인면에선 떨어지지만 읽어들이는 속도는 좀더 빠르다.
    왜냐하면 8글자 고정이라 판단할 필요없이 8칸을 일률적으로 읽어 들이기 때문이다.
     
    ex)
    member라는 테이블을 만들고 싶다면
    구성요소
    1.name 2.번호 3. 주민번호 4.핸드폰번호 5.집주소
     
    주민번호에 대해서
    입력을 숫자 or 문자로 해야하는지에 대해서
     
    주민번호는 단순한 숫자조합이 아닌 각각의 의미 조합이다.
     
    주민번호의 구성
     
    생년월일 - 1 동사무소
     
    숫자로 입력하게 되면 000101-1231232 로 하게되면 읽어올때 앞의 0이 사라져 101부터 읽게 된다.
    그렇게 되면 데이터를 읽어올때 앞에 000을 채우고 읽게되어 연산이 느려지게 된다. <-자료형을 어떻게 할지 정하는 것에 대한 중요성 어필
     
    때문에 생년 월일은 문자로 구성해야 한다.
     
    문자 형식에 대해서는 char를 쓰는 것이 좋다.
    왜냐하면 누구나 같은 자릿수를 가지기 때문이다 .
     
     
    주소에 대해서
    varchar2를 써야한다. 주소는 들쭉날쭉하기 때문이다.
     
    *짜고싶은 요소의 성질을 잘 파악해서 어떤 도구를 설정할지 결정해야 한다.
     
    ---------------------------------------------------------------------------------------------------------
    만든 테이블에 데이터 넣기
    insert into 테이블명(구성하는 열 ..)
    insert into copy_emp(empno,ename,job....) <-순서대로 값을 넣을 자신이 없으면 열을 나열하고 values에 값을 넣으면 순서대로 들어간다.
    values (7984,'MILLER','CLERK',7782,SYSDATE,1300,10);
     
    *AUTOCOMMIT 되는 경우 정상종료 ,DDL,DCL

    'Oracle-diary > DDL' 카테고리의 다른 글

    data dictionary와 주석  (0) 2020.01.29
    TABLE생성과 수정  (0) 2020.01.29

    댓글

Designed by Tistory.