JavaRush /Blog Java /Random-MS /Semakan buku “SQL. Koleksi resipi” oleh Anthony Molinaro

Semakan buku “SQL. Koleksi resipi” oleh Anthony Molinaro

Diterbitkan dalam kumpulan
Hai semua. Orang yang bermatlamat yang ingin menjadi pembangun Java telah berkumpul di sini. Dan ini adalah logik: JavaRush dicipta untuk ini. Untuk menjadi pembangun sepenuhnya, anda perlu mengetahui senarai topik tertentu. Saya menerangkan senarai semak lengkap pengetahuan yang diperlukan untuk pembangun Java dalam artikel ini . Semakan buku “SQL.  Koleksi resipi” oleh Anthony Molinaro - 1Jadi: salah satu topik yang diperlukan dalam senarai ini ialah pengetahuan tentang bahasa SQL dan kebiasaan dengan sekurang-kurangnya satu pangkalan data hubungan. Berita baiknya ialah anda hanya memerlukan satu buku untuk mempelajari SQL pada tahap yang mencukupi untuk pembangun Java! Terdapat banyak pilihan untuk buku yang sesuai untuk menyelam awal ke dalam SQL, tetapi hari ini saya ingin memberi tumpuan kepada "SQL. Koleksi resipi” oleh Anthony Molinaro. Semakan buku “SQL.  Koleksi resipi” Anthony Molinaro - 2Keistimewaan buku ini ialah sebagai tambahan kepada mempelajari SQL pada tahap asas, anda akan menjadi biasa dengan beberapa pangkalan data sekaligus dan melihat bagaimana pertanyaan untuk mereka berbeza dan apakah ciri pangkalan data tertentu. Buku ini merangkumi pertanyaan untuk pangkalan data berikut:
  • DB2;
  • Pangkalan Data Oracle;
  • PostgreSQL;
  • Pelayan SQL;
  • MySQL.

Buku itu untuk siapa?

  • pembangun pemula

Pertama sekali, buku ini berguna kepada pembangun pemula, contohnya, di Jawa. Anda perlu berurusan pada peringkat asas dengan pelbagai pangkalan data hubungan, jadi buku ini akan membantu anda memperoleh pengetahuan yang diperlukan tentang SQL.

  • pemaju berpengalaman

Anda mungkin sudah biasa dengan membina pertanyaan SQL, tetapi masih buku ini akan mengejutkan anda dan melengkapkan pengetahuan anda. Atau, sebagai contoh, anda berpindah ke projek dengan pangkalan data hubungan yang tidak anda kenali. Kemudian, dengan bantuan buku ini, anda akan dapat membuat analogi daripada pertanyaan daripada pangkalan data biasa kepada yang baharu.

  • pembangun SQL pemula

Anda mungkin hanya berfikir untuk menjadi pembangun pangkalan data. Maka buku ini sesuai untuk anda! Anda akan dapat mempelajari asas SQL, dibincangkan untuk pelbagai pangkalan data, dan memilih pangkalan data "anda", yang akan anda pelajari dengan lebih terperinci pada masa hadapan.

Buku ini tentang apa

Buku ini merangkumi, bab demi bab, topik SQL asas, serta pelbagai masalah SQL dan penyelesaiannya. Oleh itu, ia boleh digunakan sebagai rujukan: masalah telah timbul, anda sedang mencari cara yang sesuai untuk menyelesaikannya, dan kemudian anda mencipta penyelesaian anda sesuai dengan keadaan semasa. Halaman buku ini mengandungi lebih 150 resipi. Ya, betul-betul resipi untuk membina pertanyaan SQL: itulah sebabnya buku itu mempunyai nama ini. Semakan buku “SQL.  Koleksi resipi” Anthony Molinaro - 3Apa yang perlu dilakukan selepas membaca buku ini?
  1. Jangan takut untuk bereksperimen, kerana hanya melalui percubaan dan kesilapan anda boleh memperoleh pengalaman yang begitu berharga, jadi berlatih, berlatih dan berlatih lagi!
  2. Uji ia. Apa yang saya maksudkan ialah semasa membaca buku ini, adalah lebih baik untuk mencuba contoh pertanyaan yang diberikan secara selari, yang, terima kasih kepada ini, akan diingati dengan baik dalam ingatan anda.
  3. Pengulangan adalah ibu kepada pembelajaran. Oleh itu, adalah dinasihatkan untuk memperkenalkan nota di mana anda boleh menulis perkara penting dan mengulanginya secara berkala, supaya menulis pertanyaan pada masa hadapan tidak mendatangkan sebarang masalah kepada anda.
  4. Anda perlu faham bahawa baru tidak selalu bermakna lebih baik. Hanya kerana anda tidak menggunakan beberapa ciri SQL terkini (seperti fungsi tetingkap) tidak bermakna kod anda tidak berkesan. Lagipun, terdapat banyak contoh di mana penyelesaian SQL tradisional tidak lebih buruk, dan kadang-kadang lebih baik, daripada penyelesaian baharu.
  5. Jangan takut untuk bereksperimen. Jadi kreatif dengan kerja anda! Lagipun, semua penyelesaian belum lagi dicipta: mungkin dalam situasi anda pendekatan kreatif akan menjadi yang terbaik.
