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


16

최근에 SQL을 배우고 MySQL / Postgres와 곧 Oracle DB로 연습했습니다. 또한 웹에서 데이터베이스에 대한 '로드 맵'연구를 찾았지만 불행히도 데이터베이스를 찾을 수 없었습니다.

특정 데이터베이스 개념이 초급에서 중급 및 고급으로 확장되는 위치와 이유를 이해하고 싶습니다. 관계형 데이터베이스에 대해 생각하고 있습니다.

초보자-> 중급-> 고급 단계에서 아래에 나열된 기술을 배치하는 방법에 대해 설명해야합니다.

  • where 절
  • 구문 업데이트
  • 조인
  • 명령문 변경 및 작성
  • 임시 테이블
  • 커서
  • 인덱스
  • 외래 키
  • 제약
  • 업무
  • 서브 쿼리
  • 피봇
  • 집계 함수
  • 프로파일 링
  • OLAP과 OLTP
  • 트리거
  • 실행 계획
  • 실행 힌트
  • 성능 카운터
  • 표준화

답변:


20

나는 SQL과 관련하여 알아야 할 두 가지 유형이 있다고 말하고 싶습니다 (실제로 많은 기술에서 사실입니다). 조인, 하위 쿼리, 공용체 등과 같이 이해하거나 이해하지 못하는 특정 기술적 인 것들이 있습니다. 예를 들어 데이터베이스 디자인 및 데이터 모델링과 같은 기술의 기울기를 가지고 있습니다. 그 부드러운 것들로 시간이 지남에 따라 더 나아지지만, 그들과 "이들 방식으로 작동하지"않기 때문에 절대 "알지"마십시오.

즉, 여기에 내가 갈 일반적인 레이아웃이 있으며 내가 잘못했을 수있는 다른 사람들의 의견 / 생각에 절대적으로 개방되어 있습니다.

초보자

  • where 절 (in, between 등)
  • 구문 업데이트
  • 내부 대 왼쪽 대 오른쪽 조인 이해 및 사용법
  • 구조 변경 및 생성을위한 구문
  • 임시 테이블 및 사용법
  • 커서
  • 작동 방식이 아닌 인덱스의 기본 아이디어
  • 외래 키의 용도 및 해결 방법 (캐스 케이 딩 삭제 등)
  • 거래의 기초 이해
  • 제약 조건 이해

중급

  • 인덱스 작동 방식, 클러스터링 된 클러스터와 클러스터되지 않은 클러스터 간의 차이점, 페이지 정의 및 레이아웃 방식
  • 하위 쿼리 이해 및 조인 및 위치에서 하위 쿼리를 사용하여 생각할 수 있음
  • 피봇
  • 관련성이있는 경우 테이블 자체를 조인하여 생각할 수 있음
  • 집계 함수를 사용하여 그룹 별을 통해 복잡한 데이터 보고서를 생성 할 수 있습니다
  • 로그 읽기와 같은 모니터링 / 디버깅 용량으로 기본 프로파일 링을 수행 할 수 있습니다.
  • OLAP과 OLTP의 차이점 및 OLAP 구조 사용시기 / 위치 이해
  • 트리거를 사용하고 사용하지 않는 방법을 알고 있습니다.
  • 트랜잭션을 이해하고 스택에서 실패를 처리하는 트랜잭션을 계층화 할 수 있습니다.

많은

  • 실행 계획을 읽고 쿼리의 다른 부분이 어떻게 영향을 미치는지 이해할 수 있습니다.
  • 성능을 저하시키지 않고 실행 힌트로 쿼리를 조정할 수 있습니다 (병렬 힌트, 인덱스 힌트, 루프 힌트 등).
  • 실제로드에서 실행 통계를 식별하고 이해하기 위해 추적을 프로파일 링하고 사용할 수 있습니다.
  • 디스크의 데이터 구조를 알고 있습니다
  • 성능 카운터를 사용하고이를 모니터링하여 데이터베이스로드 및 동작이 무엇인지 이해할 수 있습니다.
  • OLAP 큐브를 디자인하고 하나를 사용하여 고급 데이터 마이닝을 수행하는 방법을 알고 있습니다.
  • 위험을 최소화하면서 트리거를 사용하는 방법과 안전하게 사용하는 방법을 알고 있습니다
  • 계층에서도 분산 트랜잭션을 사용하는 방법을 알고 있습니다

그것이 내 머리 꼭대기에서 떠 올릴 수있는 전부입니다. 내가 놓친 다른 사람을 언급하거나 잘못된 장소에 무언가를 넣은 경우 의견을 남겨주십시오. 나는 허를 내려 놓을 수있는 고급 기술의 거대한 목록을 알기에 충분하지 않습니다.


우리의 두리스트를 나란히 보는 것은 흥미 롭습니다
Chris Pitman

11

후보자를 인터뷰 할 때 사용하는 척도입니다. 이것은 분명히 내 자신의 의견이며, 규모는 쉽게 변할 수 있습니다.

먼저, 특히 "SQL"이 아닌 데이터베이스 기술을 찾고 있습니다.

초보자:

  • 기본 SQL 구문을 알고 있습니다
  • 여러 테이블에서 데이터를 선택하고 필터링 할 수 있습니다
  • 내부 / 외부 / 크로스 조인 이해
  • 정규화, 인덱싱, 트랜잭션, 잠금에 대한 모호한 이해

중급 :

  • SQL의 절차 스타일과 선언 스타일의 차이점 이해
  • 하나 이상의 DB SQL 확장 (PSQL, TSQL 등) 경험
  • 세 번째 정규 형식의 데이터베이스를 이해하고 설계 할 수 있습니다.
  • 인덱싱 이해 및 구현
  • 트랜잭션을 이해하고 단일 데이터베이스에서 사용할 수 있습니다
  • 실행 계획을 분석하는시기와 방법을 알고 있습니다

많은:

  • 데이터베이스를 비정규 화하는시기와 방법 이해
  • 데이터베이스 및 통합 시스템에서 분산 트랜잭션을 설정하는 방법 이해
  • 고 가용성, 데이터 복구 등을 위해 데이터베이스를 설정할 수 있습니다
  • 각 DB 엔진의 내부 작업에 대한 깊은 이해 (최소 2 개)
  • 데이터웨어 하우징 및보고에 상당한 노출을위한 추가 포인트
  • NoSQL 변형에 대한 상당한 노출을위한 추가 포인트 및 사용시기에 대한 합리적인 기준 세트

우스운, 당신의 명부는 나의 것과 아주 유사하다; 실행 계획을 한 단계 올렸지 만 그렇지 않으면 기본적으로 동일합니다. 필자는 3 차 정규 형식을 거의 중간에 넣었지만 실제로는 초보 / 중급 / 고급으로 데이터 모델링을 할 수 없다고 생각합니다. 너무 회색 인 예술적 재능이 너무 많습니다. 제 3의 정상을하는 방법을 아는 것은 기술이 언제인지 아는 기술입니다. 어떻게 '하지만 관련이와 나는 거의 그 ㅎ뿐만 아니라 중간에 넣어
지미 호파
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.