오라클 sql 기본키 고유키 질문입니다.

오라클 sql 기본키 고유키 질문입니다.

작성일 2020.11.06댓글 1건
    게시물 수정 , 삭제는 로그인 필요




보시다시피 멤버테이블에 제약 조건을 id<pk> , login<uq>로 생성을 해보았는데요 
pk는 테이블 제약조건에서 확인이 가능 하나 인덱스에서는 확인이 불가능하고
uq는 인덱스에서 확인이 가능하나 제약조건에서는 확인이 불가능합니다..
이상하게도 기능은 제대로 구현이 되는데 왜 그러는걸까요??
login <uq>를 참조해 order 테이블  외래키를 작성하려고 보니 이렇게 되서 안되는거 같더라구요...
no matching pk uq라고 오류 메세지가 떻었습니다.

어떻게 해결해야할까요... 기존 데이터 때문에 어떻게 하지를 못하겠네요 설마 사라질까봐 ㅠㅠ

밑에는 생성후 sql을 그대로 복사해온거입니다.



  CREATE TABLE "STARBUCKS"."MEMBERS" 
   ( "ID" NUMBER NOT NULL ENABLE, 
"LOGIN" VARCHAR2(20 BYTE) NOT NULL ENABLE, 
"PW" VARCHAR2(20 BYTE) NOT NULL ENABLE, 
"NAME" VARCHAR2(20 BYTE) NOT NULL ENABLE, 
"GENDER" NUMBER DEFAULT 1 NOT NULL ENABLE, 
"BIRTH" VARCHAR2(50 BYTE), 
"PHONE" VARCHAR2(50 BYTE), 
"EMAIL" VARCHAR2(30 BYTE), 
CONSTRAINT "MEMBERS_PK" PRIMARY KEY ("ID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" ;

   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."ID" IS '회원번호';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."LOGIN" IS '아이디';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."PW" IS '비밀번호';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."NAME" IS '이름
';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."GENDER" IS '성별';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."BIRTH" IS '생년월일';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."PHONE" IS '핸드폰번호';
   COMMENT ON COLUMN "STARBUCKS"."MEMBERS"."EMAIL" IS '이메일';

  CREATE UNIQUE INDEX "STARBUCKS"."UQ_MEMBERS_LOGIN" ON "STARBUCKS"."MEMBERS" ("LOGIN") 
  PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" ;


#오라클 sql #오라클 sqlplus 접속 #오라클 sql if문 #오라클 sql 문법 #오라클 sql developer 사용법 #오라클 sql developer 설치 #오라클 sqlplus 설치 #오라클 sql rowcount #오라클 sql limit #오라클 sql developer 접속 오류

profile_image 익명 작성일 -

PK인덱스는 좌측 트리에서 인덱스를 오른쪽 마우스로 새로고침 해 보세요.

DDL Script 상에는 별 이상 없어 보입니다.

외래키는 기본키만 연결 가능합니다.

order 에 외래키의 REFERENCES를 아래처럼 써야 합니다.

REFERENCES MEMBERS(ID)

건승하세요~

SQL 컬럼 기본키 설정에 따른 데이터...

SQL 자격검정 실전문제 2과목 21번 문제 질문이 있습니다.... 부여되고 기본키로 선정되었는데요. 여기에 1 값이... 질문 드립니다. 오라클은 묵시적 형변환이라고 해서...

오라클 SQL 관련 질문입니다

오라클 SQL 질문좀 드릴게요. EMPNO 사번 ENAME 이름 JOB 직급 MGR 직속상관... PRIMARY KEY(기본키)는 DEPTNO(부서번호)로 지정 안녕하세요. ①...

오라클 SQL 관련 질문입니다

오라클 SQL 질문좀 드릴게요. EMPNO 사번 ENAME 이름 JOB 직급 MGR 직속상관... PRIMARY KEY(기본키)는 DEPTNO(부서번호)로 지정 1. Top-5를 구하는...

오라클 sql 질문입니다

... 문제는 주문테이블을 생성하면서 기본키,외래키설정하는것입니다. 사진처럼 만들기위해 위의 코드를 작성했는데 오류가 발생합니다. ORA...

오라클 SQL질문입니다

... 카디널리티, 기본키, FK 등의 각 테이블 간의 관계 파악이 무엇보다 중요하며 이... 질문자분이 생각한 것은 그냥 순번맞춰서 데이터를 이어붙인 것으로 집합 간의...

오라클 sql 주 키 조인

... 0001을 기본키로 조인하고 싶은데 어떻게해야하나요?ㅠ RDB 또는 ORDB라면... 답변을 원한다면 더 상세한 내용으로 질문하시기 바랍니다. 건승하세요~

MYSQL 고유키 질문 입니다.

현재 sql server 2008을 쓰고 있구요. 음... 제가 글을 잘 못써서... 두서 없지만... ITEM_CD(기본키) ITEM_NM CODE_KIND BAR_CODE A001 SA1 88 NULL A002 SA2 GS NULL A003 SA3 기타...

Sql 쿼리 질문드립니다

... 사람+과일종류가 복합 기본키가 되고 먹은 수량이 일반속성으로 있는... 그렇게 올바른 모델링 후 오라클 SQL기준으로, rank() over()로 순위를 매겨서 각...