SQL (biasa diucapkan "SEQUEL") adalah singkatan dari "Structured Query Language". Ini adalah bahasa yang memberi Anda kemampuan untuk membuat dan bekerja dalam database relasional, yang merupakan kumpulan informasi terkait yang disimpan dalam tabel. Jika Anda bertanya-tanya di mana harus mulai belajar SQL, datanglah kepada kami. Perusahaan kami menawarkan kursus SQL, serta pelajaran SQL untuk pemula, setelah mempelajarinya Anda akan dapat membuat database SQL sendiri. Belajar SQL merupakan kegiatan yang sangat menjanjikan. Ini mencakup kuliah SQL, kursus database SQL, dan kursus query SQL. Dimungkinkan untuk mengambil kursus bahasa SQL dan melakukan pelatihan SQL dari awal, serta mengikuti kursus pemrograman SQL menggunakan pelatihan SQL online, menerima latihan eksklusif
Dunia database menjadi semakin terpadu, yang menyebabkan perlunya menciptakan bahasa standar yang dapat digunakan untuk berfungsi di sejumlah besar jenis lingkungan komputer yang berbeda. Bahasa standar akan memungkinkan pengguna dengan pelatihan SQL atau kursus SQL Server yang mengetahui serangkaian perintah untuk menggunakannya untuk membuat, menemukan, memodifikasi, dan mengkomunikasikan informasi, di mana pun mereka bekerja.
Dalam dunia komputer kita yang semakin saling terhubung, pengguna yang dilengkapi dengan bahasa seperti itu mempunyai keuntungan luar biasa dalam menggunakan dan merangkum informasi dari berbagai sumber dengan berbagai cara. Oleh karena itu, pelatihan SQL Server dan pelatihan query SQL sangat penting.
Keanggunan dan kemandiriannya dari teknologi komputer, serta dukungannya dari para pemimpin industri dalam teknologi basis data relasional, telah menjadikan SQL, dan kemungkinan besar akan tetap ada di masa mendatang, sebagai bahasa standar yang dominan. Oleh karena itu, siapa pun yang ingin bekerja dengan database harus mengetahui SQL, mengikuti kursus SQL dasar, atau mempelajari SQL dari awal dan mengikuti kursus SQL dasar.
Standar SQL ditentukan oleh ANSI (American National Standards Institute) dan waktu yang diberikan juga diterima oleh ISO (Organisasi Internasional untuk Standardisasi). Namun, sebagian besar program database komersial memperluas SQL tanpa pemberitahuan ANSI, menambahkan berbagai fitur lain ke bahasa yang mereka yakini akan sangat berguna. Terkadang mereka agak melanggar standar bahasa ide bagus cenderung berkembang dan segera menjadi standar “pasar” karena kegunaan kualitasnya. Dan Anda dapat mempelajari semua fitur ini dengan mengikuti kursus pelatihan SQL di kantor kami atau mengikuti pelatihan SQL online.
Sebelum Anda dapat menggunakan SQL, Anda harus memahami apa itu database relasional dan bagaimana pengembangannya, serta mengikuti kursus pelatihan SQL dan mempelajari pelajaran SQL Server sehingga mengembangkan database SQL tidak tampak seperti tugas yang sulit.
Seperti yang kami tekankan sebelumnya, SQL adalah singkatan dari Structured Query Language. Mempelajari Kueri SQL dan membuat kueri basis data mungkin merupakan aspek SQL yang paling umum digunakan. Faktanya, untuk kategori pengguna SQL, kecil kemungkinannya ada orang yang akan menggunakan bahasa tersebut untuk hal lain. Oleh karena itu, kita akan memulai studi kita tentang bahasa SQL dengan pembahasan tentang query dan bagaimana query tersebut dieksekusi dalam bahasa tersebut.
Kueri adalah perintah yang Anda berikan kepada program basis data Anda yang memerintahkannya untuk mencetak informasi tertentu dari tabel ke dalam memori. Informasi ini biasanya dikirim langsung ke layar komputer atau terminal yang Anda gunakan, meskipun dalam banyak kasus informasi ini juga dapat dikirim ke printer, disimpan dalam file (sebagai objek di memori komputer), atau diberikan sebagai input ke perintah lain. atau proses.
Kueri umumnya dianggap sebagai bagian dari bahasa DML. Namun, karena kueri tidak mengubah informasi dalam tabel, tetapi hanya menampilkannya kepada pengguna, kami akan menganggap kueri sebagai kategori terpisah di antara perintah DML yang melakukan suatu tindakan, dan bukan sekadar menampilkan konten database.
Semua kueri SQL terdiri dari satu perintah. Struktur perintah ini tampak sederhana karena Anda harus memperluasnya untuk melakukan evaluasi dan manipulasi data yang sangat kompleks. Perintah ini disebut PILIH.
bahasa SQL. Kursus dasar.
Tutorial ini, yang ditulis oleh Evgeny Morgunov, menguraikan dasar-dasar bahasa SQL - ini adalah kursus dasar. Selain itu, bahasa tersebut dipertimbangkan dalam kaitannya dengan sistem manajemen basis data tertentu (DBMS) - PostgreSQL. Implementasi bahasa SQL di setiap DBMS sesuai dengan standar sampai tingkat tertentu, namun selain fungsi dan kemampuan standar, setiap DBMS juga menawarkan ekstensi bahasa tambahannya sendiri. PostgreSQL memberikan dukungan yang sangat baik untuk standar bahasa SQL dan juga menyediakan fitur tambahan yang menarik dan berguna secara praktis. Salah satu keunggulan utama PostgreSQL adalah ekstensibilitas. Artinya, misalnya, pengguna (yang tentunya ahli database) dapat mengembangkan tipe datanya sendiri. Tipe data ini akan memiliki semua properti tipe data bawaan dan dapat dioperasikan tanpa menghentikan server. Selain itu, PostgreSQL adalah produk sumber terbuka dan gratis. Kode sumber, yang tersedia di banyak platform.
Tutorial ini tidak hanya mencakup semua perintah dasar SQL, tetapi juga topik lain seperti indeks dan transaksi. Buku pedoman ini ditulis sedemikian rupa sehingga dapat digunakan baik di bawah bimbingan seorang guru maupun secara mandiri. Diasumsikan bahwa siswa mempunyai akses terhadap DBMS yang sudah terinstal, sehingga prosedur instalasi PostgreSQL tidak dibahas secara rinci, namun hanya diberikan petunjuk dimana menemukan instruksi instalasi. Tutorial ini dirancang untuk memberi Anda keterampilan praktis dalam menggunakan bahasa SQL. Materi pendidikan disajikan sedemikian rupa sehingga pembaca dapat memperoleh banyak pengetahuan penting sebagai hasil menyelesaikan tugas-tugas yang terletak di akhir setiap bab.
Pengetahuan ini mungkin tidak disajikan dalam teks utama bab-bab tersebut. Diasumsikan bahwa sebagian besar tugas akan dilakukan oleh pembaca secara mandiri menggunakan dokumentasi DBMS PostgreSQL, tetapi instruksi untuk implementasinya sering diberikan.
Manual ini ditujukan untuk siswa yang belajar di bidang 03/09/01 - “Informatika dan Ilmu Komputer”, 03/09/02 - “Sistem dan Teknologi Informasi”, 03/09/03 - “Informatika Terapan”, 03/ 09/04 - "Rekayasa Perangkat Lunak" dan 02/03.03 - "Dukungan matematika dan administrasi sistem informasi." Ini mungkin berguna bagi banyak pelajar dan profesional yang ingin mengenal dasar-dasar bahasa SQL di lingkungan sistem manajemen database PostgreSQL.
Penerbit - Profesional Postgres
Tahun terbitnya adalah 2017
Format buku - PDF
2 Perusahaan Profesional Postgres E.P. Morgunov BAHASA SQL. PELATIHAN KURSUS DASAR DAN PANDUAN PRAKTIS Moskow 2017
3 UDC BBK M79 M79 Morgunov, bahasa E.P.SQL. Kursus dasar: pendidikan-praktis. tunjangan / E.P. Morgunov; diedit oleh E.V.Rogova, P.V.Luzanova; Profesional Postgres. M., hal. Panduan pendidikan dan praktis ini mewakili bagian pertama, dasar, dari kursus pelatihan bahasa SQL yang ditawarkan oleh perusahaan Rusia Profesional Postgres. Materi pelatihan disajikan berdasarkan penggunaan sistem manajemen database PostgreSQL. Manual ini dapat digunakan baik di bawah bimbingan seorang guru maupun untuk Belajar sendiri bahasa SQL. Panduan ini ditujukan bagi siswa yang belajar di bidang “Ilmu Informatika dan Komputer”, “Sistem dan Teknologi Informasi”, “Informatika Terapan”, “Rekayasa Perangkat Lunak” dan “Dukungan Matematika dan Administrasi Sistem Informasi”. Ini mungkin berguna bagi banyak pelajar dan profesional yang ingin mengenal dasar-dasar bahasa SQL di lingkungan sistem manajemen database PostgreSQL. UDC BBK Postgres Professional, 2017 E.P. Morgunov, 2017
4 Daftar Isi Pendahuluan 5 1 Pengenalan database dan SQL Apa itu database dan mengapa diperlukan Konsep dasar model relasional Apa itu bahasa SQL Deskripsi bidang studi dan database pelatihan Soal tes dan tugas Membuat lingkungan kerja Menginstal Program DBMS psql terminal interaktif PostgreSQL Menyebarkan database lingkungan pelatihan Pertanyaan dan tugas pengujian Operasi dasar dengan tabel 22 Pertanyaan dan tugas pengujian Tipe data DBMS PostgreSQL Tipe numerik Tipe karakter (string) Tipe tanggal/waktu Tipe Boolean Array Tipe JSON Pertanyaan dan tugas pengujian Dasar-dasar bahasa definisi data Default nilai dan batasan integritas Membuat dan menghapus tabel Memodifikasi tabel Tampilan Skema database Pertanyaan dan tugas kuis Kueri Fitur tambahan dari perintah SELECT Bergabung dengan Agregasi dan pengelompokan Subkueri Pertanyaan dan tugas kuis Mengubah data Memasukkan baris ke dalam tabel Memperbarui baris dalam tabel Menghapus baris dari tabel Kuis pertanyaan dan tugas
5 8 Indeks informasi Umum Indeks multi-kolom Indeks unik Indeks berbasis ekspresi Indeks parsial Kuis dan latihan Transaksi Tingkat isolasi BACA TIDAK TERKOMITASI Tingkat isolasi BACA BERKOMITMEN Tingkat isolasi BACA BERULANG Tingkat isolasi SERIALIZABLE Contoh transaksi Pemblokiran Kuis dan latihan Meningkatkan kinerja Konsep Teknik pemindaian tabel Menggabungkan teknik rowset Mengelola penjadwal Mengoptimalkan pertanyaan Tes pertanyaan dan tugas Sumber yang direkomendasikan 255 4
6 Pendahuluan Saat ini istilah “database” sudah dikenal banyak orang, bahkan mereka yang jauh dari pengembangan profesional program komputer . Basis data telah menjadi teknologi yang tersebar luas, yang pada gilirannya memerlukan lebih banyak orang untuk merancang dan memeliharanya. Dalam perjalanan evolusi teori dan praktik basis data, model data relasional telah menjadi standar de facto, dan dalam kerangka model ini, bahasa pemrograman khusus telah dibentuk yang memungkinkan semua operasi yang diperlukan dilakukan dengan Structured Query Language ( SQL) data. Dengan demikian, komponen penting dari kualifikasi profesional database adalah kemahiran dalam bahasa SQL. Tutorial ini mencakup dasar-dasar bahasa SQL dan merupakan kursus dasar. Selain itu, bahasa tersebut dipertimbangkan dalam kaitannya dengan sistem manajemen basis data tertentu (DBMS) PostgreSQL. Implementasi bahasa SQL di setiap DBMS sesuai dengan standar sampai tingkat tertentu, namun selain fungsi dan kemampuan standar, setiap DBMS juga menawarkan ekstensi bahasa tambahannya sendiri. PostgreSQL memberikan dukungan yang sangat baik untuk standar bahasa SQL dan juga menyediakan fitur tambahan yang menarik dan berguna secara praktis. Salah satu keunggulan utama PostgreSQL adalah ekstensibilitas. Artinya, misalnya, pengguna (yang tentunya ahli database) dapat mengembangkan tipe datanya sendiri. Tipe data ini akan memiliki semua properti tipe data bawaan dan dapat dioperasikan tanpa menghentikan server. Selain itu, PostgreSQL adalah produk sumber terbuka dan gratis yang tersedia di banyak platform. Tutorial ini tidak hanya mencakup semua perintah dasar SQL, tetapi juga topik lain seperti indeks dan transaksi. Buku pedoman ini ditulis sedemikian rupa sehingga dapat digunakan baik di bawah bimbingan seorang guru maupun secara mandiri. Diasumsikan bahwa siswa mempunyai akses terhadap DBMS yang sudah terinstal, sehingga prosedur instalasi PostgreSQL tidak dibahas secara rinci, namun hanya diberikan petunjuk dimana menemukan instruksi instalasi. Tutorial ini dirancang untuk memberi Anda keterampilan praktis dalam menggunakan bahasa SQL. Materi pendidikan disajikan sedemikian rupa sehingga pembaca dapat memperoleh banyak pengetahuan penting sebagai hasil menyelesaikan tugas-tugas yang terletak di akhir setiap bab. Pengetahuan ini mungkin tidak disajikan dalam teks utama bab-bab tersebut. Diasumsikan bahwa sebagian besar tugas akan dilakukan oleh pembaca secara mandiri menggunakan dokumentasi DBMS PostgreSQL, tetapi instruksi untuk implementasinya sering diberikan. Tugas-tugas yang diberikan dalam manual ini bervariasi tingkat kesulitannya. Yang paling sulit, serta yang membutuhkan banyak waktu untuk menyelesaikannya, ditandai dengan tanda bintang. Tugas dapat diselesaikan sambil belajar materi pendidikan bab tertentu. Namun, beberapa di antaranya bersifat kompleks, sehingga untuk menyelesaikannya Anda perlu mempelajari keseluruhan bab atau setidaknya beberapa bagiannya. 5
7 Meskipun manual ini memiliki orientasi praktis dan bukan merupakan kursus teoritis, bab pertama secara singkat, pada tingkat dasar, menguraikan konsep dasar teori database dan model relasional. Hal ini dilakukan agar mahasiswa dapat mulai menguasai bahasa SQL secara praktis tanpa penundaan, mulai dari hari-hari pertama semester akademik, bahkan sebelum konsep-konsep tersebut dibahas secara menyeluruh dalam perkuliahan. Di fakultas teknologi Informasi Di universitas-universitas Rusia, database secara tradisional dipelajari pada tahun kedua atau ketiga. Apalagi disiplin ini biasanya diberikan satu semester. Namun, jumlah jam belajar akademik dapat berbeda-beda. Jika kurikulum mengalokasikan 36 jam untuk kelas praktik dalam disiplin ini, maka kami merekomendasikan alokasi waktu berikut untuk mempelajari materi dalam manual. Bab 1. Pengenalan Database dan SQL Bab 2. Membuat Meja Kerja Bab 3. Operasi Dasar Tabel Bab 4. Tipe Data PostgreSQL Bab 5. Dasar-Dasar Bahasa Definisi Data Bab 6. Query Bab 7. Memodifikasi Data Bab 8. Indeks Bab 9. Transaksi Bab 10: Meningkatkan Produktivitas 1 jam 1 jam 4 jam 4 jam 4 jam 8 jam 4 jam 2 jam 4 jam 4 jam Bab 1 dan 2 dapat diselesaikan dalam satu kelas dua jam karena PostgreSQL harus sudah terinstal di kelas terlebih dahulu. Bab 3 memberikan gambaran singkat tentang fitur-fitur dasar bahasa SQL, dan setelah menyelesaikannya, siswa diharapkan dapat memahaminya cara sederhana penggunaan semua perintah bahasa dasar. Bab ini tidak terlalu sulit, tetapi sangat banyak, jadi empat jam diberikan untuk mempelajarinya. Bab 4 membahas tipe data dasar yang digunakan di PostgreSQL. Ini adalah bab yang panjang, namun sebagian besar terdiri dari tugas dan latihan. Siswa diharapkan hanya mempelajari konsep dasar penggunaan tipe data dalam empat jam. Dan untuk mengkonsolidasikan pengetahuan, disarankan untuk merujuk pada materi dalam bab ini (termasuk latihan) dalam proses mempelajari bab-bab selanjutnya dari manual ini, jika perlu, untuk memperjelas fitur-fitur tertentu dari penggunaan spesifik. jenis. Kami merekomendasikan membagi waktu yang dialokasikan untuk mempelajari bab ini sebagai berikut: dua jam untuk empat paragraf pertama pada tipe numerik dan string, tipe tanggal/waktu dan tipe logika, dua jam lagi untuk array dan tipe json/jsonb. Untuk menjalankan kueri pada database, Anda harus memiliki pemahaman yang baik tentang struktur dan hubungan tabelnya. Oleh karena itu, Bab 5 yang memuat dasar-dasar bahasa definisi data sangat penting ditinjau dari kajian mendalam terhadap tabel-tabel database Transportasi Udara dan persiapan untuk menguasai Bab 6. Karena materi dalam bab tersebut didasarkan pada pada kenyataan bahwa database sudah disebarkan di komputer siswa, masukkan Tidak ada perintah yang diperlukan untuk membuat tabel. Hal ini memungkinkan Anda mengurangi waktu yang dihabiskan untuk mempelajari bab tersebut. Manual ini mengadopsi pendekatan yang pertama mencakup perintah definisi data dan kemudian perintah manipulasi data. Oleh karena itu, Bab 5, Dasar-Dasar Bahasa Definisi Data, mendahului Bab 6
8 Bab 6 “Pertanyaan”. Namun, pendekatan yang dipilih tidak diterapkan terlalu kaku: gambaran umum Bab 3 mencakup perintah dasar, termasuk kueri sederhana. Dan kueri sudah menjadi bahasa untuk manipulasi data. Empat jam dialokasikan untuk Bab 5. Selama kelas dua jam pertama, Anda harus mempelajari dua paragraf pertama, yang mencakup isu-isu seperti batasan integritas dan membuat serta menghapus tabel. Pelajaran dua jam kedua harus dikhususkan untuk mempelajari tiga paragraf sisanya. Mereka berbicara tentang cara mengubah tabel, serta tampilan dan skema database. Bab 6 adalah bab utama dari manual ini, jadi delapan jam dialokasikan untuk mempelajarinya, lebih banyak daripada mempelajari bab-bab lainnya. Terdiri dari empat paragraf. Yang pertama didedikasikan untuk berbagai fitur tambahan perintah PILIH. Ini mencakup hal-hal seperti klausa LIMIT dan OFFSET, operator LIKE, dan ekspresi reguler dalam kondisi klausa WHERE, di antara fitur-fitur lainnya. Namun materi pada bagian ini tidak sulit, cukup menghabiskan waktu satu jam untuk mempelajarinya. Paragraf kedua membahas tentang cara menggabungkan tabel. Ini adalah topik yang lebih kompleks dan membutuhkan dua jam untuk mempelajarinya. Paragraf ketiga adalah tentang agregasi dan pengelompokan. Ini juga mencakup topik penting dan menarik seperti fungsi jendela. Bagian ini juga membutuhkan pelajaran dua jam. Bagian tersulit dari bab ini adalah bagian keempat. Ini tentang subkueri. Secara khusus, ini mencakup topik penting dan menarik seperti Common Table Expressions CTE. Untuk mempelajari materi dalam paragraf ini, Anda perlu mengalokasikan waktu tiga jam. Bab 7 berisi semua perintah untuk mengubah data: menyisipkan baris, memperbarui baris, dan menghapus baris. Karena bab-bab sebelumnya telah menggunakan perintah-perintah ini untuk memecahkan masalah sederhana, bab ini membahas cara-cara yang lebih kompleks untuk menggunakannya. Ada banyak latihan di dalamnya, jumlahnya setengah dari volumenya. Disarankan agar Anda menghabiskan dua jam mempelajari cara menyisipkan baris ke dalam tabel, dan dua jam lagi mempelajari cara memperbarui dan menghapus baris. Bab 8 membahas tentang indeks dan singkat, sehingga dapat diselesaikan dalam satu pelajaran berdurasi dua jam. Karena indeks berkaitan erat dengan masalah kinerja, yaitu kecepatan eksekusi kueri, disarankan, setelah mempelajari bab terakhir, untuk kembali ke Bab 8 dan melihat perintah dan kueri yang disajikan di sana, sudah mengetahui tentang perintah EXPLAIN . Bab 9 dikhususkan untuk transaksi, mekanisme pelaksanaannya memiliki banyak kehalusan, sehingga ketika mempelajari bab ini perlu dilakukan eksperimen dan mencoba menjelaskan hasil yang diperoleh. Bab 10 terakhir membahas peningkatan produktivitas. Bab ini mungkin tampak terlalu abstrak dan rumit untuk kursus SQL pemula, namun tetap saja ini sangat penting. Siswa harus belajar membaca rencana eksekusi kueri dan memahami tujuan setiap operasi yang diwakili dalam rencana tersebut. Dan menguasai seni pengoptimalan kueri akan membutuhkan banyak waktu dan pengalaman, hal itu tidak akan terjadi begitu saja. Dalam hal untuk kelas praktek dalam disiplin “Database” di kurikulum 54 jam dialokasikan, Anda dapat mengubah usulan distribusi jam pelatihan. Secara khusus, Bab 4 dapat menghabiskan lebih banyak waktu pada tipe data 7
9 json/jsonb dan array. Bab 6 membahas lebih dekat fungsi jendela dan ekspresi tabel umum. Saat mempelajari Bab 9 tentang transaksi, akan berguna untuk mengembangkan aplikasi sederhana yang menggunakan transaksi dan bereksperimen dengan aplikasi tersebut dengan menjalankan beberapa sesi secara paralel sambil memvariasikan tingkat isolasi transaksi. Sebagai bagian dari Bab 10, masuk akal untuk kembali ke perintah dan pertanyaan di Bab 8 dan memeriksa rencana eksekusinya menggunakan perintah EXPLAIN. Karena waktu tambahan, Anda dapat mempertimbangkan semua tugas dan latihan dengan kompleksitas yang meningkat (ditandai dengan tanda bintang). Dengan demikian, pembagian waktunya bisa sebagai berikut: Bab 1. Pengenalan Database dan SQL Bab 2. Menciptakan Lingkungan Kerja Bab 3. Operasi Tabel Dasar Bab 4. Tipe Data PostgreSQL Bab 5. Dasar-Dasar Bahasa Definisi Data Bab 6. Query Bab 7 Mengubah Data Bab 8. Indeks Bab 9. Transaksi Bab 10. Meningkatkan Produktivitas 1 jam 1 jam 4 jam 6 jam 6 jam 12 jam 6 jam 4 jam 8 jam 6 jam Tutorial menggunakan berbagai jenis font untuk menyorot fragmen teks bergantung pada tujuan mereka. Perintah yang dimasukkan pengguna seperti di lingkungan sistem operasi, dan di lingkungan utilitas psql, disorot dalam font monospace tebal. Misalnya: psql -d demo -U postgres atau SELECT avg(total_amount) FROM pemesanan; Hasil perintah sistem operasi dan perintah SQL yang dijalankan di lingkungan utilitas psql dicetak dalam font monospace. Misalnya, sebagai respons terhadap perintah EXPLAIN SELECT * FROM pesawat; Berikut ini akan ditampilkan di layar: QUERY PLAN Seq Scan di pesawat (biaya= baris=9 lebar=52) (1 baris) Kami berharap mempelajari materi yang disajikan dalam buku teks akan membantu meningkatkan tingkat keterampilan Anda dan memperluas wawasan profesional Anda . 8
10 1 Pengantar Database dan SQL Bab ini adalah pengantar. Di dalamnya kita akan membahas tentang dasar-dasar database, apa itu model relasional dan mengapa bahasa SQL diperlukan. Topik yang sangat penting dalam bab ini adalah deskripsi bidang studi yang menjadi dasar perancangan database pelatihan, yang akan berfungsi sebagai platform untuk mempelajari bahasa SQL. Manual ini ditujukan terutama untuk penguasaan praktis bahasa SQL, dan bukan untuk mempelajari teori database, oleh karena itu, untuk mempelajari teori tersebut, Anda harus mengacu pada sumber resmi, yang daftarnya diberikan di akhir manual. 1.1 Apa itu database dan mengapa dibutuhkan Teknologi database tidak selalu ada. Namun, bahkan sebelum penerapannya, masyarakat juga mengumpulkan dan mengolah data. Salah satu cara untuk menyimpan data adalah apa yang disebut file datar, yang memiliki banyak sekali struktur sederhana: Data disimpan sebagai catatan yang dibagi menjadi bidang dengan panjang tetap. Dalam kehidupan nyata, sering kali muncul hubungan kompleks antara elemen data yang perlu ditransfer ke database elektronik. Saat menggunakan file datar, hubungan ini sulit diatur, dan bahkan lebih sulit dipertahankan ketika elemen data individual diubah atau dihapus. Salah satu konsep utama dalam teori basis data adalah model data. Kita dapat mengatakan bahwa ini mencirikan cara data diorganisasikan dan metode utama untuk mengaksesnya. Pertama, model data hierarki dan jaringan diusulkan. Namun, seiring dengan evolusi teori dan gagasan, model data relasional dikembangkan, yang kini dominan. Oleh karena itu, database tipe relasional saat ini mendominasi. Ciri khasnya adalah kenyataan bahwa data dianggap oleh pengguna sebagai tabel. Pengguna memiliki operator untuk mengambil data dari tabel, serta untuk memasukkan data baru, memperbarui dan menghapus data yang ada. Salah satu keuntungan dari database relasional adalah kemampuannya untuk memelihara hubungan antar elemen data, sehingga pemrogram tidak perlu melakukan pekerjaan rutin dan sangat memakan waktu ini. Pada masa ketika teknologi basis data relasional belum tersebar luas, pemrogram harus mengimplementasikan operasi secara manual dalam bahasa prosedural, yang sekarang disebut pembaruan berjenjang kunci asing atau penghapusan berjenjang catatan dari tabel (file) bawahan. Di sini kata “secara manual” berarti bahwa untuk melakukan operasi ini perlu menulis kode yang terdiri dari perintah-perintah dasar untuk mengakses setiap record yang diperbarui atau dihapus. Pendekatan untuk bekerja dengan database disebut navigasi; pemrogram menunjuk ke program tersebut algoritma tertentu mencari catatan. Mari kita ambil contoh situasi sederhana: dalam database yang dibangun berdasarkan file, informasi tentang siswa dan nilai ujiannya disimpan, dan data pribadi siswa disimpan dalam satu file, sebut saja “Siswa”, dan nilai ujian di file lain, yang akan kami gunakan sebut “Nilai”. Jika Anda perlu menghapus informasi tentang siswa tertentu dan kertas ujiannya 9
11 nilai, maka Anda tidak hanya harus melakukan operasi menghapus catatan tertentu dari file "Siswa", tetapi juga mengatur siklus untuk mencari dan menghapus catatan tersebut dari file "Nilai" yang bidang kuncinya memiliki nilai yang sama dengan bidang dalam catatan yang dihapus dari file "Siswa". Ketika bekerja dengan database relasional, pemrogram dibebaskan dari pemrograman pada tingkat "atom", karena bahasa modern untuk "berkomunikasi" dengan database ini bersifat deklaratif. Artinya untuk memperoleh suatu hasil cukup dengan menunjukkan apa yang perlu diperoleh, tetapi tidak perlu menentukan cara memperoleh hasil, yakni bagaimana memperolehnya. Sistem basis data adalah sistem terkomputerisasi yang dirancang untuk menyimpan, memproses, dan mengeluarkan informasi atas permintaan pengguna. Sistem seperti itu mencakup perangkat lunak dan perangkat keras, data itu sendiri, dan pengguna. Sistem database modern biasanya multi-pengguna. Dalam sistem seperti itu, beberapa pengguna dapat mengakses database secara bersamaan. Perangkat lunak utama adalah sistem manajemen basis data. Dalam bahasa Inggris disebut sistem manajemen basis data (DBMS). Selain DBMS, sistem basis data dapat mencakup utilitas, alat untuk mengembangkan aplikasi (program), alat desain basis data, pembuat laporan, dll. Pengguna sistem basis data dibagi menjadi beberapa kategori. Kategori pertama adalah pemrogram aplikasi. Kategori kedua adalah pengguna akhir, untuk siapa seluruh pekerjaan dilakukan. Mereka dapat mengakses database menggunakan program aplikasi atau aplikasi universal yang disertakan di dalamnya perangkat lunak DBMS itu sendiri. Kebanyakan DBMS memiliki apa yang disebut pemroses bahasa kueri, yang memungkinkan pengguna memasukkan perintah bahasa tingkat tinggi (seperti SQL). Kategori pengguna ketiga adalah administrator basis data. Tanggung jawab mereka meliputi: membuat database, memilih mode akses yang optimal, menggambarkan kekuasaan pengguna yang berbeda untuk mengakses informasi ini atau itu dalam database, lakukan Salinan cadangan database, dll. Sistem database dapat dibagi menjadi dua komponen utama: server dan sekumpulan klien (atau antarmuka eksternal). Servernya adalah DBMS. Klien adalah berbagai aplikasi yang ditulis oleh pemrogram aplikasi atau aplikasi bawaan yang disertakan dengan DBMS. Satu server dapat melayani banyak klien. DBMS modern menyertakan kamus data. Ini adalah bagian dari database yang menggambarkan data itu sendiri yang tersimpan di dalamnya. Kamus data membantu DBMS menjalankan fungsinya. 1.2 Konsep dasar model relasional Setiap bidang teknologi mempunyai terminologi tersendiri. Ada istilah-istilah dasar yang menjadi dasar semua diskusi lebih lanjut. Istilah-istilah seperti itu digunakan
12 juga hadir di sektor database. Sekarang kita akan membicarakannya secara singkat. Di era sebelum lahirnya teori relasional, database secara tradisional dipandang sebagai kumpulan file yang terdiri dari catatan, dan catatan tersebut pada gilirannya dibagi lagi menjadi beberapa bidang tersendiri. Bidang adalah unit data dasar. Dalam database relasional, pengguna melihat data dalam bentuk tabel. Oleh karena itu, istilah "file" sama dengan istilah "tabel", istilah "baris" digunakan sebagai pengganti istilah "catatan", dan istilah "kolom" (atau "kolom") digunakan sebagai pengganti istilah "bidang". digunakan. Jadi, tabel terdiri dari baris dan kolom, yang pada perpotongannya harus terdapat nilai “atom” yang tidak dapat dipecah menjadi elemen-elemen yang lebih kecil tanpa kehilangan makna. Dalam teori formal database relasional, tabel-tabel ini disebut relasi, itulah sebabnya database disebut relasional. Rasio adalah istilah matematika. Saat menentukan sifat-sifat hubungan tersebut, teori himpunan digunakan. Dalam teori ini, baris tabel disebut tupel, dan kolom disebut atribut. Suatu relasi mempunyai kepala yang terdiri dari atribut-atribut, dan badan yang terdiri dari tupel. Jumlah atribut disebut derajat hubungan, dan jumlah tupel disebut bilangan pokok. Selain teori himpunan, salah satu landasan teori relasional adalah cabang logika matematika seperti kalkulus predikat. Jadi, dalam teori dan praktik database, ada tiga kelompok istilah. Terkadang istilah dari kelompok yang berbeda digunakan sebagai sinonim, misalnya record dan string. Seperti yang kami katakan di atas, dalam database relasional, pengguna melihat data dalam bentuk tabel. Mari kita pertimbangkan sistem sederhana, yang hanya memiliki dua tabel. “Siswa” pertama: buku nilai Nama lengkap Seri dokumen Nomor dokumen Ivanov Ivan Petrovich Klimov Andrey Ivanovich Novikov Nikolay Yuryevich Dan “Prestasi” kedua: Buku Nilai Mata Pelajaran Tahun Akademik Penilaian Semester Fisika 2016 / Matematika 2016 / Fisika 2016 / Fisika 2016 / Kapan bekerja dengan database, sering kali Anda harus mengikuti berbagai batasan yang mungkin ditentukan oleh spesifik bidang subjek tertentu. Untuk menyederhanakan situasi sebenarnya, kami menerima batasan berikut: 11
13, nomor buku nilai terdiri dari lima digit dan tidak boleh negatif (universitas yang berbeda menggunakan skema yang berbeda untuk menetapkan nomor buku nilai; skema ini bisa jauh lebih kompleks daripada yang telah kita adopsi dan dapat memperhitungkan, misalnya, tahun mahasiswa tersebut masuk universitas); seri dokumen identitas berjumlah empat angka, dan nomor dokumen identitas berjumlah enam digit; nomor semester hanya dapat mengambil dua nilai: 1 (semester musim gugur) dan 2 (semester musim semi); nilai hanya dapat mengambil tiga nilai: 3 (memuaskan), 4 (baik) dan 5 (sangat baik): nilai lain tidak diterima untuk dimasukkan dalam buku nilai. Untuk mengidentifikasi baris dalam tabel dan menghubungkan tabel satu sama lain, digunakan apa yang disebut kunci. Kunci kandidat adalah kombinasi atribut tabel yang secara unik mengidentifikasi baris-baris di dalamnya. Kunci juga dapat terdiri dari hanya satu atribut tabel. Misalnya, dalam tabel “Siswa”, pengenal tersebut dapat berupa atribut “Nomor Buku Nilai”. Dua atributnya yang digabungkan juga dapat berfungsi sebagai kunci potensial untuk tabel ini: “Seri dokumen identitas” dan “Nomor dokumen identitas”. Tak satu pun dari mereka dapat digunakan sebagai pengenal unik. Dalam hal ini, kuncinya adalah komposit. Penting bahwa kunci potensial tidak boleh berlebihan, yaitu. tidak ada subset atribut yang termasuk di dalamnya yang memiliki sifat unik. Kunci kandidat yang mencakup dua atribut yang disebutkan tidak berlebihan. Kunci diperlukan untuk pengalamatan tingkat baris (catatan). Jika ada lebih dari satu kunci kandidat dalam sebuah tabel, salah satunya dipilih sebagai kunci utama, dan sisanya akan menjadi kunci pengganti. Mari kita lihat tabel “Siswa” dan “Prestasi”. Misalkan pada tabel “Siswa” tidak ada baris dengan nomor buku nilai 55900, maka tidak ada gunanya memasukkan baris dengan nomor buku nilai tersebut pada tabel “Kemajuan”. Dengan demikian, nilai kolom “Nomor Buku Nilai” pada tabel “Prestasi” harus sesuai dengan nilai kolom yang sama pada tabel “Siswa”. Atribut Nomor Buku Nilai pada tabel Kemajuan Akademik adalah contoh dari apa yang disebut dengan kunci asing. Tabel yang berisi kunci asing disebut tabel referensi. Tabel yang berisi kunci kandidat yang sesuai disebut tabel referensi. Dalam kasus seperti ini, kunci asing dikatakan merujuk pada kunci kandidat dalam tabel referensi. Kunci asing dapat berupa komposit, artinya dapat mencakup lebih dari satu atribut. Kunci asing tidak harus unik. Masalah untuk memastikan bahwa database tidak berisi nilai kunci asing yang tidak valid dikenal sebagai masalah integritas referensial. Batasan dimana nilai kunci asing harus sesuai dengan nilai kunci kandidat disebut batasan integritas referensial. DBMS bertanggung jawab untuk menerapkan batasan integritas referensial, dan pengembang hanya diminta untuk menentukan atribut yang berfungsi sebagai eksternal.
14 kunci. Desain basis data sering kali mengharuskan ketika sebuah baris dihapus dari tabel yang direferensikan, baris terkait dalam tabel yang direferensikan juga harus dihapus, dan ketika nilai kolom yang direferensikan oleh kunci asing berubah, nilai kunci asing di tabel referensi tabel yang direferensikan harus diubah. Pendekatan ini disebut penghapusan kaskade (perbarui). Terkadang pendekatan lain digunakan. Misalnya, alih-alih menghapus baris dari tabel referensi, baris tersebut hanya diganti dengan nilai atribut yang disertakan dalam kunci asing dengan apa yang disebut nilai NULL. Ini arti khusus, artinya "tidak ada" atau tidak ada nilai, keduanya tidak sama dengan "null" atau "string kosong". Nilai NULL digunakan dalam database dan sebagai nilai default ketika pengguna belum memasukkan nilai tertentu. Kunci utama tidak boleh berisi nilai NULL. Transaksi adalah salah satu konsep terpenting dalam teori basis data. Artinya serangkaian operasi pada database, dianggap sebagai satu unit kerja tunggal dan tidak dapat dibagi, dilakukan secara lengkap atau tidak dilakukan sama sekali jika terjadi kegagalan selama transaksi. Dengan demikian, transaksi merupakan sarana untuk memastikan konsistensi data. Dalam database kita, sebuah transaksi dapat berupa, misalnya, dua operasi: menghapus baris dari tabel “Siswa” dan menghapus baris terkait kunci asing dari tabel “Prestasi”. 1.3 Apa itu bahasa SQL Bahasa SQL adalah bahasa non-prosedural sarana standar bekerja dengan data di semua DBMS relasional. Operator (perintah) yang ditulis dalam bahasa ini hanya menunjukkan kepada DBMS hasil apa yang harus diperoleh, tetapi tidak menjelaskan prosedur untuk memperoleh hasil tersebut. DBMS sendiri menentukan metode pelaksanaan perintah pengguna. Bahasa SQL secara tradisional membedakan sekelompok operator definisi data (Data Definition Language DDL), sekelompok operator manipulasi data (Data Manipulation Language DML) dan sekelompok operator yang mengelola hak akses ke objek database (Data Control Language DCL). Pernyataan bahasa definisi data (DDL) mencakup perintah untuk membuat, memodifikasi, dan menghapus tabel, tampilan, dan objek database lainnya. Bab 5 dan 8 membahas perintah-perintah ini secara rinci.Pernyataan bahasa manipulasi data (DML) mencakup perintah untuk mengambil baris dari tabel, memasukkan baris ke dalam tabel, memperbarui baris, dan menghapus baris. Perintah-perintah ini dibahas secara rinci di Bab 6 dan 7. Pernyataan DCL tidak dibahas dalam tutorial, karena PostgreSQL memungkinkan Anda melakukannya tanpa menggunakannya pada tahap awal pembelajaran bahasa SQL. 13
15 1.4 Deskripsi bidang studi dan database pelatihan Untuk menunjukkan semua kemampuan utama bahasa SQL, kita memerlukan database. Basis data ini tidak boleh terlalu rumit sehingga tidak memerlukan terlalu banyak waktu untuk mempelajarinya. Namun, pada saat yang sama, permintaan tersebut harus cukup beragam sehingga permintaan terhadapnya terlihat masuk akal, hampir sama seperti di pekerjaan nyata . Kami akan memilih transportasi udara penumpang sebagai bidang studi kami. Deskripsi aslinya dan deskripsi database Transportasi Udara dapat ditemukan di ru/docs/postgrespro/current/demodb-bookings.html. Kami berharap area ini familier bagi banyak pembaca tutorial kami. Tentu saja, untuk tujuan pendidikan, situasi sebenarnya sengaja disederhanakan, tetapi semua hal mendasar tetap dipertahankan. Jadi, maskapai penerbangan Rusia tertentu mengoperasikan transportasi udara penumpang. Ia memiliki armada pesawat sendiri dengan berbagai model. Setiap model pesawat memiliki kode khusus yang ditetapkan oleh International Air Transport Association (IATA). Dalam hal ini kita asumsikan bahwa pesawat dengan model yang sama mempunyai tata letak kabin yang sama, yaitu urutan penempatan kursi dan penomoran kursi pada kabin kelas bisnis dan kelas ekonomi. Misalnya, jika model Sukhoi SuperJet-100, maka kursi 2A adalah kelas bisnis, dan kursi 20D adalah kelas ekonomi. Kelas bisnis dan kelas ekonomi merupakan jenis dari apa yang disebut kelas layanan. Maskapai kami mengoperasikan penerbangan antar bandara Rusia. Setiap bandara diberi kode tiga huruf unik, hanya menggunakan huruf kapital alfabet Latin. Kode-kode ini diberikan bukan oleh maskapai penerbangan itu sendiri, tetapi oleh organisasi khusus yang mengelola transportasi udara penumpang. Seringkali nama bandara tidak sesuai dengan nama kota tempat bandara tersebut berada. Misalnya, di kota Novosibirsk bandaranya disebut Tolmachevo, di kota Yekaterinburg Koltsovo, dan di St. Petersburg Pulkovo. Selain itu, beberapa kota memiliki lebih dari satu bandara. Sebagai contoh, saya langsung teringat Moskow dengan bandara Domodedovo, Sheremetyevo, dan Vnukovo. Mari tambahkan satu detail penting lagi: setiap bandara dicirikan oleh koordinat geografis, garis bujur dan lintang, serta zona waktu. Rute penerbangan antar kota sedang dibentuk. Tentu saja, setiap rute tersebut memerlukan indikasi tidak hanya kotanya, tetapi juga bandaranya, karena, seperti telah kami katakan, mungkin terdapat lebih dari satu bandara dalam satu kota. Untuk menyederhanakan kenyataan, kami akan memutuskan bahwa rute tersebut tidak akan memiliki persinggahan, yaitu hanya akan memiliki bandara keberangkatan dan bandara tujuan. Setiap rute memiliki enam digit nomor, termasuk angka dan huruf alfabet Latin. Berdasarkan daftar rute, jadwal penerbangan (atau penerbangan) dibuat. Jadwal tersebut menunjukkan jadwal waktu keberangkatan dan jadwal waktu kedatangan, serta jenis pesawat yang mengoperasikan penerbangan tersebut. Pada saat penerbangan benar-benar beroperasi, perlu diperhatikan informasi tambahan, yaitu: waktu keberangkatan sebenarnya dan waktu kedatangan sebenarnya, serta status penerbangan. Status penerbangan dapat memiliki beberapa nilai: 14
16 Terjadwal (kemungkinan pemesanan dibuka sebulan sebelumnya); Tepat Waktu (pendaftaran dibuka satu hari sebelumnya); Tertunda (penerbangan tertunda); Almarhum; Tiba (tiba); Dibatalkan. Sekarang mari kita beralih ke penumpang. Penerbangan dimulai dengan pemesanan tiket. Saat ini, penerbitan tiket elektronik sudah menjadi hal yang lumrah. Setiap tiket tersebut memiliki nomor unik yang terdiri dari 13 digit. Beberapa tiket dapat diterbitkan dalam satu prosedur pemesanan, tetapi setiap prosedur tersebut memiliki enam digit nomor pemesanan (sandi) yang unik, yang terdiri dari huruf kapital Alfabet Latin dan angka. Selain itu, untuk setiap prosedur pemesanan, tanggal pemesanan dicatat dan dihitung total biaya tiket yang diterbitkan. Setiap tiket, selain nomor tiga belas digitnya, berisi pengenal penumpang, serta nama depan dan belakangnya (dalam transkripsi Latin) dan informasi kontak. Nomor dokumen identifikasi penumpang digunakan sebagai identitas penumpang. Tentu saja, seorang penumpang dapat mengubah dokumennya, dan terkadang bahkan nama belakang dan nama depannya, selama selang waktu antara pemesanan tiket pada hari yang berbeda, sehingga tidak mungkin untuk mengatakan dengan pasti bahwa tiket tertentu diterbitkan untuk penumpang yang sama. Lebih dari satu penerbangan dapat disertakan dalam setiap e-tiket. Para ahli menyebut segmen catatan penerbangan ini. Contoh kehadiran beberapa segmen adalah sebagai berikut: Krasnoyarsk Moscow, Moscow Anapa, Anapa Moscow, Moscow Krasnoyarsk. Pada saat yang sama, dimungkinkan untuk menerbitkan beberapa tiket untuk penumpang berbeda dalam satu pemesanan. Untuk setiap penerbangan, nomor penerbangan, bandara keberangkatan dan tujuan, waktu keberangkatan dan kedatangan, serta biaya penerbangan ditunjukkan. Selain itu, apa yang disebut kelas layanan ditunjukkan: ekonomi, bisnis, dll. Ketika penumpang tiba di bandara keberangkatan dan check-in untuk mendapatkan tiket, apa yang disebut boarding pass dikeluarkan. Kupon ini dikaitkan dengan tiket pesawat: kupon tersebut menunjukkan nomor yang sama dengan yang dimiliki tiket elektronik penumpang tersebut. Selain itu, tiket tersebut mencantumkan nomor penerbangan dan nomor kursi di pesawat. Nomor boarding pass juga ditunjukkan, nomor urut yang diberikan selama proses check-in untuk tiket penerbangan tertentu. Izinkan kami mengingatkan Anda bahwa setiap kursi di kabin pesawat sesuai dengan kelas layanan tertentu. Informasi ini diperhitungkan saat mendaftarkan tiket dan mengeluarkan boarding pass. Misalnya, jika seorang penumpang membeli tiket kelas ekonomi, maka boarding pass-nya akan mencantumkan nomor kursi di kabin kelas ekonomi, tetapi tidak di kabin kelas bisnis. Mengikuti deskripsi bidang studi yang diberikan, Anda dapat merancang model database yang dimaksudkan untuk mempelajari bahasa SQL. Karena tutorial kami terutama ditujukan untuk mempelajari bahasa SQL, dan bukan untuk menguasai seni desain database, kami hanya akan menampilkan diagram 15
17 Pemesanan Pemesanan Bandara Bandara # book_ref * tanggal_buku * total_jumlah # kode_bandara * nama_bandara * kota * garis bujur * garis lintang * zona waktu Tiket Tiket # tiket_no * buku_ref * penumpang_id * nama_penumpang kontak_data Tiket_penerbangan Penerbangan # ticket_no # flight_id * fare_conditions * jumlah Penerbangan Penerbangan # flight_id * flight_no * jadwal_keberangkatan * jadwal_kedatangan * bandara_keberangkatan * bandara_kedatangan * status * kode_pesawat aktual_keberangkatan aktual_kedatangan Pesawat Pesawat # kode_pesawat * model * rentang Boarding_passes Boarding pass Kursi Kursi # ticket_no # flight_id * boarding_no * seat_no # plane_code # seat_no * fare_conditions skema data yang menunjukkan entitas yang disorot di area subjek , serta koneksi dan atributnya. Kami akan menunjukkan tipe data spesifik, kunci primer dan asing, serta batasan yang dikenakan pada atribut dan tabel di bab selanjutnya sambil meninjau perintah SQL yang ditujukan untuk penciptaan fisik tabel dalam database. Diagram di atas dapat ditemukan di situs web Postgres Professional di alamat yang tertera di awal bagian ini. Soal dan tugas tes 1. Kelompok operator apa yang dibedakan dalam bahasa SQL? 2. Memberikan definisi informal tentang konsep dasar model data relasional: relasi, tupel, atribut. 3. Mengapa kunci asing diperlukan dalam tabel relasional? 4. Apa yang dimaksud dengan kunci kandidat? 5.* Berikan contoh kunci kandidat yang berlebihan untuk salah satu tabel di database Maskapai Penerbangan dan jelaskan mengapa kunci tersebut akan menjadi berlebihan. 16
18 6.* Implementasi database Transportasi Udara saat ini mengasumsikan bahwa pesawat dengan model yang sama hanya dapat memiliki satu tata letak kabin. Bayangkan manajemen memutuskan bahwa perlu mempertimbangkan kemungkinan memiliki tata letak yang berbeda untuk setiap model. Tabel mana yang harus dimodifikasi dalam kasus ini dan bagaimana caranya? Apakah saya perlu membuat tabel tambahan? 17
19 2 Menciptakan lingkungan kerja Sebelum Anda mulai mempelajari bahasa SQL secara langsung, Anda perlu mendapatkan akses ke server PostgreSQL. Hal ini dapat dilakukan, misalnya, di laboratorium komputer atau dengan mengakses server jarak jauh melalui terminal. Namun, Anda dapat menciptakan lingkungan kerja untuk diri Anda sendiri dan di komputer lokal Anda dengan menginstal versi lengkap DBMS PostgreSQL, yaitu server dan program klien. Dalam hal ini, Anda akan memiliki lebih banyak kekuatan untuk mengonfigurasi dan menggunakan PostgreSQL. Di bagian akhir bab ini, kami akan menunjukkan kepada Anda cara menerapkan database pelatihan Pengangkutan Udara yang diisi dengan data yang dapat dipercaya dan disiapkan secara khusus. 2.1 Menginstal DBMS Karena tutorial ini dimaksudkan untuk mempelajari bahasa SQL, dan bukan dasar-dasar administrasi DBMS PostgreSQL, kami akan membatasi diri hanya pada instruksi singkat tentang di mana menemukan petunjuk pemasangan. Anda harus mulai dengan memilih distribusi DBMS yang ingin Anda instal. Anda dapat memilih opsi PostgreSQL asli atau yang ditawarkan oleh Postgres Professional. Ini disebut Postgres Pro dan tidak hanya berisi semua fungsi dan modul yang termasuk dalam distribusi standar, tetapi juga pengembangan tambahan yang dibuat oleh Postgres Professional. Distribusi ini juga cocok untuk mempelajari dasar-dasar bahasa SQL. Namun, dokumentasi dalam bahasa Rusia hanya disertakan dengan PostgreSQL. Setelah Anda memutuskan distribusi DBMS tertentu, Anda perlu memilih sistem operasi. PostgreSQL mendukung banyak sistem, termasuk versi yang berbeda Linux dan juga Windows. Disarankan untuk menginstal DBMS versi stabil terbaru. Jika Anda memutuskan untuk menggunakan distribusi PostgreSQL asli, maka Anda dapat menemukan petunjuk untuk menginstalnya di berbagai sistem operasi di alamat berikut.Jika Anda memilih distribusi PostgreSQL, maka Anda harus pergi ke sini: terbaru. Setelah menginstal PostgreSQL dan PostgreSQL Lingkungan Windows tindakan tambahan harus diambil untuk memastikan bahwa penggunaan alfabet Rusia di terminal psql interaktif tidak menimbulkan masalah. Utilitas psql dibahas di bagian selanjutnya. Selama proses instalasi, akun pengguna DBMS bernama postgres akan dibuat. Anda tidak perlu membuat akun tambahan untuk mempelajari manual ini. 18
20 Setelah menginstal satu atau beberapa distribusi PostgreSQL, Anda perlu mempelajari cara memulai server database, karena jika tidak, maka tidak mungkin untuk bekerja dengan data. Cara melakukan ini dijelaskan secara rinci dalam dokumentasi di bagian 18.3 “Memulai server database”. Anda dapat menemukan bagian ini di current/server-start.html. Saat menginstal DBMS di lingkungan Windows, layanan dibuat untuk memulai server PostgreSQL secara otomatis saat sistem operasi melakukan booting. Setelah selesai bekerja dengan server, Anda harus menghentikannya (mematikan) dengan benar. Prosedur untuk menghadapi situasi seperti ini dijelaskan dalam dokumentasi di bagian 18.5 “Mematikan server”. Anda dapat menemukan bagian ini di postgresql/9.6/server-shutdown.html. 2.2 Program terminal interaktif psql PostgreSQL Untuk mengakses server database, paket PostgreSQL menyertakan terminal interaktif psql. Untuk menjalankannya, Anda perlu memasukkan perintah psql.Saat menjalankan utilitas psql di lingkungan Windows, huruf alfabet Rusia mungkin tidak ditampilkan dengan benar. Untuk menghilangkan ini, Anda perlu mengubah font pada Konsol Lucida di properti jendela tempat psql berjalan dan menggunakan perintah chcp untuk mengubah font saat ini. halaman kode pada CP1251: chcp 1251 Di lingkungan utilitas psql, Anda tidak hanya dapat memasukkan perintah bahasa SQL, tetapi juga berbagai perintah layanan yang didukung oleh utilitas itu sendiri. Untuk mendapatkan informasi singkat Untuk semua perintah layanan, Anda harus memasukkan \? Banyak perintah seperti itu dimulai dengan karakter \d. Misalnya, untuk melihat daftar semua tabel dan tampilan yang dibuat dalam database yang saat ini Anda sambungkan, masukkan perintah \dt Jika Anda tertarik dengan definisi (dengan kata lain, struktur) tabel database tertentu, misalnya Misalnya, siswa, Anda perlu memasukkan perintah \d siswa Untuk mendapatkan daftar semua perintah SQL, Anda perlu menjalankan perintah \h Untuk menampilkan deskripsi perintah SQL tertentu, misalnya CREATE TABLE, Anda perlu melakukan ini : \h BUAT TABEL 19
21 Utilitas ini memungkinkan Anda mengurangi jumlah input manual dengan menyelesaikan perintah yang dimasukkan menggunakan psql. Misalnya, saat memasukkan perintah SQL, Anda dapat menggunakan tombol Tab untuk melengkapi kata kunci perintah yang dimasukkan atau nama tabel database. Misalnya, saat memasukkan perintah CREATE TABLE..., Anda dapat memasukkan karakter "cr" dan menekan tombol Tab.psql akan melengkapi kata ini menjadi "create". Anda dapat melakukan hal yang sama dengan kata TABLE. Untuk memasukkannya, cukup masukkan huruf “ta” dan tekan tombol Tab. Jika Anda memasukkan terlalu sedikit huruf agar psql dapat mengidentifikasi kata kunci secara unik, penyelesaian tidak akan terjadi. Namun dalam kasus ini, Anda dapat menekan tombol Tab dua kali dan mendapatkan daftar semua kata kunci yang dimulai dengan kombinasi huruf yang Anda masukkan. 2.3 Menyebarkan basis data pelatihan Setelah menyelesaikan instalasi server basis data, kita dapat langsung beralih ke pertanyaan tentang bagaimana menerapkan basis data pelatihan Pengangkutan Udara yang disiapkan oleh Postgres Professional di cluster PostgreSQL Anda. Situs web perusahaan memiliki bagian yang didedikasikan untuk database ini, yang dapat ditemukan dengan mengikuti tautan. Ini disediakan dalam tiga versi, hanya berbeda dalam jumlah data: versi paling ringkas berisi data selama satu bulan, versi berukuran sedang mencakup jangka waktu tiga bulan, dan versi terlengkap mencakup data selama setahun penuh. Semua data dihasilkan menggunakan algoritma khusus untuk memastikan “masuk akalnya”. Kami menyarankan Anda memulai dengan versi ringkas dari database Transportasi Udara, dan setelah mendapatkan beberapa pengalaman dalam menulis kueri SQL, Anda akan menginstal versi lengkap dan dengan itu Anda akan dapat lebih "merasakan" berbagai seluk-beluk bekerja dengan skala besar. volume data, misalnya, mengevaluasi dampak indeks terhadap kecepatan akses ke data. Langkah pertama untuk menyebarkan database adalah mengunduh formulir arsipnya. salinan cadangan ikuti tautan zip. Maka Anda perlu mengekstrak file dari arsip: unzip demo_small.zip File yang diekstraksi disebut demo_small.sql. Kami sekarang akan membuat database bernama demo di cluster PostgreSQL Anda. Versi terpendek dari perintahnya adalah: psql -f demo_small.sql -U postgres Jika Anda ingin mengarahkan output pesan yang dihasilkan DBMS selama operasi dari layar ke file, maka Anda dapat melakukan ini: psql -f demo_small .sql -U postgres > demo.log 2>demo.err Anda dapat memisahkan keluaran standar dan keluaran kesalahan standar. Pesan biasa akan dialihkan ke file demo.log, dan pesan kesalahan ke file demo.err. Perhatikan bahwa tidak boleh ada spasi antara angka 2, yang menunjukkan pegangan perangkat keluaran kesalahan standar, dan tanda ">", yang menunjukkan pengalihan keluaran. 20
22 Jika lebih mudah bagi Anda untuk mengumpulkan semua pesan ke dalam satu file umum, maka Anda perlu melakukan ini: psql -f demo_small.sql -U postgres > demo.log 2>&1 Harap dicatat bahwa seluruh ekspresi 2>&1 di akhir perintah ditulis tanpa spasi. Ini memberitahu sistem operasi bahwa pesan kesalahan harus dikirim ke tempat yang sama di mana pesan normal dikeluarkan. Jika file SQL kita sangat besar, maka kita dapat menjalankan perintahnya latar belakang, letakkan di akhir garis komando simbol “&”, dan pantau kemajuan proses secara real time menggunakan perintah tail. psql -f demo_small.sql -U postgres > demo.log 2>&1 & tail -f demo.log Pilih salah satu opsi perintah yang disarankan untuk menyebarkan database dan jalankan perintah. Semuanya sudah siap! Anda dapat terhubung ke database baru: psql -d demo -U postgres Pertanyaan dan tugas pengujian 1. Selesaikan prosedur untuk menginstal DBMS PostgreSQL di lingkungan sistem operasi pilihan Anda. 2. Biasakan diri Anda dengan utilitas psql menggunakan bantuan bawaan, serta menggunakan bantuan yang dipanggil menggunakan perintah psql --help 3. Selain utilitas psql, ada utilitas lain program universal untuk bekerja dengan server database PostgreSQL, misalnya pgadmin. Ini utilitas yang kuat dengan antarmuka grafis. Instal sendiri program pgadmin dan pelajari teknik dasar untuk bekerja dengannya. 4. Menyebarkan database sampel. Coba sambungkan menggunakan utilitas psql. Untuk keluar dari utilitas, gunakan perintah \q. 21
23 3 Operasi dasar dengan tabel Bahasa SQL sangat beragam, mencakup sejumlah perintah, yang terkadang memiliki banyak parameter dan kata kunci. Tapi kita akan mulai dengan gambaran singkat fitur dasar bahasa SQL. Dalam bab ini, Anda akan mempelajari cara memasukkan data ke dalam database, mempelajari cara dasar mengambil informasi dari database, yaitu pengambilan sampel, dan juga mempelajari bagaimana Anda dapat mengubah informasi yang disimpan dalam database dan menghapus data yang ada. tidak diperlukan lagi. diperlukan. Dalam praktek belajar bahasa asing ada tradisi yang baik. Sudah di pelajaran pertama, siswa mempelajari beberapa struktur tata bahasa dasar dan kata-kata yang memungkinkan dia mengucapkan beberapa frasa yang paling sederhana namun berguna secara praktis. Kami akan mengikuti tradisi ini. Di bagian tutorial kami ini, Anda akan terbiasa dengan perintah dasar SQL yang memungkinkan Anda melakukan operasi dasar. Anda akan mempelajari perintah yang lebih kompleks (dan menarik) di bab-bab berikutnya. Katakanlah beberapa patah kata tentang pendekatan kami terhadap pekerjaan. Pada prinsipnya, ada dua cara yang mungkin untuk mengatur pekerjaan siswa. Metode pertama adalah: siswa menggunakan database yang sudah berisi semua tabel yang diperlukan dan objek database lainnya yang disiapkan sebelumnya oleh penulis buku teks atau spesialis lain yang berkualifikasi. Pada saat yang sama, sekumpulan data tertentu yang diperlukan juga telah dimasukkan ke dalam tabel, sehingga Anda dapat segera melanjutkan mengeksekusi kueri terhadap tabel tersebut. Metode yang dijelaskan nampaknya sangat menarik karena membutuhkan sedikit usaha pada tahap awal penguasaan bahasa SQL. Namun menurut kami, cara lain lebih tepat. Ini mungkin lebih memakan waktu, tetapi ketika Anda menggunakannya, seperti yang mereka katakan, Anda akan lebih memahami proses pembuatan tabel dan memasukkan catatan ke dalam tabel ini. Dan dengan menjalankan berbagai query database, akan lebih mudah bagi Anda untuk mengevaluasi kebenaran hasil query, karena Anda memasukkan semua data sendiri dan oleh karena itu dapat menebak secara wajar hasil apa yang Anda harapkan untuk dilihat di layar. Tentu saja, metode pertama bisa sangat berguna ketika mempelajari fitur-fitur bahasa SQL yang lebih kompleks dan canggih, yang sulit dipahami tanpa menggunakan data dalam jumlah besar, dan tidak masuk akal untuk memasukkan data dalam jumlah besar ke dalam database secara manual. Akan jauh lebih rasional jika membuatnya secara otomatis menggunakan perangkat lunak. Di Bab 1, kita telah menjelaskan area subjeknya, jadi sekarang kita bisa langsung mulai membuat tabel di database. Untuk melakukan semua perintah dan operasi selanjutnya, kita akan menggunakan utilitas psql, yang disertakan dalam pengiriman standar DBMS PostgreSQL. Basis data demo seharusnya sudah diterapkan di komputer Anda. Proses pembuatannya dijelaskan di Bab 2. Sekarang jalankan utilitas psql dan sambungkan ke database ini dengan akun pengguna postgres: psql -d demo --U posting baru Untuk membuat tabel di SQL, gunakan perintah CREATE TABLE. Sintaks lengkapnya disajikan dalam dokumentasi PostgreSQL, tetapi sintaksis yang disederhanakan adalah: 22
Perusahaan Profesional Postgres E.P. Morgunov PostgreSQL. Dasar-dasar SQL tutorial Petersburg "BHV-Petersburg" 2018 UDC 004.655 BBK 32.973.26-018.2 M79 Morgunov, E. P. M79 PostgreSQL. Dasar-dasar
Kuliah Bahasa SQL 6 Indeks E. P. Morgunov Universitas Sains dan Teknologi Negeri Siberia dinamai Akademisi M. F. Reshetnev Institut Informatika dan Telekomunikasi Krasnoyarsk [dilindungi email]
Bratchikov I.L. 41. Dasar-dasar desain database. Metode untuk membangun DBMS. SQL, contoh implementasi. Dasar-dasar database modern. 1. Definisi dasar. Terminologi. Dalam literatur Anda dapat menemukannya
Topik 10. Dasar-dasar teknologi basis data Teknologi basis data adalah salah satu pencapaian utama ilmu komputer, yang digunakan untuk membangun sistem informasi komputer dan aplikasi yang mengimplementasikan informasi
KONSEP DASAR DATABASE 1. Pilih prosedur yang benar saat merancang database a) Memecahkan masalah transfer data b) Analisis area subjek, dengan mempertimbangkan kebutuhan pengguna akhir c)
Pendahuluan Buku ini ditujukan bagi pengembang yang menggunakan Oracle sebagai sistem manajemen basis data (DBMS). Oleh karena itu, buku ini tidak memberikan banyak ruang untuk membahas permasalahan tersebut
Opsi 1 Pilih jawaban yang benar. Hanya ada satu jawaban yang benar yang mungkin. 1. Sistem Informasi adalah a) Setiap sistem pemrosesan informasi b) Sistem pemrosesan informasi teks
Bahasa SQL Kuliah 3 Dasar-dasar bahasa definisi data E. P. Morgunov Universitas Sains dan Teknologi Negeri Siberia dinamai Akademisi M. F. Reshetnev Institut Informatika dan Telekomunikasi Krasnoyarsk
Bahasa SQL Kuliah 5 Mengubah data E.P. Morgunov Universitas Sains dan Teknologi Negeri Siberia dinamai Akademisi M.F. Reshetnev Institut Informatika dan Telekomunikasi Krasnoyarsk [dilindungi email]
➀ Sistem informasi dan bank data. Kondisi paling penting untuk memastikan berfungsinya organisasi secara efektif adalah adanya sistem informasi yang dikembangkan. Sistem informasi adalah sebuah sistem
Bab 1. Memulai Cara kerja basis data Microsoft Access Merancang struktur data Tahapan bekerja dengan database Mari kita mulai Antarmuka pengguna Access 2007 Menyiapkan elemen
Bab 3. Menginstal dan meluncurkan versi multi-pengguna Persyaratan dan ketentuan...1 Prosedur untuk menginstal SbiS++ di jaringan...2 Menginstal dan mengkonfigurasi server dan klien Pervasive.SQL...3 Menginstal program...4 Persiapan
BANK TUGAS UJI Disiplin akademik Arah Tingkat pelatihan Jurusan B1.B.12 Manajemen data 03/09/02 Sistem dan teknologi informasi gelar sarjana dalam Metode dan sarana pengukuran dan otomasi
Basis Data Perkembangan teknologi komputer dilakukan dalam dua arah utama: pemanfaatan teknologi komputer untuk melakukan perhitungan numerik; penggunaan teknologi komputer
Universitas Teknik Negeri Moskow dinamai N. E. Bauman cabang Kaluga Yu. E. Gagarin, S. V. Ponomarev APLIKASI BAHASA SQL DALAM MS ACCESS Manual pendidikan dan metodologi UDC 681.3.06 BBK 32.973
1. Informasi dan data 2. Konsep dasar sistem basis data Informasi sistem komputer dengan database ini adalah sistem informasi, matematika, perangkat lunak, bahasa, organisasi
PDM STEP SUITE versi 5.0 Petunjuk instalasi untuk PDM STEP Suite Petunjuk untuk pemrogram sistem. Bagian 1 Pusat Penelitian JSC "Logistik Terapan" 2019 PDM STEP Suite v.5.0. Petunjuk untuk pemrogram sistem
1 dari 6 Kuliah 1. Arsitektur sistem basis data. Fungsi administrator sistem basis data dalam sistem informasi perusahaan. Objek basis data. 1.1. Arsitektur sistem basis data ANSI/SPARC...1
DAFTAR ISI PENDAHULUAN... 3 1 PENELITIAN DOMAIN SUBJEK DAN PERNYATAAN MASALAH... 4 2 MEMBANGUN MODEL INFOLOGI... 5 3 DESAIN DATABASE DATALOGIS... 6 3.1 Pemilihan sistem kendali
DI DALAM kondisi modern Saat mengotomatisasi perusahaan, seseorang harus menghadapi persyaratan akuntansi yang berbeda dan seringkali bertentangan secara diametral untuk bagian akuntansi yang sama. Menurut dokumentasi
Disiplin akademik “Database dan pengelolaannya” untuk mahasiswa spesialisasi Informatika Terapan (gelar sarjana) 080800.62 Kuliah 15 MODEL PENYELENGGARAAN AKSES DATABASE Soal pendidikan: 1. Arsitektur
Bahasa SQL Kuliah 7 Transaksi E.P. Morgunov Universitas Sains dan Teknologi Negeri Siberia dinamai Akademisi M.F. Reshetnev Institut Informatika dan Telekomunikasi Krasnoyarsk [dilindungi email]
Teknologi informasi komputer Modul 13. Ciri-ciri umum Akses DBMS 1 TUJUAN MODUL Setelah mempelajari modul ini anda akan mampu: membicarakan tentang Kegunaan Akses DBMS; mengetahui fitur-fiturnya
Sistem Manajemen Dokumen Elektronik Panduan Instalasi A r h i v a ru s Moskow, 2008 2 ABSTRAK Dokumen ini memberikan penjelasan tentang delivery kit produk perangkat lunak"Aliran Dokumen EUPHRATS"
DATABASE (DB). SISTEM KONTROL OBD Ketentuan umum Tujuan dari setiap sistem informasi adalah untuk memproses data tentang objek dunia nyata. Dalam arti luas, database adalah kumpulan informasi tentang
Pengenalan database. Pengantar SQL. Sumy Educational Center Software Quality Assurance (QA) Netcracker 2016 1 Anda akan mempelajari hal berikut Apa itu database Klasifikasi database DBMS Klien DBMS
1.1. Dasar-dasar bekerja dengan database 1.1.1. Basis data dan sistem manajemen basis data. Model data Basis data (DB) adalah kumpulan data terstruktur bernama yang terkait dengan suatu hal tertentu
Tampaknya hal ini baru saja terjadi, namun perubahan signifikan telah terjadi sejak saat itu! Sementara penulis sedang mempersiapkan penerbitan buku Pemrograman Profesional SQL Server 7.0 pada awal tahun 1999
Pengantar teori database Kuliah 1 Garis besar kuliah Konsep dasar Organisasi data dalam database Jenis model data Arsitektur database Klasifikasi database Server 2008. Kuliah 1 2 Konsep dasar Server 2008. Kuliah
Lampiran 4 Subsistem Manajemen Proses dan Perhitungan DAFTAR ISI 1. Informasi Umum... 2 2. Status pemodelan dan proses kerja... 2 2.1. Mengelola daftar kelompok negara... 2 2.2. Penciptaan
Panduan Instalasi Softacom CRM Versi 2.1. 1 "Panduan Instalasi Softacom CRM". Berisi penjelasan proses instalasi sistem. Daftar Isi 1 PENDAHULUAN... 3 1.1 Informasi umum tentang sistem... 3 1.2 Fitur
Pekerjaan laboratorium 4 “Membuat koneksi antar tabel” Tujuan pekerjaan: mempelajari teknologi untuk membuat struktur database relasional di Microsoft Office Akses 2007 1. Informasi teoretis singkat Word
Pencadangan logis Topik Pencadangan logis dan fisik Menyalin tabel individual Mencadangkan dan memulihkan database dan cluster 2 Jenis pencadangan Pencadangan logis
AKSES MICROSOFT: HUBUNGAN, BIDANG PERHITUNGAN, PEMBUATAN FORMULIR TOMBOL DB I. HUBUNGAN TABEL Database modern biasanya terdiri dari banyak tabel yang saling berhubungan. Salah satu tujuan menciptakan struktur yang baik
UNIVERSITAS PENERBANGAN NASIONAL Jurusan Informatika Terapan Topik Kursus: Microsoft DBMS Akses Penciptaan dan pengolahan database Tujuan kerja: menguasai teknik dasar kerja secara teoritis dan praktis
Transaksi dan akses bersamaan: perbandingan implementasi di PostgreSQL dan Oracle Egor Rogov, Postgres Professional Mengapa semua ini? hasil permintaan Mengapa semua ini? hasil request Transaksi Atomicity semua
@DB, DBMS 1. Struktur data, yang ditandai dengan subordinasi objek tingkat rendah ke objek level tertinggi, disebut A. tabular B. relasional *C. hierarki D. jaringan 2. Khas
Panduan Instalasi VOGBIT 2010 Daftar Isi Pendahuluan... 4 Persyaratan perangkat lunak dan perangkat keras... 5 Urutan instalasi... 6 Menginstal program... 7 Meminta dan mendapatkan lisensi...
Tahapan pengembangan database Biasanya, non-profesional bekerja dengan database, sehingga persyaratan database berikut dapat dirumuskan. Pengembang, ketika membuat database, harus fokus pada hal ini
Akses sistem manajemen basis data Dilakukan oleh Nazlygul Niyazovna Chibinova, mahasiswa Fakultas Bahasa Asing di Institut Yelabuga Universitas Federal Kazan (Privozhsky). Ilmiah
Ilmu Komputer Kuliah 5 MS Access Sistem Informasi Aplikasi untuk menyimpan, mengisi ulang, mengedit dan menggunakan data dalam jumlah besar Dalam kasus yang paling sederhana, penggunaan berarti akses
Daftar Isi Kata Pengantar...3 Bagian I. Basis Data, DBMS dan Model Data Bab 1. Tujuan Teknologi Basis Data. Fungsi dan komponen utama sistem manajemen basis data.................................. ..........
Laboratorium pemantauan dan otomasi proses pendidikan. Panduan Administrator Situs Penunjang Proses Pendidikan Versi 3 tanggal 18/12/15. Korotkov D.S., Zhuchok I.O. Aktifkan/nonaktifkan
Bab 6 Teori Basis Data 6.1. Konsep umum 6.2. Model data 6.3. Basis data relasional 6.4. Model dan database pasca-relasional 6.5. Desain basis data Sistem informasi modern,
Pekerjaan laboratorium 9 Investigasi kemampuan Microsoft Access 2007 untuk menghasilkan query menggunakan SQL. Tujuan: 1. Mempelajari cara membuat query menggunakan SQL di Microsoft Access
Kompleks penyiapan dokumen informasi aeronautika Pembuatan database aeronautika Ketentuan umum Sumber utama informasi aeronautika kompleks ini adalah database relasional informasi aeronautika
1. Perkiraan cara pengendalian saat ini. Pertanyaan diajukan untuk survei (untuk diskusi) ke bagian disiplin akademik: Bagian 1. Pengenalan bank data 1. Konsep bank data (DB). komponen BnD. 1.1. Informasional
Kuliah 2 1 Menurut kamus: Arsitektur sistem informasi Sistem informasi adalah kumpulan dokumen (array dokumen) dan teknologi informasi yang tertata secara organisasi, termasuk penggunaannya
J. Bowman, S. Emerson, M. Darnovsky PANDUAN PRAKTIS SQL Buku ini akan membantu bahkan ketika panduan pengguna terbaik tidak berguna. Topik-topik yang sering terlewatkan dibahas di sini.
Sistem manajemen dokumen elektronik A r h i v a r i s Manual instalasi Moskow, 2009 2 ABSTRAK Dokumen ini memberikan penjelasan tentang paket pengiriman produk perangkat lunak “EUFRAT-Document Flow”.