본문 바로가기
CS/Database

[SQL] 무결성 제약조건 / DDL / DML

by 별토끼. 2017. 6. 13.
반응형


[SQL] 무결성 제약조건 / DDL / DML



  • 제약조건

 - 데이터 무결성

 - 데이터 무결성 제약조건

: NOT NULL - 해당 컬럼에 NULL을 포함되지 않도록 함

: UNIQUE - 테이블 내에서 해당 컬럼 값은 항상 유일무이한 값을 가질 것

: PRIMARY KEY - 해당 컬럼 값은 반드시 존재해야하고 유일해야 한다는 조건

: REFERENCES - 외래키는 부모의 기본키에 의존하거나 NULL값을 입력할 수 없음

: CHECK - 특정조건 항상 만족시키도록 함


  • DDL (Data Definition Language)
  • 테이블 생성 [ CREATE ]

CREATE TABLE TEST_MEMBER(

ID  VARCHAR2(50),
PWD  VARCHAR2(50),
NAME  VARCHAR2(50),
AGE NUMBER,
MARRY CHAR(1),
REGDATE DATE
);

  • 테이블 삭제 [ DROP ]

 DROP TABLE TEST_MEMBER;


  • 테이블 수정 [ ALTER ]
  - ADD  : 컬럼추가, 제약조건 추가
  

 ALTER TABLE DEPARTMENT ADD (MGR_ID CHAR(3));


  - MODIFY : NOTNULL 제약조건 추가, 컬럼의 타입/사이즈 변경

ALTER TABLE EMP5 MODIFY (ADDR1 DEFAULT '경기');


 INSERT INTO EMP5

 VALUES ('C10', '이승우', DEFAULT, '분당 효자촌');

 SELECT * FROM EMP5;


  - DROP : 컬럼 하나 삭제 / 컬럼 여러개 삭제


  • DML ( Data Manipulation Language)
  • 테이블 튜플 삽입 [ INSERT ]
  - 생성된 테이블에 튜플을 삽입한다.

 INSERT INTO EMP5 VALUES ('A10', '임태희', DEFAULT, '청담동');

 SELECT * FROM EMP5;



  • 테이블 튜플 수정 [ UPDATE ]
  - 특정 레코드에 대해서 값을 변경한다.
  - WHERE절을 이용해서 조건을 달아줘야 한다.
  - UPDATE 테이블명 SET COLUMN = VALUE, [COLUMN = VALUE]



  • 테이블 튜플 삭제 [ DELETE ]
  - 특정 레코드를 삭제할 때 이용한다.
  - DELETE FROM 테이블명 WHERE  COLUMN = VALUE;




  • VIEW
  - 하나 또는 하나 이상의 테이블 / 뷰에 포함된 데이터 부분 집합을 나타내는 논리적인 객체 -> 선택적인 정보만 제공 가능

  - 자체적으로 데이터를 포함하지 않는다.

  - 베이스 테이블 : 뷰를 통해 보여지는 데이터를 포함하고 있는 자세한 테이블

  - 뷰를 생성할 때 사용하는 서브쿼리는 일반적인 SELECT 구문을 사용

  - 생성된 뷰는 테이블처럼 취급됨


CREATE OR REPLACE VIEW V_EMP

AS SELECT EMP_NAME, DEPT_ID

   FROM EMPLOYEE

   WHERE DEPT_ID = '90';


CREATE OR REPLACE VIEW V_EMP_DEPT_JOB

AS SELECT EMP_NAME,

 DEPT_NAME,

 JOB_TITLE

   FROM   EMPLOYEE

   LEFT JOIN DEPARTMENT USING (DEPT_ID)

   LEFT JOIN JOB USING (JOB_ID)

   WHERE JOB_TITLE='사원';


반응형

댓글