IBM 시스템 R(IBM System R)은 1974년에 시작된 IBM의 새너제이 연구소의 연구 프로젝트로 빌드된 데이터베이스 시스템이다. 시스템 R은 중대 프로젝트였다. SQL의 최초 구현체였으며 그 뒤로 표준 관계형 데이터 쿼리가 되었다
https://ko.wikipedia.org/wiki/IBM_%EC%8B%9C%EC%8A%A4%ED%85%9C_R
데이터 조작어(Data Manipulation Language), 데이터 정의어(Data Definition Language), 데이터 제어어(Dat Contorl Language)
분류 | |
---|---|
DDL | CREATE(테이블 생성), ALTER(테이블 수정), DROP(테이블 삭제) |
DML | SELECT(데이터 검색), INSERT(데이터 삽입), UPDATE(데이터 수정), DELETE(데이터 삭제) |
CREATE TABLE 고객(
고객아이디 VARCHAR(20) NOT NULL,
고객이름 VARCHAR(10) NOT NULL,
나이 INT,
등급 VARCHAR(10) NOT NULL,
직업 VARCHAR(20),
적립금 INT DEFAULT 0
RPIMARY KEY(고객아이디)
);
CREATE TABLE 제품(
제품번호 CHAR(3) NOT NULL,
제품명 VARCHAR(20),
재고량 INT,
단가 INT,
제조업체 VARCHAR(20),
PRIMARY KEY(제품번호),
CHECK (재고량 >= 0 AND 재고량 <=10000)
);
CREATE TABLE 주문(
주문번호 CHAR(3) NOT NULL,
주문고객 VARCHAR(20),
주문제품 CHAR(5),
수량 INT,
배송지 VARCHAR(30),
주문일자 DATETIME,
PRIMARY KEY(주문번호),
FOREIGN KEY 주문고객 REFERENCES 고객(고객아이디),
FOREIGN KEY 주문제품 REFERENCES 제품(제품번호)
);
외래키로 쓰이는 속성들의 데이터 타입이 모두 같은 것을 알 수 있다.
ALTER TABLE 테이블_이름
ADD 속성_이름 데이터_타입 [NOT NULL] [DEFAULT 기본값];
문제) 위의 고객테이블에 가입 날짜 속성을 추가해보자
ALTER TABLE 고객 ADD 가입날짜 DATETIME
ALTER TABLE 테이블_이름 DROP 속성_이름 CASCADE | RESTRICT
문제) 고객 테이블의 등급 속성을 삭제하면서 관련된 제약 조건이나 등급 속성을 참조하는 다른 속성도 함께 삭제해보자
ALTER TABLE 고객 DROP 등급 CASCADE;
DROP TABLE 테이블_이름 CASCADE | RESTRICE;
예) 고객테이블을 삭제하되, 고객 테이블을 참조하는 다른 테이블이 존재하면 삭제가 수행되지 않도록 해보자.
DROP TABLE 고객 RESTRICT;