Cute Happy Ghost
본문 바로가기
DB/Oracle

20201026_22 문제 및 해결1

by JENN_tech7 2020. 10. 26.
728x90
SMALL


1.

CREATE test01 IDENTIFIED BY 1234; 

원인 : 사용자 계정생성을 위해서 어떤 객체를 생성할지 지정을 해줘야하는데 누락된 부분(user)이 존재

조치내용:user부분이 누락됨. user문구를 생성함

 

CREATE USER test01 IDENTIFIED BY 1234; 

 

 

 


2.

GRANT RESOURCE TO test01; 

원인 : 사용자 계정으로 접속하기 위한 권한이 누락되었다

조치내용 : 생성된 사용자 계정test01로 db접속이 가능하도록 connect 롤을 추가함

 

GRANT CONNECT, RESOURCE TO test01; 

 

 

 

 


3.

CREATE TABLE MEMBERS (
    MEMBER_ID VARCHAR2(20),
    MEMBER_PWD VARCHAR2(20),
    MEMBER_NAME VARCHAR2(30),
    MEMBER_AGE NUMBER,
    MEMBER_EMAIL VARCHAR2(50),
    CONSTRAINT PRIMARY KEY(MEMBER_ID),
    NOT NULL(MEMBER_PWD)
);

원인 : MEMBERS테이블에서 MEMBER_ID칼럼에 설정된 PK제약조건 구문이 잘못 작성됨 (CONSTRAINT 앞에 제약조건 이름이 누락됨, 문제에서는 제약조건 이름을 제시하지않음)

조치내용 : MEMBERS 테이블의 MEMBER_ID 칼럼에 별도의 제약조건이름을 설정하라는 문장이 없었으므로 CONSTRAINT 문구를 삭제함
MEMBER_ID 정의하는 부분에 PRIMARY KEY 지정하도록 함 

 

PRIMARY KEY(MEMBER_ID)

 

 

 

 


4.

원인 : MEMBERS 테이블에서 MEMBER_PWD칼럼에 설정된 nn제약조건이 테이블레벨로 설정되어있었다.

조치내용 : members 테이블에 member_pwd칼럼에 설정된 NOT NULL제약조건을 컬럼 레벨로 변경함 

 

MEMBER_PWD VARCHAR2(20) NOT NULL; 

 

 

 

 


5.

CREATE TABLE BOARDS (
    BOARD_NO NUMBER PRIMARY KEY,
    BOARD_TITLE VARCHAR2(100),
    BOARD_CONTENT VARCHAR2(4000),
    BOARD_WRITER VARCHAR2(20) FOREIGN KEY MEMBERS(MEMBER_ID),
    BOARD_REG_DATE DATE DEFAULT SYSDATE
);

원인 : BOARDS테이블에서 BOARD_WRITER칼럼에 설정된 FOREIGN KEY 제약조건이 잘못 작성됨 이미 칼럼 레벨이므로 FK제약조건은 사용할 필요가 없음. REFERENCES키워드가 누락됨

조치내용 : BOARDS 테이블에 BOARD_WRITER칼럼에서 FOREIGN KEY를 REFERENCES로 변경 

 

 

BOARD_WRITER VARCHAR2(20) REFERENCES MEMBERS(MEMBER_ID), 

  

 

 

  
원인키워드: 계정, 권한, 칼럼, PRIMARY KEY, NOT NULL, 테이블 레벨, FOREIGN KEY 
조치키워드 : USER, CONNECT< CONSTRAINT, 칼럼 레벨, REFERENCES

728x90
LIST

'DB > Oracle' 카테고리의 다른 글

20201028_23 다양한 함수  (0) 2020.10.28
20201027_ 23 문제 및 해결2  (0) 2020.10.27
20201026_22 제약조건  (0) 2020.10.26
20201026_22 계정생성, 제약조건  (0) 2020.10.26
20201024_21 Review  (0) 2020.10.23

댓글