Semakan buku “SQL.  Koleksi resipi” Anthony Molinaro - 4Sekarang mari kita baca sedikit kandungan buku tersebut:

1. Mengeluarkan rekod

Bab ini mengkaji pertanyaan pertama yang paling mudah. Dalam contoh anda akan melihat:
  • bagaimana klausa WHERE boleh digunakan untuk memilih baris ke dalam set hasil biasa;
  • cara menetapkan alias kepada lajur hasil;
  • bagaimana anda boleh menggunakan subkueri untuk mengakses lajur dengan alias;
  • bagaimana untuk mengehadkan nombor yang dikembalikan dalam baris hasil;
  • bagaimana untuk mengembalikan rentetan rawak dan mengesan nilai NULL.
Sebagai peraturan, contoh-contohnya agak mudah, tetapi pada masa yang sama terdapat beberapa yang boleh mengejutkan pemaju yang berpengalaman.

2. Mengisih hasil pertanyaan

Bab ini membincangkan hasil pengisihan pertanyaan. Sebenarnya, operator ORDER BY digunakan untuk ini . Anda akan melihat contoh pelbagai kerumitan yang terdiri daripada hanya memesan satu lajur, untuk mengisih mengikut subrentetan, kepada mengisih menggunakan pelbagai syarat.

3. Bekerja dengan berbilang jadual

Bahagian buku ini memperkenalkan cara untuk menggabungkan data daripada berbilang jadual. Saya tidak akan berbohong jika saya mengatakan bahawa gabungan jadual adalah salah satu tiang asas SQL, dan untuk berjaya dengan SQL, anda perlu memperoleh pengetahuan ini dan boleh menggunakannya. Di sini anda akan melihat contoh cantuman dalam dan luar, produk Cartesian, operasi set asas (tolak, penyatuan, persilangan) dan cara cantuman boleh menjejaskan fungsi agregat.

4. Masukkan, kemas kini, padam

Dalam bahagian ini, anda akan mempelajari pertanyaan SQL untuk memasukkan, mengemas kini dan memadam data. Contoh yang lebih menarik turut dibincangkan - operasi seperti memasukkan baris dari satu jadual ke jadual lain atau menggunakan subkueri berkaitan semasa kemas kini. Anda akan memahami akibat mempunyai nilai NULL, belajar tentang sisipan berbilang jadual, arahan MERGE, dsb.

5. Permintaan untuk metadata

Bab ini membincangkan tentang membina pertanyaan untuk mengakses metadata pangkalan data yang anda gunakan: adalah berguna untuk mengetahui indeks, kekangan dan jadual skema. Pertanyaan mudah yang dicadangkan di sini membolehkan anda mendapatkan maklumat tentang skema itu sendiri. Di samping itu, bab ini menunjukkan contoh "SQL dinamik", iaitu, SQL yang dijana oleh SQL.

6. Bekerja dengan tali

Bab ini memperkenalkan teknik untuk bekerja dengan rentetan. SQL tidak pernah dikenali dengan keupayaan penghuraian rentetan, tetapi sedikit kreativiti digabungkan dengan pelbagai fungsi yang disediakan oleh pelbagai pangkalan data boleh mencapai kejayaan yang besar dalam perkara ini. Sebenarnya, bab ini adalah di mana keseronokan bermula. Beberapa contoh akan mengejutkan anda. Sebagai contoh:
  • mengira contoh aksara dalam rentetan;
  • tukar senarai dan rentetan terhad kepada baris jadual;
  • mencipta senarai terhad daripada baris jadual;
  • mengasingkan data angka dan aksara rentetan yang terdiri daripada aksara alfanumerik.

7. Bekerja dengan nombor

Bahagian buku ini akan melihat cara untuk menyelesaikan masalah standard dengan nombor. Di sini anda boleh mencari contoh biasa dan mengetahui cara fungsi tetingkap boleh mengendalikan tugas pengiraan dan pengagregatan dengan mudah. Awak akan belajar:
  • mengira jumlah semasa;
  • cari min, median dan mod;
  • kira persentil;
  • mengendalikan nilai NULL semasa melakukan pengagregatan.

8-9. Aritmetik tarikh

Dalam kedua-dua bab ini anda akan belajar bagaimana untuk bekerja dengan tarikh, kerana apabila menyelesaikan masalah seharian adalah penting untuk dapat melakukan operasi yang paling mudah dan paling biasa dengan mereka. Pelbagai contoh termasuk mencari bilangan hari bekerja antara dua tarikh, mengira perbezaan antara dua tarikh dalam unit masa yang berbeza, mengembalikan semua hari dalam setahun, mencari tahun lompat, mencari hari pertama dan terakhir dalam sebulan, mencipta kalendar, dsb. . Selepas bab ini, ia akan menjadi sangat sukar untuk menakutkan anda dengan sebarang tugas yang terikat dengan tarikh (tetapi anda boleh menakutkan anda).

