1. 테이블 생성
(사용형식)
CREATE TABLE 테이블명(
컬럼명 데이타입[(크기)] [NOT NULL][DEFAULT 값][,]
:
컬럼명 데이타입[(크기)] [NOT NULL][DEFAULT 값][,]
[CONSTRAINT 기본키설정명 PRIMARY KEY(컬럼명[,컬럼명,...])][,]
[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명) REFERENCES 테이블명(컬럼명)][,]
:
[CONSTRAINT 외래키설정명 FOREIGN KEY(컬럼명) REFERENCES 테이블명(컬럼명)];
- '데이타입[(크기)]': 사용할 데이터 타입과 크기설정.데이터타입은 VARCHAR2, CHAR, CLOB, NUMBER, DATE, BFILE, BLOB등이 있으며 데이터 타입에 따라 크기를 생략하는 경우도 있음(DATE, CLOB, BFILE, BLOB)
- 'DEFAULT 값':데이터 입력시 (INSERT INTO문) 데이터를 정의하지 않으면 자동 저장될 값
- '기본키설정명': 기본키를 설정하는데 부여되는 이름으로 중복되지 말아야 함
- 'PRIMARY KEY(컬럼명[,컬럼명,...])' : 키본키로 사용할 컬럼명 기술 하나 이상의 컬럼을 기본키로 사용할 경우 ','로 구분하여 기술
- '외래키설정명' : 외래키를 설정하는데 부여되는 이름으로 중복되지 말아야 함
- 'REFERENCES 테이블명(컬럼명)' : 부모테이블명과 부모테이블에서 사용하는 컬럼명 기술
- 외래키가 2개 이상인 경우 'CONSTRAINT 외래키설정명' 구문이 외래키의 갯수와 동일하게 2개 이상 있어야 함
사용예)한국건설의 사원테이블을 생성
CREATE TABLE EMP(
EMP_ID CHAR(4),
EMP_NAME VARCHAR2(20),
EMP_ADDR VARCHAR2(100),
DEPT_NAME VARCHAR2(50),
CONSTRAINT PK_EMP PRIMARY KEY(EMP_ID));
CREATE TABLE SITE(
SITE_ID NUMBER(5),
SITE_NAME VARCHAR2(50) NOT NULL,
SITE_ADDR VARCHAR2(100),
SITE_TEL_NUM VARCHAR2(20),
CONSTRAINT PK_SITE PRIMARY KEY(SITE_ID));
CREATE TABLE SITE_MAT(
SMAT_ID VARCHAR2(5),
BUY_DATE DATE,
PRICE NUMBER(7) DEFAULT 0,
SITE_ID NUMBER(5),
CONSTRAINT PK_SMAT PRIMARY KEY(SMAT_ID),
CONSTRAINT FK_SMAT_SITE FOREIGN KEY(SITE_ID) REFERENCES SITE(SITE_ID));
CREATE TABLE TBL_WORK(
SITE_ID NUMBER(5),
EMP_ID CHAR(4),
IN_DATE DATE,
CONSTRAINT PK_TBL_WORK PRIMARY KEY(SITE_ID, EMP_ID),
CONSTRAINT FK_WORK_SITE FOREIGN KEY(SITE_ID) REFERENCES SITE(SITE_ID),
CONSTRAINT FK_TWORK_EMP FOREIGN KEY(EMP_ID) REFERENCES EMP(EMP_ID));
2. 테이블 삭제
(사용형식)
DROP TABLE 테이블명;
- DROP TABLE명령으로 수행
- 자식테이블을 보유한 부모테이블은 일반적 DROP으로는 삭제될 수 없음
- 자식테이블이 먼저 삭제된 후 부모테이블 삭제 가능
- 관계를 삭제한 후 부모 또는 자식테이블 삭제 가능
사용예)EMP테이블을 삭제하시오.
DROP TABLE EMP; --(X)
(자식테이블이 먼저 삭제된 후 부모테이블 삭제 가능)
DROP TABLE TBL_WORK;
DROP TABLE EMP;
사용예)SITE테이블을 삭제하시오.
DROP TABLE SITE; --(X)
(관계를 삭제한 후 부모 또는 자식테이블 삭제 가능)
ALTER TABLE 테이블명 DROP CONSTRAINT 외래키설정명
ALTER TABLE SITE_MAT DROP CONSTRAINT FK_SMAT_SITE;
DROP TABLE SITE;
DROP TABLE SITE_MAT;
'DBMS' 카테고리의 다른 글
[DBMS/Oracle] 데이터 검색 명령(SELECT) (0) | 2023.03.14 |
---|---|
[DBMS/Oracle] 데이터 타입 (0) | 2023.03.14 |
[DBMS/Oracle] 데이터 삽입 (0) | 2023.03.14 |
[DBMS/Oracle] Oracle, Oracle Client, SQL Developer 설치 (0) | 2023.03.12 |
[DBMS/Oracle] 데이터베이스 계정 및 권한 설정 (0) | 2023.03.11 |