Sabtu, 13 Juni 2020

PEMBAHASAN LENGKAP TENTANG DATABASE

Pada kesempatan kali ini, kita akan membahas tentang database. Apa yang dimaksud dengan database

PENGERTIAN DATABASE
Database (dalam bahasa Indonesia disebut basis data) adalah kumpulan data yang saling berkaitan antar satu sama lain dan disusun sedemikian rupa, dengan tujuan untuk memudahkan pengelolaan kumpulan data yang terdapat di dalamnya.

Dalam pengertian database tersebut, terdapat istilah data. Apa yang dimaksud dengan data?
Data adalah sesuatu yang di dapatkan dari hasil pengamatan suatu objek. Sesuatu tersebut, dapat berbentuk angka, huruf, maupun simbol-simbol yang dapat di olah untuk menghasilkan suatu informasi tertentu.

JENIS-JENIS DATABASE
Database dibagi menjadi beberapa jenis, yaitu sebagai berikut.
1. Relational Database
Relational database (dalam bahasa Indonesia disebut basis data relasional) adalah salah satu jenis database yang menyimpan data-data dalam bentuk tabel (disebut relation). Tabel yang dimaksud adalah tabel sebagaimana biasanya, yang terdiri dari kolom dan baris.

Namun di dalam basis data relasional, terdapat istilah khusus yang digunakan untuk menamai kolom, yaitu disebut dengan field atau atribut. Adapun, istilah khusus yang digunakan untuk menamai baris, yaitu disebut dengan record atau tuple.  Basis data relasional diperkenalkan sekitar tahun 1970 oleh Edgar F. Codd.

2. NoSQL Database
NoSQL database adalah salah satu jenis database yang menyimpan data-datanya dalam bentuk yang beragam.
Berbeda dengan relational database yang hanya menyimpan data berbentuk tabel, NoSQL database menyimpan data dalam bentuk sebagai berikut.

1). Key-Value Store
Dalam key-value storage, setiap data memiliki kunci dan nilai, sehingga untuk menggunakan atau memodifikasi data tersebut, bisa dilakukan dengan cara mereferensi pada kombinasi kunci dan nilai tersebut.

2). Document Database
Dalam document database, setiap data disimpan dalam bentuk dokumen JSON (java script object notation).

3). Graph Database
Dalam Graph database, data disimpan dalam bentuk node (simpul), dan hubungan antar data disimpan dalam bentuk edge.

4). Wide Columns Stores 
Dalam wide column stores, data disimpan dalam bentuk tabel, baris dan kolom seperti pada basis data relasional. Namun perbedaannya, dalam wide column stores, setiap baris tidak harus memiliki kolom yang sama, sehingga bisa saja setiap baris terdiri dari dua kolom.

3. Object Oriented Database
Object oriented database adalah salah satu jenis database yang menyimpan data-data dalam bentuk objek seperti dalam OOP (object oriented programming).

KUNCI-KUNCI (KEYS) DALAM RELATIONAL DATABASE
Sebagaimana telah kita ketahui, dalam relational database (basis data relasional), data-data disimpan dalam suatu tabel database. Adapun untuk mengidentifikasi tiap-tiap record data yang tersimpan dalam tabel database tersebut secara unik, maka diperlukan kunci (key) untuk mengenalinya. Untuk mempermudah pemahaman, berikut ini kami sampaikan pengertian kunci dalam relational database beserta jenis-jenisnya.
 
Kunci (key) adalah atribut atau gabungan atribut yang digunakan untuk mengidentifikasi (mengenali) secara unik setiap record yang terdapat pada suatu tabel database.

Dalam pengertian tersebut, terdapat istilah atribut dan record. Untuk memahami dua istilah dimaksud, perhatikan tabel data_mahasiswa berikut ini!
Contoh Relational Database
Pembahasan
1). NIM, nama_mahasiswa, alamat_asal, dan alamat_email adalah atribut dari tabel data_mahasiswa. Atribut memuat judul untuk record tabel database.
2). Tiap-tiap baris di bawah atribut disebut record. Record memuat data-data dari tabel database.

