일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- rps.apk
- sys
- __main__
- 인자 전달
- SQL
- Pay1oad
- 스키마 생성
- select
- r
- 데이터 무결성
- Database
- 무결성 제약조건
- main
- __name__
- Python
- Android 디컴파일
- CodeEngn
- Android 서명
- SECCON
- android
- enumerate
- 릴레이션 생성
- ZIP
- 데이터베이스
- Programming
- RPS
- ADB
- db
Archives
- Today
- Total
블로그
DB 데이터 정의어 본문
데이터 정의어
스키마 생성
-- MANAGER라는 계정을 가진 사용자가 BIGCOMPANY라는 스키마를 생성한다.
CREATE SCHEMA BIGCOMPANY AUTHORIZATION MANAGER;
스키마 제거
-- 스키마가 비어있지 않으면 DBMS가 해당 작업 실행하지 않는다.
DROP SCHEMA BIGCOMPANY;
릴레이션 정의
릴레이션 정의에 사용되는 오라클 데이터 타입
데이터 타입 | 의미 |
---|---|
INTEGER | 정수형 |
NUMBER(n ,s) | 소수점을 포함한 n개의 숫자에서 소수점 아래 숫자가 s개인 십진수 |
CHAR(n) | n바이트 문자열, n을 생략하면 1 |
VARCHAR(n) | 최대 n바이트가지의 가변 길이 문자열 |
BIT(n) | n개의 비트열 또는 최대 n개까지의 가변 비트열 |
DATE | 날짜형, 날자와 시간을 저장 |
BINARY_FLOAT | 32비트에 실수를 저장 |
BINARY_DOUBLE | 64비트에 실수를 저장 |
BLOB | Binary Large OBject, 멀티미디어 데이터 등을 저장 |
릴레이션 생성
-- DEPARTMENT라는 테이블 생성
CREATE TABLE DEPARTMENT(
DEPTNO NUMBER NOT NULL,
DEPTNAME CHAR(10),
FLOOR NUMBER,
PRIMARY KEY(DEPTNO)
);
-- EMPLOYEE라는 테이블 생성
CREATE TABLE EMPLOYEE(
EMPNO NUMBER NOT NULL,
EMPNAME CHAR(10),
TITTLE CHAR (10),
MANAGER NUMBER,
SALARY NUMBER,
DNO NUMBER,
PRIMARY KEY(EMPNO),
FOREIGN KEY(MANAGER) REFERENCES EMPLOYEE(EMPNO),
FOREIGN KEY(DNO) REFERENCES DEPARTMENT(DEPTNO)
);
릴레이션 삭제
-- DEPARTMENT라는 테이블 삭제
DROP TABLE DEPARTMENT;
애트리뷰트 추가
-- 애트리뷰트 추가, NOT NULL을 지정할 수 없다. 새로추가되는 애트리뷰트에 대해 기존 투플들은 NULL값을 가지게 되기 때문이다.
-- PHONE이라는 애트리뷰트 추가
ALTER TABLE EMPLOYEE AND PHONE CHAR(13);
인덱스 생성 및 제거
-- DNO 애트리뷰트에 EMPDNO_IDX라는 이름의 인덱스를 생성한다.
CREATE INDEX EMPDNO_IDX ON EMPLOYEE(DNO);
-- EMPDNO_IDX라는 이름의 인덱스를 제거한다.
DROP INDEX EMPLOYEE.EMPDNO_IDX;
애트리뷰트 제약조건
NOT NULL
-- 애트리뷰트가 널값을 가지는 것을 허락하지 않는다.
EMPNO NUMBER NOT NULL;
UNIQUE
-- 애트리뷰트가 중복된 값을 갖지 않게 한다.
EMPNAME CHAR(10) UNIQUE;
DEFAULT
-- 널값 대신에 사용할 디폴트값을 지정할 수 있다.
TITLE CHAR(10) DEFAULT '사원';
CHECK
-- 한 애트리뷰트가 가질 수 있는 값의 범위를 지정해준다.
MANAGER_SALARY NUMBER,
CHECK (MANAGER_SALARY > SALARY);
참조 무결성 제약조건
ON DELETE
-- 총 4가지의 종류가 있으며 해당하는 옵션에 따라 삭제연산을 실시한다
-- 삭제 연산 거부
ON DELETE NO ACTION
-- 연쇄 삭제
ON DELETE CASCADE
-- 삭제 후 널값으로 채움
ON DELETE SET NULL
-- 삭제 후 기본값으로 채움
ON DELETE SET DEFAULT
'Computer engineering > 데이터베이스' 카테고리의 다른 글
DB SELECT - 2 (0) | 2021.11.07 |
---|---|
DB SELECT - 1 (0) | 2021.10.30 |
DB SQL 정리 (0) | 2021.10.24 |
DB데이터 무결성 및 무결성 제약조건 정리 (0) | 2021.10.24 |
DB릴레이션 키 정리 (0) | 2021.10.24 |
Comments