Pengenalan Software RDBMS dan Model Data
Ada puluhan bahkan mungkin ratusan perangkat lunak yang tersedia, masing-masing dengan spesifikasinya sendiri-sendiri.
Pada bagian ini saya akan membahas 5 buah DBMS yang cukup familiar dikalangan pengguna DBMS, yaitu :
- Microsoft Access
- MySQL
- Microsoft SQL Server
- PosgreSQL
- Oracle.
Microsoft Access
Kadang disebut juga Microsoft Office Access adalah DBMS relational keluaran dari microsoft yang termasuk dalam paket Microsoft Office. Microsoft Access mengkombinasikan engine relational Microsoft Jet Database, Graphical User Interface(GUI). Microsoft Access juga dapat digunakan sebagai basis data untuk aplikasi berbasis web sederhana.
MySQL adalah software yang menggunakan standar SQL, yang bersifat multi-thread dan multi-user.
My-SQL berjalan sebagai server yang melayani banyak pengguna untuk mengakses sejumlah basis data.
Microsoft SQL Server adalah DBMS relational keluaran dari Microsoft seperti halnya Microsof Accesss. Bahasa query utama yang digunakan adalah varian dari ANSI SQL yang disebut sebagai T-SQL (Transact-SQL). Bahasa ini membolehkan user untuk membuat stored procedure sehingga meningkatkan efisiensi akses dengan basis data.
PostgreSQL atau sering disebut Postgres termasuk dalam kategori Object-Relational Database Management System (ORDBMS). ORDBMS ialah DBMS yang selain menggunakan prinsip- prinsip basis data relational juga menggunakan pendekatan berorientasi objek dalam model basis datanya.
Oracle Database
Nama Oracle Database atau Oracle RDBMS adalah nama yang sangt diperhitungkan dalam dunia RDBMS. Oracle dikembangkan oleh Oracle Corporation. Oracle menyimpan data secara logika dalam bentuk tablespaces dan secara fisik dalam bentuk file-file data. Oracle dapat menyimpan dan store procedure dan fungsi secara mandiri
Model-Model Data
- Arsitektur Sistem Basis Data
Arsitektur system basis data memberikan kerangka kerja bagi pembangunan basis data. Dan terbagi atas tiga level yaitu :
- Internal/Physical Level : Menunjukkan bagaimana data akan disimpan
- External/View Level : Level tertinggi yang menjelaskan bagian-bagian basis data pada pengguna tertentu
- Conceptual/Logical Level : Berkaitan dengan data apa yang akan disimpan dan bagaimana hubungan antardata tersebut
1. Entity-Relationship Diagram
Model ER biasa digambarkan dalam bentuk diagram yang disebut Entity-Relationship Diagram (ERD). ERD merupakan notasi grafis dalam pemodelan data konseptual yang digunakan untuk memodelkan struktur data dan hubungan antar data. Pada dasarnya ada 3 macam symbol yang digunakan yaitu :
- Entitas : Entitas digambarkan dalam bentuk persegi empat.
- Atribut: Atribut digambarkan dalam bentuk ellips dan dihubungkan dengan entitas dimana atribut tersebut berada
- Relationship: Relationship digambarkan dalam bentuk intan/diamonds
1. Object-Oriented Model
Model berorientasi objek berbasiskan kumpulan objek. Setiap objek berisi :
- Nilai yang disimpan dalam variable instant, dimana variable tersebut “melekat” dengan objek itu sendiri.
- Metode : operasi yang berlaku pada objek yang bersangkutan.
- Objek-objek yang memiliki tipe nilai & metode yang sama dikelompokkan dalam satu kelas. Kelas disini mirip dengan tipe data abstrak pada bahasa pemrograman.
- Sending a message : sebuah objek dapat mengakses data sebuah objek yang lain hanya dengan memanggil metode dari objek tersebut.
2. Model-model logic berbasis record
Data yang disimpan menggambarkan beberapa aspek dari suatu organisasi. Model data, adalah himpunan deksripsi data level tinggi yang dikonstruksi untuk menyembunyikan beberapa detail dari penyimpanan level rendah. Terdapat beberapa model dalam kelompok ini, antara lain:
Model relasional menggunakan kumpulan tabel-tabel untuk merepresentasikan data & relasi antar data-data tersebut. Setiap tabel terdiri atas kolom-kolom, dan setiap kolom mempunyai nama yang unik. Model relasional adalah model data yang paling banyak digunakan saat ini. Pembahasan pokok pada model ini adalah relasi, yang dimisalkan sebagai himpunan dari record. Deskripsi data dalam istilah model data disebut skema. Pada model relasional, skema untuk relasi ditentukan oleh nama, nama dari tiap field (atau Atribut atau kolom), dan tipe dari tiap field.
3. Model Jaringan (Network Model )
Data dalam model jaringan direpresentasikan dengan sekumpulan record (Pascal),dan relasi antara data direpresentasikan oleh record & link. Link dipandang sebagai pointer. Record-record diorganisasikan sebagai graf Model jaringan distandarisasi pada tahun 1971 oleh Data Base Task Group (DBTG).
4. Model Hierarki (Hirarchical Model)
Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul (biasa dinyatakan dengan lingkaran atau kotak) menyatakan sekumpulan medan.
RELATIONSHIP
Relationship atau relasi adalah hubungan yang terjadi antara sejumlah entitas. Misalkan dari entitas siswa ada seorang siswa yang memiliki NIS = “GHI007” dan nama_siswa = “Donny” mempunyai relasi dengan entitas program keahlian dengan kode_program = “RPL” dan nama_program = “Rekayasa Perangkat Lunak”. Relasi di antara kedua entitas mengandung arti siswa tersebut sedang mengambil program keahlian tersebut pada sekolah tertentu.
Relationship adalah mekanisme yang menghubungkan antara entitas. Dalam implementasi ke dalam DBMS baik entitas maupun relationship akan direpresentasikan dalam bentuk tabel (relation).
Setiap relationship selalu mempunyai kardinalitas. Kardinalitas atau Derajat Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas lain pada himpunan entitas yang lain.
Kita sebenarnya dapat melihat sebuah kardinalitas antara himpunan entitas siswa dengan himpunan entitas program keahlian. Siswa dapat berelasi hanya dengan satu entitas pada himpunan entitas program keahlian. Sebaliknya satu entitas pada program keahlian dapat berelasi dengan banyak siswa. Pada gambar tersebut terlihat Donny hanya dapat berhubungan dengan Rekayasa Perangkat Lunak, sedangkan Rekayasa Perangkat Lunak dapat berhubungan dengan Donny dan Joni. Ada beberapa jenis tingkat hubungan (kardinalitas) antara entitas satu dengan entitas lainnya. Kardinalitas menunjukkan jumlah maksimum entitas pada suatu himpunan entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Secara umum ada tiga bentuk kardinalitas antar himpunan entitas, yaitu :
satu ke satu (one to one).
Hubungan dengan kardinalitas one-to-one artinya satu anggota suatu entitas set hanya boleh berhubungan dengan satu anggota entitas set yang lain. Hubungan antara entitas set suami dengan istri dapat dikelompokkan dalam hubungan one-to-one.’
satu ke banyak / banyak ke satu (one to many / many to one).
Kardinalitas satu ke banyak dan banyak ke satu dapat dianggap sama karena tinjauan kardinalitas selalu dilihat dari dua sisi. Contohnya adalah pada suatu sekolah mempunyai aturan satu kelas terdiri dari banyak siswa tetapi tidak sebaliknya, yaitu satu siswa tidak dapat belajar pada kelas yang berbeda.
banyak ke banyak (many to many)
Kardinalitas ini cukup rumit untuk dijelaskan namun seringkali kita jumpai. Misalnya hubungan siswa dengan mata pelajaran memiliki kardinalitas many-to-many. Siswa berhak mengambil (mempelajari) lebih dari satu matapelajaran dan setiap mata pelajaran boleh diambil (dipelajari) lebih dari satu siswa.
Model Basis Data Relasional
Model basis data relasional diperkenalkan pertama kali oleh E.F. Codd pada tahun 1970. Model data ini didasarkan pada struktur matematis yang mudah dan alami, yaitu relation (tabel). Operasi-operasi manipulasi data semuanya berakar pada logika matematika. Hal ini menjadikan ekspresi-ekspresi
pada tabel dapat dianalisis dan dioptimasi (Lewis et al., 2002). Pembentuk utama dalam model data relasional adalan relation (tabel). Relation terdiri dari dua hal penting yaitu schema dan instance. Relation instance tidak lebih dari sebuah tabel dua dimensi dengan baris dan kolom. Baris (row) biasa disebut sebagai tuple, yang memiliki arti sama dengan record dalam suatu file. Tetapi berbeda dengan file record, semua tuple memiliki jumlah kolom yang sama dan tidak ada tuple dalam relation instance yang sama. Kolom dalam relation instance juga dikenal sebagai attribute atau column (Ramakrishnan and Gehrke, 2000; Lewis et al., 2002). Gambar 10.23. menunjukkan bagaimana hubungan tabel/file/relation, row/record/tuple dan column/field/attribute. Gambar ini juga menunjukkan susunan dari hubungan tersebut.
Arsitektur system basis data memberikan kerangka kerja bagi pembangunan basis data. Dan terbagi atas tiga level yaitu :
1. Internal/Physical Level: berhubungan dengan bagaimana data disimpan secara fisik (physical storage). Merupakan level terendah untuk merepresentasikan basis data. Record disimpan dalam media penyimpanan dalam format byte. Didefinisikan sebagai sebuah Skema Internal.
2. External /View Level, berhubungan dengan bagaimana data di representasikan dari sisi setiap pengguna dan merupakan level pengguna. Yang dimaksud dengan pengguna adalah programmer, end user atau DBA. Setiap user mempunyai ‘bahasa’ yang sesuai dengan kebutuhannya. Untuk programmer, bahasa yang digunakan adalah bahasa pemrograman seperti C, COBOL, atau PL/I. Untuk end user, bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang tersedia pada program aplikasi. Pada level eksternal ini, user dibatasi pada kemampuan perangkat keras dan perangkat lunak yang digunakan aplikasi basis data. Didefinisikan sebagai sebuah Skema Eksternal.
3. Conceptual/Logical Level yang menghubungkan antara internal & external level. Conceptual level adalah sebuah representasi seluruh muatan informasi yang dikandung oleh basis data. Tidak seperti level eksternal maka pada level conceptual, keberadaannya tidak memperhitungkan kekurangan perangkat keras maupun perangkat lunak pembangun aplikasi basis data. Didefinisikan sebagai sebuah Skema Konseptual
- Perbedaan model data Object-Oriented dengan ER-Relationship ?
Sesuai dengan namanya Object-Oriented, Model berorientasi objek berbasiskan kumpulan objek.
Sedangkan Model ER biasa digambarkan dalam bentuk diagram yang disebut Entity-Relationship Diagram (ERD). ERD merupakan notasi grafis dalam pemodelan data konseptual yang digunakan untuk memodelkan struktur data dan hubungan antar data.
- Perbedaan model data relasional, jaringan dan hierarkis
Model Relasional
Menggunakan tabel-tabel untuk mempresentasikan data dan relasi data-data tersebut. Setiap tabel terdiri atas kolom-kolom, dan setiap kolom mempunyai nama yang unik
Model Jaringan
Data dalam model jaringan direpresentasikan dengan sekumpulan record, dan relasi antara data direpresentasikan oleh record dan link. Di model Jaringan, Link di pandang sebagai pointer.
Model Hirarkis
Biasa disebut dengan model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak.
Contoh Database yang saya buat yaitu database apotik, menggunakan software My-SQL :
Melalui cmd:
Melalui GUI :