JavaRush /Java Blog /Random-ID /Resensi buku “SQL. Kumpulan resep” oleh Anthony Molinaro

Resensi buku “SQL. Kumpulan resep” oleh Anthony Molinaro

Dipublikasikan di grup Random-ID
Halo semua. Orang-orang yang memiliki tujuan dan ingin menjadi pengembang Java telah berkumpul di sini. Dan ini logis: JavaRush diciptakan untuk ini. Untuk menjadi pengembang penuh, Anda perlu mengetahui daftar topik tertentu. Saya menjelaskan daftar lengkap pengetahuan yang diperlukan untuk pengembang Java di artikel ini . Resensi buku “SQL.  Kumpulan resep” oleh Anthony Molinaro - 1Jadi: salah satu topik wajib dalam daftar ini adalah pengetahuan tentang bahasa SQL dan pemahaman dengan setidaknya satu database relasional. Kabar baiknya adalah Anda hanya memerlukan satu buku untuk mempelajari SQL pada tingkat yang cukup untuk seorang pengembang Java! Ada banyak pilihan buku yang cocok untuk pemulaan awal ke dalam SQL, tetapi hari ini saya ingin fokus pada “SQL. Koleksi resep” oleh Anthony Molinaro. Resensi buku “SQL.  Kumpulan resep” Anthony Molinaro - 2Keunikan buku ini adalah selain mempelajari SQL pada tingkat dasar, Anda akan mengenal beberapa database sekaligus dan melihat perbedaan query untuk database tersebut dan apa saja fitur database tertentu. Buku ini mencakup pertanyaan untuk database berikut:
  • DB2;
  • Basis Data Oracle;
  • PostgreSQL;
  • SQLServer;
  • MySQL.

Untuk siapa buku itu?

  • pengembang pemula

Pertama-tama, buku ini akan bermanfaat bagi pengembang pemula, misalnya di Java. Anda harus berurusan pada tingkat dasar dengan berbagai database relasional, jadi buku ini akan membantu Anda memperoleh pengetahuan yang diperlukan tentang SQL.

  • pengembang berpengalaman

Anda mungkin sudah familiar dengan pembuatan kueri SQL, namun tetap saja buku ini akan mengejutkan Anda dan melengkapi pengetahuan Anda. Atau, misalnya, Anda berpindah ke proyek dengan database relasional yang tidak Anda kenal. Kemudian, dengan bantuan buku ini, Anda akan dapat menggambar analogi dari kueri dari database yang sudah dikenal ke database baru.

  • pengembang SQL pemula

Anda mungkin baru saja berpikir untuk menjadi pengembang basis data. Maka buku ini sangat cocok untuk Anda! Anda akan dapat mempelajari dasar-dasar SQL, membahas berbagai database, dan memilih database “Anda”, yang akan Anda pelajari lebih detail di masa mendatang.

Tentang apa buku ini

Buku ini mencakup, bab demi bab, topik dasar SQL, serta berbagai masalah SQL dan solusinya. Oleh karena itu, dapat dijadikan acuan: suatu masalah telah muncul, Anda mencari cara yang tepat untuk menyelesaikannya, kemudian Anda menciptakan solusi Anda sendiri yang sesuai dengan kondisi saat ini. Halaman-halaman buku ini berisi lebih dari 150 resep. Ya, tepatnya resep untuk membuat kueri SQL: itulah mengapa buku ini diberi nama ini. Resensi buku “SQL.  Kumpulan resep” Anthony Molinaro - 3Apa yang harus dilakukan setelah membaca buku ini?
  1. Jangan takut untuk bereksperimen, karena hanya dengan trial and error Anda bisa mendapatkan pengalaman yang begitu berharga, jadi berlatihlah, berlatih dan berlatih lagi!
  2. Menguji. Maksud saya adalah saat membaca buku ini, lebih baik mencoba contoh pertanyaan yang diberikan secara paralel, yang berkat ini, akan diingat dengan baik dalam ingatan Anda.
  3. Pengulangan adalah ibu dari pembelajaran. Oleh karena itu, disarankan untuk memperkenalkan catatan di mana Anda dapat menuliskan poin-poin penting dan mengulanginya secara berkala, sehingga menulis pertanyaan di kemudian hari tidak menimbulkan masalah bagi Anda.
  4. Anda perlu memahami bahwa yang baru tidak selalu berarti lebih baik. Hanya karena Anda tidak menggunakan beberapa fitur SQL terbaru (seperti fungsi jendela) bukan berarti kode Anda tidak efektif. Lagi pula, ada banyak contoh di mana solusi SQL tradisional tidak lebih buruk, dan terkadang bahkan lebih baik, dibandingkan solusi baru.
  5. Jangan takut untuk bereksperimen. Berkreasilah dengan pekerjaan Anda! Lagi pula, semua solusi belum ditemukan: mungkin pendekatan kreatif akan menjadi yang terbaik dalam situasi Anda.
