2.3
Konsep Model Relasional Konsep basis data model relasional memiliki beberapa definisi penting sebagai berikut: 1. Kumpulan objek atau relasi untuk menyimpan data 2. Kumpulan dari operator yang melakukan suatu aksi terhadap suatu relasi untuk menghasilkan relasi-relasi lain 3. Basis data relasional harus mendukung integritas data sehingga data tersebut harus akurat dan konsisten Contoh dari relasi adalah tabel. Kita dapat menggunakan perintah-perintah SQL untuk menampilkan data dari tabel. Fungsi-fungsi Basis Data Relasional Basis data relasional memiliki fungsi-fungsi kegunaan sebagai berikut: 1. Mengatur penyimpanan data
2. Mengontrol akses terhadap data 3. Mendukung proses menampilkan dan memanipulasi data Istilah-istilah Basis Data Relasional Beberapa istilah yang perlu kita pahami mengenai basis data relasional antara lain: Tabel : Merupakan struktur penyimpanan dasar dari basis data relasional, Row (baris) : Baris merupakan kombinasi dari nilai-nilai kolom dalam sebagai contoh, informasi tentang suatu departemen pada tabel terdiri dari satu atau lebih kolom (column) dan nol atau lebih baris (row). tabel;
Departmen. Baris seringkali disebut dengan "record". Column (kolom) : Kolom menggambarkan jenis data pada tabel; sebagai contoh, nama departemen dalam tabel Departmen. Kolom di definisikan dengan nama kolom dan tipe data beserta panjang data tertentu. Field : Field merupakan pertemuan antara baris dan kolom. Sebuah field dapat berisi data. Jika pada suatu field tidak terdapat data, maka field tersebut dikatakan memiliki nilai "null". Primary key : Primary key atau kunci utama merupakan kolom atau kumpulan kolom yang secara unik membedakan antara baris yang satu dengan lainnya; sebagai contoh adalah kode departemen. Kolom dengan kategori ini tidak boleh mengandung nilai "null", dan nilainya harus unique (berbeda antara baris satu dengan lainnya). Foreign key : Foreign key atau kunci tamu merupakan kolom atau kumpulan kolom yang mengacu ke primary key pada tabel yang sama atau tabel lain. Foreign key ini dibuat untuk memaksakan aturan-aturan relasi pada basis data. Nilai data dari foreign key harus sesuai dengan nilai data pada kolom dari tabel yang diacunya atau bernilai "null". Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.
memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data. - Tupel = merupakan baris pada sebuah relasi atau kumpulan elemenelemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NPM,nama mahasiswa, alamat, kota, dll.
- Domain = Kumpulan nilai yang valid untuk satu atau lebih atribut - Derajat = Jumlah atribut dalam sebuah relasi - Cardinality = Jumlah tupel dalam sebuah relasi
Contoh tabel dan keterhubungan MHS NPM 10296832 10296126 31296500 41296525 50096487 21196353 MKUL KDMK KK021 KK132 KU122 NILAI
5
SKS 2 3 2
MID 60 70 55 90 75 80 40
FINAL 75 90 40 80 75 0 30
Pada prinsipnya model data relasional dapat di-representasikan 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 sama setiap 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 matakuliah dapat diwakili oleh satu tabel kuliah dengan kunci utama kode-mkuliah.
011456
Charles
17-08-1980
Sks 2 2 2
Semester 5 4 5
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 matakuliah, 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 matakuliah tetapi satu matakuliah 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 matakuliah, dan satu matakuliah 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. Contoh relasi antara domain mahasiswa dan matakuliah secara logis hanya bisa diterima pada jenis relasi banyak-banyak (M-to-M). Perwujudan dari
7
relasi banyak-banyak ini diwakili oleh tabel relasi yang minimal memuat kunci utama masing-masing domain yang berelasi. Nim 011234 011234 011345 011345 011345 011456 011456 Kode_kuliah 315KP2 319MP2 315KP2 317KP2 319MP2 317KP2 319MP2 Nilai A B C A C D B
Keuntungan model relasional : 1. Bentuknya sederhana dengan model jaringan/network atau model hirarki. 2. Mudah melakukan berbagai operasi data yaitu dalam melakukan berbagai operasi data (query, insert, update, delete, dan lainnya).
Kekurangan model relasional : 1. Kelompok informasi/table yang berbeda harus dihubungkan untuk mengambil data 2. Pengguna Lebih sulit implementasinya terutama untuk data dalam jumlah besar dan tingkat kompleksitasnya tinggi. 3. Proses pencarian data lambat, karena beberapa tabel tidak dihubungkan secara fisik
Relational Keys Super Key adalah sebuah atau sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, super key yang mungkin adalah (NPM), (NPM, Nama), (NPM, Alamat), (Nama, Alamat), dan (NPM, Nama, Alamat). Candidate Key adalah super key yang himpunan bagian yang sebenarnya tidak ada yang menjadi super key juga. Berdasarkan contoh super key sebelumnya, candidate key yang mungkin adalah (NPM) dan (Nama, Alamat). Atribut Nama dan Alamat dapat dijadikan candidate key jika kombinasi keduanya bisa menjadi pengidentifikasi yang unik untuk sebuah tabel relasi.
2.4
1976. Model ini dirancang untuk menggambarkan persepsi dari pemakai dan berisi obyek-obyek dasar yang disebut entity dan hubungan antar entity-entity tersebut yang disebut relationship. Pada model ER ini semesta data yang ada dalam dunia nyata ditransformasikan dengan memanfaatkan perangkat konseptual menjadik sebuah diagram, yaitu diagram ER ( Entity Relationship) Entity-Relationship melengkapi penggambaran grafik dari struktur logika. Dengan kata lain Diagram E-R menggambarkan arti dari aspek data seperti bagaimana entity-entity, atribut-atribut dan relationship-relationship disajikan. Sebelum membuat Diagram E-R , tentunya kita harus memahami betul data yang diperlukan dan ruang lingkupnya. Di dalam pembuatan diagram E-R perlu diperhatikan penentuan sesuatu konsep apakah merupakan suatu entity, atribut atau relationship.
Tipe Entity
Entity adalah obyek yang dapat dibedakan dengan yang lain dalam dunia nyata. Entity dapat berupa obyek secara fisik seperti orang, rumah, atau kendaraan. Entity dapat pula berupa obyek secara konsep seperti pekerjaan , perusahaan, dan sebagainya. Tipe entity
9
merupakan sekumpulan obyek dalam dunia nyata yang mempunyai properti yang sama atau berasal dari entity yang sejenis. Terdapat dua tipe Entity, Entity Kuat dan Entity Lemah. Entity kuat adalah entity yang keberadaanya tidak tergantung pada entity lain, misalkan tipe entity pegawai atau cabang. Sedangkan Entity Lemah keberadaanya tergantung pada entity lain, misalkan tipe entity tanggungan, dimana keberadaannya tergantung dari pegawai . Entity disajikan dalam bentuk persegi panjang, entity kuat disajikan dengan perseg panjang dengan satu garis, sedangkan entity lemah disajikan dengan persegi panjang dobel .
ATRIBUT
Atribut adalah karakteristik dari entity atau relationship, yang menyediakan penjelasan detail tentang entity atau relationship tersebut. Nilai Atribut merupakan suatu data aktual atau informasi yang disimpan pada suatu atribut di dalam suatu entity atau relationship. Atribut digambarkan dalam bentuk oval. Jenis-jenis atribut : Key Atribut yang digunakan untuk menentukan suatu entity secara unik. Atribut Simple Atribut yang bernilai tunggal. Atribut Multivalue
10
Tgl_Lahi r
Gelar
NIP
Nama
Pegawai
11
Atribut
Composite
Suatu atribut yang terdiri dari beberapa atribut yang lebih kecil yang mempunyai arti tertentu.
Nama Depan
Nama Teng ah
Nama Belakang
Nama
Pegawai
Atribut
Derivatif
12
Tgl_lahi r
Umur
PEGAWAI
Relationship
Relationship adalah hubungan yang terjadi antara satu atau lebih entity. Relationship set adalah kumpulan relationship yang sejenis.
Pegawai
Proyek Kerja
Derajat dari relationship Derajat dari relationship menjelaskan jumlah entity yang berpartisipasi dalam suatu relationship. Terdapat tiga jenis derajat dari relationship, unary degree (derajat satu), binary degree (derajat dua) dan ternary degree (derajat tiga).
13
Pegawai
Lapo r
Pegawai
Kerj a
Departeme n
Pegawai
Ke rja
Departemen
Kota
Cardinality Rational Constraint Cardinality ratio contraint merupakan menjelaskan batasan jumlah keterhubungan satu entity dengan entity lainnya. Terdapat tiga Jenis cardinality ratio contraints, satu pada satu (1:1), satu pada banyak (1:N/ N:1) dan banyak pada banyak (M:N).
14
Pegawai
P1 P2 P3
R1 R2 R3
K1 K2 K3
1 PEGAWAI MILIK
1 KENDARAAN
1:N/N:1
Pegawai
P1 P2 P3 P4
Kerja
R1 R2 R3 R4
Departemen
D1 D2 D3
N PEGAWAI KER JA
1 DEPARTEM EN
15
P1 P2 P3
R1 R2 R3 R4
M
PEGAWAI KER JA
N
PROYEK
Participation Constraint Participation constraint merupakan batasan yang menjelaskan apakah keberadaan suatu entity tergantung pada hubungannya dengan entity lain .Terdapat 2 macam participation constraint , total participation contraints dan partial participation constraints Total Participation Keberadaan suatu entity tergantung pada hubungannya dengan entity lain.
N
PEGAWAI PUN YA
1
BAGIAN
Partial Participation
16
Keberadaan suatu entity tidak tergantung pada hubungannya dengan entity lain.
N
PEGAWAI KERJ A
1
PROYEK
17