DBMS vs Database Company LOGO DBMS Data Base
DBMS vs Database Company LOGO
DBMS (Data Base Management System) § DBMS merupakan suatu sistem software yang secara khusus dibuat untuk memudahkan pemakai dalam mengelola basis data. § Kita tidak pernah install My. SQL database, SQL Server database, Access Database, dan sebagainya. § Yang kita install adalah DBMS, bukan Database. § Yang kita lakukan adalah install My. SQL DBMS, SQL Server DBMS, Access DBMS, dan d. Base DBMS, Foxfro DBMS dan sebagainya.
Database (Basis Data) § Database adalah koleksi data atau sekelompok fakta dalam bentuk keterangan yang diorganisasikan dan berhubungan dengan kegiatan pengolahan data, penyediaan informasi dan kemudahan penggunaan referensi. Contoh database adalah buku telepon, kamus, daftar kelas, dll. § Jadi, Database adalah "pihak yang pasif, yang dikelola", § sedangkan DBMS adalah "pihak yang aktif, yang mengelola". § Database dibuat (created) oleh pemakai, tidak pernah diinstall.
Database (Basis Data) (cont. ) § Kita paham bahwa create database, drop database tidak mengubah DBMS § Karena database adalah pihak yang pasif § Kita paham bahwa uninstall DBMS akan membuat database tidak dapat dipakai § karena DBMS adalah pihak yang aktif § Jarang sekali DBMS yang tiba-tiba menjadi bermasalah, lebih sering database. Dengan berbekal hal-hal yang dipaparkan di sini, kita tahu bahwa troubleshooting harus diutamakan pada database folders, bukan DBMS folders.
Database (Basis Data) (cont. ) § Alasan perlunya database Basis data merupakan salah satu komponen penting dalam system informasi, karena merupakan dasar dalam menyediakan informasi. Basis data menentukan kualitas informasi : akurat, tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. Basis data mengurangi duplikasi data (data redudancy). Basis data dapat mengurangi pemborosan tempat simpanan luar.
SQL (Structure Query Language) Company LOGO
SQL (Structure Query Language) § Pembahasan kali ini akan mengangkat tema SQL (Structured Query Language) merupakan sebuah bahasa untuk berkomunikasi dengan sebuah database Dengan menggunakan SQL kita dapat mengambil data ataupun mengubah data dari suatu database SQL statement umumnya dikelompokkan menjadi 3 bagian : DDL, DML, DCL § Jenis SQL Interactive ; Embedded ; langsung dapat dioperasikan. disisipkan ke dalam sebuah program ( Cobol, C, Fortran, Java, dll ).
SQL Tipe Data Jenis Tipe Data Pada SQL : § Char atau Varchar adalah tipe data untuk menampung data yang bertipe karakter atau alfabetic(a-z) contoh: -nama orang, nsms bsrsng dll. § Integer atau sering di singkat INT adalah tipe data yang digunakan untuk menampung data yang bertipe angka atau numeric(0 -9) contoh: -NIS, No ktp, No SIM dll. § Date adalah tipe data yang digunakan untuk menampung data yang bertipe tanggal, bulan, dan tahun contoh: -tanggal lahir dll. § Numeric adalah tipe data yang dapat menampung data berbentuk bilangan real contoh: -6. 00 atau 7. 25. § Small INT adalah tipe data bilangan bulat yang range-nya lebih kecil dari integer.
SQL Tipe Data (cont) § Decimal adalah tipe data yang dapat menampung data pecahan. § Float adalah tipe data yang dpat menampung bilangan real (sama dengan numeric) contoh: 3, 33. § Double adlah tipe data yang bertipe float namun dengan ketelitian yang lebih tinggi contoh: 3, 333333 § Blob adalah tipe data yang dapat menampung data berbentuk gambar atau suara bertipe binner. § Text adalah tipe data yang dapat menampung semua tipe data. § Boolean adalah tipe data yang digunakan untuk menampung data yang bertipe logika dan hanya mengenal true dan false. § Enum adalah tipe data yang digunakan untuk menampung data dengan 1 karakter saja. § Time adalah tipe data yang digunakan untk menampung data satuan waktu
DDL (Data Definition Language) 1. DDL (Data Definition Language) adalah statement yang digunakan untuk mendefinisikan skema atau struktur dari suatu database. Terdiri dari : CREATE - membuat suatu objek dalam database. ALTER - mengubah struktur objek dari suatu database. DROP - menghapus objek dari suatu database. TRUNCATE - menghapus semua record dari sebuah tabel, termasuk semua alokasi ruang untuk record tersebut ikut dihapus. RENAME - mengganti nama suatu objek database.
DML (Data Manipulation Language) 2. DML (Data Manipulation Language) adalah statement yang digunakan untuk mengelola data di dalam skema atau struktur objek. § SELECT - mendapatkan data dari suatu database. § INSERT - memasukkan data ke dalam sebuah tabel. § UPDATE - mengubah data yang sudah ada dalam sebuah tabel. § DELETE - menghapus record dari sebuah tabel, alokasi ruang tidak dihapus.
3. DCL (Data Control Language) § 3. DCL (Data Control Language). § GRANT - memberikan hak akses pengguna ke database. § REVOKE - mencabut atau menarik kembali hak akses yang telah diberikan dengan statement GRANT
SQL pada SQLite § SQL pada SQLite telah memahami sebagian besar syntax SQL. kali ini pembahasan materi dengan beberapa syntax SQL, yaitu : CREATE, INSERT, UPDATE, DELETE, dan SELECT.
SQL pada SQLite (cont. ) § CREATE Ketikkan perintah berikut ke dalam SQLite console anda : CREATE TABLE MHS(npm char(15) primary key, nama char(25), jenkel char(10), alamat char(10), notlp char(15)); § Penjelasan : § Statement CREATE TABLE - statement untuk membuat tabel. Di sini kita akan membuat TABLE dengan nama MHS di mana field-nya terdiri dari : npm, nama, jenkel, alamat, notlp. § Primary Key - suatu nilai dalam database yang digunakan untuk mengidentifikasi suatu baris dalam tabel. § Data Type (seperti char dll)
SQL pada SQLite (cont. ) § INSERT Ketikkan perintah berikut ke dalam SQLite console anda : INSERT INTO MHS(npm, nama, jenkel, alamat, notlp) VALUES('200843500123', 'Suradi Sanjaya', 'laki-laki', 'Jakarta', '0215555'); INSERT INTO MHS(npm, nama, jenkel, alamat, notlp) VALUES('200843500124', 'Rani Desti', 'perempuan', 'Jakarta', '0215656'); INSERT INTO MHS(npm, nama, jenkel, alamat, notlp) VALUES('200843500125', 'Ronny Siantar', 'laki-laki', 'Jakarta', '02145564565'); § § Penjelasan : Statement INSERT di atas merupakan syntax SQL untuk memasukkan data ke dalam suatu TABLE. Dalam hal ini kita memasukkan data tentang mahasiswa ke dalam TABLE MHS.
SQL pada SQLite (cont. ) § SELECT Ketikkan statement berikut ke dalam SQLite console anda : SELECT * FROM MHS; Bila perintah di atas kita eksekusi, akan menghasilkan output seperti ini : 200843500123 Suradi Sanjaya laki-laki Jakarta 021 -5555 200843500124 Rani Desti perempuan Jakarta 021 -5656 200843500125 Ronny Siantar laki-laki Jakarta 021 -45564565
SQL pada SQLite (cont. ) § Penjelasan : Statement SELECT di atas berguna untuk mengambil atau memanggil satu atau lebih record dalam suatu TABLE. Operator ( * ) bertugas sebagai perwakilan dari semua field. Artinya jika kita menggunakan ( * ) maka yang kita panggil adalah record semua field.
SQL pada SQLite (cont. ) § UPDATE Ketikkan perintah berikut ke dalam SQLite console anda : UPDATE MHS SET nama="Ranny Destia", alamat="Bandung" WHERE npm="200843500124"; § Penjelasan : Statement UPDATE di atas digunakan untuk mengubah record yang sudah ada dari suatu TABLE. Dalam hal ini kita akan merubah nama & alamat dari mahasiswa yang memiliki npm 200843500124. Perlu diingat bahwa penggunaan klausa WHERE dalam statement UPDATE sangat penting. Karena apabila kita tidak mengikut sertakan klausa WHERE tersebut dijamin semua record (nama & alamat) pada TABLE MHS akan ikut berubah.
12 HUKUM CODD § 12 Hukum Codd adalah sekumpulan 13 aturan yang diajukan oleh Edgar F. "Ted" Codd, pionir di bidang model relasional untuk basisdata, yang didisain untuk menetapkan kriteria-kriteria yang dibutuhkan dari sebuah sistem manajemen basisdata agar dapat dikatakan sebagai relasional § § § Hukum-hukum Codd Hukum 0: Suatu sistem harus memenuhi kualifikasi sebagai relasional, sebagai basisdata, dan sebagai sebuah sistem manajemen: Agar sebuah sistem dapat dikatakan sebagai sistem manajemen basisdata relasional (RDBMS), sistem tersebut harus menggunakan fasilitas relasional-nya secara penuh untuk memanajemen basisdata. Hukum 1: Hukum informasi: Seluruh informasi yang terdapat dalam basisdata harus bisa direpresentasikan hanya dalam satu cara, yaitu dalam bentuk nilai-nilai yang terisi dalam bentuk tabular baris dan kolom.
§ § § Hukum 2: Hukum Jaminan akses: Seluruh data harus bisa diakses tanpa ada kerancuan (ambiguity). Hukum ini merupakan penegasan dari kebutuhan mendasar atas sebuah kunci primer. Hukum tersebut menjelaskan bahwa setiap nilai skalar dalam basisdata haruslah memiliki alamat secara logikal dengan cara menspesifikasikan nama dari tabel, nama dari kolom, dan nilai kunci primer dari baris data dalam tabel tersebut. Hukum 3: Perlakuan sistematik terjadi nilai NULL: Sebuah sistem manajemen basisdata harus mengijinkan setiap field terisi dengan nilai NULL (kosong). Secara lebih spesifik, ia harus mendukung representasi dari "Hilangnya informasi dan Ketidakbergunaan informasi" secara sistematis, membedakan secara jelas dari nilai-nilai yang lain (contoh: "perbedaan antara nol dengan nilai-nilai numerik lain, " dalam kasus nilai-nilai numerik), dan tipe data yang bersifat independen. Termasuk pula representasi tersebut harus dapat dimanipulasi oleh DBMS melalui langkah-langkah yang sistematis. Hukum 4: Katalog online yang aktif haruslah berbasis model relasional: Sistem harus mendukung sebuah katalog relasional yang bersifat online, inline yang bisa diakses untuk pengguna yang sah dalam arti melalui bahasa kueri reguler. Lebih jelas lagi, pengguna harus dapat mengakses struktur data tersebut (katalog) dengan cara yang sama menggunakan bahasa kueri yang digunakan pula untuk mengakses data.
§ § Hukum 5: Hukum sub-bahasa data yang komprehensif: Sistem harus mendukung setidaknya satu bahasa relasional yang (a) Memiliki sintaksis linear (b) Dapat digunakan baik secara interaktif maupun melalui program aplikasi (c) Mendukung operasi pendefinisian data (termasuk pendefinisan view), operasi manipulasi data, aspek kemanan dan pembatasan integritas, operasi-operasi manajemen transaksi (begin, commit, dan rollback). § § Hukum 6: Hukum pembaruan/update view: Semua view yang secara teoritis dapat diupdate dalam implementasinya juga harus dapat diupdate oleh sistem. § § Hukum 7: Level tingkat tinggi dalam operasi insert, update, dan delete: Sistem harus mendukung serangkaian operasi-operasi insert, update, and delete dalam satu masa waktu yang sama. § § Hukum 8: Data secara fisik bersifat independen: Perubahan pada level fisik (bagaimana suatu data disimpan, menggunakan larik ataupun senarai berantai dsb. ) harus tidak mengakibatkan perubahan pada struktur di sisi aplikasi pada level yang lebih tinggi.
§ § § § Hukum 9: Data secara logikal bersifat independen: Perubahan pada level logikal (Tabel, kolom, baris) harus tidak mengakibatkan perubahan pada level struktur di sisi aplikasi pada level yang lebih tinggi. Hukum ini secara relatif lebih sulit dicapai daripada hukum 8. Hukum 10: Integritas data bersifat independen: Integritas data harus dispesifikasikan secara terpisah dari program aplikasi dan disimpan dalam katalog/struktur dan harus memungkinkan untuk melakukan perubahan terhadap struktur tersebut ketika dibutuhkan tanpa memengaruhi aplikasi yang telah ada. Hukum 11: Distribusi yang bersifat independen: Distribusi atas sebagian dari basisdata ke berbagai lokasi harus dapat diatur sedemikian rupa sehingga tidak terlihat oleh pengguna dari basisdata tersebut. Begitu pula aplikasi-aplikasi yang ada harus tetap dapat beroperasi secara normal seperti biasanya ketika: (a) saat versi dari DBMS yang terdistribusi pertamakali diperkenalkan; dan/ataupun (a) ketika data-data yang terdistribusi tersebut diredistribusikan ke seluruh sistem. Hukum 12: Hukum nonsubversion: Jika sebuah sistem menyediakan antarmuka tingkat rendah, maka antarmuka tersebut tidak dapat digunakan untuk menggagalkan sistem, sebagai contoh, membypass aturan-aturan yang terkait dengan keamanan data, ataupun integritasnya.
- Slides: 22