Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Relational dan Queries. 12 Pandangan Logika Data Tabel 2.1. Rangkuman Sifat-sifat Tabel Relasional 1Sebuah tabel seolah-olah merupakan struktur dua dimensi.

Presentasi serupa


Presentasi berjudul: "Relational dan Queries. 12 Pandangan Logika Data Tabel 2.1. Rangkuman Sifat-sifat Tabel Relasional 1Sebuah tabel seolah-olah merupakan struktur dua dimensi."— Transcript presentasi:

1 Relational dan Queries

2 12 Pandangan Logika Data Tabel 2.1. Rangkuman Sifat-sifat Tabel Relasional 1Sebuah tabel seolah-olah merupakan struktur dua dimensi yang terdiri dari baris dan kolom. 2Setiap baris (tupel) mewakili sebuah entitas. 3Setiap kolom mewakili atribut dan memiliki nama yang jelas. 4Setiap perpotongan baris dan kolom mewakili nilai sebuah data. 5Setiap tabel harus memiliki primary key yang dikenali secara unik untuk setiap baris. 6Semua nilai pada kolom harus sesuai format data. 7Setiap kolom memiliki jangkauan nilai tertentu yang dikenal sebagai domain atribut. 8Setiap baris membawa informasi yang menggambarkan satu kejadian entitas. 9Urut-urutan baris dan kolom bukan hal yang penting untuk DBMS.

3 12 Nilai Atribut Tabel SISWA Gambar 2.1. Nilai atribut tabels siswa

4 12  Redudansi yang terkontrol (penggunaan atribut secara bersama-sama) membuat basis data relasional berjalan dengan baik.  Primary key suatu tabel akan muncul lagi pada tabel lainnya sebagai penghubung (foreign key)  Jika foreign key mengandung suatu nilai atau nilai kosong yang cocok, maka tabel yang menggunakan foreign key tersebut dikatakan menunjukkan integritas referensial. Kunci (Key)

5 12 Contoh Sederhana Basis Data Relasional Nama tabel:SISWA Primary key :NOMHS Foreign key :KODE_WALI Hubungan Nama tabel :WALI Primary key:KODE_WALI Tidak ada foreign key

6 12 Skema Basis Data Relasional :Perwalian Gambar 2.3. Skema basis data relsional : Perwalian

7 12  Sebuah kunci (key) dapat membantu mendefinisikan relasi entitas.  Aturan kunci didasarkan pada konsep yang dikenal dengan istilah determinasi, yang digunakan untuk mendefinisikan ketergantungan fungsional. Kunci (Key)

8 12  Ketergantungan Fungsional.  Atribut B bergantung secara fungsional pada A, Jika A menentukan B.  Sebuah atribut bagian dari suatu kunci dikenal sebagai atribut kunci.  Kunci yang memiliki lebih dari satu atribut disebut dengan kunci komposit.  Jika atribut (B) bergantung secara fungsional pada kunci komposit (A) tetapi tidak terdapat pada salah satu kunci komposit tersebut, atribut (B) bergantung penuh secara fungsional pada (A). Kunci (Key)

9 12 Tabel 2.2. Kunci Basis Data Relasional Superkey Sebuah atribut (atau kombinasi atribut) secara unik mengenali setiap entitas dalam sebuah tabel. Candidate key Sebuah superkey minimal, yaitu superkey yang tidak merupakan bagian atribut dari suatu superkey Primary key Candidate key yang terpilih untuk mengenali secara unik seluruh nilai atribut pada sebuah baris. Tidak boleh kosong Secondary key Sebuah atribut (atau kombinasi atribut) secara paksa digunakan untuk tujuan pengambilan data Foreign key Sebuah atribut (atau kombinasi atribut) dalam sebuah tabel dimana nilainya cocok dengan primary key pada tabel lainnya Kunci (Key)

10 12 Integritas Entitas SyaratSeluruh entias bersifat unik dan tidak ada primary key yang bernilai kosong. TujuanMenjamin setiap entitas memiliki identitas secara unik dan meyakinkan bahwa nilai setiap foreign key pasti mereferensi nilai primary key secara tepat. Integritas Referensial SyaratForeign key dapat bernilai kosong sejauh bukan merupakan bagian dari primary key tabel atau memiliki nilai yang sesuai dengan nilai primary key dari suatu tabel yang terhubung. TujuanMembuat nilai suatu atribut yang berhubungan tidak memiliki nilai yang salah. Tabel 2.3. Aturan Integritas

