Apakah konsep SQL ini untuk pemula, menengah, atau pengembang tingkat lanjut? [Tutup]
16
Saya telah belajar SQL baru-baru ini dan berlatih dengan MySQL / Postgres dan segera Oracle DB. Saya juga mencari web untuk studi 'peta jalan' dari database tetapi sayangnya tidak bisa menemukannya.
Saya ingin memahami di mana dan mengapa konsep basis data tertentu jatuh pada skala dari pemula hingga menengah dan lanjutan. Saya berpikir tentang database relasional untuk sebagian besar.
Tolong jelaskan cara mengeluarkan keterampilan yang tercantum di bawah ini dalam perkembangan Pemula -> Menengah -> Mahir untuk tingkat pengembang mana yang harus mengetahuinya:
Saya akan mengatakan ada dua jenis hal yang perlu diketahui sehubungan dengan SQL (ini benar dari banyak teknologi sebenarnya), ada hal-hal teknis khusus seperti bergabung, subquery, serikat pekerja, dll yang Anda mengerti atau tidak, dan kemudian ada hal-hal seperti desain basis data dan pemodelan data yang memiliki gradien keterampilan di dalamnya, seperti seni. Anda menjadi lebih baik dari waktu ke waktu dengan hal-hal yang lebih lembut, tetapi tidak pernah "tahu" mereka karena tidak ada "mereka bekerja dengan cara ini" dengan mereka.
Yang mengatakan, inilah tata letak umum saya akan pergi, dan saya benar-benar terbuka untuk komentar / pemikiran dari orang lain di mana saya mungkin salah.
Pemula
Di mana klausa (di, di antara, dll)
Perbarui sintaks
Batin vs kiri vs kanan bergabung dengan pemahaman dan penggunaan
Sintaks untuk mengubah dan membuat struktur
Temp table dan penggunaannya
Kursor
Gagasan dasar untuk apa indeks, meskipun bukan cara kerjanya
Memahami untuk apa kunci asing dan bagaimana mengatasinya (penghapusan cascading dll)
Memahami dasar-dasar transaksi
Memahami kendala
Menengah
Bagaimana indeks bekerja, perbedaan antara berkerumun, non-berkerumun, dll, apa halaman itu dan bagaimana mereka tata letak
Memahami subqueries, dan dapat berpikir melalui menggunakannya dalam gabungan dan wheres
Pivot
Dapat memikirkan bergabung dengan tabel pada dirinya sendiri ketika relevan
Dapat menghasilkan laporan data kompleks melalui bys grup dengan fungsi agregat
Dapat melakukan profil dasar hanya dalam kapasitas pemantauan / debugging seperti membaca log
Memahami perbedaan antara OLAP dan OLTP dan kapan / di mana menggunakan struktur OLAP
Tahu cara menggunakan pemicu dan tidak menggunakannya
Memahami transaksi dan dapat melapisi mereka dalam menangani kegagalan di stack
Maju
Dapat membaca rencana eksekusi, dan memahami bagaimana bagian-bagian berbeda dari kueri memengaruhinya
Dapat menyetel kueri dengan petunjuk eksekusi tanpa mengacaukan kinerja (petunjuk paralelisme, petunjuk indeks, petunjuk loop, dkk)
Dapatkah profil dan menggunakan jejak untuk mengidentifikasi dan memahami statistik eksekusi di bawah beban dunia nyata
Tahu apa struktur data pada disk
Dapat menggunakan penghitung kinerja dan memahami apa beban basis data dan perilaku dari pemantauan mereka
Tahu cara mendesain kubus OLAP dan melakukan penambangan data lanjutan dengan satu
Tahu cara menggunakan pemicu dan cara menggunakannya dengan aman, dengan risiko minimal
Tahu cara menggunakan transaksi terdistribusi bahkan dengan lapisan
Hanya itu yang bisa saya dapatkan dari atas kepala saya. Silakan tinggalkan komentar yang menyebutkan orang lain yang saya lewatkan atau jika saya meletakkan sesuatu di tempat yang salah. Saya tidak cukup maju untuk mengetahui daftar besar teknik-teknik canggih untuk meletakkan heh
Lucu, daftar Anda sangat mirip dengan daftar saya; meskipun saya menempatkan rencana eksekusi satu langkah ke atas kalau tidak kita pada dasarnya sama. Saya hampir memasukkan bentuk normal ke-3 ke tingkat menengah, tetapi saya benar-benar berpikir pemodelan data tidak dapat dianggap sebagai pemula / menengah / lanjutan, itu terlalu banyak bakat artistik yang begitu abu-abu. Mengetahui bagaimana melakukan normal ke-3 adalah keterampilan, mengetahui kapan seni. Namun bagaimana relevan dan saya hampir memasukkannya juga untuk heh
Inilah skala yang saya gunakan saat mewawancarai kandidat. Ini jelas pendapat pribadi saya sendiri, skala dapat dengan mudah bervariasi:
Pertama, saya mencari keterampilan basis data, tidak secara khusus "SQL".
Pemula:
Menengah:
Maju:
sumber