database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 21021 게시물 읽기
No. 21021
[질문]상호참조하는 외래키 관련질문입니다.
작성자
김상헌
작성일
2004-12-12 11:14
조회수
4,328

상호 참조라는 말이 적합할지는 모르겠는 데요... 문제 상황은 이렇습니다.

 

Lesson이란 Table과 Professor라는 Table이 있습니다.

 

Lesson의 Column중에는 President라는 Professor의 ID를 외래키로 참조하는 부분이 있고

Professor의 Column중에는 LessonID라는 이름의 Lesson의 ID를 외래키로 참조하는 부분이 있습니다.

 

그런데 서로 외래키로 참조하므로

insert문을 이용해 Professor에 데이타를 입력하려고 하면 Lesson에 Data가 없기 때문에 참조 무결성 위반에러가 나고,

insert문을 이용해 Lesson에 데이타를 입력하려고 하면 Professor에 Data가 없기 때문에 참조 무결성 위반에러가 발생합니다.

 

DB는 Oracle 9i를 사용하고 있구요....

Data를 집어넣을 수 있는 방법이 없을까요? DB설계상 아주 불가능 한건가요?

 

이 글에 대한 댓글이 총 2건 있습니다.

어째 모델링이 잘못된 것 같은데요... 교수님이라고 해서 무조건 강의를 해야한다는 것은 잘못된 개념이지 않나요? 휴식년인 교수님은 강의가 없습니다...

어째서 참조 무결성이라는 말씀을 쓰셨는지 이해가 가지 않네요...

 

모든 교수님이 강의가 있으야 한다면 위의 예는 디비 책에 자주 나오는... 삽입이상, 삭제이상, 변경이상 등등의 모든 잘못된 경우를 발생시킬수 있는 경우라고 생각됩니다.

김영준(luminous)님이 2004-12-13 01:18에 작성한 댓글입니다.

어째 상호 참조 테이블이 생겼대요.

보통은

 

교수테이블

  pk 교수id

 

과목테이블

  pk 과목아이디

 

교수별과목테이블

  fk,교수아이디

  fk,과목아이디

 

교수별과목별,강의실별

  fk,교수아딩

  fk,과목아이디

  fk,강의실ID

  fk,강의시간

 

 

이렇게 3개 또는 4개를 만드는게 보통입니다.

 

장종훈(장종훈)님이 2004-12-13 15:12에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
21024[질문]TNS-12531 에러가 발생합니다. [1]
김선구
2004-12-13
3090
21023구조체 배열을 한큐에 넣을때....날짜형 데이터는 어떻게 넣어야 하죠? [2]
정진종
2004-12-13
2398
21022ReadHat8.0에 Oracle 9i 설치시 오류
이인수
2004-12-13
1700
21021[질문]상호참조하는 외래키 관련질문입니다. [2]
김상헌
2004-12-12
4328
21020[질문]TNS-12518 에러가 발생하면서 DB Connection을 생성할수 없습니다. [1]
김선구
2004-12-12
3438
21019index를 만들때. [2]
서은영
2004-12-11
2322
21018DB Link시 오류입니다... 정말 미치겠네요... [3]
유석훈
2004-12-11
24042
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다