데이터 베이스(Oracle)

DDL(Data Definition Language)

alsdnr6672 2024. 7. 30. 19:04

DDL:

데이터 정의 언어로 객체(OBJECT)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문을 말함

 

오라클에서의 객체(구조)

테이블(TABLE), 뷰(VIEW), 시퀀스(SEQUENCE), 인덱스(INDEX), 패키지(PACKAGE), 프로시저(PROCEDUAL), 함수(FUNCTION), 트리거(TRIGGER), 동의어(SYNONYM), 사용자(USER)

--테이블 삭제하기 : DROP TABLE 테이블명;

 

 

CREATE : 테이블이나 인덱스, 뷰 등 데이터베이스 객체를 생성하는 구문

CREATE TABLE 테이블명 (                       CREATE TABLE MEMBER(
        컬럼명 자료형(크기),                        MEMBER_ID VARCHAR2(20)
        컬럼명 자료형,                                  MEMBER_PWD VARCHAR2(20),
        컬럼명 자료형,                                  MEMBER_NAME VARCHAR2(20)

자료형
            * 문자 => 반드시 크기 지정을 해줘야 함!
                + CHAR(바이트크기)--중요    : 고정길이 (고정된 길이의 데이터를 담을 경우)
                -> 지정한 길이보다 작은 값이 들어올 경우 공백으로 채워서 저장
                  최대 2000바이트까지 지정 가능
                                       
                + VARCHAR2(바이트크기): 가변길이 (데이터의 길이가 정해져 있지 않는 경우)
                                      -> 저장되는 데이터 길이만큼만 공간 크기가 사용됨
                                      최대 4000바이트까지 지정 가능
            * 숫자 : NUMBER
            * 날짜 : DATE

회원 정보를 저장할 테이블 : MEMBER

 

-회원번호   :숫자(NUMBER)
    -회원아이디  : 문자(VARCHAR2(20))
    -회원비밀번호 :문자(VARCHAR2(20))
    -회원 이름 :문자(VARCHAR2(20))
    -성별 :문자- '남'/'여' (CHAR(3))
    -연락처        (CHAR(13)) 
    -이메일        (VARCHAR2(50))
    -가입일        (DATE)

CREATE TABLE MEMBER(
    MEM_NO NUMBER,
     MEM_ID VARCHAR2(20),
      MEM_PWD VARCHAR2(20),
       MEM_NAME VARCHAR2(20),
       GENDER CHAR(3),
       PHONE CHAR(13),
       EMAIL VARCHAR2(50),
       JOIN_DATE DATE

 

NOT NULL 조건을 추가한 회원 테이블 : MEMBER_NOTNULL

CREATE TABLE MEMBER_NOTULL(
    MEM_NO NUMBER NOT NULL,
     MEM_ID VARCHAR2(20) NOT NULL,
      MEM_PWD VARCHAR2(20) NOT NULL,
       MEM_NAME VARCHAR2(20) NOT NULL,
       GENDER CHAR(3),
       PHONE CHAR(13),
       EMAIL VARCHAR2(50),
       JOIN_DATE DATE

PRIMARY KEY(기본키)
    : 테이블에서 각 행을 식별하기 위해 사용되는 컬럼에 부여하는 제약조건

   * 주의할 점 : 테이블 당 오직 한 개만 설정 가능!

CREATE TABLE MEMBER_PRI(
    MEM_NO NUMBER CONSTRAINT MEMNO_PK PRIMARY KEY,
    MEM_ID VARCHAR2(20) NOT NULL,
    MEM_PWD VARCHAR2(20) NOT NULL,
    MEM_NAME VARCHAR2(20) NOT NULL,
    GENDER CHAR(3) CHECK(GENDER IN ('남', '여')),
    PHONE CHAR(13),
    EMAIL VARCHAR2(50),
    JOIN_DATE DATE,

FOREIGN KEY(외래키)
   : 다른 테이블에 존재하는 값을 저장하고자 할 때 사용되는 제약조건
      -> 다른 테이블을 참조한다고 표현
      -> 주로 외래키를 통해 테이블간의 관계가 형성
    
  - 컬럼레벨방식
    컬럼명 자료형 REFERENCES 참조할테이블명[(참조할 컬럼명)]

 

    - 테이블레벨방식
    FOREIGN KEY(컬럼명) REFERENCES 참조할테이블명[(참조할 컬럼명)]

 

-- MEMBER테이블 삭제
DROP TABLE MEMBER;


DEFAULT 
    : 제약조건은 아님..
      컬럼을 선정하지 않고 데이터 추가 시 NULL값이 아닌 기본적인 값을 저장하고자 할 때

 

 * ALTER TABLE : 테이블에 변경사항을 적용하고자 할 때 사용

 

DEFAULT옵션 : ALTER TABLE 테이블명 MODIFY 컬럼명 DEFAULT 기본값;

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

DML(Data ManipulationLanguage)  (0) 2024.07.31
JOIN  (0) 2024.07.29
GROUP BY&HAVING&집합연산자4  (0) 2024.07.25
GROUP BY&HAVING&집합연산자3  (1) 2024.07.25
GROUP BY&HAVING&집합연산자2  (0) 2024.07.25