강의 링크 : https://www.youtube.com/watch?v=Cv6256AkFU8&list=PLg_wJlcMiuKtGdlIaAZ0rOPPQuTDENnEQ&index=7
테이블 생성 규칙
_, $, #)만 허용됨데이터 타입
제약 조건(Constraints)
PLAYER 테이블 구조
테이블 생성 SQL문 - STADIUM
테이블 생성 SQL문 - TEAM
테이블 생성 SQL문 - SCHEDULE
제약 조건의 지정
1(묵시적), 2번 방식(명시적 제약 조건 형성)
3번 방식
FK 제약 조건의 옵션
RESTRICT, NO ACTION이면 참조 무결성에 위배되는 행위를 막아버리는 것
아래는 참조 무결성에 위배되더라도 무시하고 처리하는 것들임
ON DELETE CASCADE : 없애려면 문제 생기니 PK의 레코드도 없애기
ON UPDATE CASCADE : FK를 바꾸려면 원래 테이블의 레코드도 바꾸기
ON DELETE SET NULL : 없애려면 문제 생기니 PK의 레코드를 NULL로 바꾸기
ON UPDATE SET NULL : FK를 NULL로 바꾸고 원래 테이블의 레코드만 원하는 바꾸기
※ CASCADE가 붙으면 DELETE든 UPDATE든 원래 레코드도 DELETE 및 UPDATE,
SET NULL이 붙으면 원래 레코드는 NULL 처리
ALTER 문을 통한 테이블 변경
칼럼의 추가/삭제/수정, 제약 조건의 추가/삭제
(1) 칼럼의 추가 (ADD)
(2) 칼럼의 삭제 (DROP COLUMN)
(3) 칼럼명 변경 (RENAME COLUMN)
(4) 칼럼의 정의 수정 (MODIFY COLUMN)
(4) 칼럼의 정의 수정 (MODIFY COLUMN) - cont'd
Q) PLAYER_TEMP 테이블에서 PLAYER_NAME 속성이 NULL값을 허용하도록 정의를 변경하시오.
⌨️ A) 입력 :
DESC PLAYER_TEMP; ALTER TABLE PLAYER_TEMP MODIFY (PLAYER_NAME NULL);
Q) PLAYER_TEMP 테이블에서 PLAYER_NEW_ID를 PK로 지정하시오.
⌨️ A) 입력 :
SELECT * FROM ALL_CONSTRAINTS # 현재 제약 조건 확인 WHERE TABLE_NAME = 'PLAYER_TEMP' ALTER TABLE PLAYER_TEMP ADD CONSTRAINT PLAYER_TEMP_PK PRIMARY KEY (PLAYER_NEW_ID)
ALTER 문을 통한 테이블 변경
Q) PLAYER_TEMP 테이블의 명칭을 OLD_PLAYER로 변경하시오.
⌨️ A) 입력 :
SELECT * FROM USER_OBJECTS # 사용자 생성 객체의 확인 WHERE OBJECT_TYPE = 'TABLE'; RENAME PLAYER_TEMP TO OLD_PLAYER DESC OLD_PLAYER;
DROP 문을 통한 테이블 삭제