상세 컨텐츠

본문 제목

3-2. 데이터베이스 생성하기

CS전공 지식/4. 데이터베이스 개론 & SQL

by 본투비곰손 2023. 8. 10. 22:33

본문

728x90

Key constraints: PRIMARY KEY

  • primary key: table의 tuple을 식별하기 위해 사용, 하나 이상의 attribute(s)로 구성
  • primary key는 중복된 값을 가질 수 없으며, NULL도 값으로 가질 수 없다.

PLAYER 아래는 모두 사용 불가!!!

primary key를 선언하는 방법은 아래와 같다.

Key constraints: UNIQUE

  • UNIQUE로 지정된 attribute(s)는 중복된 값을 가질 수 없다.
  • 단, NULL은 중복을 허용할 수 있다.(RDBMS마다 다름)

  • UNIQUE를 선언하는 방법은 아래와 같다.

NOT NULL constraint

  • attribute가 NOT NULL로 지정되면 해당 attribute는 NULL을 가질 수 없다.

  • NOT NULL을 선언하는 방법은 아래와 같다.
create table Student(
  ...,
  phone_number  INT NOT NULL  UNIQUE,
  ...
);

EMPLOYEE 정의

create table EMPLOYEE(
id  INT PRIMARY KEY,
name  VARCHAR(30) NOT NULL,
birth_date  DATE,
sex CHAR(1) CHECK (sex in ('M', 'F')),
position VARCHAR(10),
salary  INT DEFAULT 50000000,
dept_id INT,
FOREIGN KEY (dept_id) referencess DEPARTMENT(id)
  on delete SET NULL on update CASCADE,
CHECK (salay >= 50000000)
);

attribute DEFAULT

  • attribute의 default 값을 정의할 때 사용
  • 새로운 tuple을 저장할 때 해당 attribute에 대한 값이 없다면 default 값으로 저장

menu의 값이 없다면 “짜장면”으로 저장

CHECK constraint

  • attribute의 값을 제한 하고 싶을 때 사용

Referential integrity constraint: FOREIGN KEY

  • attribute(s)가 다른 table의 primary key나 unique key를 참조할 때 사용
  • DEPARTMENT의 id를 참조하고 있는 EMPLOYEE의 depatement_id는 반드시 DEPARTMENT의 id에 있는 값이어야 한다.

728x90

관련글 더보기