11 12 Gambar 2.4. Ilustrasi aturan integritas Ilustrasi Aturan Integritas

12 12  Derajat kesempurnaan relasi dapat diukur dengan seberapa luas dukungan aljabar relasionalnya.  Aljabar relasional mendefinisikan secara teoritis cara memanipulasi isi tabel dengan menggunakan delapan fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT, UNION, DIFFERENCE, PRODUCT dan DIVIDE. Operator Basis Data Relasional

13 12  UNION menggabungkan semua baris dari dua buah tabel dan kedua tabel tersebut harus sesuai. Operator Basis Data Relasional NIP Union NIPHasil Gambar 2.5. Union

14 12 Operator Basis Data Relasional  INTERSECT menghasilkan sebuah daftar yang berisi hanya record-record yang ter-dapat pada kedua tabel dan kedua tabel tersebut harus sesuai. Nama INTERSECT Nama HASIL HASIL Nama Nico Sandy Rudi Heni Surya Heni Santi Gambar 2.6. Intersect

15 12 Operator Basis Data Relasional  DIFFERENCE menghasilkan semua record yang terdapat pada satu tabel tetapi tidak terdapat pada tabel lainnya dan kedua tabel tersebut harus sesuai. Nama DIFFERENCE NamaHASIL Nama Nico Sandy Nico Sandy Heni Surya Heni Gambar 2.7. Difference

16 12  PRODUCT menghasilkan sebuah daftar semua pasangan record dua buah tabel. Gambar 2.8. Product Operator Basis Data Relasional Wali PRODUCT MhsSKSIPKHASILWaliMhsSKSIPK Winata Susi WinataSusi Adelia Toni WinataToni Wandi WinataWandi AdeliaSusi AdeliaToni AdeliaWandi212.75

17 12  SELECT menghasilkan nilai untuk semua atribut yang ditemukan dalam tabel. Gambar 2.9. Select MhsSKSIPK MhsSKSIPK Susi Susi Toni Toni Wandi Wandi MhsSKSIPK Toni Wandi SELECT SKS  20 Hasilnya Operator Basis Data Relasional SELECT ALL Hasilnya

18 12  PROJECT menghasilkan daftar semua nilai untuk atribut yang dipilih. Gambar Project Operator Basis Data Relasional MhsSKSIPK Mhs Susi Susi Toni Toni Wandi Wandi MhsIPK Susi2.03 Toni3.42 Wandi2.75 PROJECT MHS Hasilnya PROJECT MHS and IPK Hasilnya

19 12  JOIN memungkinkan kita untuk mengkombinasikan infor- masi dari dua tabel atau lebih. JOIN memiliki kemampuan nyata untuk mendukung basis data relasional, memungkinkan penggunaan tabel independen yang dihubungkan melalui atribut yang sama.  Natural JOIN menghubungkan tabel dengan memilih hanya record dengan nilai yang digunakan bersama-sama pada atribut yang sama. Operator ini akan menghasilkan tiga tahapan proses:  PRODUCT  SELECT  PROJECT Operator Basis Data Relasional

20 12  Contoh dua tabel yang akan digunakan untuk ilustrasi JOIN: Operator Basis Data Relasional Gambar Tabel untuk ilustrasi join Nama Tabel : SISWA Nama Tabel : WALI MhsSKSIPKKode_Wali Wali Wandi Suminto Toni Farid Rudi Ganjar Susi Tatik

21 12 Natural JOIN, Tahap 1: PRODUCT Operator Basis Data Relasional Gambar Natural join, tahap 1: Product MhsSKSIPKKode_Wali Wali Wandi Suminto Toni Suminto Rudi Suminto Susi Suminto Tatik Suminto Wandi Farid Toni Farid Rudi Farid Susi Farid Tatik Farid Wandi Ganjar Toni Ganjar Rudi Ganjar Susi Ganjar Tatik Ganjar

22 12 Natural JOIN, Tahap 2: SELECT Operator Basis Data Relasional MhsSKSIPKKode_Wali Wali Wandi Suminto Toni Suminto Rudi Farid Susi Farid Gambar Natural join, tahap 2: Select

23 12 Natural JOIN, Tahap 3: PROJECT Operator Basis Data Relasional Gambar Natural join, tahap 3: Project MhsSKSIPKKode_WaliWali Wandi Suminto Toni Suminto Rudi Farid Susi Farid

