본문 바로가기
개발/교육

(데이터베이스)20일차

by kakk789 2022. 4. 22.

데이터 정의어 (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

댓글