kondes database,pemodelan_database dan er-diagram
DESCRIPTION
Konsep Database dan ER diagramTRANSCRIPT
Konsep Database ,Pemodelan Database dan
ER – Diagram
Nama : Amrizal TanjungNPM : 09402045Jurusan : MIF / X – 42Mata Kuliah : Sistem Manajemen Basis DataPoliteknik Ganesha
2
Kata Pengantar
Puji syukur kehadirat Illahi Robi yang telah menurunkan Islam sebagai Diinul
Haq fil Ardi dan sholawat serta salam mari junjungkan kepada Baginda Nabi besar Nabi
Muhammad SAW beserta keluarga dan shohabat.
Sebagai salah satu persyaratan untuk nilai UTS , maka kami membuat tugas
makalah mata kuliah Sistem Manajemen Basis Data dengan judul Konsep Database ,
Pemodelan Database dan ER Diagram . Kami mengambil berbagai sumber dari
internet mengingat hanya melalui internet dapat sumber tugas secara cepat dan praktis.
Kami mengambil dari berbagai sumber baik dari dalam maupun luar negeri.
Jika ada salah penulisan kata dan kalimat yang kurang begitu dipahami ataupun
istilah yang tidak tepat , kami mohon bimbingan dan saran dari pihak dosen untuk
mengkoreksinya demi kemajuan kami dan pengetahuan kami.
Terima kasih
Bandung , November 2009 Hormat Kami
( Amrizal Tanjung )
3
Sistem Manajemen Basis Data
Pengertian SimbadaSistem Manajemen Basis Data (Data Base Management System / DBMS) adalah
perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara,
mengontrol, dan mengakses basis data dengan cara praktis dan efisien. DBMS dapat
digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan
akses yang berbeda - beda. DBMS pada umumnya menyediakan fasilitas atau fitur - fitur
yang memungkinkan data dapat diakses dengan mudah , aman , dan cepat. Beberapa fitur
yang secara umum tersedia adalah:
• Keamanan : DBMS menyediakan sistem pengamanan data sehingga tidak mudah
diakses oleh orang yang tidak memiliki hak akses.
• Independensi : DBMS menjamin independensi antara data dan program , data tidak
bergantung pada program yang mengaksesnya, karena struktur datanya dirancang
berdasarkan kebutuhan informasi , bukan berdasarkan struktur program. Sebaliknya
program juga tidak bergantung pada data , sehingga walaupun struktur data diubah ,
program tidak perlu berubah.
• Konkruensi / data sharing : data dapat diakses secara bersamaan oleh beberapa
pengguna karena manajemen data dilaksanakan oleh DBMS.
• Integritas : DBMS mengelola file - file data serta relasinya dengan tujuan agar data
selalu dalam keadaan valid dan konsisten
• Pemulihan : DBMS menyediakan fasilitas untuk memulihkan kembali file - file data
ke keadaan semula sebelum terjadinya kesalahan (error) atau gangguan baik
kesalahan perangkat keras maupun kegagalan perangkat lunak.
• Kamus / katalog sistem : DBMS menyediakan fasilitas kamus data atau katalog
sistem yang menjelaskan deskripsi dari field - field data yang terkandung dalam basis
data.
• Perangkat Produktivitas : DBMS menyediakan sejumlah perangkat produktivitas
sehingga memudahkan para pengguna untuk menarik manfaat dari database ,
4
misalnya report generator (pembangkit laporan) dan query generator (pembangkit
query / pencarian informasi).
Sistem Manajemen Basis Data (DBMS) memiliki berbagai keunggulan
dibandingkan dengan pengelolaan data tanpa DBMS , walaupun tidak terlepas dari
beberapa kelemahan.
Keunggulan DBMS antara lain sebagai berikut :
• Mengurangi duplikasi data atau data redundancy
• Menjaga konsistensi dan integritas data
• Meningkatkan keamanan data
• Meningkatkan effisiensi dan effektivitas penggunaan data
• Meningkatkan produktivitas para pengguna data
• Memudahkan pengguna dalam menggali informasi dari kumpulan data
• Meningkatkan pemeliharaan data melalui independensi data
• Meningkatkan pemakaian bersama dari data
• Meningkatkan layanan backup dan recovery data
• Mengurangi konflik antar pengguna data
Kelemahan DBMS antara lain sbb:
• Memerlukan suatu skill tertentu untuk bisa melakukan administrasi dan manajemen
database agar dapat diperoleh struktur dan relasi data yang optimal
• Memerlukan kapasitas penyimpanan baik eksternal (disk) maupun internal (memory)
agar DBMS dapat bekerja cepat dan efisien.
• Harga DBMS yang handal biasanya sangat mahal
• Kebutuhan akan sumber daya (resources) biasanya cukup tinggi
• Konversi dari sistem lama ke sistem DBMS terkadang sangat mahal , disamping
biaya pengadaan perangkat keras dan perangkat lunak , diperlukan pula biaya
pelatihan.
• Apabila DBMS gagal menjalankan misinya maka tingkat kegagalan menjadi lebih
tinggi karena banyak pengguna yang bergantung pada sistem ini.
Berikut ini disajikan tabel beberapa DBMS yang terkenal.
5
DBMS Perusahaan
Access Microsoft Corporation
DB2 IBM
Informix IBM
Ingress Computer Associate
mySQL The MySQL Company
Oracle Oracle Corporation
Postgres SQL Postgres
Sybase Sybase Inc.
Visual dBase Borland
Visual FoxPro FoxPro Corporation
DBMS untuk model data berbasis objek biasanya dinamakan sebagai Object
Oriented Data Base Management System (OODBMS). Beberapa OODBMS yang
terkenal adalah sebagai berikut:
OODBMS Perusahaan
Gemstone Gemstone System
Matisse ADB Inc.
Versant Versant
Jeevan W3 Apps.
Vision Insyte
Objectivity Objectivity Inc.
ObjectStone Object Design Inc.
6
Poet Poet Software.
Perlu ditambahkan disini bahwa beberapa DBMS berbasis objek sebenarnya tetap
menggunakan file data relasional biasa , dengan kata lain , programnya berbasis objek
tetapi datanya masih model relasional biasa. Software seperti ini biasanya disebut sebagai
Object Oriented Relational DataBase Management System (OORDBMS) , misalnya
Visual dBase.
Arsitektur DBMSSalah satu tujuan dari DBMS adalah untuk menyediakan sarana antar muka
(interface) dalam mengakses data secara efisien tanpa harus melihat kerumitan atau detail
tentang cara data direkam dan dipelihara. DBMS memiliki arsitektur untuk melakukan
abstraksi dari data sehingga dapat diperoleh independensi data program.
Pada tahun 1975, badan standarisasi nasional Amerika ANSI-SPARC (American
National Standards Institute Standards Planning and Requirements Committee)
menetapkan tiga level abstraksi dalam database, yaitu:
1. Level Eksternal (external level) atau Level Pandangan (view level)
Level Eksternal adalah level yang berhubungan langsung dengan pengguna database.
Pada level ini pengguna (user) hanya bisa melihat struktur data sesuai dengan
keperluannya sehingga setiap user bisa memiliki pandangan (view) yang berbeda dari
user lainnya. Pada level ini pula dimungkinkan pandangan user berbeda dengan
representasi fisik dari data, misalkan untuk data hari secara fisik data direkam dalam
bentuk kode (1 , 2 , 3 , dst) sedang user melihat data dalam bentuk teks nama hari
(Minggu , Senin , Selasa , ). Data yang dilihat oleh user seakan - akan berasal dari
satu file , secara fisik mungkin diambil dari beberapa file yang berelasi
2. Level Konseptual (conceptual level)
Level Konseptual adalah level dari para administrator database , pada level ini
didefinisikan hubungan antar data secara logik , sehingga diperlukan struktur data
secara lengkap. Para administrator database memahami bagaimana satu view
dijabarkan dari beberapa file data , demikian pula pada saat perancangan database
7
mereka dapat saja membagi data menjadi beberapa file agar dapat diakses dan
disimpan secara efisien.
3. Level Internal (internal level) atau Level Fisik (physical level)
Level Internal adalah level dimana data disimpan secara fisik dalam bentuk kode, teks
, angka , bit. Pada level ini didefinisikan allokasi ruang penyimpanan data , deskripsi
data dalam penyimpanan , kompressi data (agar lebih hemat) , dan enkripsi data (agar
lebih aman).
Agar independensi data dapat dicapai maka disediakan pemetaan antar lapisan
(level), yatiu pemetaan eksternal-konseptual dan pemetaan konseptual internal. Pada
pemetaan eksternal konseptual , DBMS dapat memetakan field - field data dari user view
ke dalam struktur data yang sesungguhnya. Pada pemetaan konseptual internal , DBMS
dapat menemukan rekaman fisik dari data yang didefinisikan pada struktur logik.
Bahasa DBMSImplementasi bahasa DBMS bervariasi sesuai dengan variasi perusahaan yang
merancangnya , namun pada prinsipnya bahasa ini bisa dikategorikan ke dalam tiga
komponen bahasa , yaitu:
1. Data Definition/Decription Language (DDL)
DDL adalah komponen bahasa DBMS yang digunakan untuk mendefinisikan struktur
data antara lain perintah untuk membuat tabel baru (CREATE) dimana terdefinisi
komponen/field data dengan tipe dan panjangnya , mengubah index (INDEX ,
REINDEX) agar setiap record dalam satu file data dapat diakses melalui indeksnya ,
mengubah struktur (MODIFY STRUCT) dari file data , dan sebagainya. Komponen
bahasa ini banyak digunakan oleh para administrator basis data pada saat
merencanakan atau membangun file - file basis data.
2. Data Manipulation Language (DML)
DML adalah komponen bahasa DBMS yang digunakan untuk memanipulasi data ,
komponen ini diperlukan oleh para pengguna untuk memanipulasi data , antara lain
perintah - perintah untuk melakukan hal - hal berikut ini:
• mengambil data dari basis data (LIST, DISPLAY)
• menambah data kedalam basis data (INSERT, APPEND)
8
• meremajakan data yang ada dalam basis data (UPDATE)
• menghapus data yang tidak diperlukan (DELETE)
• mengurutkan data (SORT)
• menghitung frekuensi data (COUNT)
• mencari data (SEEK, FIND)
DML dapat dibedakan atas dua macam, yaitu DML Prosedural dan DML Non-
Prosedural. Pada DML Prosedural ketika data akan dimanipulasi maka perintah harus
disertai dengan perintah-perintah bagaimana data diakses dari file database. Perintah
DML Prosedural biasanya termuat dalam bahasa pemrograman tingkat tinggi (high
level programming language) seperti COBOL , C , C++ dan sebagainya. Pada DML
non-Prosedural data dapat dimanipulasi langsung tanpa harus memerintahkan
bagaimana data dibaca dari file. Perintah DML non Prosedural biasanya digunakan
dalam bahasa-bahasa DBMS seperti pada dBase , Access , Paradox , FoxPro , SQL ,
dan sebagainya.
3. Device Control Media Language (DCML)
DCML adalah komponen bahasa DBMS yang digunakan untuk mengatur
perekaman atau penyimpanan data secara fisik. Komponen bahasa DCML digunakan
oleh operator-operator sistem basisdata didalam mengatur file - file data secara fisik.
Perintah - perintah yang termuat dalam komponen ini, antara lain perintah perintah:
merekam (Write Record , Create Table) , menghapus (Drop , Delete Table).
Pemodelan DatabaseModel Data pada hakekatnya adalah kumpulan perangkat konseptual untuk
menggambarkan data , relasi data , makna (semantik) data , dan batasan data. Ada
sejumlah cara dalam merepresentasikan model data untuk keperluan perancangan basis
data , yaitu dikelompokkan sebagai berikut :
1. Model Hirarkis (Hierarchical Model)
Model data hirarkis adalah model data paling tua yang pernah diterapkan dalam
suatu DBMS. Model ini mengikuti pola hirarki pada suatu organisasi atau pada suatu
keluarga , dimana terdapat rekaman data yang berfungsi sebagai bapak (parent -
9
record) ada yang berfungsi sebagai anak (child - record) , atau sebagai pimpinan dan
anak-buah . Dalam model ini seorang bapak bisa memiliki lebih dari satu anak
tetapi seorang anak hanya boleh memiliki satu bapak .
Sebagai contoh basis data yang menggambarkan rencana studi mahasiswa dimana
seorang mahasiswa boleh mengambil beberapa mata kuliah.
Gambar : contoh model data hirarkis
Pada model diatas tidak direpresentasikan bahwa satu mata kuliah diambil oleh
beberapa mahasiswa , karena berarti menyalahi aturan dimana satu anak (kuliah)
memiliki banyak bapak (mahasiswa). Model diatas akan menyebabkan timbulnya
redudansi data , karena banyak kemungkinan bahwa mata kuliah yang sama diambil
oleh beberapa mahasiswa , sehingga record mata kuliah tersebut direkam berkali - kali
dibawah record mahasiswa yang mengambilnya. Disamping itu apabila ada mata kuliah
yang tidak diprogramkan oleh mahasiswa maka ada kemungkinan recordnya tidak ada
dalam database karena tidak memiliki parent.
Contoh model hirarkis yang menunjukkan hubungan Dosen-MataKuliah-Mahasiswa
dapat pula digambarkan dalam bentuk diagram sebagai berikut.
10
Gambar : contoh Diagram Hirarkis Dosen-Matakuliah-Mahasiswa
Perhatikan dalam model hirarki diatas , data mahasiswa yang sama terpaksa
direkam berulang ketika mahasiswa tersebut memprogramkan lebih dari satu mata kuliah.
Model hirarkis ini pernah diimplementasikan oleh IBM pada sebuah DBMS yang diberi
nama IMS (Information Management System) namun kemudian dikalahkan oleh
implementasi model yang lebih mutakhir seperti model Data Relasional seperti Rbase ,
dan sebagainya.
2. Model Jaringan (Network Model)
Model data jaringan adalah pengembangan dari model data hirarkis, melihat
kekurangan dari model hirarkis tersebut. Pada model jaringan diperkenankan bahwa
sebuah child record bisa memiliki lebih dari satu parent record. Pada implementasinya
berarti antara parent-record dan child-record diperlukan penghubung (link atau pointer)
yang bisa satu arah atau dua arah.
Gambar : Model Data Jaringan
Dengan model jaringan ini maka informasi dimana seorang mahasiswa dapat
mengambil beberapa matakuliah (pointer dari record mahasiswa tsb ke beberapa record -
kuliah) dan juga informasi bahwa satu mata kuliah dapat diprogramkan oleh banyak
mahasiswa (pointer dari record-kuliah ke beberapa record-mahasiswa) keduanya dapat
direpresentasikan.
Model Jaringan dari Dosen-Matakuliah-Mahasiswa dapat digambarkan sebagai berikut :
11
Gambar :Diagram Model Data Jaringan Dosen-Mata Kuliah-Mahasiswa
Persoalan yang timbul adalah terjadinya hutan pointer akibat relasi antar record
yang rumit sehingga penelusuran data menjadi sangat sulit. Ketika model relasional
menjadi lebih populer maka model inipun ditinggalkan orang.
3. Model Relasional (Relational Model)
Model data relasional adalah model data yang diciptakan berdasarkan teori-
relasional seperti relational algebra, dan relational calculus. Salah seorang pencetus
awal dari basis data relasional adalah E.F.Codd yang juga telah menciptakan serangkaian
operasi matematika relasional terhadap model data relasional.
Dalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyai
tingkatan-tingkatan, sebagai berikut :
• Karakter (Characters)
Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka 0
s.d 9), huruf ( A - Z, a - z) ataupunkarakter-karakter khusus, seperti *, &. %, # dan
lain-lain.
• Field atau Attribute
Merupakan bagian dari record yang menunjukkan suatu item data yang sejenis,
Misalnya : field nama , file NIM dan lain sebagainya. Setiap field harus mempunyai
nama dan tipe data tertentu. Isi dari field di sebut Data Value. Dalam tabel database ,
field ini disebut juga kolom.
12
• Record atau Tupple
Tuple/Record adalah kumpulan data value dari attribute yang berkaitan sehingga
dapat menjelaskan sebuah entity secara lengkap. Misal : Record entity mahasiswa
adalah kumpulan data value dari field NPM , nama, jurusan dan alamat perbarisnya.
Dalam tabel database , Record disebut juga baris.
• Table/Entity
Entity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database , bisa
berupa objek , orang , tempat , kejadian atau konsep yang informasinya akan
disimpan di database. Misal , Pada sistem database akademik, yang menjadi entity
adalah , mahasiswa , dosen, matakuliah dan lain-lain. Dalam aplikasi nantinya,
penggunaan istilah Entity sering di samakan dengan istilah Tabel (Entity = table).
Disebut tabel , karena dalam merepresentasikan datanya di atur dalam bentuk baris
dan kolom. Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem
database tradisional , entity/table ini disebut juga dengan file.
• Database
Kumpulan dari tabel-tabel yang saling berelasi, disusun secara logis , sehingga
menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan.
Pada prinsipnya model data relasional dapat direpresentasikan dalam bentuk table
(tabel) data , dimana :
• satu tabel mewakili satu domain data atau entity, bila direkam merupakan satu file
yang hanya memiliki satu tipe record saja , setiap record adalah baris.
• setiap record terdiri atas beberapa field (atribut) atau tuple , atau kolom.
• jumlah tuple / field pada setiap record samasetiap record memiliki atribut kunci utama
(primary key) yang unik dan dapat dipakai untuk mengenali satu record.
• record dapat diurutkan menurut kunci utama.
Contoh: domain mahasiswa dapat diwakili oleh satu tabel mahasiswa dengan
kunci utama adalah NIM (Nomor Induk Mahasiswa), dan domain mata kuliah dapat
diwakili oleh satu tabel kuliah dengan kunci utama kode-mkuliah.
13
tabel mahasiswa
Nim Nama_mhs Alamat_mhs Tgl_lahir
011234 Ihsan Jl. Melati 50 21-3-1990
011345 Ari Jl. Mawar 103 13-5-1997
011456 Ira Jl. Mangga 145 17-8-1989
tabel kuliah
Kode_mkuliah Nama_Mkuliah sks Semester
315KP2 Pemrograman Delphi 2 2
317KP2 Simbada 2 2
319MP2 Pengantar Hardware 2 2
Hubungan antara kedua domain ini dinyatakan dalam bentuk relasi, ada tiga
kemungkinan relasi antar dua domain yaitu:
• relasi satu-satu (one-to-one relation) : bahwa satu mahasiswa hanya boleh mengambil
satu mata kuliah, dan satu matakuliah hanya boleh diambil oleh satu mahasiswa,
relasi disingkat dengan simbol 1-to-1. Dalam implementasi dua file yang memiliki
relasi 1-to-1 dapat digabung menjadi satu file.
• relasi satu-banyak (one-to-many relation) : bahwa satu mahasiswa boleh ambil
banyak mata kuliah tetapi satu mata kuliah hanya boleh diambil oleh satu mahasiswa,
relasi disingkat dengan simbol 1-to-M atau M-to-1. Pada relasi 1-to-M atau M-to-1,
kunci record dari file pada sisi-1 harus ditambahkan sebagai kunci-tamu pada file sisi-
M
• relasi banyak-banyak (many-to-many relation) : bahwa satu mahasiswa boleh ambil
banyak mata kuliah, dan satu mata kuliah boleh diambil oleh banyak mahasiswa,
relasi disingkat dengan simbol M-to-M. Pada relasi M-to-M harus diciptakan sebuah
file relasi yang berisi minimal dua field kunci record dari masing-masing file yang
berelasi.
• Relasi Banyak ke Satu (Many to One) : Ini adalah kebalikan dari relasi satu ke
banyak , dimana setiap record pada entity A hanya dapat berelasi paling banyak 1
14
record pada entity B , tapi tidak sebaliknya , satu record pada entity B dapat berelasi
dengan beberapa record pada entity A. Dalam diagram E-R , relasi ini disimbolkan
dengan angka 1 untuk menyatakan satu dan huruf M atau N untuk menyatakan
banyak. Contoh : Dalam dunia akademik misalnya , beberapa (banyak) mahasiswa
hanya mempunyai satu pilihan jurusan , sebaliknya satu jurusan dapat dipilih oleh
beberapa(banyak) mahasiswa
Contoh relasi antara domain mahasiswa dan mata kuliah secara logis hanya bisa
diterima pada jenis relasi banyak-banyak (M-to-M). Perwujudan dari relasi banyak-
banyak ini diwakili oleh tabel relasi yang minimal memuat kunci utama masing-masing
domain yang berelasi.
Nim Kode_kuliah Nilai
011234 315KP2 A
011234 319MP2 B
011345 315KP2 C
011345 317KP2 A
011345 319MP2 C
011456 317KP2 D
11456 319MP2 B
4. Model Relasi Entitas (Entity-Relationship Model)
Model Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya
perwujudan dari model relasional dalam bentuk diagram , yaitu E-R Diagram. Domain
data disebut juga sebagai himpunan entitas , diwakili oleh diagram kotak. Field-data atau
atribut diwakili oleh diagram lingkaran atau ellips. Hubungan atau relasi antar domain
diwakili oleh jajaran-genjang. Ada dua komponen utama pembentuk model data ini,
yaitu Entity beserta attributenya dan relasi dan jenis hubungannya.
15
Gambar : Simbol Relasi Entitas
Contoh relasi antara domain mahasiswa dan domain matakuliah diwujudkan
dalam diagram E-R sebagai berikut:
Gambar : Diagram E-R Mahasiswa-Matakuliah
Tahapan Membuat Diagram E-R :
• Mengidentifikasi dan menetapkan seluruh entity yang terlibat dalam sistem database
tersebut.
• Menentukan attribute-attribute atau field dari masing-masing entity beserta kunci
(key)nya.
• Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-
himpunan entity yang ada beserta kunci tamunya. (foreign key).
• Menentukan derajat relasi untuk setiap himpunan relasi.
• Menentukan attribute dari suatu entitas sangat menentukan baik atau tidaknya sistem
database yang dirancang, karena attribute ini sangat menentukan nantinya dalam
proses relasi.
16
Attribute merupakan ciri khas yang melekat pada suatu entity, misalnya attribute
pada mahasiswa dapat berupa NPM , nama , tempat lahir, tanggal lahir , alamat ,
nama orang tua , pekerjaan orang tua dan lain-lain. Dari sekian banyak kemungkinan
attribute yang ada pada entity mahasiswa, kita dapat menggunakan hanya yang perlu
saja.
Setelah menentukan attributenya selanjutnya adalah menentukan field kunci.
Field kunci adalah penanda attribute tersebut sehingga bisa digunakan untuk relasi
nantinya dan field kunci ini harus bersifat unik. Misalnya pada entity mahasiswa ,
attribute NPM bisa dijadikan field kunci , karena bersifat unik dan tidak ada
mahasiswa yang mempunyai NPM sama.
• Mengidentifkasi dan menetapkan seluruh himpunan relasi diantara himpunan-
himpunan entity yang ada beserta kunci tamu (foreign key)-nya.
Setelah menentukan entity dan attribute beserta field kuncinya , maka selanjutnya
adalah menentukan entity yang terbentuk akibat adanya relasi antar entity. Misalnya
antara entity mahasiswa dengan entity dosen, terjadi suatu hubungan proses mengajar,
maka proses mengajar ini merupakan entity baru. Entity mengajar ini harus kita tentukan
juga attribute yang melekat padanya beserta kunci tamu (foreign key). Kunci tamu adalah
field kunci utama pada tabel lain , dan field tersebut digunakan juga pada tabel yang satu
lagi. Misalnya NPM adalah field kunci dari entity mahasiswa , pada entity mengajar
terdapat juga attribute NPM , maka keberadaan attribute NPM pada entity mengajar
disebut sebagai kunci tamu. Proses menentukan hubungan antar entity juga sangat
menentukan kualitas sistem database yang dirancang.
Setelah semua entity dan attribute yang dibutuhkan terbentuk , maka selanjutnya
adalah menentukan derajat relasi antar entity tersebut, apakah satu kesatu , satu ke
banyak atau sebaliknya , atau banyak ke banyak. Kita harus jeli dalam menentukan
derajat relasi ini, karena nantinya akan berhubungan dengan proses query terhadap data.
Jenis-Jenis Kunci (Key)
1. Candidat Key (Kunci Calon)
Sebuah attribute atau lebih yang secara unit mengidentifikasi sebuat record, disebut
candidate key. Attribute ini mempunyai nilai yang unik pada hampir setiap recordnya.
Fungsi dari candidate key ini adalah sebagai calon primary key.
17
2. Primary Key (Kunci Utama)
Merupakan candidate key yang telah dipilih untuk mengidentifikasi setiap record
secara unik. Primary key harus merupakan field yang benar-benar unik dan tidak
boleh ada nilai NULL. Misal : Perhatikan kembali entity dosen di atas, yaitu
mempunyai dua Candidate Key, maka kita dapat mengambil field KodeDosen
sebagai Primary Key, Karena lebih sederhana dalam jumlah digit dan unik. Boleh
juga menggunakan NIP sebagai Primary Key-nya, hal ini tergantung kepada si
perancang database itu sendiri.
3. Alternate Key (Kunci Alternatif)
Adalah candidate key yang tidak terpilih. Misal : dalam suatu entity terdapat dua field
yang bisa dijadikan sebagai kunci. Sementara yang boleh dijadikan kunci hanya satu ,
maka anda harus memilih salah satu. Field yang anda pilih , disebut primary key ,
sedangkan field yang tidak dipilih disebut dengan alternate key. Misal : Kembali ke
kasus entity dosen diatas , jika kita pilih field KodeDosen sebagai Primary Key ,
maka otomatis field NIP menjadi Alternate Key nya , begitu juga sebaliknya.
4. Foreign Key (kunci Tamu)
Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary
key pada entity tersebut di sebut sebagai foreign key. Misal : Primary Key
KodeDosen dari entity Dosen digunakan juga pada field entity KRS , maka
keberadaan field KodeDosen pada entity KRS disebut sebagai foreign key.
5. Model Berbasis Objek (Object Oriented Model)
Model data berbasis objek dikembangkan searah dengan perkembangan
pemrograman berbasis objek. Salah satu karakteristik dari sistem berbasis objek adalah
encapsulation yaitu suatu objek terpisah dari objek lain sehingga setiap objek seakan-
akan berada dalam kapsulnya masing-masing. Pada setiap kapsul terdapat komponen
data (attribute) dikemas bersama dengan komponen aksesnya (methods). Sebagai contoh,
berikut ini disajikan data pegawai dalam format berbasis objek.
18
Gambar : Model Objek Data Pegawai Dosen
Sumber :
www.teknik-informatika.com
www.dijexi.com
www.oneindoskripsi.com
www.kaskus.us
www.pdfdatabase.com
www.id.wikipedia.org
www.diskusiweb.com