우주먼지
article thumbnail
Optimizer & Hint
Database/SQL 2023. 2. 20. 12:19

💡 Optimizer SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로(최저비용)를 생성해주는 DBMS 내부의 핵심 엔진이다. 사용자가 쿼리문으로 결과를 요청하면, 이를 생성하는데 필요한 처리경로는 DBMS에 내장된 옵티마이저가 자동으로 생성한다. 옵티마이저가 생성한 SQL 처리 경로를 실행계획(Execution Plan)이라고 한다. Optimizer의 SQL 최적화 과정 사용자가 작성한 쿼리 수행을 위해, 실행될 만한 실행 계획을 찾는다. Data Dictionary에 미리 수집해놓은 오브젝트 통계 및 시스템 통계 정보를 이용해서, 각 실행 계획의 예상 비용을 산정하며 각 실행 계획을 비교해서 최저 비용을 갖는 하나를 선택 및 실행한다. Parser Optimizer Row_Source SQL_..

article thumbnail
Schema & Query Design 2
Database/SQL 2022. 10. 7. 06:13

💡 SQL을 사용해 ERD 설계하기 ERD 설계 그림의 표를 보고 명령어를 작성하여 ERD를 설계 해보자 💡 데이터베이스 정규화 Data redundancy (데이터 중복) 실제 데이터의 복사본 or 부분적 복사본 일관된 자료 처리의 어려움 저장공간 낭비 효율성 감소 Data integrity (데이터 무결성) 정확성,일관성 유지 Anomaly(이상현상) 갱신이상 (update anomaly) 동일 데이터가 여러 행(레코드)에 있을때 어떤걸 갱신해야 하는지에 대한 논리적 일관성 없음 으로 인해 발생 ex) Employee ID가 동일한 레코드의 경우 어떤 데이터를 갱신해야 하는지 모를때 삽입이상 (insertion anomaly) 데이터 삽입을 못하는 경우를 가르킴 ex) 새 직원이 왔을때, 아직 가르칠..

article thumbnail
Schema & Query Design
Database/SQL 2022. 10. 6. 14:27

💡 Schema Design Schema = 데이터베이스에서 데이터가 구성되는 방식과 서로 다른 엔티티간의 관계에 대한 설명 Entity = 테이블(객체와 같은 개념) Record = 테이블에 저장된 요소, 행렬로 치면 행(row)으로 볼수있다 Column = 열 tuple = 행 1:1 관계의 데이터 정렬 방식 1:N 관계의 데이터 정렬 방식 Teacher테이블의 Classes 컬럼을 Classes의 primary key(ID)를 참조하면 ClassID는 foreign key라고 불린다. 만약 Teacher의 Classes에 여러 값을 저장하면, 상수 시간(constant-time)에 대한 검색 손실이 발생함 그럼 여러 값이 아닌 1개씩 저장한다고해도, 교사가 이름을 바꾼다면 모든 데이터를 업데이트해야..

article thumbnail
RDBMS
Database/SQL 2022. 10. 5. 17:22

💡 데이터베이스가 필요한 이유 In-Memory 끄면 데이터가 사라짐 File I/O 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤 서버에서 필터링 필요 Database 필터링 외에도 File I/O로 구현이 힘든 관리를 위한 여러 기능들을 가지고 있는 데이터에 특화된 서버 💡 데이터베이스 관련 명령어 # DB 생성 / 사용 CREATE DATABASE 디비명; USE 디비명; # Table 생성 CREATE TABLE user ( id INT PRIMARY KEY AUTO_INCREMENT, name varchar(255), email varchar(255) ); # Table 정보 조회 DESCRIBE user; # SELECT # 1.일반 문자열 SELECT 'hello world'..

검색 태그