Sistem Basis Data Model Data Relasional Mahmud Yunus,S.Kom., M.Pd. Cara Pandang (Abstraksi) Terhadap Data Salah satu tujuan penerapan Sistem Basis Data adalah menyediakan pengguna suatu pandangan abstrak dari data, secara nyata dan sederhana yakni sistem menyembunyikan rincian bagaimana data disimpan dan dipelihara (pengguna tidak dipusingkan dengan rumitnya sistem dalam mengelola data) Pengguna Sistem Basis Data secara umum adalah awam di bidang komputer, oleh karena itu pengembang seharusnya menyembunyikan kompleksitas sistem dari pengguna dengan meyediakan beberapa peringkat abstaksi data three schema Architecture Three Schema Architecture USER EXTERNAL LEVEL CONCEPTUAL LEVEL INTERNAL LEVEL External View External View Pandangan Konseptual/Logika Pemetaan Secara Internal/ Phisik DATABASE External Level / Tingkat Pengguna/Pandangan Pada peringkat ini meyederhanakan interaksi pengguna dengan sistem berupa antarmuka pengguna grafis (GUI-Graphical User Interface) pada perangkat lunak aplikasi sistem basis data. Conceptual Level / Tingkat Konsep Abstraksi yang mendiskripsikan secara menyeluruh tampilan komunitas dari basis data meliputi entity, atribut dan bagaimana hubungan relasi antar data/table yang terjadi. Internal Level / Tingkat Fisik Abstraksi yang mendiskripsikan struktur penyimpanan basis data secara fisik pada system komputer dan organisasi file yang digunakan dalam menyimpan dan mengakses basis data . Tingkat Pandangan Banyak pemakai yang tidak berurusan dengan semua informasi yang disimpan dalam basis data Kebanyakan pemakai hanya memerlukan sebagian informasi yang ada dalam basis data Tingkat Pandangan (view) memdefinisikan suatu bagian untuk suatu kelompok tertentu Sistem dapat menyediakan pandangan berbeda pada basis data yang sama Tingkat Konseptual Tingkat Konseptual mendeskripsikan data apa yang sesungguhya disimpan dan keterhungan antar data (data relationships) yang ada dalam basis data Seluruh basis data dinyatakan dengan sejumlah struktur yang sederhana (mudah dipahami) Tingkat konseptual menyatakan Entitas, atribut dan terhubungannya Konstrain (batasan) terhadap data Informasi keamanan dan integritas data Tingkat Fisik Tingkat fisik mendeskripsikan cara penyimpanan fisik data secara rinci (komplek) Tingkat ini mencakup implementasi fisik basis data untuk memperoleh kinerja dan utilisasi ruang penyimpanan yang optimal Tingkat fisik ini berurusan dengan Alokasi ruang penyimpanan Deskripsi rekord untuk kebutuhan penyimpanan (ukuran simpanan untuk tiap item data) Teknik-teknik kompresi dan enkripsi data Ketidakbergantungan Data Sasaran utama arsitektur 3 tingkat adalah Ketidakbergantungan Data pada setiap levelnya Ketidatbergantungan Data merupakan kemampuan memodifikasi skema di satu tingkat, dengan tidak mempengaruhi definisi skema di tingkat lainnya. Ketidakbergantungan Data dapat dipandang sebagai; Ketidakbergantungan secara logik (logical data independence) perubahan skema konsep tidak mempengaruhi program aplikasi. Modifikasi tingkat konsep diperlukan saat pengubahan struktur logik. Ketidakbergantungan secara fisik (logical data independence) perubahan skema fisik tidak mempengaruhi skema konseptual. Modifikasi tingkat fisik diperlukan untuk meningkatkan kinerja sistem basis data dan aplikasi pada umumnya Perubahan pada skema konsep (penambahan/pengurangan entitas, atribut atau relasinya) harus dimungkinkan tanpa mengubah skema eksternal yang telah ada. Perubahan pada skema internal/fisik (perubahan struktur/organisasi file, index/hashing, perangkat penyimpanan) harus dimungkinkan tanpa perlu mengubah skema konseptual Model Data Model Data merupakan kumpulan konsep yang terpadu untuk mendeskripsikan data, keterhubungan antar data (relationship), semantik dan batasan konsistensi data (constrain), yang berguna untuk menyembunyikan kompleksitas/rincian penyimpanan data pada level rendah/fisik Model Data dapat terdiri dari 3 komponen; Bagian struktur yang berisikan sekumpulan aturan yang berkaitan dengan basis data yang dibangun Sekumpulan aturan integritas yang menjamin keakuratan data Bagian manipulasi yang mendefinisikan tipe-tipe operasi yang diijinkan seperti pembaruan dan pengambilan data serta pengubahan struktur basis data Macam- Macam Model Data Model data yang umum digunakan adalah Model Entity Relationship (ER Model) Model Relasional Model Data Berorientasi Objek Model lain seperti Model Data Jaringan dan Model Data Hierarki (keduanya sudah kadaluarsa) Model-model data tersebut secara umum dikategorikan menjadi Model data berbasis Rekord (ER, Relasional, Jaringan dan Hierarki) Model data berbasis Objek (UML) Model Data Jaringan Mirip dengan hirarkical model, dimana data dan hubungan antar data direpresentasikan dengan record dan links. Perbedaannya terletak pada susunan record dan linknya yaitu network model menyusun record-record dalam bentuk graph. Beberapa ketentuan untuk model data jaringan : Terdapat lebih dari satu edge antara pasangan node Tidak ada konsep root node Suatu node dapat mempunyai lebih dari parent node Contoh model data jaringan : model data jaringan R1 R3 R2 R4 R5 Menu I Back Model Data Hirarki Dimana data serta hubungan antar data direpresentasikan dengan record dan link (pointer), dimana record-record tersebut disusun dalam bentuk tree (pohon), dan masing-masing node pada tree tersebut merupakan record/grup data elemen. Ketentuan-ketentuan dalam model data hirarki adalah : Terdiri dari kumpulan record (R1,R2,R3,...Rn) yang masingmasing mempunyai field pengenal. Terdapat suatu kumpulan kaitan yang berhubungkan semua jenis record sehingga membuat diagram struktur data. Kaitan tersebut membentuk suatu pohon yang semua ujungnya mengarah ke daun. Tidak mungkin ada elemen yang mempunyai parent lebih dari satu. Setiap kaitannya membentuk hubungan tunggal jamak, artinya jika Ri parent dari Rj, maka setiap record Rj tepat hanya mempunyai satu record Ri yang berkaitan. Contoh Model Hirarki : A C B E D F G H I DEPARTEMEN DNAME DNUMBER MGRNAME MGRSTARDATE EMPLOYE NAME SSN BDATE PROJECT ADRESS DEPENDENT DEPNAME SEX PNUMM PNAME PLOCATION SUVERVISE BRITHDATE NAME WORKER SSN NAME SSN HOURS Model Entity-Relationship Entity adalah obyek pada dunia nyata yang dapat dibedakan satu dengan lainnya, yang bermanfaat bagi aplikasi yang sedang dikembangkan Relationship adalah hubungan antara beberapa entitas Model Entity-Relationship adalah suatu representasi logika dari data pada suatu organisasi atau area bisnis tertentu dengan menggunakan Entity dan Relationship. Nim Nama Mahasiswa Atribute Entity/Entitas Nilai No_Mk Matakuliah Mengambil Relasi Nama_MK Model Data Relasional Model Data Relasional adalah model basis data yang menggunakan sejumlah tabel untuk mengambarkan data serta hubungan antara data-data tersebut Setiap tabel memiliki sejumlah kolom dimana setiap kolom memiliki nama yang unik. Setiap kolom dalam tabel-tabel mencerminkan atribut-atribut entitas yang bersangkutan seperti pada model Entity Relationship Model Data Relasional merupakan abstraksi data pada tingkat yang lebih rendah (detil) dari ERD(Entity Relationship Diagram). Oleh karena itu perancang basis data umumnya menggunakan ERD terlebih dahulu kemudian menterjemahkan ke dalam model relasional Contoh Model Relasional Tabel Mahasiswa Tabel Matakuliah Nim Nama No_Mk Nama_MK SKS 0001.52.2007 Paijoe 111 Basis Data 3 0002.51.2007 Bedjoe 222 Delphi 2 Tabel Nilai NIM No_MK Nilai 0001.52.2007 111 A 0001.52.2007 222 B 0002.51.2007 111 A Sasaran Model Relasional Model basis data disebut relasional karena basis data dibangun berdasarkan konsep relasi di matematika. Relasi di matematika menyatakan bahwa elemen-elemen dari himpunan yang berbeda dapat saling berhubungan Sasaran/tujuan penerapan model rasional adalah Memungkinkan derajat ketidakbergantungan data yang tinggi. Program aplikasi tidak dipengaruhi oleh modifikasi representasi internal (perubahan organisasi file & urutan rekord) Memberikan landasan semantik, konsistensi dan ketiadaan redudansi data dengan proses Normalisasi Relasi (proses penghindaran terhadap kelompok data berulang/RG dan redudansi) Memungkinkan perluasan bahasa manipulasi data menjadi berorientasi himpunan (Set Oriented Data Manipulation Language) Keunggulan Model Relasional Merupakan alat komunikasi yang bagus (mudah dipahami) antara pemakai dan perancang basis data Memenuhi kriteria kebutuhan dasar dalam perancangan basis data (adanya mekanisme konsistensi data dan penghilangan redudansi data) Adanya kemandirian antara Data degan Program Aplikasi Struktur data yang dipresentasikan dengan model relasi dapat dikonversi ke RDBMS dan diimplementasikan ke komputer secara langsung Model data relasional yang telah dikonversi & diimplementasikan dengan RDBMS dapat digunakan secara bersama (data sharing) Istilah-Istilah Pada Model Relasional Relasi Atribut Nama kolom pada relasi Seluruh Atribut dalam Relasi saling berhubungan untuk merepresentasikan sebuah Tupel yang lengkap Derajat (Degree) Relasi adalah jumlah Atribut dalam sebuah Relasi Himpunan nilai yang diijinkan dalam suatu Atribut Setiap Atribut didefinisikan pada suatu Domain Domain mendefinisikan nilai-nilai yang mungkin dimiliki oleh Atribut Baris yang berisi kumpulan Atribut dalam sebuah Relasi Tupel juga dikenal sebagai Rekord Jumlah Tupel yang dikandung sebuah Relasi pada suatu saat Tabel yang terdiri dari baris dan kolom Himpunan dari Tupel, yang secara matematis urutan Tupel tidak PENTING Domain Tupel Kardinalitas Relasi Operasi Dasar Basis Data Pembuatan Basis Data (Create Database) Penghapusan Basis Data (Drop Database) Pembuatan File/Table baru ke suatu basis data (Create Table) Penghapusan File/Table dari suatu basis data (Drop Table) Penambahan data baru ke suatu file/table di sebuah basis data (insert) Pengambilan data dari sebuah file/table (Retrieve/Search) Pengubahan data dari sebuah file/table (Update) Penghapusan data dari sebuah file/table (Delete) Bahasa Basis Data Terdiri dari sejumlah perintah (statement) yang diformulasikan dan dapat diberikan oleh pengguna dan dikenali/diproses oleh DBMS untuk melakukan suatu aksi/pekerjaan tertentu. Komponen Bahasa Basis Data Data Definition Language (DDL) Data Manipulation Language (DML) Data Definition Language Digunakan untuk mespesifikasikan struktur/skema basis data yang menggambarkan desain basis data secara keseluruhan. Hasil kompilasi perintah DDL adalah kamus data File yang berisi metadata (data yang mendeskripsikan data sesungguhnya) Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language Data Manipulation Language (DML) Digunakan untuk memanipulasi basis data Bentuk manipulasi Pencarian kembali data lama Penyisipan data baru Penghapusan data Pengubahan data Jenis DML Prosedural Non Prosedural Manajer Basis Data Modul program yang menyediakan antarmuka (interface) antar penyimpanan data low level dalam basis data dengan program aplikasi dan query yang diterima oleh sistem. Tugasnya: Berinteraksi dengan manajer file Pelaksanaan integrity Pelaksanaan Keamanan Backup dan recovery Kontrol konkurensi Administrator Basis Data Orang yang mempunyai wewenang untuk mengendalikan sistem basis data. Tugasnya: Mendefinisikan Skema Mendefinisikan Struktur penyimpanan dan metode akses Memodifikasi skema dan organisasi fisik Menjamin otorisasi untuk mengakses data Menspesifikasikan integrity constraint (Pembatas) Struktur Sistem Manajemen Basis Data File Manager Mengatur alokasi penyimpanan Database Manager Menetapkan antarmuka Query Processor Menerjemahkan perintah query menjadi instruksi yang dimengerti oleh database manager DML Precompiler Mengubah perintah DML menjadi bentuk perintah normal DDL Compiler Mengubah perintah DDL menjadi tabel yang berisi metadata