2020.07.28 (화) 3주차 2일
오늘은 수업 이론 부분을 간략히 정리함.
8월 22일에 시행되는 정보처리기사 필기과정을 신청했다. 접수하기 힘들더라; 심지어 아이디도 알고보니 없어서
다시 만들고 시작하니 좀 더 오래걸려서 피말렸다. 재수없으면 자리 다차서 당진?까지 가야한다고 누가 그랬는데 ㅋㅋㅋ
여튼 자리는 많이 남아서 제물포 중학교 1시에 시험을 치른다.
[정리]
-- 테이블을 작성할 때
무결성 제약조건 : 외부에서 입력된 자료를 막고자 입력 제약 조건을 걸 수 있다.
기본키 제약조건 (PRIMARY KEY, PK) 제약조건 : 중복 자료 입력 방지, NULL 허용하지 않음 ascending sort
-- Check 제약조건 : 특정 칼럼값 검사
-- unique 제약 조건 : 특정 칼럼값 중복 방지
-- 외부키 (참조키, foreign key, fk ) : 다른 테이블의 칼럼값을 참조한다. (fk의 대상은 pk가 대다수다.)
on delete coscode : 참조 대상 테이블의 행이 삭제되는 경우, 참조되는 테이블의 종속행을 모두 삭제
* 테이블을 drop할 땐 fk를 한 테이블 지우고, 그 담에 pk의 기준인 테이블을 drop해야 한다.
-- index 색인) 검색속도를 향상시키기 위해 검색이 빈번한 칼럼에 색인 부여
pk 칼럼은 자동으로 색인이 부여된다.
index를 사용해야 하는 경우 : 렠코드 수가 많을 때, Join이 자주 발생할 때, null이 많이 포함된 검색
index를 자제해야 하는 이유 : 입력, 수정, 삭제가 빈번한 테이블
-- now(), sysdate()
-- 테이블 관련 create table ... alter table... drop table ,,, rename 옛 이름 to 새 이름
SELECT * FROM cc;
ALTER TABLE cc RENAME kbs;
SELECT * FROM kbs;
ALTER TABLE kbs RENAME cc;
SELECT * FROM cc;
-- 칼럼추가
ALTER TABLE cc ADD(Job_id INT(6));
SELECT * FROM cc;
-- 칼럼명 변경
ALTER TABLE cc CHANGE job_id job_num INT;
SELECT * FROM cc;
-- 칼럼 타입 변경
ALTER TABLE cc MODIFY job_num VARCHAR(5);
DESC cc;
-- 칼럼 삭제
ALTER TABLE CC DROP COLUMN job_num;
SELECT * FROM cc;
DROP talbe aa;
DROP TABLE cc;
DROP TABLE profestor;
DROP TABLE test;
[수업내용 정리]
0. DB의 활용순서?
[입력자료 검사 → 자바에서 DATA검사 → INSERT 문장 작성 및 수행 → 집약조건 통과 →DB생성]
이 때, '결함없는 데이터'을, '무결성'이라는 목적을 위해 SQL에선 Constraint를 건다.
1. ★Select
카페에 준비한 sample data로 주구장창 쓸듯. 음 굳이 비유하면 JAVA의 프린트 같은 느낌 From은 끌어오는 테이블 지정
2. ★Constraint: 제약조건
DB Server는 많은 외부소스(cmd, HediSQL, Languages)로부터 데이터를 받는다.
1) primary key
2) Check 제약조건 : 특정 칼럼값 검사
3) unique 제약 조건 : 특정 칼럼값 중복 방지
4) default : 특정 칼럼에 초기값 부여, 널 입력을 방지
3. index 색인) 검색속도를 향상시키기 위해 검색이 빈번한 칼럼에 색인 부여
-- pk 칼럼은 자동으로 색인이 부여된다.
-- index를 사용해야 하는 경우 : 렠코드 수가 많을 때, Join이 자주 발생할 때, null이 많이 포함된 검색
-- index를 자제해야 하는 이유 : 입력, 수정, 삭제가 빈번한 테이블
※ 오늘 배우고 느낀 것
1. 뭔가 null을 관리하고, 채우고, 무시하고, 포함하고 이런게 중요한 SQL의 SKILL일것같은데....?
잘모르겠다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
2. fK는 나중에 Join 으로 대체되는 느낌적인 느낌
'[2020]KIC 캠퍼스 복습 > SQL(3,4)' 카테고리의 다른 글
[수업 D-16 ] SQL) 계정, 서버, stored Procddure, 사용자 정의 함수 (0) | 2020.08.03 |
---|---|
[수업 D-15] SQL SUBQUERY의 종류, VIEW 파일 (0) | 2020.07.31 |
[수업 D-14] SQL JOIN, commit, rollback (0) | 2020.07.31 |
[수업 D-13] SQL의 함수들, NVL, NVL2 (0) | 2020.07.29 |
[예제 3W] 수업 예제 정리(SQL) (0) | 2020.07.29 |