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
'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 |
댓글