Penjelasan : Tingkat/level abstraksi data Abstraksi Data merupakan tingkatan/level bagaimana melihat data dalam sebuah sistem database. Tidak ada bayangan memperhatikan kondisi sesungguhnya bagaimana data dapat masuk ke database, bagaimana data disimpan dalam disk dan disektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat diabstraksikan/digambarkan menyerupai kondisi yang dihadapi oleh pemakai sehari-hari Sistem yang sesungguhnya tentang teknis bagaiman data disimpan dan dipelihara, seakan akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti oleh orang. Pemakai/user dapak dikelompokkan menjadi tiga tingkatan abstraksi saat memandang suatu database. Ada 3 level : Level fisik Level konseptual Level pandangan pemakai Abstraksi adalah 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Bagan Abstraksi Data User Level User User View Eksternal View View Konseptual Conceptual View Level Internal Physical View 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Penjelasan : Tingkat/level abstraksi data Physical View / Level phisik Level abstraksi paling rendah, menggambarkan bagaimana data disimpan dalam kondisi sebenarnya. Level ini paling komplek, struktur data level terendah. Conceptual view / Tingkat Konseptual Menggambarkan data apa yang disimpan dalam database dan hubungan relasi yang terjadi antara data. Menggambarkan keseluruhan database, pemakai tidak memperdulikan kerumitan dalam struktur level phisik lagi, penggambaran hanya cukup dengan memakai kotak, garis dan keterangan secukupnya. Digunakan oleh database administrator, utk memutuskan informasi apa yang akan dipelihara dalam satu database. Abstraksi adalah 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Penjelasan : Tingkat/level abstraksi data Level Pandangan Pemakai / View Level level abstraksi tertinggi yang menggambarkan hanya satu bagian dari keseluruhan database. Hanya sebagian saja yang dilihat dan dipakai, hal ini disebabkan beberapa pemakai database tidak memakai semua isi database. Level yang sangat dekat dengan user/pemakai. Setiap user butuh sebagian dari dari database contoh: Bagian personalia rumah sakit hanya memakai data file pegawai dan gaji, tidak membutuhkan file pasien, resep dan pendaftaran Abstraksi adalah 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Contoh Abstraksi Data Conceptual Level Physical Level View Level Pendaftaran (no_pendaftaran: string, tanggal : date, kode_poli: string, no_antrian:string, id_pasien:string, nama_pasien :string, alamat:string, gender:string, umur:number, telepon:number, biaya:number) Poliklinik (id_poli : string, nama_poli : string) Dokter (id_poli : string, id_dokter : string) Pasien (id_pasien: string, ruang : string) Data Resep (tgl : date, no_resep: string, id_dokter : string,id_pasien, dll) Physical Level Relasi-relasi disimpan sebagai file-file. Indeks berdasarkan pada kolom pertama. View Level Infopasien (id_pasien : string, ruang : string) infoResep (id_pasien : string,no_resep: string,id_dokter:string,id_pasien:string) 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Bahasa Database ( Database Language) Database Language adalah cara berinteraksi antara pemakai dengan database diatur dalam bahasa khusus yang ditetapkan oleh pihak pembuat Bahasa database (database language) terdiri atas sejumlah perintah (command) yang dapat dituliskan/diberikan untuk kemudian diproses. Contoh-contoh bahasa database adalah SQL, QBE, QUEL dan sebagainya. 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Bahasa database Database Language DDL Data Definition Language DML Data Manipulation Language database 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Bahasa database DDL ( Data Definitation Language) Struktur database menggambarkan desain database secara keseluruhan, dimana kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel, mengubah tabel, menentukan struktur penyimpanan tabel. Hasil dari kompilasi tabel yang disimpan dalam file khusus yang disebut Kamus Data ( Data Dictionary) Kamus Data merupakan suatu metadata yang mendiskripsikan data yang sesungguhnya. Bahasa query yang digunakan adalah create(membuat database maupun tabel), alter(perubahan data baik penambahan kolom, mengganti nama field, memodifikasi kolom, dll) dan drop ( menghapus database atau tabel) 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Contoh DDL ( Data Definitation Language) Membuat tabel dalam database CREATE TABLE Buku(id INTEGER PRIMARY KEY, kode_buku VARCHAR(20) NULL, judul_buku VARCHAR(225) NOT NULL, tanggal_terbit DATE NULL ); Merubah data tabel Alter TABLE Buku ADD Penulis Varchar(100); Alter TABLE Buku Drop Column Judul_buku; Menghapus sebuah tabel DROP TABLE Buku; Merubah Nama Database ALTER DATABASE namadatabaselama MODIFY NAME = namadatabasebaru; // Untuk Microsoft sql server atau EXEC sp_renamedb ‘namadatabaselama ‘, ‘namadatabasebaru’;// Untuk Microsoft sql server RENAME {DATABASE | SCHEMA} namadatabaselama TO namadatabasebaru; // Untuk MYSQL 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Bahasa database 2. DML (Data Manipulation Language) Terdiri dari perintah-perintah yang disediakan untuk melakukan manipulasi data dan pengambilan data pada suatu database. Manipulasi data berupa : Penyisipan/Penambahan data baru ke suatu database Penghapusan data dari database Pengubahan data dari database DML merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data( untuk kemudian menampilkannya atau memanipulasinya) sebagaimana direpresentasikan oleh model data. 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
Bahasa database Ada 2 jenis prosedur DML yaitu : a. Prosedur yang mensyaratkan agar pemakai menentukan data apa yang diinginkan serta bagaimana cara mendapatkannya Nonprosedural yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya. Contoh : Prosedural DML : dBase, FoxBase Nonprosedural DML : SQL (Structure Query Language), QBE (Query By Example). 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
DCL(Data Control Language) DCL merupakan singkatan dari Data Control Language, konsep ini digunakan untuk merubah hak akses, memberikan roles, dan isu lain yang berhubungan dengan keamanan database. Contoh DCL dalam database Ada dua perintah SQL yang termasuk dalam DCL yaitu GRANT dan REVOKE. GRANT SELECT, UPDATE ON Nama_Database TO user1, user2; REVOKE SELECT, UPDATE ON Nama_database FROM User1, User2; Penjelasan : Perintah GRANT memberikan kewenangan terhadap pengguna untuk melakukan operasi pada suatu database. Perintah REVOKE berfungsi untuk menghilangkan hak perintah kepada user tertentu terhadap objek atau schema database. 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com
TCL (Transaction Processing Language) TCL merupakan singkatan dari Transaction Processing Language, konsep ini digunakan untuk mekanisme dalam pemrosesan sebuah transaksi dalam database. Dua perintah SQL yang paling populer untuk TCL adalah Rollback dan Commit Contoh TCL Dalam database BEGIN TRAN Delete From Buku Where id = 1124; Rollback //Commit Penjelasan : Begin tran digunakan untuk perintah bahwa akan dimulai suatu transaksi/query, pada bagian akhir terdapat perintah rollback dan Commit. Rollback artinya query yang ada diantara begin tran tidak akan di eksekusi dalam database secara langsung, dalam artian data sesungguhnya tidak berubah. Penggunaan TCL ini untuk melihat apakah query yang dijalankan sudah benar atau belum, jika masih salah makan programmer atau DBA dapat memperbaikinya lagi sehingga tidak membahayakan data dalam tabel fisiknya. Jika sudah benar, maka DBA dapat meremark TCL Rollback dan mengaktifkan perintah TCL Commit untuk memberikan perubahan pada tabel fisik. 11/9/2018 tiosetyo@yahoo.com , setyoinator@gmail.com www.cerdas-pintar.blogspot.com