최근에 SQL을 배우고 MySQL / Postgres와 곧 Oracle DB로 연습했습니다. 또한 웹에서 데이터베이스에 대한 ‘로드 맵’연구를 찾았지만 불행히도 데이터베이스를 찾을 수 없었습니다.
특정 데이터베이스 개념이 초급에서 중급 및 고급으로 확장되는 위치와 이유를 이해하고 싶습니다. 관계형 데이터베이스에 대해 생각하고 있습니다.
초보자-> 중급-> 고급 단계에서 아래에 나열된 기술을 배치하는 방법에 대해 설명해야합니다.
- where 절
- 구문 업데이트
- 조인
- 명령문 변경 및 작성
- 임시 테이블
- 커서
- 인덱스
- 외래 키
- 제약
- 업무
- 서브 쿼리
- 피봇
- 집계 함수
- 프로파일 링
- OLAP과 OLTP
- 트리거
- 실행 계획
- 실행 힌트
- 성능 카운터
- 표준화
답변
나는 SQL과 관련하여 알아야 할 두 가지 유형이 있다고 말하고 싶습니다 (실제로 많은 기술에서 사실입니다). 조인, 하위 쿼리, 공용체 등과 같이 이해하거나 이해하지 못하는 특정 기술적 인 것들이 있습니다. 예를 들어 데이터베이스 디자인 및 데이터 모델링과 같은 기술의 기울기를 가지고 있습니다. 그 부드러운 것들로 시간이 지남에 따라 더 나아지지만, 그들과 “이들 방식으로 작동하지”않기 때문에 절대 “알지”마십시오.
즉, 여기에 내가 갈 일반적인 레이아웃이 있으며 내가 잘못했을 수있는 다른 사람들의 의견 / 생각에 절대적으로 개방되어 있습니다.
초보자
- where 절 (in, between 등)
- 구문 업데이트
- 내부 대 왼쪽 대 오른쪽 조인 이해 및 사용법
- 구조 변경 및 생성을위한 구문
- 임시 테이블 및 사용법
- 커서
- 작동 방식이 아닌 인덱스의 기본 아이디어
- 외래 키의 용도 및 해결 방법 (캐스 케이 딩 삭제 등)
- 거래의 기초 이해
- 제약 조건 이해
중급
- 인덱스 작동 방식, 클러스터링 된 클러스터와 클러스터되지 않은 클러스터 간의 차이점, 페이지 정의 및 레이아웃 방식
- 하위 쿼리 이해 및 조인 및 위치에서 하위 쿼리를 사용하여 생각할 수 있음
- 피봇
- 관련성이있는 경우 테이블 자체를 조인하여 생각할 수 있음
- 집계 함수를 사용하여 그룹 별을 통해 복잡한 데이터 보고서를 생성 할 수 있습니다
- 로그 읽기와 같은 모니터링 / 디버깅 용량으로 기본 프로파일 링을 수행 할 수 있습니다.
- OLAP과 OLTP의 차이점 및 OLAP 구조 사용시기 / 위치 이해
- 트리거를 사용하고 사용하지 않는 방법을 알고 있습니다.
- 트랜잭션을 이해하고 스택에서 실패를 처리하는 트랜잭션을 계층화 할 수 있습니다.
많은
- 실행 계획을 읽고 쿼리의 다른 부분이 어떻게 영향을 미치는지 이해할 수 있습니다.
- 성능을 저하시키지 않고 실행 힌트로 쿼리를 조정할 수 있습니다 (병렬 힌트, 인덱스 힌트, 루프 힌트 등).
- 실제로드에서 실행 통계를 식별하고 이해하기 위해 추적을 프로파일 링하고 사용할 수 있습니다.
- 디스크의 데이터 구조를 알고 있습니다
- 성능 카운터를 사용하고이를 모니터링하여 데이터베이스로드 및 동작이 무엇인지 이해할 수 있습니다.
- OLAP 큐브를 디자인하고 하나를 사용하여 고급 데이터 마이닝을 수행하는 방법을 알고 있습니다.
- 위험을 최소화하면서 트리거를 사용하는 방법과 안전하게 사용하는 방법을 알고 있습니다
- 계층에서도 분산 트랜잭션을 사용하는 방법을 알고 있습니다
그것이 내 머리 꼭대기에서 떠 올릴 수있는 전부입니다. 내가 놓친 다른 사람을 언급하거나 잘못된 장소에 무언가를 넣은 경우 의견을 남겨주십시오. 나는 허를 내려 놓을 수있는 고급 기술의 거대한 목록을 알기에 충분하지 않습니다.
답변
후보자를 인터뷰 할 때 사용하는 척도입니다. 이것은 분명히 내 자신의 의견이며, 규모는 쉽게 변할 수 있습니다.
먼저, 특히 “SQL”이 아닌 데이터베이스 기술을 찾고 있습니다.
초보자:
- 기본 SQL 구문을 알고 있습니다
- 여러 테이블에서 데이터를 선택하고 필터링 할 수 있습니다
- 내부 / 외부 / 크로스 조인 이해
- 정규화, 인덱싱, 트랜잭션, 잠금에 대한 모호한 이해
중급 :
- SQL의 절차 스타일과 선언 스타일의 차이점 이해
- 하나 이상의 DB SQL 확장 (PSQL, TSQL 등) 경험
- 세 번째 정규 형식의 데이터베이스를 이해하고 설계 할 수 있습니다.
- 인덱싱 이해 및 구현
- 트랜잭션을 이해하고 단일 데이터베이스에서 사용할 수 있습니다
- 실행 계획을 분석하는시기와 방법을 알고 있습니다
많은:
- 데이터베이스를 비정규 화하는시기와 방법 이해
- 데이터베이스 및 통합 시스템에서 분산 트랜잭션을 설정하는 방법 이해
- 고 가용성, 데이터 복구 등을 위해 데이터베이스를 설정할 수 있습니다
- 각 DB 엔진의 내부 작업에 대한 깊은 이해 (최소 2 개)
- 데이터웨어 하우징 및보고에 상당한 노출을위한 추가 포인트
- NoSQL 변형에 대한 상당한 노출을위한 추가 포인트 및 사용시기에 대한 합리적인 기준 세트