본문 바로가기
Kosta DevOps 과정 280기/Java

기본키와 참조키의 설정

by 롯슈83 2024. 6. 19.

컬럼 레벨의 설정

  • 컬럼을 적어 줄 때 설정
  • 앞서서 한 것

테이블 레벨의 설정

  • 컬럼들을 다 적고, 맨 마지막에 키를 설정
  • pk 제약도 쓰지 않는다.
//테이블 레벨
create table newbook(
	bookid number,
    bookname varchar2(50) not null,
    publisher varchar2(20),
    price number,
    primary key(bookid)
);

//컬럼레벨
create table newcustomer(
	custid number primary key,
    name varchar2(30),
    addr varchar2(30),
    phone varchar2(30)
);

//컬럼레벨 + 테이블레벨
create table neworders(
	orderid number primary key,
    custid number,
    bookid number references newbook(bookid),
    saleprice number,
    orderdate date,
    foreign key(custid) references newcustomer(custid)
);

insert into newbook values(2, 'c##madang','madang', 29849);

 

오류 종류

** 개체 무결성에 위배됩니다
- pk로 설정한 컬럼의 값이 null 이거나 중복이 될 때

** 참조 무결성에 위배됩니다.
- fk로 설정한 칼럼의 값이 부모 테이블에 존재하지 않을 때

'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글

스키마 수정  (0) 2024.06.19
예제  (0) 2024.06.19
제약의 종류와 설정  (0) 2024.06.18
테이블 컬럼 추가하기 + 기존 내용 예제 + union, minus  (0) 2024.06.18
3개 이상 테이블 Outer join 하기  (2) 2024.06.17