컬럼 레벨의 설정
- 컬럼을 적어 줄 때 설정
- 앞서서 한 것
테이블 레벨의 설정
- 컬럼들을 다 적고, 맨 마지막에 키를 설정
- 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 |