10. Bekerja dengan julat data*

Bab ini memperkenalkan kaedah untuk mencari nilai yang sudah ada dalam julat tarikh. Anda akan belajar cara menjana urutan rentetan secara automatik, memasukkan nilai julat angka yang hilang, menentukan permulaan dan penghujung julat nilai dan mengenal pasti jujukan nilai.

11. Carian lanjutan*

Di sini anda akan menemui ciri yang penting untuk kerja harian dengan pangkalan data, tetapi kadangkala menyebabkan kesukaran. Contoh dalam bab ini termasuk mencari nilai menggunakan gerakan kesatria, membahagi set hasil menjadi halaman, melangkau baris jadual, mencari nilai timbal balik, dan sebagainya.

12. Pelaporan dan pengurusan gudang data**

Selalunya kami mungkin memerlukan pertanyaan khas untuk menjana laporan. Bab ini akan membantu kami berbuat demikian: di sini anda akan melihat contoh menukar baris kepada lajur dan sebaliknya (laporan rujukan silang), mencipta kumpulan data, mencipta histogram, mengira subsum mudah dan penuh, mengagregatkan tetingkap gelongsor baris , dan mengumpulkan baris mengikut selang masa tertentu.

13. Pertanyaan hierarki**

Bab ini akan memberitahu kami tentang kemungkinan bekerja dengan data hierarki. Tidak kira model data, suatu hari nanti terdapat keperluan untuk memformatnya sebagai pepohon hierarki atau hubungan ibu bapa->anak. Oleh itu, dalam bab ini anda akan menganalisis masalah dan penyelesaian untuk ini. Mewujudkan set hasil berstruktur pokok adalah sukar menggunakan SQL tradisional, jadi tutorial ini menunjukkan kepada anda cara menggunakan beberapa fungsi khas yang sangat berguna. Dalam contoh, anda akan melihat secara terperinci hubungan ibu bapa->anak, merentasi hierarki dari nod akar ke nod daun, dan mengumpul hierarki.

14. Barangan

Dan akhirnya, anda akan melihat semua ciri yang tinggal yang tidak sesuai dengan mana-mana bab sebelumnya, tetapi pada masa yang sama ia tidak kurang menarik dan berguna. Bab ini juga berbeza daripada yang lain kerana ia menawarkan penyelesaian hanya untuk DBMS tertentu. Ini adalah satu-satunya bab dalam buku di mana hanya satu pangkalan data dibincangkan bagi setiap resipi. Ini dilakukan untuk menunjukkan keupayaan dan ciri DBMS tertentu (supaya anda dapat merasakan perbezaan antara mereka dengan lebih baik). Kelebihan buku:
  1. Banyak contoh.
  2. Hebat untuk menyelam "utama".
  3. Contoh untuk pelbagai DBMS dipertimbangkan.
  4. Terdapat terjemahan yang baik.
Kelemahan: Tugas/masalah yang lebih kompleks, khusus, jarang berlaku tidak dipertimbangkan.

Analog buku

  1. "Belajar SQL" - Alan Bewley: juga buku untuk menyelam awal ke dalam SQL dengan pertimbangan pelbagai DBMS, tetapi ia memberi penekanan khusus pada MySQL. Kelemahan buku ini ialah "mengunyah" maklumat baharu yang tidak mencukupi.
  2. "SQL: Panduan Pembelajaran Bahasa" - Chris Fiaily: Buku yang turut merangkumi asas pelbagai pangkalan data. Hebat untuk pemula, tetapi jika anda sudah biasa dengan SQL dan perlu mempelajari lebih lanjut tentang perkara yang lebih baik, anda mungkin mahu melihat di tempat lain.
  3. "Ketua Pertama - Belajar SQL" - Lynn Bailey: buku dengan halangan kemasukan yang sangat rendah, ia akan menyampaikan banyak perkara asas dengan cara yang boleh diakses dan terperinci (mungkin kadangkala terlalu ringkas). Dalam contoh-contohnya, buku ini tidak menganggap beberapa pangkalan data, seperti analog di atas, tetapi satu - MySQL.

Pokoknya

Jika anda berazam untuk menjadi pembangun Java, anda tidak boleh melakukannya tanpa mempelajari SQL. Tetapi mujurlah, kami tidak perlu mengetahuinya pada tahap yang sama dengan pembangun pangkalan data, dan jumlah pengetahuan yang diperlukan, pada dasarnya, boleh diliputi dengan hanya satu buku tentang SQL. Buku yang disemak hari ini ialah “SQL. Koleksi resipi", atau salah satu analog yang dibentangkan, mungkin sesuai dengan anda dengan sempurna. Nah, pilihan apa sebenarnya yang hendak dibaca (atau tidak dibaca) adalah milik anda)) PS Untuk mendapatkan tangan anda pada amalan menulis SQL untuk menyelesaikan pelbagai masalah, anda boleh menggunakan laman web ini . PSS Dan di sini anda boleh berkenalan dengan soalan biasa mengenai pangkalan data, sebaik-baiknya selepas membaca buku.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION