데이터베이스 9주차

2022. 11. 1. 11:48학교수업

SQL : Data definition language(데이터 정의 언어) / Data manipication language(데이터 조작 언어)

데이터 조작언어 -> C R U D (create read update delete)

 

1. 데이터의 무결성

2. 데이터의 조회 속도

 

키 : 유일성을 띄어야한다.

 

스키마 : 데이터 베이스 구조 / 데이터 베이스 테이블 간의 관계

-> 특정 열과 특정 열과의 관계를 뜻한다.

 

from emp as e : 별칭 (emp를 e라고 한다.) (= from emp e)

-> 한글 이름 지정에도 사용

 

SQL 최적화 과정

1. SQL 파싱 : 구문, 문맥 검사

2. SQL 최적화 : (DBMS 성능 결정), 여러 실행경로 중 최적 경로 설정

 

속도

cpu > memory > disk

-> DB가 disk에 있다면 속도 차이 때문에 최소화해야함.

DMA : Direct Memory Access

 

SQL 공유 및 재사용(중요)

캐시를 이용하여 disk를 사용하지 않고 memory를 사용하면 훨씬 빠름

하지만 SQL 명령어가 문제가 있을 시 오히려 느릴 수 도 있다.

소프트 파싱 vs 하드 파싱

 

SQL -> 로그인 ?를 이용하여 처리(id를 저장) -> 바인드 변수

=> 계속 파싱 해야 하는 것을 1회로 줄어줌

 

이진 탐색 트리

balanced tree -> Red-Black -> AVL -> 2-3 -> 2-3-4 -> b-tree

DBMS가 탐색에서 가장 많이 쓰는 것 -> b-tree

 

인덱스 : 트리 구조

 

소량의 데이터를 사용할 때 인덱스 사용 -> ex) 로그인

너무 많은 데이터를 가져와야 할 경우 인덱스는 독이 된다.

-> 어떤 것을 하느냐에 따라 SQL을 잘 써야 한다.

=> 무조건적 인덱스는 문제가 있다.

 

대규모 데이터에서 대량의 데이터 -> 시퀀셜 액세스 사용

대규모 데이터에서 소량의 데이터 -> 인덱스 사용 (대부분 소량을 가져오기에 인덱스가 빨라보임)

 

해시 함수 -> 제산 함수(%) + chaining

 

index range scan이 주력이다.

 

테이블 랜덤 액세스 vs 시퀀셜 액세스

5~20%지점이 손익분기점

'학교수업' 카테고리의 다른 글

데이터베이스 11주차  (0) 2022.11.15
컴퓨터그래픽스응용 9주차  (0) 2022.11.02
컴퓨터 그래픽스 응용 중간고사  (0) 2022.10.19
데이터베이스 7주차  (0) 2022.10.18
데이터베이스 6주차  (0) 2022.10.18