DB 8일 (23.03.30)

Jane·2023년 3월 30일
0

IT 수업 정리

목록 보기
95/124

1. 기본 키와 외래 키

1-1. 설명

DEPT 테이블 : DEPTNO 가 기본 키

EMP 테이블 : DEPTNO 가 외래 키

  • EMP 테이블에 내용을 넣으려면?
    • EMPNO가 기본키이다.
    • DEPTNO가 외래키이다.
      (DEPT 테이블의 DEPTNO가 기본 키이므로, DEPT에 있는 것만 삽입 가능)

1-2. 테이블 실습

  • CREATE TABLE EMP06(
    EMPNO NUMBER(4) CONSTRAINT EMP06_EMPNO_PK PRIMARY KEY,
    ENAME VARCHAR2(10) CONSTRAINT EMP06_ENAME_NN NOT NULL,
    JOB VARCHAR(9),
    DEPTNO NUMBER(2) CONSTRAINT EMP06_DEPTNO_FK REFERENCES DEPT(DEPTNO));

EMPNO : 기본 키
ENAME : NOT NULL
DEPTNO : 외래 키로 참조할 것이다

  • INSERT INTO EMP06 VALUES(7499, 'ALLEN', 'SALESMAN', 30); // 삽입 성공
  • INSERT INTO EMP06 VALUES(7566, 'JOENS', 'MANAGER', 50); // 삽입 실패 (외래 키를 참조하는 테이블에 없기 때문에)

2. 시퀀스

  • CREATE SEQUENCE SAMPLE_SEQ;

  • SELECT SAMPLE_SEQ.NEXTVAL FROM DUAL; // 1부터 시작, 계속 실행하면 증가
  • SELECT SAMPLE_SEQ.CURRVAL FROM DUAL; // 현재 시퀀스에 담겨있는 번호

  • DROP TABLE EMP01;
  • CREATE TABLE EMP01(EMPNO NUMBER(4) PRIMARY KEY, ENAME VARCHAR(10), HIREDATE DATE); // 테이블 생성
  • INSERT INTO EMP01 VALUES(SAMPLE_SEQ.NEXTVAL, 'JULIA', SYSDATE); // 계속 넣으면 EMPNO가 증가한 상태로 보인다.
profile
velog, GitHub, Notion 등에 작업물을 정리하고 있습니다.

0개의 댓글