Setelah kita mengetahui tentang pengertian kunci dalam relational database, atribut, dan record, selanjutnya kita akan membahas tentang jenis-jenis kunci dalam relational database tersebut. Adapun kunci-kunci tersebut adalah sebagai berikut.

1. Super Key
Super key adalah atribut atau gabungan atribut dalam tabel database yang dapat digunakan untuk mengidentifikasi secara unik setiap record dalam tabel database. Perhatikan tabel data_mahasiswa tersebut, super key yang dapat dibentuk adalah sebagai berikut:

1). atribut NIM dapat disebut super key, alasannya karena atribut tersebut dapat mengidentifikasi secara unik setiap record dalam tabel database. Setiap data yang terdapat dalam atribut NIM hanya spesifik untuk satu orang mahasiswa.

2). atribut gabungan NIM dan nama_mahasiswa dapat disebut super key, alasannya walaupun data yang terdapat dalam atribut nama_mahasiswa bisa saja sama, namun bila digabungkan dengan NIM, maka walaupun namanya sama tetap bisa dibedakan dengan data lainnya.

3). atribut gabungan NIM, nama_mahasiswa dan alamat_asal dapat disebut super key, alasannya karena gabungan tiga atribut tersebut bisa mengidentifikasi secara unik setiap record dalam tabel database.

4). Dalam tabel tersebut, masih terdapat super key yang dapat dibentuk. Namun, yang perlu menjadi perhatian, super key kadangkala memuat atribut gabungan yang sebenarnya tidak perlu diikutsertakan. Contoh pada atribut gabungan NIM, nama_mahasiswa, dan alamat_asal, tanpa atribut alamat_asal, sebenarnya setiap record dapat diidentifikasi secara unik dalam tabel data_mahasiswa dimaksud.

2. Candidate Key
Candidate key adalah atribut yang memiliki keunikan, sehingga dapat dipertimbangkan untuk menjadi primary key dalam suatu tabel database. Bila dikaitkan dengan super key, bahwa candidate key tidak mengikutsertakan atribut yang sebenarnya tidak perlu diikutsertakan untuk mengidentifikasi secara unik setiap record. Dalam suatu tabel database, candidate key bisa lebih dari satu.

3. Primary Key
Primary key adalah atribut yang paling unik dibandingkan atribut lainnya, sehingga dipilih sebagai atribut untuk mengidentifikasi setiap record yang terdapat dalam tabel database. Primary key dapat dipilih dari candidate key yang paling bagus dan paling unik. Dalam suatu tabel database hanya ada satu primary key.

4. Alternate Key
Alternate key adalah candidate key yang tidak dipilih sebagai primary key.

5. Composite Key
Composite key adalah gabungan dua atribut atau lebih dalam tabel suatu database, yang dibuat dengan tujuan agar gabungan atribut tersebut memiliki keunikan, sehingga dapat menjadi super key, candidate key atau primary key suatu tabel database.

6. Foreign Key
Foreign Key adalah primary key yang terdapat pada suatu tabel database lain.

7. Surrogate Key
Surrogate Key adalah primary key yang dibuat secara otomatis oleh RDBMS. Misalnya pada Microsoft Access, angka-angka yang dibuat secara otomatis sebagai penanda record, angka-angka tersebut adalah primary key yang berasal dari surrogate key.  

8. Non-key Attribute
Non-key attribute adalah atribut yang kurang memiliki keunikan, sehingga tidak masuk menjadi candidate key.
 
9. Non-Prime Attribute
Non-prime atribut adalah seluruh atribut selain primary key.

Demikian pembahasan tentang database yang dapat kami sampaikan. Apabila terdapat pertanyaan, saran, dan kritik akibat kekeliruan kami dapat disampaikan di kolom komentar, terima kasih.