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 40860 게시물 읽기
No. 40860
PK가아닌 컬럼을 외래키로...
작성자
정선일(airseonil)
작성일
2015-07-15 20:17
조회수
7,410

안녕하세요. 질문이있어 글을 올립니다.

 

A테이블 ( 이메일(PK), AAA, BBB, CCC )

B테이블 ( B일련번호(PK), AAA, DDD, EEE )

 

B테이블에 외래키로 A테이블의 이메일(PK)이 아닌 AAA를 설정하고싶습니다.

 

-- STEP1

ALTER TABLE A테이블 ADD ( CONSTRAINT FK_AAA UNIQUE(AAA) );

 

-- STEP2

ALERT TABLE B테이블 ADD (

CONSTRAINT FK_B테이블_A테이블

FOREIGN KEY ( AAA )

REFERENCES A테이블 ( AAA ) );

 

기존 시스템 사용자테이블의 PK가 이메일로 잡혀있어서 사용자테이블외에 이메일을 저장하지말라는 이슈가있어서

PK가 아닌 컬럼에 유니크를 걸어주고 관계를 맺어줬습니다.

A테이블의 AAA컬럼은 현재 등록된 이메일과 1:1로 매칭되는 시퀀스로 생성할 예정입니다.

( 사용자테이블의 PK를 변경하기에는 기존 데이타의 마이그레이션부분과 프로그램 수정 공수가 꽤되서 위험도가 높음.)

 

질문!!!!!!!!

공공사업이라 감리가 있는데요.

PK가 아닌 컬럼에 관계를 맺고 사용할때 감리에 지적을 받는지 궁금합니다.

또 감리 지적 시 적절한 대응방안이 있을까요?

 

더운날씨 긴글 읽어주셔서감사드립니다.

답변주시면 감사하겠습니다.

 

 

 

 

 

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

PK 가 아니더라도 AK (Alternate Key) 를 사용해서 FK 를 만드는건 아무 문제가 없지않나요?

 

 

 

한철님이 2015-07-16 09:04에 작성한 댓글입니다. Edit

답변감사합니다. 기본키에대응되는 대체키를 생성하는데는 문제가없겠죠? 이런 모델링으로 감리를 받아본적이없어서 ^^;

정선일(airseonil)님이 2015-07-16 10:17에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40863ORA-12514: TNS:리스너가 현재 접속 기술자에 요청된 서비스를 알지 못함
오라클멀라여
2015-07-16
8578
40862DBA_HIST_SQLSTAT
나이지리아
2015-07-16
8645
40861오라클 유지보수 계약이 체결된 상태라면 오라클 클라이언트 설치지원은 누구한테 하는게 맞을까요?
김경진
2015-07-16
7473
40860PK가아닌 컬럼을 외래키로... [2]
정선일
2015-07-15
7410
40859sql 문의입니다.
이현정
2015-07-15
7078
40857초당 쿼리수 [1]
dba
2015-07-13
7477
40856union all 관련 여쭤봅니다. [1]
궁금
2015-07-10
7363
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.022초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다