Đây có phải là các khái niệm SQL cho người mới bắt đầu, trung cấp hoặc nhà phát triển nâng cao không? [đóng cửa]


16

Gần đây tôi đã học SQL và thực hành với MySQL / Postgres và sắp tới là Oracle DB. Tôi cũng đã tìm kiếm trên web một nghiên cứu về cơ sở dữ liệu 'bản đồ đường bộ' nhưng không thể tìm thấy một cơ sở dữ liệu.

Tôi muốn hiểu ở đâu và tại sao các khái niệm cơ sở dữ liệu cụ thể rơi vào thang điểm từ cơ bản đến trung cấp và nâng cao. Tôi đang suy nghĩ về cơ sở dữ liệu quan hệ phần lớn.

Vui lòng giải thích cách trình bày các kỹ năng được liệt kê bên dưới theo tiến trình của Người mới bắt đầu -> Trung cấp -> Nâng cao cho cấp độ nhà phát triển nên biết chúng:

  • Mệnh đề ở đâu
  • Cập nhật cú pháp
  • Tham gia
  • Thay đổi và tạo báo cáo
  • Bảng tạm
  • Con trỏ
  • Chỉ mục
  • Khóa ngoại
  • Những ràng buộc
  • Giao dịch
  • Truy vấn con
  • Pivots
  • Chức năng tổng hợp
  • Hồ sơ
  • OLAP và OLTP
  • Gây nên
  • Kế hoạch thực hiện
  • Gợi ý thực hiện
  • Quầy hiệu suất
  • Bình thường hóa

Câu trả lời:


20

Tôi muốn nói có hai loại điều cần biết liên quan đến SQL (điều này đúng với nhiều công nghệ thực sự), có những điều kỹ thuật cụ thể như tham gia, truy vấn con, công đoàn, v.v. mà bạn hiểu hoặc không, và sau đó có những điều như thiết kế cơ sở dữ liệu và mô hình hóa dữ liệu có một dải kỹ năng trong đó, như nghệ thuật. Bạn trở nên tốt hơn theo thời gian với những điều nhẹ nhàng hơn, nhưng không bao giờ "biết" chúng vì không có "chúng hoạt động theo cách này" với chúng.

Điều đó nói rằng, đây là một bố cục chung mà tôi sẽ đi cùng, và hoàn toàn cởi mở với những bình luận / suy nghĩ từ người khác, nơi tôi có thể sai.

Người bắt đầu

  • Các mệnh đề (ở, giữa, v.v.)
  • Cập nhật cú pháp
  • Hiểu và sử dụng bên trong vs bên trái
  • Cú pháp thay đổi và tạo cấu trúc
  • Bảng tạm thời và cách sử dụng của họ
  • Con trỏ
  • Ý tưởng cơ bản về chỉ mục là gì, mặc dù không phải cách chúng hoạt động
  • Hiểu về khóa ngoại để làm gì và cách khắc phục xung quanh chúng (xóa tầng, v.v.)
  • Hiểu cơ bản về giao dịch
  • Hiểu các ràng buộc

Trung gian

  • Làm thế nào các chỉ mục hoạt động, sự khác biệt giữa cụm, không cụm, v.v., trang là gì và cách bố trí
  • Hiểu biết về các truy vấn con và có thể suy nghĩ thông qua việc sử dụng chúng trong các phép nối và vị trí
  • Pivots
  • Có thể suy nghĩ thông qua việc tham gia một bảng trên chính nó khi có liên quan
  • Có thể tạo báo cáo dữ liệu phức tạp thông qua các nhóm bằng các hàm tổng hợp
  • Có thể thực hiện hồ sơ cơ bản chỉ trong khả năng giám sát / gỡ lỗi như đọc nhật ký
  • Hiểu sự khác biệt giữa OLAP và OLTP và khi nào / ở đâu sử dụng cấu trúc OLAP
  • Biết cách sử dụng kích hoạt và không sử dụng chúng
  • Hiểu các giao dịch và có thể lớp chúng xử lý các lỗi trong ngăn xếp

