몸이 너무아프 고 졸빋다
👶📗📘📙📚📖📃📂🤔🎷✍🍼🔒🔓🔏🔐💾🔑📃📜📄📑📰📂📁🍼🔒
- SQL 실행 순서 :
Parsing -> Excution -> Fetch
구문분석 -> 쿼리실행(옵티마이저) -> 검색

- 프로그래밍에서는 시간도 비용으로 여긴다.
- DEPT 테이블을 먼저 읽는 것이 최저비용이다.


- 규칙기반 옵티마이저 : 정석
비용기반 옵티마이저 : 최저비용


- 인덱스는 테이블당 4~5개 정도를 사용하는 것이 적절하다.


















- 커서를 사용하는 이유 :
대용량의 데이터를 사용할 때
전체 행이 아닌 한 행씩 가져오기 위해
- 커서를 사용할 때의 장점 :
속도가 빨라지고, 메모리 사용량도 줄어듦
- 커서를 사용할 때의 단점 :
비교, 검색시에는 전체 행을 가져오는 것이 유리함


- 트리거 = DB의 객체, 감지 후 반응
- 데이터 변경 = 이벤트









☆ 암기



- 개념적 모델링 :
개체 추출 -> 관계 정의 -> ER다이어그램 작성
- 두 릴레이션을 이어주는 역할을 할 때는
다이아몬드 모양의 릴레이션 사용
- 관계가 있다면 무조건 선으로 연결해준다







- 다중값 속성은 쪼갤 수 없음, 여러 개일 수는 있음
- 복합 속성은 쪼갤 수 있음 (원자성 위배)



























- 이상현상이란?
잘못 설계된 DB모델링 때문에 발생된 것
데이터조작시 이상현상 발생
- 데이터조작 : 테이블에 데이터 삽입, 삭제, 수정
삽입이상) 행 삽입시 특정 속성에 해당하는 값이 없어 NULL값을 입력해야 하는 경우
삭제이상) 행 삭제시 연쇄적으로 삭제 현상 발생
수정이상) 하나의 릴레이션에서 값 수정,
다른 릴레이션의 동일한 속성은 수정X
수정의 경우 데이터 일관성에 위배








- 역정규화, 반정규화 : 여러개의 릴레이션을 하나로 결합하는 것
- 역정규화, 반정규화를 하는 이유 : 검색속도 향상





- 정규화시 주의사항
기본키가 복합키인 경우 무조건 정규화를 해준다고 생각할 것






24.05.07_DB.txt
12KB