24 12  EquiJOIN menghubungkan tabel didasarkan pada kondisi yang sama dengan memban-dingkan kolom tertentu setiap tabel. Hasil equiJOIN tidak menghilangkan kolom dupli-kat dan kondisi atau kriteria penggabungan tabel harus terdefinisi secara eksplisit.  Theta JOIN adalah equiJOIN yang membanding-kan kolom tertentu setiap tabel menggunakan operator pembanding selain operator sama dgn.  Pada Outer JOIN pasangan data yang tidak cocok akan tetap dipertahankan dan nilai untuk tabel lainnya yang tidak cocok akan dibiarkan kosong. Operator Basis Data Relasional

25 12 Outer JOIN Operator Basis Data Relasional MhsSKSIPKKode_WaliWali Wandi Suminto Toni Suminto Rudi Farid Susi Farid 3Ganjar Tatik Gambar Outer Join

26 12  DIVIDE memerlukan dua buah tabel yang masing-masing terdiri dari satu dan dua kolom. Perhatikan ilustrasi berikut ini: Operator Basis Data Relasional Tabel 1 Tabel 2 Tabel 3 KodeLok DEVIDEKodeHasil Lok A5 A 5 B5 B C6 D7 D8 E8 A9 A4 B3 Gambar Devide

27 12  Kamus data berisi metadata untuk menjelas kan secara detail catatan semua tabel di dalam suatu basis data.  Katalog sistem adalah kamus data sistem yang sangat detail yang menggambarkan semua objek di dalam suatu basis data.  Basis data yang dibentuk sistem dimana tabel-tabelnya menyimpan isi dan sifat-sifat basis data.  Tabel-tabelnya dapat diproses seperti tabel-tabel lainnya.  Secara otomatis menghasilkan dokumentasi basis data Kamus Data Dan Katalog Sistem

28 12 Tabel 2.4. Contoh Kamus Data Nama Tabel Nama Atribut UraianTipeFormatRange PK/ FK Tabel Referensi SiswaNomhsNomor mhsChar(9) PK NamaNama mhsVarchar(18)Xxxxxxxxx SKSJumlah SKSByte IPKIP.KumulatifNumber(4,2 ) Kd_WaliKode waliNumber(2)991-99FKWali Kd_WaliKode waliNumber(2)991-99PK NIPNo. PegawaiChar(9) NamaNama waliVarchar(18)Xxxxxxxxx Jbt_FngFungsionalVarchar(15)Xxxxxxxxx

29 12  E-R Diagram (ERD)  Bentuk persegi panjang mewakili entitas.  Nama entitas berupa kata benda dan huruf besar.  Bentuk berlian digunakan untuk mewakili relasi antar entitas.  Angka 1 digunakan untuk mewakili “1” (satu) data pada relasi.  Huruf M digunakan untuk mewakili “many” (banyak) data dari relasi. Relasi Pada Basis Data Relasional

30 12 Gambar Relasi antara wali dan siswa WALI Membimbing SISWA 1 M Relasi Antara Wali Dan Siswa

31 12 SISWA Gambar Bentuk lain relasi antara wali dan siswa WALI Membimbing 1 M Cara Lain Untuk Menyatakan Relasi Antara Wali Dan Siswa

32 12 Gambar Relasi 1: M untuk basis data perwalian Hubungan Tabel : SISWA PK : NOMHS FK : KODE_WALI Tabel : WALI PK : KODE_WALI FK : - Relasi 1: M : Basis Data Perwalian

33 12 KURSUS Memiliki KELAS Gambar Relasi 1:M antara kursus dan kelas 1 M Relasi 1:M Antara Kursus dan Kelas

34 12 SISWA Mengambil MKA Gambar Relasi M:N antara siswa dan MKA M N Relasi M : N Antara Siswa dan MKA

35 12 SISWA Mengambil MKA M N SISWA PESERTA MKA 1MM1 Gambar Relasi M:N antara siswa dan MKA Tabel 2.5. Contoh Data Pengambilan MKA

36 12 Tabel SISWA Tabel MKA Gambar Relasi “many to many” antara siswa dan MKA Basis Data KRP Relasi “Many to Many” Antara Siswa dan MKA

37 12 Tabel KULIAH Primary key KODE_MKA+NOMHS Foreign key KODE_MKA,NOMHS Tabel SISWA Primary key NOMHS Tabel MKA Primary key KODE_MKA Gambar Konversi relasi M:N menjadi relasi 1:M Konversi Relasi M : N Menjadi Dua Relasi 1 : M