Nâng cao

  • Có thể đọc một kế hoạch thực hiện và hiểu cách các phần khác nhau của truy vấn ảnh hưởng đến nó
  • Có thể điều chỉnh các truy vấn với gợi ý thực hiện mà không làm tăng hiệu suất (gợi ý song song, gợi ý chỉ mục, gợi ý vòng lặp, et al)
  • Có thể lập hồ sơ và sử dụng dấu vết để xác định và hiểu số liệu thống kê về các vụ hành quyết trong tải thực tế
  • Biết cấu trúc dữ liệu trên đĩa là gì
  • Có thể sử dụng bộ đếm hiệu suất và hiểu tải cơ sở dữ liệu và hành vi là gì khi giám sát chúng
  • Biết cách thiết kế khối OLAP và khai thác dữ liệu nâng cao với một khối
  • Biết cách sử dụng kích hoạt và cách sử dụng chúng một cách an toàn, với rủi ro tối thiểu
  • Biết cách sử dụng các giao dịch phân tán ngay cả với các lớp

Đó là tất cả những gì tôi có thể nghĩ ra khỏi đỉnh đầu. Hãy để lại ý kiến ​​đề cập đến những người khác mà tôi đã bỏ lỡ hoặc nếu tôi đặt sai thứ gì đó. Tôi không đủ tiến bộ để biết một danh sách lớn các kỹ thuật tiên tiến để đưa xuống heh


Thật thú vị khi nhìn thấy hai danh sách của chúng tôi cạnh nhau
Chris Pitman

11

Đây là thang đo tôi sử dụng trong khi phỏng vấn ứng viên. Đây rõ ràng là ý kiến ​​cá nhân của riêng tôi, quy mô có thể dễ dàng thay đổi:

Đầu tiên, tôi đang tìm kiếm các kỹ năng cơ sở dữ liệu, không phải là "SQL".

Người bắt đầu:

  • Biết cú pháp SQL cơ bản
  • Có thể chọn và lọc dữ liệu trên nhiều bảng
  • Hiểu được tham gia bên trong / bên ngoài / chéo
  • Hiểu biết mơ hồ về bình thường hóa, lập chỉ mục, giao dịch, khóa

Trung gian:

  • Hiểu sự khác biệt giữa các kiểu thủ tục và khai báo cho SQL
  • Trải nghiệm với ít nhất một phần mở rộng SQL DB (PSQL, TSQL, v.v.)
  • Hiểu và có thể thiết kế cơ sở dữ liệu ở dạng bình thường thứ ba
  • Hiểu và có thể thực hiện lập chỉ mục
  • Hiểu các giao dịch và có thể sử dụng chúng trong một cơ sở dữ liệu
  • Biết khi nào và làm thế nào để phân tích một kế hoạch thực hiện

Nâng cao:

  • Hiểu khi nào và làm thế nào để chuẩn hóa cơ sở dữ liệu
  • Hiểu cách thiết lập các giao dịch phân tán trên cơ sở dữ liệu và các hệ thống tích hợp
  • Có thể thiết lập một cơ sở dữ liệu để sẵn sàng cao, phục hồi dữ liệu, v.v.
  • Không hiểu sâu về hoạt động bên trong của mỗi động cơ DB (ít nhất là hai)
  • Thêm điểm cho tiếp xúc đáng kể với kho dữ liệu và báo cáo
  • Thêm điểm cho sự tiếp xúc đáng kể với các biến thể của NoQuery và một bộ tiêu chí hợp lý khi nào nên sử dụng cái gì

Thật buồn cười, danh sách của bạn khá giống với tôi; mặc dù tôi đặt kế hoạch thực hiện lên một bước nếu không về cơ bản chúng ta giống nhau. Tôi gần như đưa hình thức bình thường thứ 3 vào trung gian, nhưng tôi thực sự nghĩ rằng mô hình hóa dữ liệu không thể được gán cho người mới bắt đầu / trung cấp / nâng cao, nó đơn giản là quá nhiều tài năng nghệ thuật quá xám. Biết cách làm thứ 3 bình thường là một kỹ năng, biết khi nào là một nghệ thuật. Mặc dù thế nào cũng có liên quan và tôi gần như đã đưa nó vào trung gian cũng vậy
Jimmy Hoffa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.