Tulisan ini memberikan rangkuman materi sistem basis data. Adapun sumber rangkuman berasal dari vidio yang telah saya tonton. Adapun materinya berkaitan dengan pengantar relasi.
1. Garis besar
- Struktur Database Relasional
- Skema Basis Data
- Kunci
- Diagram Skema
- Bahasa Permintaan Relasional
- Aljabar Relasional
2. Atribut
- Himpunan nilai yang diizinkan untuk setiap atribut disebut domain dari atribut
- Nilai atribut (biasanya) harus bersifat atomik; yaitu tidak dapat dipisahkan
- Nilai khusus null adalah anggota dari setiap domain. Diindikasikan bahwa nilainya "tidak diketahui"
- Nilai nol menyebabkan komplikasi dalam definisi banyak operasi
3. Relasi adalah Unordered
- Urutan tupel tidak relevan (tupel dapat disimpan dalam urutan sewenang-wenang)
- Contoh: hubungan instruktur dengan tupel yang tidak terurut
4. Skema Basis Data
- Skema database - adalah struktur logis dari database.Â
- Database instance -- adalah snapshot dari data dalam
database pada saat tertentu dalam waktu.Â
- Contoh:
* skema: instruktur (ID, nama, nama_dept, gaji) * Contoh:
5. Kunci
- K adalah superkey dari R jika nilai K cukup untuk mengidentifikasi keunikan
- LetKR
tuple dari setiap kemungkinan relasi r(R)
* Contoh: {ID} dan {ID,name} keduanya adalah superkey dari instruktur.
- Superkey K adalah kunci kandidat jika K minimal
Contoh: {ID} adalah kunci kandidat untuk Instruktur
- Salah satu kunci kandidat dipilih untuk menjadi kunci utama.
* yang mana?
- Batasan kunci asing: Nilai dalam satu relasi harus muncul di relasi lain
* Referensi Referensi
* Referensi Referensi
* Contoh -- nama_dept di instruktur adalah kunci asing dari departemen referensi instruktur
6. Bahasa Permintaan Relasional
- Prosedural versus non-prosedural, atau deklaratif
- Bahasa "murni":
* Aljabar relasional
* Tuple relasional kalkulus
* Domain kalkulus relasional
- 3 bahasa murni di atas setara dalam daya komputasi
- Kami akan berkonsentrasi dalam bab ini pada aljabar relasional
* Tidak setara dengan mesin bubut
* Terdiri dari 6 operasi dasar
7. Aljabar Relasional
- Bahasa prosedural yang terdiri dari sekumpulan operasi yang mengambil satu atau dua relasi sebagai input dan menghasilkan relasi baru sebagai hasilnya.
- Enam operator dasar
* pilih:
* proyek:
* serikat pekerja:
* mengatur perbedaan: --
* Produk Cartesian: x
* ganti nama:
8. Pilih Operasi (Lanjutan)
- Kami mengizinkan perbandingan menggunakan =, , >, . <.
dalam pemilihan predikat.
- Kita dapat menggabungkan beberapa predikat menjadi predikat yang lebih besar dengan menggunakan kata penghubung:
(dan), (atau), (tidak)
- Contoh: Temukan instruktur Fisika dengan gaji lebih besar $90,000,
kami menulis:
dept_name="Fisika" gaji > 90.000 (instruktur)
- Kemudian pilih predikat dapat mencakup perbandingan antara dua atribut.
* Contoh, cari semua departemen yang namanya sama dengan nama gedungnya:
* nama_dept=gedung (departemen)
9. Operasi Proyek
- Operasi unary yang mengembalikan relasi argumennya, dengan atribut tertentu yang ditinggalkan.
- Â Notasi:
A1,A2,A3 ....Ak (r)
dimana A1, A2 adalah nama atribut dan r adalah nama relasi.
- Hasilnya didefinisikan sebagai relasi dari k kolom yang diperoleh
dengan menghapus kolom yang tidak terdaftar
- Duplikat baris dihapus dari hasil, karena relasi adalah set
10. Komposisi Operasi Relasional
- Hasil operasi aljabar relasional adalah relasi sehingga operasi aljabar relasional dapat disusun bersama menjadi ekspresi aljabar relasional.
- Pertimbangkan kueri -- Temukan nama semua instruktur di departemen Fisika.
nama( dept_name ="Fisika" (instruktur))
- Alih-alih memberi nama relasi sebagai argumen dari operasi proyeksi, kami memberikan ekspresi yang mengevaluasi relasi.
11. Cartesian
- Operasi produk Cartesian (dilambangkan dengan X) memungkinkan kita menggabungkan informasi dari dua relasi.
- Contoh: produk Cartesian dari relasi pengajar dan pengajar ditulis sebagai:
instruktur X mengajar
- Kami membuat sebuah tupel dari hasil dari setiap pasangan tupel yang mungkin: satu dari relasi instruktur dan satu dari relasi pengajar (lihat slide berikutnya)
- Karena ID instruktur muncul di kedua relasi, kami membedakan antara atribut ini dengan melampirkan ke atribut nama relasi asal atribut tersebut berasal.
* instruktur.ID * mengajar.ID
12. Gabung Operasi
- Instruktur Cartesian-Product X mengajar
mengaitkan setiap tupel instruktur dengan setiap tupel pengajaran.
* Sebagian besar baris yang dihasilkan berisi informasi tentang instruktur yang TIDAK mengajar mata pelajaran tertentu.
- Untuk mendapatkan hanya tupel "instruktur X mengajarkan" yang berkaitan dengan instruktur dan kursus yang mereka ajarkan, kami menulis:
pengajar.id = pengajar.id (pengajar x pengajar ))
* Kami hanya mendapatkan tuple dari "instruktur X mengajar" yang berhubungan
kepada instruktur dan kursus yang mereka ajarkan.
-Hasil ekspresi ini, ditunjukkan pada slide berikutnya
13. Gabung Operasi (Lanjutan)
- Operasi gabungan memungkinkan kita untuk menggabungkan operasi pilih dan operasi Cartesian-Product ke dalam satu operasi.
- Pertimbangkan hubungan r (R) dan s (S)
- Biarkan "theta" menjadi predikat pada atribut dalam skema R "union"
S. Operasi gabungan r s didefinisikan sebagai berikut:
= ( )
- Demikian
pengajar.id = pengajar.id (pengajar x pengajar ))
- Secara ekuivalen dapat ditulis sebagai
pengajar Instruktur.id = pengajar.id pengajar.
14. Operasi Serikat
- Operasi serikat memungkinkan kita untuk menggabungkan dua hubungan
- Notasi: r s
- Forrtobevalid.
1. r, s harus memiliki arity yang sama (jumlah atribut yang sama)
2. Domain atribut harus kompatibel (contoh: kolom ke-2
atau r berurusan dengan jenis nilai yang sama seperti kolom ke-2 dari s)
- Contoh: untuk menemukan semua mata kuliah yang diajarkan pada semester Musim Gugur 2017, atau pada semester Musim Semi 2018, atau keduanya
id_kursus ( semester="Musim Gugur" tahun=2017 (bagian)) id_kursus ( semester="Musim Semi" tahun=2018 (bagian))
15. Operasi Penugasan
Kadang-kadang lebih nyaman untuk menulis ekspresi aljabar relasional dengan menugaskan bagian-bagiannya ke variabel relasi sementara.
- Operasi penugasan dilambangkan dengan dan bekerja seperti penugasan dalam bahasa pemrograman.
- Contoh: Temukan semua instruktur di departemen "Fisika" dan Musik.
Fisika dept_name="Fisika" (instruktur) Musik dept_name="Musik" (instruktur) Fisika Musik
- Dengan operasi penugasan, kueri dapat ditulis sebagai program berurutan yang terdiri dari serangkaian penugasan diikuti dengan ekspresi yang nilainya ditampilkan sebagai hasil kueri.
16. Operasi Ganti Nama
- Hasil ekspresi relasional-aljabar tidak memiliki nama yang dapat kita gunakan untuk merujuknya. Operator ganti nama,
, disediakan untuk tujuan itu
- Ekspresi:
x (E)
mengembalikan hasil ekspresi E dengan nama x
- Bentuk lain dari operasi rename: x(A1,A2, .. An) (E)
17. Kueri yang Setara
- Ada lebih dari satu cara untuk menulis query dalam aljabar relasional.
- Contoh: Temukan informasi tentang mata kuliah yang diajarkan oleh instruktur di
departemen Fisika dengan gaji lebih besar dari 90.000
- Pertanyaan 1
dept_name="Fisika" gaji > 90.000 (instruktur)
- Pertanyaan 2
dept_name="Fisika" ( gaji > 90.000 (instruktur))
- Dua kueri tidak identik; mereka, bagaimanapun, setara --
mereka memberikan hasil yang sama pada basis data apa pun.
Adapun vidio yang saya rangkum adalah sebagai berikut :Â
Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H