1. 테이블 생성

  • 데이터베이스를 사용하기 위해 테이블을 먼저 생성해야 함

  • 테이블 생성은 Create Table문을 사용하고 테이블 변경은 Alter Table문을 사용함

  • 생성된 테이블을 삭제하고 싶을 때는 Drop Table문을 사용함

*Create Table

  • 새로운 테이블을 생성

  • 테이블을 생성할 때 기본키, 외래키, 제약사항 등을 설정

*Alter Table

  • 생성된 테이블 변경

  • 칼럼을 추가하거나 변경, 삭제함

  • 기본키를 설정하거나 외래키 설정함

*Drop Table

  • 해당 테이블을 삭제함

  • 테이블의 데이터 구조뿐만 아니라 저장된 데이터도 모두 삭제됨

(1)   기본적인 테이블 생성

  • Create Table: 테이블을 생성함, ‘( )’ 사이에 칼럼을 쓰고 마지막은 세미콜론으로 끝남

  • 칼럼 정보: 테이블에 생성되는 칼럼 이름과 데이터 타입 입력(영문, 한글, 숫자 모두 가능)

  • 데이터 타입: number는 칼럼 데이터 타입을 숫자형으로 varchar2는 가변 길이 문자열로 지정, char는 칼럼의 데이터 타입을 고정된 크기의 문자로 지정, date는 날짜형 타입으로 지정할 때 사용

  • 기본키: 기본키 지정 시 칼럼 옆에 primary key를 입력함

(2)   제약조건 사용

  • 기본키, 외래키, 기본값, not null 등은 테이블을 생성할 때 지정할 수 있음

  • constraint를 사용해 기본키와 기본키의 이름을 지정할 수 있음

  • sal 칼럼처럼 number(10, 2)를 사용하면 소수점 둘째 자리까지 저장할 수 있음

  • 오라클에서 sysdate는 오늘의 날짜를 조회함

  • 외래키를 지정하려면, 먼저 마스테 테이블이 생성 되어야 함

(3)   테이블 생성 시 CASCADE 사용

  • 테이블 생성 시 CASCADE 옵션을 사용할 수 있음

  • CASCADE 옵션은 참조관계가 있을 경우 참조되는 데이터를 자동으로 반영할 수 있음

  • 먼저, 마스터 테이블을 생성함

  • 그 다음 소속하는 테이블을 생성함

  • ON DELETE CASCADE 옵션을 사용하면 자신이 참조하고 있는 테이블의 데이터가 삭제되면 자동으로 자신도 삭제됨

  • ON DELETE CASCADE 옵션 사용하면 참조 무결성 준수 가능함

 

2. 테이블 변경

(1)   테이블명 변경

  • 테이블명 변경은 ALTER TABLE ~ RENAME TO문을 사용함

(2)   칼럼 추가

  • 생성된 테이블에 ALTER TABLE ~ ADD 문을 사용해서 칼럼을 추가함

(3)   칼럼 변경

  • ALTER TABLE ~ MODIFY 문을 사용해 칼럼을 변경한다.

  • 칼럼 변경을 통해 데이터 타입을 변경하거나 데이터의 길이를 변경하고 제약조건을 설정할 수 있음

  • 칼럼 데이터 타입 변경 시 기존 데이터가 있는 경우 에러가 발생함

(4)   칼럼 삭제

  • ALTER TABLE ~ DROP COLUMN문으로 삭제 함

(5)   칼럼명 변경

  • ALTER TABLE ~ RENAME COLUMN ~TO문으로 칼럼명 변경함

 

3. 테이블 삭제

  • DROP TABLE문을 사용해서 테이블을 삭제 함

  • 테이블의 구조와 데이터를 모두 삭제함

  • 'CASCADE CONSTRAINT’ 옵션을 사용해 해당 테이블의 데이터를 외래키로 참조한 슬레이브 테이블과 관련된 제약사항도 삭제할 수 있음

 

4. (View) 생성과 삭제

  • 뷰란 테이블로부터 유도된 가상의 테이블

  • 실제 데이터를 갖고 있지 않고 테이블을 참조해서 원하는 칼럼만을 조회할 수 있게 함

  • 뷰는 데이터 딕셔너리(Data Dictionary) SQL문 형태로 저장하되 실행 시에 참조 됨

  • CREATE VIEW문을 사용하며, 참조할 테이블은 SELECT문으로 지정

  • 뷰의 조회는 SELECT문을 사용해서 일반 테이블처럼 조회

  • DROP VIEW로 뷰를 삭제함(참조했던 테이블이 삭제되지는 않음)

 

*뷰의 특징

  • 참조한 테이블이 변경되면 뷰도 변경됨

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

  • 특정 컬럼만 조회해서 보완성을 향상 시킴

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

  • ALTER문을 사용해 뷰를 변경할 수 없음

 

*뷰의 장점

  • 특정 칼럼만 조회할 수 있어서 보안 기능이 있음

  • 데이터 관리가 간단함

  • SELECT문이 간단해짐

  • 하나의 테이블에 여러 개의 뷰를 생성할 수 있음

*뷰의 단점

  • 독자적인 인덱스를 만들 수 없음

  • 삽입, 수정, 삭제 연산이 제약됨

  • 데이터 구조를 변경할 수는 없음

+ Recent posts