Model Data - Basis Data
Model Data - Basis Data
Kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantic (makna) data dan batasan data Yang akan ditunjukkan adalah makna dari data dan keterhubungannya dengan data yang lain, maka model Data ini lebih tepat disebut Model Data Lojik
2
Model
Data Lojik berdasarkan Objek (Object Based Logical Model) yang terdiri dari :
Model Keterhubungan Entitas (Entity Relationship
Model) Model Berorientasi Objek (Object Oriented Model) Model Data Semantik (Semantic Data Model) Model Data Fungsional (Functional Data Model)
Model
Data Lojik berdasarkan Record (Record Based Logical Model) yang terdiri dari :
Model Relasional (Relational Model) Model Hirarki (Hierarchical Model) Model Jaringan (Network Model)
Model Relasional adalah model data yang paling popular digunakan dalam perancangan data Model Berorientasi Objek yang banyak digunakan dalam Pemrograman Berorientasi Objek.
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
Data direpresentasikan dengan kumpulan record dan relasi diantaranya direpresentasikan dengan links
type customer = record customer_name : string; customer_street : string; customer_city : string; end
10
Mirip
dengan model jaringan. Data direpresentasikan dalam record dan link. Perbedaannya adalah, record-record diorganisasikan sebagai tree (pohon) daripada graf. Model relasional berbeda dengan model jaringan & hirarki, dalam hal penggunaan pointer atau link.
11
12
Data Item / Field Byte Bit Gambar Komponen Utama Sistem Basis Data
13
Bit adalah suatu system angka biner yang terdiri atas dua nilai saja, yaitu 0 dan 1. Byte adalah bagian terkecil yang dapat dialamatkan dalam memori. Byte merupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu buah character dalam memori Data Item adalah unit terkecil yang disebut data item yaitu sekumpulan byte / character yang mempunyai makna Record adalah sekumpulan data item data yang saling berhubungan dengan suatu objek tertentu
14
File adalah sekumpulan record sejenis secara relasi, merupakan sekumpulan data item yang berhubungan dengan suatu objek tertentu Basis Data disebut pula sebagai koleksi data atau pustaka data atau library, adalah sekumpulan dari bermacam-macam tipe record yang mempunyai hubungan antar record terhadap suatu objek tertentu Sistem Basis Data adalah sekumpulan Basis Data dalam suatu system yang mungkin tidak berhubungan satu sama lain, namun secara sederhana, system basis data adalah tersusun dari banyak file.
15
Pada Model Entity-Relationship, dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data yang umum disebut dengan Diagram EntityRelationship (Diagram E-R). Dalam menggambarkan Diagram E-R ada beberapa komponen-komponen pembentuk Model Entity-Relationship. Komponen utama pembentuk Model Entity-Relatinship, yaitu Entitas (Entity) dan Relasi (Relation).
16
Entitas
merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Contoh : Mobil, Sepeda Motor dan lain-lain. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan Entitas (entity set). Himpunan entitas juga sering disebut hanya dengan Entitas saja.
17
Contoh-contoh
himpunan entitas :
entitas Budiman, Suherman, Aminah dan seterusnya Semua Mobil, atau Mobil saja dengan entitas mobil Honda, mobil Suzuki, mobil Toyota dan seterusnya Semua Mahasiswa atau Mahasiswa saja dengan entitas Ali, Budiman, Iman dan seterusnya
18
Setiap
Mendeskripsikan
entitas
Penentuan
/ pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal yang penting dalam pembentukan model data.
atribut bagi sebuah entitas umumnya didasarkan pada fakta yang ada.
19
Penetapan
Tetapi
tidak selalu seperti itu, karena pada saat proses normalisasi akan ada sejumlah atribut yang harus ditambahkan. relevan untuk lebih diperhatikan dalam pembuatan model E-R adalah kedudukan atribut dalam entitas. harus dapat membedakan mana atribut yang berfungsi sebagai kunci Primer (Primary Key) dan mana yang bukan (atribut deskriptif).
20
Yang
Kita
Contoh
merupakan key, Atribut-atribut lainnya merupakan atribut deskriptif (Nama, alamat, Tgl_Lahir) Kumpulan atribut Kode_jenis_barang dan no_barang merupakan key untuk himpunan entitas Barang
21
Pada
dasarnya key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. jika suatu atribut dijadikan sebagai key, maka tidak boleh ada dua atau lebih data dengan nilai yang sama untuk atribut tersebut
22
Artinya,
Atribut
kunci
Alternative Key
Foreign Key
23
Super
Key, satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.
Dalam entitas Mahasiswa (Nim, Nama, Alamat,
Candidate Key, kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah candidate key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi Super Key yang lain. Jadi, sebuah Candidate Key pastilah Super Key, tetapi belum tentu sebaliknya. Dalam Tabel Mahasiswa, Candidate Key adalah :
Nim Nama, jika kita bisa menjamin tidak ada nilai yang sama
Primary
Key, salah satu dari candidate key yang dipilih untuk mengidentifikasikan baris secara unik dalam entitas. Pemilihan Candidate Key menjadi sebuah Primary Key umumnya didasari oleh :
Key tersebut lebih sering untuk dijadikan sebagai
acuan Key tersebut lebih ringkas Jaminan keunikan Key tersebut lebih baik
26
Alternative
Key, Candidate key yang tidak terpilih sebagai primary key atau atribut untuk menggantikan kunci utama. Key, atribut dengan domain yang sama yang menjadi kunci utama sebuah relasi, tetapi pada relasi lain atribut hanya sebagai atribut biasa.
27
Foreign
Terdapat
dipilah lagi.
Contoh Nama, Umur.
banyak nilai.
Contoh : Pendidikan, Hobby.
nilai Derived Atrribut, adalah atribut-atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Atribut demikian sebenarnya dapat diabaikan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada di atribut lainnya
29
Relasi menunjukkan adanya hubungan diantara sejumlah record yang berasal dari entitas entitas yang berbeda. Mahasiswa Mengambil / Mengikuti / Mempelajari Mata Kuliah Kumpulan semua relasi di antara entitas-entitas Himpunan Relasi (Relationship sets). Himpunan relasi sering disebut juga hanya Relasi saja
30
Tipe data pada setiap atribut (kolom) untuk keperluan penentuan struktur setiap tabel. Penetapan Tipe Data ini akan berimplikasi pada adanya batas-batas nilai yang mungkin disimpan/diisikan ke setiap atribut (kolom) Integer -32768 hingga 32767 Kita tidak mungkin untuk memasukkan data di luar batas nilai tersebut, data pecahan apalagi data yang berupa string (kumpulan huruf)
31
Domain memiliki banyak kesamaan pengertian dengan fungsi Type Data Tipe Data lebih merujuk pada kemampuan penyimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat layak / tidaknya data tersebut bila dilihat dari kenyataan pemakaiannya. Domain nilai lebih ditekankan pada batas-batas nilai yang diperbolehkan bagi suatu atribut Tabel Kuliah misalnya Tipe Data atribut sks adalah integer. Secara fisik kita dapat saja menyimpan nilai -1, 0 atau 100, tetapi Dari kenyataan yang ada nilai yang layak (valid) untuk atribut sks adalah 1, 2, 3, 4 atau 6.
32
Pada
saat perancangan basis data tengah dilakukan, yang perlu kita lihat dan pertimbangkan adalah Domain nilai dari setiap atribut. Penetapan Tipe Data bagi suatu atribut baru akan relavan dan penting untuk diperhitungkan pada saat implementasi basis data
33
Kardinalitas
relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lainnya. Relasi merujuk kepada hubungan maksimum yang terjadi dari entitas yang satu ke entitas yang lainnya dan begitu juga sebaliknya.
34
Kardinalitas
Satu ke Satu (One to One) Setiap record pada Entitas A berhubungan dengan
paling banyak satu record pada entitas B, dan begitu juga sebaliknya setiap record pada entitas B berhubungan dengan paling banyak dengan satu record pada entitas A
A W X Y Z B K L M N
35
Satu ke Banyak (One to Many) Setiap record pada Entitas A dapat berhubungan
dengan banyak record pada entitas B, tetapi sebaliknya, dimana setiap record pada entitas B berhubungan dengan paling banyak dengan satu record pada entitas A
A W X B K L M N O
36
Banyak ke Satu (Many to One) Setiap record pada Entitas A berhubungan dengan
paling banyak dengan satu record pada entitas B, tetapi tidak sebaliknya, dimana setiap record pada entitas B dapat berhubungan dengan lebih dari satu record pada entitas A.
A V W X Y Z
B
K M O
37
Banyak ke Banyak (Many to Many) Setiap record pada Entitas A dapat berhubungan
dengan banyak record pada entitas B, dan demikian sebaliknya, dimana setiap record pada entitas B dapat berhubungan dengan banyak record pada entitas A
A
W X Y Z
B
K L M N
38
Model
Entity-Relationship yang berisi komponen-komponen Entitas dan Relasi yang masing-masing dilengkapi dengan atribut yang merepresentasikan garis seluruh fakta dari entitas. digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R).
39
Dapat
Notasi-notasi
sebagai key digaris bawahi) Belah Ketupat menyatakan Relasi Garis sebagai penghubung antara Relasi dengan Entitas dan Entitas dengan Atribut Kardinalitas Relasi dapat dinyatakan dengan banyaknya cabang atau dengan pemakaian angka (1 dan N).
40
Nama_Dos
Nama_Dos
Kode_Jur
Kode_Jur
1 Mengetuai Jurusan
Dosen
Alamat_Dos
Nama_Jur
41
Nama_Dos
Nama_Dos
Kode_Kul
SKS
Kode_Kul
1 Dosen Mengajar
N MataKuliah
Alamat_Dos
Tempat
Waktu
Nama_Kul
Semester
42
Nama
Nim
Nim
Kode_Kul
SKS
Kode_Kul
N Mahasiswa Mempelaja ri
MataKuliah
Alamat
Tgl_Lhr
Indeks_Nilai
Nama_Kul
Semester
43
Tujuan mendapatkan sebuah rancangan basis data minimal yang dapat mengakomodasi kebutuhan penyimpanan data Tahap ini umumnya mengabaikan anomali
44
Memperhatikan aspek-aspek efisiensi, performansi dan fleksibilitas, walau sering tolak belakang. Ditampuh dengan melakukan koreksi terhadap hasil tahap awal. Bentuk korekasi berupa pendekomposisian entitas, penggabungan entitas, pengubahan derajat relasi, penambahan relasi baru dan penambahan / pengurangan atribut
45
1. 2. 3.
4. 5.
Mengidentifikasi dan menetapkan seluruh entitas yang akan terlibat Menentukan atribut-atribut key dari masingmasing entitas Mengidentifikasi dan menetapkan seluruh relasi diantara entitas-entitas yang ada beserta foreign key nya Menentukan derajat / kardinalitas relasi untuk setiap relasi Melengkapi entitas dan relasi dengan atribut-atribut deskriptif (non key)
46
Mahasiswa
Kuliah
Dosen
47
Nim
Kod_Kul
Nama_Dos
Mahasiswa
Kuliah
Dosen
48
Nim
Nim
Kod_Kul
Kod_Kul
Mahasiswa
Mempelajari
Kod_Kul
Kuliah
Nama_Dos
Mengajar Nama_Dos
Dosen
49
Nim
Nim
Kod_Kul
Kod_Kul
N Mahasiswa Mempelajari
N
Kuliah Kod_Kul
Nama_Dos
Mengajar Nama_Dos 1
Dosen
50
Nim
Nama
Nim
Kod_Kul
SKS
Kod_Kul
N Mahasiswa Mempelajari
Alamat
Tgl_Lahir
Nilai Mengajar
Tempat
1
Dosen
Waktu
Alamat
Nama_Dos
51
N Mahasiswa Mempelajari
N Kuliah N
Mengajar 1
Dosen
52
Kamus
Data : Mahasiswa = {Nim, Nama, Alamat, Tgl_Lahir} Kuliah = {KodeKul, NamaKul, Sks, Semester} Dosen = {Nama, Alamat} Mempelajari= {Nim, KodeKul, Nilai} Mengajar = {KodeKul, Nama, Waktu, Tempat}
53
54