38 12 Perintah SQL Tabel 3.2. Cakupan Perintah SQL Perintah PerintahPenjelasan INSERT INSERT Berfungsi untuk memasukkan data awal pada tabel atau dapat juga untuk menambah data. SELECT SELECT Berfungsi untuk menampilkan isi satu tabel atau beberapa tabel sekaligus. COMMIT COMMIT Berfungsi untuk menyimpan hasil pekerjaan kedalam media penyimpan (disk). UPDATE UPDATE Berfungsi untuk melakukan perubahan data. DELETE DELETE Berfungsi untuk menghapus satu atau beberapa baris isi tabel. ROLLBACK ROLLBACK Berfungsi untuk mengembalikan isi tabel basis data ke bentuk aslinya, berdasarkan perintah COMMIT yang terakhir kali dilakukan.

39 12  Pemasukan Data INSERT INTO VALUES(harga atribut1, harga atribut2,.... dan seterusnya);  Contoh: INSERT INTO WALI VALUES (‘5’, ‘ ’,’ Ir. Siswanto, MT.’, ’Lektor Kepala’);  Contoh: INSERT INTO MAHASISWA VALUES (‘ ’, ’ Agus Salim’, ’18’,’ 2’,’48’, ‘5’); ’ Agus Salim’, ’18’,’ 2’,’48’, ‘5’); Perintah SQL

40 12 Form Input Data Wali Gambar 3.1. Form input data wali Perintah SQL

41 12  Menyimpan Isi Tabel COMMIT ;  Contoh: COMMIT WALI;  Menampilkan Isi Tabel SELECT FROM SELECT FROM WHERE ;  Contoh: SELECT * FROM WALI; Perintah SQL

42 12  Mengedit Isi Tabel UPDATE UPDATE SET = SET = WHERE ;  Contoh: UPDATE WALI SET KD_WALI=7 WHERE KD_WALI=5;  Mengembalikan Isi Tabel ROLLBACK; Perintah SQL

43 12  Menghapus Record (Baris Tabel) DELETE FROM DELETE FROM WHERE ;  Contoh: DELETE FROM WALI WHERE KD_WALI=2; DELETE FROM WALI WHERE FUNGSIONAL=‘Lektor’; DELETE FROM WALI WHERE NIP=‘ ’; DELETE FROM MAHASISWA WHERE IPK<2.00; Perintah SQL

44 12  Menampilkan Sebagian Isi Tabel SELECT FROM SELECT FROM WHERE ;  Contoh: SELECT NIP, NAMA FROM WALI WHERE JBT_FNG=‘Lektor’; SELECT KD_WALI, NIP FROM WALI WHERE JBT_FNG=‘Asisten Ahli’; QUERIESQUERIES

45 12 Operator Matematik QUERIESQUERIES

46 12 QUERIESQUERIES  Contoh: SELECT KD_WALI, NIP, NAMA FROM WALI WHERE JBT_FNG<>‘Lektor’; SELECT NIP, NAMA, JBT_FNG FROM WALI WHERE KD_WALI>5; SELECT NOMHS, NAMA, SKS FROM MAHASISWA WHERE IPK>2.5; SELECT NOMHS, NAMA, IPK FROM MAHASISWA WHERE SKS<18;

47 12 QUERIESQUERIES Special Operators –BETWEEN - digunakan untuk menentukan range nilai. SELECT * FROM MAHASISWA WHERE IPK BETWEEN 2.00 AND 3.00; –IS NULL - digunakan untuk mengecek apakah suatu atribut bernilai kosong (NULL) SELECT * FROM WALI WHERE JBT_FNG IS NULL; –LIKE - digunakan untuk mengecek apakah suatu atribut mengandung string/ karaker yang mirip SELECT * FROM WALI WHERE NAMA LIKE %SANTO%’; –IN - digunakan untuk mengecek apakah suatu nilai suatu atribut terdapat dalam suatu daftar himpunan nilai SELECT * FROM WALI WHERE JBT_FNG IN (‘ASISTEN AHLI’, ‘LEKTOR’); –EXISTS - digunakan untuk mengecek apakah suatu atribut memiliki nilai. EXISTS is the opposite of IS NULL. SELECT * FROM WALI WHERE JBT_FNG EXIST;

48 12 QUERIESQUERIES  Fungsi-fungsi aggregate yang biasa digunakan: SUM() AVG() COUNT(*) MAX() MIN()


Download ppt "Relational dan Queries. 12 Pandangan Logika Data Tabel 2.1. Rangkuman Sifat-sifat Tabel Relasional 1Sebuah tabel seolah-olah merupakan struktur dua dimensi."

Presentasi serupa


Iklan oleh Google