데이터 정의어 (DDL) - CREATE
- 테이블을 생성하는 명령
CRATE TABLE 테이블이름
( 컬럼이름 데이터타입 제약사항들[ NOT NULL | UNIQUE | DEFAULT | CHECK | 등]
..
..
)
NOT NULL
: NULL을 허용하지 않음(무조건 값을 넣어라)
UNIQUE
: 중복 불가능, NULL 허용
DEFAULT
: 기본 값
CHECK
: 컬럼의 값이 특정 조건식을 만족 해야함
FOREIGN KEY
:참조키 설정, 다른 테이블의 값을 참조
:부모테이블의 PK를 FK로 설정할 수 있음
PRIMARY KEY
: 기본키 설정, 중복 불가, 생략 불가
: 두개 이상의 컬럼을 한 쌍으로하여 기본키로 설정할 수 있음
: 두개 이상의 컬럼을 기본키로 설정할 경우
테이블 생성 시 테이블 레벨에서 PRIMARY KEY (속성1, 속성2)
FOREIGN KEY | NOT NULL | PRIMARY KEY | UNIQUE | CHECK | DEFAULT | |
생략 | O | X | X | O | O | DEFAULT 값 |
중복 | O | O | X | X | O | O |
추가 설명 - CHECK
- 컬럼의 값이 특정 조건식을 만족 해야함
- 아래와 같이 제약조건을 설정할 수 있음.
Check 제약조건 위배시 - 에러 출력
데이터 정의어 (DDL) - ALTER
- 테이블 구조 변경하는 명령
- 테이블에 새로운 컬럼명을 추가 / 삭제
- 제약조건을 추가 / 삭제
- 자료형 변경, PK, FK 설정 가능.
컬럼 추가
ALTER TABLE 테이블명 ADD 컬럼이름 자료형;
컬럼에 PK 추가
ALTER TABLE 테이블명 ADD PRIMARY KEY (컬럼이름, [컬럼이름2]);
- 단, 이미 컬럼 데이터로 null값이 들어가 있는 상태면 바꿀 수 없음
컬럼에 FK 추가
ALTER TABLE 테이블명 ADD FOREIGN KEY(컬럼이름) REFERENCES 부모테이블명(컬럼명)
- 단, 이미 컬럼 데이터로 null값이 들어가 있는 상태면 바꿀 수 없음
컬럼에 CHECK 추가
ALTER TABLE 테이블명 ADD CHECK (price<=20000);
컬럼 자료형 변경
ALTER TABLE 테이블명 modify 컬럼이름 새로운자료형
컬럼 NOT NULL 설정
ALTER TABLE 테이블명 modify 컬럼이름 NOT NULL
컬럼 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼이름
데이터 정의어 (DDL) - DROP
- 테이블 삭제하는 명령
DROP TABLE 테이블명;
관계형 데이터베이스에서는 테이블을 개체(Entity)라고도 표현한다.
개체무결성
- 모든레코드 (튜플)는 PK로 설정된 주식별자에 의해서 구별이 가능해야 함을 말한다.
- pk는 null이 될 수 없고, 중복을 허용하지 않는다.
- 이것을 만족하지 않는 경우를 '개체 무결성에 위배된다'라고 말한다.
참조무결성
- 참조키로 설정된 컬럼의 값은 반드시 부모테이블 존재해야한다
- 이것을 만족하지 않는 경우를 '참조 무결성에 위배된다'라고 말한다.
on delete cascade
- 부모테이블의 레코드를 삭제 할 때에 연쇄적으로 자식의 레코드를 삭제하도록 설정
- 자식 테이블 생성 시에 설정 해줘야 함
FOREIGN KEY ( 자식 속성 ) REFERENCES 부모테이블(부모속성) ON DELETE CASCADE
반응형
'개발 > 교육' 카테고리의 다른 글
(데이터베이스)22일차 (0) | 2022.04.26 |
---|---|
(데이터베이스)21일차 (0) | 2022.04.25 |
(데이터베이스)19일차 (0) | 2022.04.21 |
(데이터베이스)17일차 (0) | 2022.04.19 |
(Java)16일차 (0) | 2022.04.18 |
댓글