* APT_INFO, DONG_INFO, HO_INFO TABLE 만들기
Q. 한 테이블에 PRIMARY KEY를 2개 써도되나요?
A. 한테이블에 하나의 PRIMARY KEY 만 있을수 있고, PRIMARY KEY는 여러개의 필드로 구성가능.
* Key 생성은 우선 빼고, 테이블만 생성하고 나서 키 다시 생성해주는게 보통.
ex) ALTER TABLE NCCJST2011.METRO_STATN_PATH ADD (
CONSTRAINT XPK_METRO_STATN_PATH
PRIMARY KEY
(INTERCD, METROCD)
ex) Alter table MyForeignTable Add constraint MyForegin_FK_MyTable
Foreign Key (FieldA, FieldB) References MyTable(FieldA, FieldB)
- CREATE 정의
create table APT_INFO (
apt_code number(10, 0),
name varchar2(50) NOT NULL,
addr varchar2(100) NOT NULL,
dong_count number(10, 0)
);
create table DONG_INFO (
apt_code number(10, 0),
dong_code number(10, 0) NULL,
name varchar2(50) NOT NULL,
ho_count number(10, 0)
);
create table HO_INFO (
apt_code number(10, 0),
dong_code number(10, 0),
ho_code number(10, 0) NULL,
name varchar2(50) NOT NULL,
area varchar2(50) NOT NULL,
price number(30, 0)
);
- KEY 정의
alter table SCOTT.APT_INFO ADD (CONSTRAINT PK_APT_INFO PRIMARY KEY(apt_code));
alter table SCOTT.DONG_INFO ADD (CONSTRAINT PK_DONG_INFO PRIMARY KEY(dong_code));
alter table SCOTT.DONG_INFO ADD (CONSTRAINT FK_DONG_INFO FOREIGN KEY(apt_code) REFERENCES SCOTT.APT_INFO(apt_code));
alter table SCOTT.HO_INFO ADD (CONSTRAINT PK_HO_INFO PRIMARY KEY(ho_code));
alter table SCOTT.HO_INFO ADD (CONSTRAINT FK_HO_INFO FOREIGN KEY(apt_code, dong_code) REFERENCESSCOTT.APT_INFO(apt_code));
alter table SCOTT.HO_INFO ADD (CONSTRAINT FK_HO_INFO_DONG FOREIGN KEY(dong_code) REFERENCESSCOTT.DONG_INFO(dong_code));
'Study > Oracle' 카테고리의 다른 글
[oracle] 여러가지 데이터 삽입 방법 (0) | 2019.05.13 |
---|---|
[oracle] 대용량 데이터 삽입 (0) | 2019.05.13 |
[oracle] oracle 정리 (0) | 2019.05.13 |
[oracle] VIEW, 시퀀스, 인덱스, 데이터모델링 실습 (0) | 2019.05.13 |
[oracle] VIEW, 시퀀스, 인덱스, 데이터모델링 (0) | 2019.05.13 |