데이터베이스 SQL 구문 기초02(DROP, GRANT, CONSTRAINT, 주석, REFERENCE)
앞선 내용
데이터베이스 SQL 구문 기초(CREATE, SELECT, UPDATE, DELETE)
연습용 데이터베이스 구축
이번 포스트의 내용은 oracleexe/app/oracle/oradata/XE에 존재하는 scott sql으로 연습한 것이다.
파일에 있는 쿼리를 수정해서 연습용 데이터베이스를 만들었다.
테이블 삭제(drop)
drop table '테이블명'
권한 부여 (GRANT)
GRANT dba TO ABC IDENTIFIED BY 1234;
GRANT를 통해 ABC에게 DBA권한을 부여하는 것이다. BY 뒤의 숫자는 DBMS 접속을 위한 PW이다.
DBMS는 다음과 같은 권한들을 지원한다.
SELECT, INSERT, UPDATE, DELETE, REFERENCE, USAGE, ALL PRIVILEGES
DBA는 준관리자급 권한을 부여하는 것을 말한다.
CONSTRAINT : 제약 조건
CONSTRAINT '내가 만들 컬럼 이름' PRIMARY KEY
찾아보니 제약(CONSTRAINT)는 데이터의 품질을 높이기 위한 DATABASE OBJECT라고 한다.
위의 SQL문은 PRIMARY KEY라는 제약조건이 ‘내가 만들 컬럼 이름’에 설정이 된 것이다.
다른 조건은 아래의 표를 참고하자. (여기 참고)
주석 달기
-- 주석 --
다중행 주석은 달 수 없다.
REFERENCE : 참조
다른 테이블에 있는 키 참조(외래키)
남의 PK를 가져다가 참조해서 사용하는 것. 이걸 외래키라고 한다.(FK)
외래키 조건: 반드시 다른 테이블의 PK일 것,
외래키는 여러 테이블에서 가져올 수 있다. (0~N개)
컬럼: 세로,
레코드: 가로
RDBMS에서의 참조
DBMS : 데이터베이스를 관리하는 시스템(EX. ORACLE)
RDBMS에선 다른 데이터베이스의 일반 컬럼도 참조 가능하다.
즉 관계형의 관계는 일반 컬럼간 관계가 가능하다.
참조하는 테이블에서 원래 테이블의 이름을 변경해도 관계가 가능하다.
ex.
DEPTNO NUMER(2) REFERENCES DEPT(DPT);
일반 컬럼끼리 관계를 맺으면 원치 않는 컬럼이 생성될 수 있다.(이상현상 발생)