Resensi buku “SQL.  Kumpulan resep” Anthony Molinaro - 4Sekarang mari kita lihat sedikit isi bukunya:

1. Mengekstraksi catatan

Bab ini membahas pertanyaan pertama yang paling sederhana. Dalam contoh Anda akan melihat:
  • bagaimana klausa WHERE dapat digunakan untuk memilih baris ke dalam kumpulan hasil umum;
  • cara menetapkan alias ke kolom hasil;
  • bagaimana Anda bisa menggunakan subkueri untuk mengakses kolom dengan alias;
  • cara membatasi jumlah yang dikembalikan pada baris hasil;
  • cara mengembalikan string acak dan mendeteksi nilai NULL.
Biasanya, contohnya cukup sederhana, tetapi ada beberapa yang bahkan dapat mengejutkan pengembang berpengalaman.

2. Menyortir hasil query

Bab ini membahas hasil query pengurutan. Sebenarnya, operator ORDER BY digunakan untuk ini . Anda akan melihat contoh kompleksitas yang bervariasi mulai dari sekadar mengurutkan satu kolom, mengurutkan berdasarkan substring, hingga mengurutkan menggunakan berbagai kondisi.

3. Bekerja dengan banyak tabel

Bagian buku ini memperkenalkan cara menggabungkan data dari beberapa tabel. Saya tidak akan berbohong jika saya mengatakan bahwa penggabungan tabel adalah salah satu pilar dasar SQL, dan untuk berhasil dengan SQL, Anda perlu memperoleh pengetahuan ini dan dapat menggunakannya. Di sini Anda akan melihat contoh gabungan dalam dan luar, perkalian kartesius, operasi himpunan dasar (pengurangan, penggabungan, perpotongan), dan bagaimana gabungan dapat memengaruhi fungsi agregat.

4. Sisipkan, perbarui, hapus

Di bagian ini, Anda akan mempelajari kueri SQL untuk menyisipkan, memperbarui, dan menghapus data. Contoh yang lebih menarik juga dibahas - operasi seperti menyisipkan baris dari satu tabel ke tabel lain atau menggunakan subkueri terkait selama pembaruan. Anda akan memahami konsekuensi memiliki nilai NULL, mempelajari tentang penyisipan multi-tabel, perintah MERGE, dll.

5. Permintaan metadata

Bab ini membahas tentang membuat kueri untuk mengakses metadata database yang Anda gunakan: mengetahui indeks, batasan, dan tabel skema akan berguna. Kueri sederhana yang diusulkan di sini memungkinkan Anda memperoleh informasi tentang skema itu sendiri. Selain itu, bab ini menunjukkan contoh "SQL dinamis", yaitu SQL yang dihasilkan oleh SQL.

6. Bekerja dengan string

Bab ini memperkenalkan teknik untuk bekerja dengan string. SQL tidak pernah dikenal dengan kemampuan penguraian stringnya, tetapi sedikit kreativitas yang dikombinasikan dengan berbagai fungsi yang disediakan oleh berbagai database dapat mencapai kesuksesan besar dalam hal ini. Sebenarnya, bab ini adalah tempat kesenangan dimulai. Beberapa contoh akan mengejutkan Anda. Misalnya:
  • menghitung contoh karakter dalam string;
  • mengonversi daftar dan string yang dibatasi menjadi baris tabel;
  • membuat daftar yang dibatasi dari baris tabel;
  • memisahkan data numerik dan karakter dari string yang terdiri dari karakter alfanumerik.

7. Bekerja dengan angka

Bagian buku ini akan membahas cara memecahkan masalah standar dengan angka. Di sini Anda dapat menemukan contoh umum dan mempelajari bagaimana fungsi jendela dapat dengan mudah menangani tugas penghitungan dan agregasi. Anda akan belajar:
  • menghitung jumlah saat ini;
  • mencari mean, median dan modus;
  • menghitung persentil;
  • menangani nilai NULL saat melakukan agregasi.

8-9. Aritmatika tanggal

Dalam dua bab ini Anda akan mempelajari cara bekerja dengan tanggal, karena ketika memecahkan masalah sehari-hari, penting untuk dapat melakukan operasi yang paling sederhana dan paling umum dengan tanggal tersebut. Berbagai contohnya antara lain mencari jumlah hari kerja di antara dua tanggal, menghitung selisih antara dua tanggal dalam satuan waktu yang berbeda, mengembalikan semua hari dalam setahun, mencari tahun kabisat, mencari hari pertama dan terakhir dalam suatu bulan, membuat kalender, dll. . Setelah bab-bab ini, akan sangat sulit untuk menakut-nakuti Anda dengan tugas apa pun yang terkait dengan tanggal (tetapi Anda bisa membuat Anda takut).

10. Bekerja dengan rentang data*

