Pengertian :
Seperti dari kata aslinya kita dapat memahami pengertian relational database adalah
database dengan tabel-tabel yang saling berhubungan satu dengan yang lain. Secara praktis kita
dapat memahami bahwa antar satu tabel memiliki kaitan dengan tabel lain.
Sebagai contoh pertama-tama kita memiliki tabel pelanggan. Pada tabel pelanggan ini akan
menyimpan data seperti nama pelanggan, alamat, nomor telepon, email dan lain-lain. Kemudian
untuk memudahkan identifikasi pelanggan kita memiliki field no pelanggan di mana setiap
pelanggan memiliki nomor pelanggan sendiri-sendiri yang berbeda dengan pelanggan-
pelanggan lain.
Pada saat ada pelanggan melakukan pesanan penjualan maka kita akan memasukkan pesanan
penjualan misalnya pada tabel sales order. Pada tabel sales order ini tentu harus menunjuk ke
suatu pelanggan. Untuk kepentingan inilah maka pada tabel sales order akan memiliki field no
pelanggan. No pelanggan inilah yang menghubungkan atau merelasikan antara tabel sales order
dan tabel pelanggan.
Secara struktur dalam sebuah relational database ini terdapat tabel-tabel. Seperti kita memahami
tabel dalam spreadsheet, maka ada kolom dan baris. Kita memahami kolom-kolom sebagai field-
field, kemudian baris-baris adalah data dari setiap record.
Secara praktis para software developer menggunakan MySQL, MariaDb ataupun PostgreSQL
dalam mengembangkan aplikasinya. Ketiga relational database ini merupakan relational database
yang paling banyak digunakan karena bebas didownload dan digunakan tanpa harus membayar
license. Untuk melakukan manajemen terhadap relational-relational database ini kita dapat
menggunakan bahasa SQL yang merupakan kependekan dari Structural Query Language.
Basis Data - Database Relasional
1. Konsep Database Relasional
Dr. E.F. Codd pada tahun 1970 telah memperkenalkan model relasional sistem database yang
merupakan dasar untuk Relational Database Management System (RDBMS). Sebelum konsep
database relasional telah digunakan dua model database yaitu Network dan Hierarchical
Database. RDMBS memiliki kemudahan dalam penggunaannya dan memiliki fleksibilitas dalam
struktur, sehingga sangat cepat populer ditambah dengan beberapa vendor yang inovatif dalam
membantu mengembangkan aplikasi-aplikasi yang powerfulserta produk-produk yang
menawarkan solusi.
Dalam database relasional, data disimpan dalam bentuk relasi atau tabel dua dimensi, dan
antartabel satu dengan tabel yang lainnya terdapat hubungan atau relationship. Komponen-
komponen model ralasional meliputi : Kumpulan objek yang memiliki keterkaitan atau relasional
antar penyimpan data, Set operator yang dapat melakukan relasi untuk membuat relasi yang
lainnya, dan Integritas datauntuk akurasidan konsistensi. Untuk membuat struktur tabel, mengisi
data ke tabel, mengubah data dan menghapus data dari tabel diperlukan software RDBMS,
sedangkan perintah yang digunakan disebut Structure Query Language (SQL) sehingga setiap
software RDBMS dapat digunakan untuk menjalankan perintah SQL.
Tujuan sebuah Model adalah membantu mengkomunikasikan konsepkonsep yang ada dipikiran
orang. Model dapat digunakan untuk melakukan hal berikut:
menyampaikan/mengkomunikasikan, mengkategorikan, menggambarkan, menentukan,
menyelidiki, mengembangkan, menganalisis, dan meniru. Model yang baik adalah model yang
cocok dalam banyak kegunaan, dapat dipahami oleh pengguna akhir, dan berisi detail yang
cukup untuk pengembang dalam membangun sistem data base.
4. Model Hubungan Entitas (Entity Relationship Model)
Dalamsistem yang efektif, data dibagi menjadi kategori diskrit atau entitas. Sebuah hubungan
entitas (ER) model adalah sebuah ilustrasi dari berbagai entitas dalam bisnis dan hubungan
diantara mereka. Model ER berasal dari spesifikasi bisnis atau narasi dan dibangun selama tahap
analisis siklus hidup pengembangan sistem (System Development Life Cycle).
Manfaat Model ER
Komponen Kunci
a. Entitas: Suatu hal yang penting tentang informasi yang perlu diketahui. Contohnya
adalah departemen, karyawan, dan pesanan.
b. Atribut: Sesuatu yang menggambarkan atau memenuhi syarat suatuentitas. Sebagai
contoh, untukentitas karyawan, atributnya adalah:nomor karyawan, nama, jabatan,
tanggal perekrutan, nomor departemen, dan sebagainya. Setiap atribut yang baik
adalahdiperlukan atau opsional. Pernyataan ini disebut optionality.
c. Hubungan: Hubungan atau relationship adalah sebuah asosiasiantara entitas dan
derajat.Contohnya adalah karyawan dandepartemen, dan pesanan dan item barang.
Konvensi Model ER
Entitas
Tabel
Didalam sistem relasional database data dinyatakan dengan menggunakan tabel (relations).
Sebuah tabel mempunyai struktur seperti dabawah ini,
Sebuah tabel harus diberi nama secara unik sebagai identitasnya dan terdiri dari beberapa baris
sebagai penyimpanan informasi, dan masingmasing baris berisi satu record. Sebuah tabel dapat
mempunyai sebuah kolom atau lebih. Sebuah kolom memiliki sebuah nama dan tipe data yang
diberlakukan dan merupakan deskripsi atribut pada record.Struktur tabel yang disebut juga
relation schema, ditentukan oleh atributatributnya.
Sebuah tabel dapat mempunyai lebih dari 254 kolom yang mempunyai tipe data yang sama atau
tipe data yang berbeda sesuai dengan penempatan values (domain). Kemungkinan-kemungkinan
domain yang dipergunakan adalah alphanumeric data (strings), numbers, dan date formats.
ORACLE menawarkan tipe-tipe data dasar seperti di bawah ini:
a. Char (n): Fixed-lenght character data (strings), mendefinisikan string sepanjang n karakter.
Nilai maksimum untuk n adalah 255 byte (....... di ORACLE 9i). Bila n tidak dituliskan, maka
panjang karakteryang berlaku adalah 1.
contoh: char(40).
c. Number (o,d) : Numeric data type , mendefinisikan angka integerdan riel, o = jumlah digit, d =
jumlah digit yang berada dibelakang koma. Nilai maksimum: o = 38, d = -84 sampai +127.
contoh: number (8), number (5,2).
Number (5,2) nilainya tidak dapat lebih dari 999.99 , jika melebihi nilai maksimum tersebut
maka akan menjadi kesalahan. Tipe data yang berasal dari number adalah int[eger], dec[imal],
smallint dan real.
d. Date: Date data type untuk menempatkan atau mendefinisikan tanggal, bulan, tahun, hari, jam,
menit dan detik. Format keadaan awal ( default ) untuk date adalah : DD-MMM-YY.
Contoh : ’10-FEB-94’,’29-NOV-98’.
e. long: mendefinisikan tipe data binary, panjangnya karakter maksimum adalah 2GB. Setiap
tabel hanya diperbolrhkan satu kolom saja yang mempunyai tipe long.
Catatan:
Di dalam ORACLE–SQL tidak ada tipe data boolean, tetapi dengan data yang sama dapat
menggunakan char(1) atau number(1). Selama tidak terdapat ketentuan/hambatan lain yang
membatasi kemungkina values pada atribut, dapat digunakan special value yaitu null (untuk
sesuatu yang tidak diketahui). Nilai ini tidak sama dengan angka 0, dan juga tidak sama dengan
angka kosong.
b. Sebuah kolom ataua tribut yang berisi nomor karyawan. Jumlah karyawan mengidentifikasi
karyawan yang unik dalam tabel EMPLOYEES. Dalam contoh ini, kolom nomor karyawan
yang ditunjuk sebagai primary key. Sebuah primary key harus mengandung nilai, dan nilai
harus unik.
c. Sebuah kolomyang bukan key value. Sebuah kolom merupakan atau merepresentasikan salah
satu jenis data dalam tabel; dalam contoh ini, data adalah gaji semua karyawan. Urutan kolom
tidak signifikan ketika menyimpan data; menentukan urutan kolom saat data diambil.
d. Sebuah kolom yang berisi nomor departemen, yang juga merupakan foreign key. Foreign key
adalah kolom yang mendefinisikan bagaimana tabel berhubungan satu sama lain. Foreign key
mengacu pada primary key atau kunci unik di tabel yang sama atau di tabel lain.
e. Sebuah field dapat ditemukan di persimpangan dari baris dan kolom. Hanya ada satu nilai di
dalamnya.
f. Sebuah field mungkin tidak memiliki nilai di dalamnya. Ini disebut nilai null. Dalam tabel
EMPLOYEES,hanya karyawan yang memiliki peran perwakilan penjualan memiliki nilai di
COMMISSION_PCT (komisi).
Pernyataan-pernyataanSQL
Data Manipulation Language (DML)
SELECT
INSERT
UPDATE
DELETE
MERGE
Transaction Control
COMMIT
ROLLBACK
SAVEPOINT
SELECT
INSERT
UPDATE
DELETE
MERGE
Mengambil datadari database, mengisi baris baru, merubah baris yang ada, dan menghapus baris
yang tidak diinginkan dari tabel dalam database secara berturut-turut, dikenal sebagai data
manipulation language (DML).
CREATE
ALTER
DROP
RENAME
TRUNCATE
COMMENT
Membuat, merubah, dan menghapus struktur data daritabel, dikenal sebagai data definition
language (DDL).
GRANT
REVOKE
Memberika natau menghilangkan hak akses ke data base maupun struktur didalamnya.
COMMIT
ROLLBACK
SAVEPOINT
Mengelola perubahan yang dibuatoleh pernyataanDML. Perubahan data bisa dikelompokkan
bersama ke dalam transaksilogis.
SISTEM DATABASE
1 Tampilan Logis dan Fisik Data
Pada sistem yang berorientasi file, pemograman harus tahu lokasi fisik dan layout catatan.
Anggaplah seorang pemogram menginginkan agar laporan menunjukkan nomor pelanggan,
batasan kredit dan saldo saat ini. Untuk membuat program, ia harus memahami lokasi dan
panjang field yang dibutuhkan (yaitu mencatat posisi 1 sampai 10 untuk nomor pelanggan) serta
format setiap field.
Layout catatan (record layout) adalah dokumen yang menunjukkan item-item yang
disimpan dalam file, termasuk urutan dan panjang field data serta tipe data yang disimpan dalam
file piutang. Figur 4-3 menunjukkan layout catatan dari file piutang. Sistem database
menyelesaikan permasalahan ini dengan memisahkan penyimpanan atas data dari penggunaan
elemen data.Pendekatan database memberikan dua tampilan data terpisah : tampilan fisik dan
tampilan logis. Tampilan logis (logical view) adalah bagaimana seorang secara konseptual
mengelola dan memahami hubungan antar-item data. Tampilan fisik (physical view) mengacu
pada bagaimana data secara fisik diatur dan disimpan dalam system komputer.
Perangkat lunak DBMS menghubungkan cara data secara fisik disimpan dengan tampilan
logis data setiap pengguna. DBMS memungkinkan pengguna untuk mengakses, membuat query
atau memperbaharui database tanpa referensi untuk bagaimana dan dimana data secara fisik
disimpan. Memisahkan tampilan logis dan fisik data juga berarti bahwa pengguna dapat
mengubah tampilan logis data mereka untuk meningkatkan kinerja system tanpa memengaruhi
pengguna atau program aplikasi.
2 Skema
Skema adalah deskripsi elemen-elemen data dalam database, hubungan diantara mereka
dan model logika yang digunakan untuk mengelola dan menjelaskan data. Terdapat tiga level
dari skema: konseptual, eksternal dan internal. Skema level konseptual (conceptual level
schema), tampilan organisasi yang luasakan menampilakna keseluruhan database, mendaftar
semua elemen data dan hubungan antar mereka. Skema level eksternal (external level schema)
adalah tampilan pengguna individu terhadap bagian-bagian dalam database, masing-masing
mengacu pada sebuah subskema (subschema). Skema level internal (internal level schema),
tampilan level rendah database, menjelaskan bagaimana data disimpan dan diakses, termasuk
layout catatan, definisi, alamat, dan indeks.
3 Kamus Data
Kamus data (data dictionary) berisi informasi mengenai struktur database. Setiap elemen
data yang disimpan dalam database, terdapat catatan dalam kamus yang menjelaskannnya.
DBMS menyimpan kamus data, yang input-nya termasuk elemen data baru atau yang terhapus
serta mengubah nama elemen data, penjelasan atau penggunaannya. Output termasuk laporan
untuk para pemogram, desainer dan pengguna, seperti (1) program atau laporan yang
menggunakan item data, (2) sinonim untuk elemen data dalam file, (3) elemen data yang
digunakan oleh pengguna. Laporan-laporan ini digunakan dalam pendokumentasian sistem,
desain dan implementasi database, serta sebagai bagian dari jejak audit.
4 Bahasa DBMS
DBMS memiliki beberapa bahasa. Bahasa definisi kata (data definition language-DDL)
membangun kamus data, membuat database, menjelaskan tampilan logis setiap pengguna dan
memerinci catatan atau hambatan keamanan field. Bahasa manipulasi data (data manipulation
language-DML) mengubah isi database, termasuk membuat, memperbaharui menyisipkan dan
menghapus elemen data. Bahasa query data (data query language-DQL) adalah bahasa level
tinggi, seperti bahasa Inggris yang berisi perintah kuat dan mudah digunakan yang
memungkinkan pengguna untuk mengambil, menyortir, memesan serta menunjukkan data.
Penulis laporan (report writer) menyederhanakan pembuatan laporan.
DATABASE RELASIONAL
1 Tipe-Tipe Atribut
Kunci utama (primary key) adalah atribut database, atau kombinasi atribut, yang secara
khusus mengidentifikasi suatu baris tertentu dalam sebuah tabel. Kunci utama dalam Tabel 4-2
adalah Nomor Komponen yang secara khusus mengidentifikasi setiap komponen barang yang
dijual S&S. Biasanya, kunci utama adalah atribut tunggal. Dalam beberapa tabel, dua atau lebih
atribut dibutuhkan untuk mengidentifikasi secara khusus baris tertentu dalam tabel. Kunci asing
(foreign key) adalah atribut dalam tabel yang juga merupakan kunci utama dalam tabel lain dan
digunakan untuk menghubungkan dua tabel. Atribut non kunci lainnya dalam tabel menyimpan
informasi penting mengenai entitas.
2 Membuat Desain Database Relasional untuk S&S, INC
Dalam sistem akuntansi manual, S&S akan mengambil informasi penjualan pada faktur
penjualan pracetak yang memberikan tampilan logis dan fisik data yang dikumpulkan.
Penyimpanan fisik data faktur penjualan adalah sederhana salinan faktur disimpan dalam lemari
file. Menyimpan daya yang sama dalam komputer lebih komplek. Anggalah S&S ingin
menyimpan faktur penjualan (yang diberik nomor 101 hingga 105) secara elektronik. Pada
beberapa faktur, pelanggan membeli lebih dari satu komponen. Mari kita melihat dampak
beberapa cara untuk menyimpan informasi ini.
a.Menyimpan Semua Data dalam Satu Tabel yang Seragam.
S&S dapat menyimpan data penjualan dalam satu tabel, seperti yang diilustrasikan dalam
Tabel 4-3. Pendekatan ini memiliki dua kerugian. Pertama, ia menyimpan banyak kelebihan data.
Ujilah faktur 102 dalam tabel 4-3. Oleh karena tiga barang persediaan terjual, data faktur dan
pelanggan (kolom 1 hingga 9) dicatat tiga kali. Demikian juga, deskripsi persediaan dan unit
harga diulangi setiap kali barang terjual. Oleh karena volume penjualan pada toko eceran tinggi,
beberapa kelebihan membuat pemeliharaan membutuhkan banyak waktu dan rentan akan
kesalahan (eror). Kedua, beberapa masalah akan terjadi ketika data faktur yang disimpan dalam
tipe-tipe tabel ini. Masalah pertama disebut anomali pembaruan (update anomaluy), karena nilai
data tidak diperbarui dengan benar. Mengubah alamat pelanggan melibatkan pencarian
keseluruhan tabel dan mengubah setiap kejadian dalam alamat pelanggan.
Anomali sisipan (insert anomaly) yang terjadi dalam contoh kita dikarenakan tidak
adanya cara menyimpan informasi mengenai pelanggan prospektif hingga mereka membuat
pembayaran. Jika data pelanggan prospetif dimasukan sebelum pembelian dibuat , kolom fatur
penjualan akan menjadi kosong. Padahal, faktur penjualan adalah kunci utama untuk tabel 4-3
dan tidak boleh kosong, karena secara khusus akan mengidentifikasi catatan. Anomali
penghapusan (delete anomaly) terjadi ketika menghapus baris yang tidak memiliki konsekuensi
yang tidak diinginkan.
b. Memvariasikan jumlah kolom.
Afternatif untuk tabel 4-3 adalah dengan mencatat faktur penjualan dan data pelanggan
sekali dan menambahkan kolom tambahan untuk mencatat setiap item yang terjual. Tabel 4-4
mengilustrasikan pendekatan ini. Meskipun dapat mengurangi kelebihan data dan mengeliminasi
beberapa anomali yang terkait dengan tabel 4-3, alternatif ini memiliki beberapa kelemahan.