1
나는 몇 시간 동안 내 머리를 긁적 거리다.별도의 테이블에있는 entites에서 외래 키 만들기
나는 내가 bid
및 authID
의 조합이 WorkSession
테이블에서 Allocation
테이블에 존재하는 제약 조건을 만들 필요가 네 개의 테이블
Book
, Author
, Allocation
및 WorkSession
있습니다.
CREATE TABLE Book(
bid NUMBER(4),
title VARCHAR2(30) NOT NULL,
SellingPrice NUMBER(6,2),
PRIMARY KEY (bid),
CONSTRAINT EM_SellingPrice CHECK(SellingPrice >= 0)
);
CREATE TABLE Author(
authID NUMBER(4),
fName VARCHAR2(30),
sName VARCHAR2(30),
PRIMARY KEY(authID),
CONSTRAINT EM_Name UNIQUE (fName,SName)
);
CREATE TABLE Allocation(
bid NUMBER(4),
authID NUMBER(4),
payRate NUMBER(6,2),
CONSTRAINT AL_PayRate CHECK(payRate >= 1 AND payRate < 80),
FOREIGN KEY(bid) REFERENCES Book(bid),
FOREIGN KEY(authID) REFERENCES Author(authID)
);
CREATE TABLE WorkSession(
bid NUMBER(4),
authID NUMBER(4),
WorkYear NUMBER(4),
WorkWeek NUMBER(2),
WorkHours NUMBER(4,2),
CONSTRAINT WY_Range CHECK(WorkYear > 2010 AND WorkYear < 2014),
CONSTRAINT WW_Range CHECK(WorkWeek >= 1 AND WorkWeek <= 52),
CONSTRAINT WH_Range CHECK(WorkHours >= 0.5 AND WorkHours <100),
CONSTRAINT FK_Check FOREIGN KEY(bid, AuthID) REFERENCES Allocation(bid, AuthID),
PRIMARY KEY(workYear, WorkWeek)
);
안녕하세요. Alex, 정확히 무엇을 찾으십니까? 외래 키만 관심사이거나 WorkSession으로 할당 테이블을 바인딩하고 싶습니다. 외래 키와 외래 키와의 관계를 만들 수없는 것보다 하나 더 –
그래서 마침내 알아 냈습니다. 문제는, 결국 내가 그 테이블의 기본 키를 찾을 수없는 오류 주위에있어 그 테이블에 대한 기본 키로 할당에 외래 키를 할당. 이 도움이 되었기를 바랍니다. – Ardenexal
'할당 '의 기본 키는 무엇입니까? –