Bab ini memperkenalkan metode untuk mencari nilai yang sudah ada dalam rentang tanggal. Anda akan mempelajari cara membuat urutan string secara otomatis, menyisipkan nilai rentang numerik yang hilang, menentukan awal dan akhir rentang nilai, dan mengidentifikasi urutan nilai.

11. Pencarian lanjutan*

Di sini Anda akan menemukan fitur-fitur yang penting untuk pekerjaan sehari-hari dengan database, namun terkadang menimbulkan kesulitan. Contoh dalam bab ini antara lain mencari nilai menggunakan gerakan ksatria, membagi kumpulan hasil menjadi beberapa halaman, melewatkan baris tabel, mencari nilai timbal balik, dan sebagainya.

12. Pelaporan dan manajemen gudang data**

Seringkali kita memerlukan pertanyaan khusus untuk menghasilkan laporan. Bab ini akan membantu kita melakukan hal tersebut: di sini Anda akan melihat contoh konversi baris ke kolom dan sebaliknya (laporan referensi silang), membuat grup data, membuat histogram, menghitung subsum sederhana dan penuh, menggabungkan jendela geser baris , dan mengelompokkan baris berdasarkan interval waktu tertentu.

13. Kueri hierarki**

Bab ini akan memberi tahu kita tentang kemungkinan bekerja dengan data hierarki. Terlepas dari model datanya, suatu hari nanti ada kebutuhan untuk memformatnya sebagai pohon hierarki atau hubungan induk->anak. Oleh karena itu, pada bab ini Anda akan menganalisis permasalahan dan solusinya. Membuat kumpulan hasil terstruktur pohon sulit dilakukan menggunakan SQL tradisional, jadi tutorial ini menunjukkan kepada Anda cara menggunakan beberapa fungsi khusus yang sangat berguna. Dalam contoh ini, Anda akan melihat secara detail hubungan induk->anak, melintasi hierarki dari simpul akar ke simpul daun, dan mengumpulkan hierarki.

14. Barang

Dan terakhir, Anda akan melihat semua fitur lainnya yang tidak sesuai dengan bab-bab sebelumnya, namun pada saat yang sama tidak kalah menarik dan berguna. Bab ini juga berbeda dari bab lainnya karena bab ini menawarkan solusi hanya untuk DBMS tertentu. Ini adalah satu-satunya bab dalam buku ini yang hanya membahas satu database per resep. Hal ini dilakukan untuk menunjukkan kemampuan dan fitur DBMS tertentu (sehingga Anda dapat lebih merasakan perbedaan di antara keduanya). Kelebihan buku ini:
  1. Banyak contoh.
  2. Cocok untuk penyelaman “utama”.
  3. Contoh untuk berbagai DBMS dipertimbangkan.
  4. Ada terjemahan yang bagus.
Kerugian: Tugas/masalah yang lebih kompleks, spesifik, dan jarang tidak dipertimbangkan.

Analog buku

  1. “Belajar SQL” - Alan Bewley: juga merupakan buku untuk pengenalan awal ke dalam SQL dengan mempertimbangkan berbagai DBMS, tetapi buku ini memberikan penekanan khusus pada MySQL. Kelemahan dari buku ini adalah kurangnya “mengunyah” informasi baru.
  2. "SQL: Panduan Belajar Bahasa" - Chris Fiaily: Sebuah buku yang juga mencakup dasar-dasar berbagai database. Cocok untuk pemula, tetapi jika Anda sudah terbiasa dengan SQL dan perlu mempelajari lebih lanjut poin-poin penting, Anda mungkin ingin mencari di tempat lain.
  3. “Head First - Learning SQL” - Lynn Bailey: sebuah buku dengan hambatan masuk yang sangat rendah, buku ini akan menyampaikan banyak poin mendasar dengan cara yang mudah diakses dan mendetail (bahkan mungkin terkadang terlalu sederhana). Dalam contohnya, buku ini tidak membahas beberapa database, seperti analog di atas, tetapi satu - MySQL.

Intinya

Jika Anda bertekad untuk menjadi pengembang Java, Anda tidak dapat melakukannya tanpa mempelajari SQL. Namun untungnya, kita tidak perlu mengetahuinya pada level yang sama dengan pengembang database, dan jumlah pengetahuan yang dibutuhkan, pada prinsipnya, dapat dicakup hanya dengan satu buku tentang SQL. Buku yang diresensi hari ini adalah “SQL. Kumpulan resep”, atau salah satu analog yang disajikan, mungkin cocok untuk Anda. Nah, pilihan untuk membaca (atau tidak membaca) ada di tangan Anda)) PS Untuk berlatih menulis SQL untuk memecahkan berbagai masalah, Anda dapat menggunakan situs ini . PSS Dan di sini Anda dapat mengetahui pertanyaan umum tentang database, sebaiknya setelah membaca buku.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION