이 SQL 개념은 초보자, 중급 또는 고급 개발자를위한 것입니까? [닫은]

최근에 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 변형에 대한 상당한 노출을위한 추가 포인트 및 사용시기에 대한 합리적인 기준 세트

답변