presentasi basis data
TRANSCRIPT
UNIVERSITAS NASIONAL PASIM2014
BASIS DATA
Dipresentasikan Oleh :
Achmad KhaerudinAhsan Asy ariFaisal FahrurojiDikdik KurniawanFernanda Firdaus
POKOK BAHASAN
Relasi entitas dan derajat kardinalitas
Contoh-contoh bentuk entitas
Varian-varian ERD
Denormalisasi tabel
Denormalisasi ERD
Teknik-teknik searching dalam Basis Data
Pengertian Entitas
Entitas adalah suatu objek yang dapat diidentifikasi dalamlingkungan pemakai, sesuatu yang penting bagi pemakai dalamkonteks sistem yang akan dibuat. Sebagai contoh pelanggan,pekerja, mahasiswa, dll.
Contoh : Seandainya A adalah seorang pekerja maka Aadalah isi dari pekerja, sedangkan jika B adalah seorangpelanggan maka B adalah isi dari pelanggan.
Karena itu harus dibedakan antara entitas sebagaibentuk umum dari deskripsi tertentu dan isi entitas sepertiA dan B dalam contoh diatas.
Himpunan entitas : merupakan sekelompok entitas sejenisdan berada dalam lingkup yang sama. Misalnya Mobilmerupakan himpunan entitas; sedangkan suzuki, toyota,honda merupakan entitas.honda merupakan entitas.
Entitas digambarkan dalam bentuk persegi panjang.
Pekerja
Pengertian Atribut
Atribut : Entitas mempunyai elemen yang disebut atribut, danberfungsi mendeskripsikan karakter entitas. Misalnya atribut namapekerja dari entitas pekerja.
Setiap ERD bisa terdapat lebih dari satu atribut Atribut Entitas digambarkan dalam bentuk elips
Pekerja
NamaPekerja
Alamat
Telepon
Relasi Entitas menunjukkan adanya hubungan / relasi diantarasejumlah entitas yang berasal dari himpunan entitas yang berbeda
sebagaimana halnya entitas maka hubunganpun harusdibedakan antara hubungan atau bentuk hubungan antar
Relasi Entitas
dibedakan antara hubungan atau bentuk hubungan antarentitas dengan isi dari hubungan itu sendiri.
Misalnya dalam kasus hubungan antara entitas siswa danentitas mata_kuliah adalah mengikuti, sedangkan isihubungannya dapat berupa nilai_ujian.
Hubungan digambarkan dalam bentuk diamond atau jajarangenjang
Derajat Kardinalitas
Kardinalitas relasi menunjukkan jumlah maksimum entitasyang dapat berelasi dengan entitas pada himpunanentitas yang lain
Contoh : entitas-entitas pada himpunan entitas Mahasiswadapat berelasi dengan satu entitas, banyak entitas, ataubahkan tidak satupun entitas dari himpunan entitas Kuliah
a. Satu ke satu (One to one)setiap entitas pada himpunan entitas A berhubungandengan paling banyak satu entitas pada himpunanentitas B, dan begitu sebaliknya setiap entitas pada
Contoh Bentuk Entitas
entitas B, dan begitu sebaliknya setiap entitas padahimpunan entitas B berhubungan dengan palingbanyak satu entitas pada himpunan entitas A
b. Satu ke banyak (One to many)setiap entitas pada himpunan entitas A dapatberhubungan dengan banyak entitas pada himpunanentitas B, dan tidak sebaliknya dimana setiap entitas
Contoh Bentuk Entitas
entitas B, dan tidak sebaliknya dimana setiap entitaspada himpunan entitas B berhubungan dengan palingbanyak satu entitas pada himpunan entitas A
c. Banyak ke satu (Many to one)setiap entitas pada himpunan entitas A berhubungandengan paling banyak satu entitas pada himpunanentitas B, dan tidak sebaliknya dimana setiap entitas
Contoh Bentuk Entitas
entitas B, dan tidak sebaliknya dimana setiap entitaspada himpunan entitas B dapat berhubungan denganbanyak entitas pada himpunan entitas A
d. Banyak ke banyak (Many to many)Setiap entitas pada himpunan entitas A dapatberhubungan dengan banyak entitas pada himpunanentitas B, dan sebaliknya dimana setiap entitas pada
Contoh Bentuk Entitas
entitas B, dan sebaliknya dimana setiap entitas padahimpunan entitas B dapat berhubungan denganbanyak entitas pada himpunan entitas A
1. Himpunan Entitas Kuat (Strong Entity Sets)
Merupakan himpunan entitas kuat/bebas Kemunculan entitas-entitas didalamnya tidak
Varian Entitas
Kemunculan entitas-entitas didalamnya tidaktergantung pada keberadaan entitas padahimpunan entitas lain.
Bukan merupakan bagian (sub) dari himpunanentitas lain.
Contoh : Himp. entitas Mahasiswa,Mata_Kuliah, Dosen, Jurusan, Pegawai, dsb.
2. Himpunan Entitas Lemah (Weak Entity Sets)
Nilai entitasnya tergantung pada eksistensinyadalam sebuah relasi terhadap entitas lain.
Varian Entitas
dalam sebuah relasi terhadap entitas lain.
Biasanya tidak memiliki atribut yang berfungsisebagai Kunci (Key).
Contoh : Himpunan entitas Hobi (yangkeberadaannya bisa ada atau tidak, tergantunghubungan (relasi) mahasiswa yang memilikihobi.)
3. Sub Entitas (Subtype Entities)
Himpunan entitas yang merupakan bagian dari himpunanentitas yang lebih superior/utama.
Varian Entitas
entitas yang lebih superior/utama.
Contoh : Himp. Entitas dosen dapat dipecahmenjadi sub entitas; Dosen Tetap dan DosenTidak Tetap. (entitas dosen merupakan entitassuperior/utama)
1. Relasi Tunggal (Unary Relation)
Merupakan relasi yang terjadi dari sebuah himpunanentitas ke himpunan entitas yang sama.
Varian Relasi
entitas ke himpunan entitas yang sama.
Entitas1 R1
2. Relasi Biner (Binary Relation)
Merupakan relasi yang terjadi dari sebuah himpunanentitas ke himpunan entitas lain yang berbeda.
Varian Relasi
entitas ke himpunan entitas lain yang berbeda.
Entitas1 R1 Entitas 2
3. Relasi Multi Entitas (N-Ary Relation)
Merupakan relasi dari 3 himpunan relasi atau lebih. Relasi seperti ini sebaiknya dihindari, karena dapat
Varian Relasi
Relasi seperti ini sebaiknya dihindari, karena dapatmengaburkan derajat relasi yang ada dalam relasitersebut.
R1Entitas1 Entitas 2
Entitas 3
4. Relasi Ganda (Redundant Relation)
Relasi ganda yaitu relasi yang terjadi antara dua himp.Entitas yang memiliki lebih dari satu relasi.
Varian Relasi
Entitas yang memiliki lebih dari satu relasi.
Entitas1 R1 Entitas2
R2
Denormalisasi database adalah pelanggaran aturan normalisasi ataumenjabarkan suatu tataan database yang telah normal untukmeningkatkan performa pengaksesan data pada database. Databaseyang telah normal disini dimaksudkan database yang redundansidatanya minim sehingga data yang disimpan tidak mengalami
Denormalisasi Tabel
datanya minim sehingga data yang disimpan tidak mengalamikerancuan dalam proses pengaksesan.
Denormalisasi dapat menggunakan dua cara yaitu : Dengan pembuatan kolom baru pada tabel / mengabungkan
kolom pada tabel satu dengan yang lain. Apabila data yangdidenormalisasi hanya kecil dan digunakan untukmempermudah pengaksesan data apabila diakses dalam satutabel.
Dengan pembuatan tabel baru. Dilakukan apabila data yangterdapat dalam tabel tersebut merupakan rangkuman /rekapitulasi dari satu atau beberapa tabel yangpengaksesannya terpisah dari tabel yang ada.
Kegunaan Denormalisasi
Apabila kita menilik lebih lanjut tentang proses pengaksesanyang dilakukan database sewaktu data yang berada dalamsuatu tabel ada 1000 baris dengan 100 juta baris. Hal itu akan
Denormalisasi Tabel
suatu tabel ada 1000 baris dengan 100 juta baris. Hal itu akanterasa sangat beda proses kita menunggu untuk dapat melihatdata. Itupun apabila kita mengaksesnya dari beberapa tabelyang setiap tabel berisikan jutaan data dan kita hanyamenginginkan sebagian saja. Dari situ denormalisasi diperlukan,untuk menjaga kestabilan performa suatu sistem.
Bentuk-bentuk Denormalisasi
a. Atribut yang terderivasi (atribut turunan)
Atribut turunan adalah atribut yang nilai-nilainya diperoleh dari
Denormalisasi Tabel
Atribut turunan adalah atribut yang nilai-nilainya diperoleh daripegolahan atau dapat diturunkan dari atribut atau tabel lain yangberhubungan. Atribut yang demikian sebenarnya dapat ditiadakan darisebuah tabel, karena nilai-nilainya bergantung pada nilai yang adapada atribut lainnya. hal inilah yang disebut sebagai denormalisasi.Yang keberadaan atributnya bersifat redundan. Atribut semacam inidigunakan untuk menghindari proses perhitungan yang berulang danmemakan banyak waktu.
Denormalisasi Tabel
Contoh :Tampilkan berapa banyak matakuliah yang sudah diambil olehmahasiswa tertentu!
Select count (*) from mengambil where NIM = ’09.51.0062’;
Untuk menampilkan banyak mata kuliah; di lakukan denormalisasi yaitudengan menambahkan beberapa atribut baru agar tidak memakanbanyak waktu dalam pemrosesannya.
Denormalisasi Tabel
b. Atribut yang berlebihan
Atribut yang berlebihan atribut yang menyatakan lebih dari satu fakta.Atribut berlebihan terbagi atas beberapa bagian yaitu :
Denormalisasi Tabel
Atribut Terkodekan. Atribut terkodekan adalah atribut yangmemiliki kode tambahan yang menunjukkan beberapa kondisilainnya.
Contoh :id_mk di tabelkuliah yang didalamnya sudah terkandung dataprogram studi. Data program studi ini sebenarnya tidak diperlukanlagi karena sudah ada atribut prog_studi di tabel kuliah.
Tapi akan menjadi aneh jika kode matakuliah tidak mengikutiformat aturan penulisan yang ada. Untuk itu kita bisa lakukandenormalisasi dengan tetap menuliskan kode matakuliah seperti dibawah.
Denormalisasi Tabel
Atribut Gabungan. Atribut gabungan adalah atribut yang terdiridari atribut yang lain.
Contoh :Atribut nim di tabel mahasiswa merupakan gabungan dari tahun
Denormalisasi Tabel
Atribut nim di tabel mahasiswa merupakan gabungan dari tahunmasuk/angkatan dengan program studi dan no urut mahasiswa.Dengan demikian atribut ini sebenarnya tidak atomik (bagianterkecil) karena masih bisa dibagi lagi.Misalnya : NIM : 09.51.0062 (Ket: angkatan.jurusan.no urut).
Sama halnya dengan atribut terkodekan,akan menjadi aneh jikanomor mahasiswa tersebut hanyalah nomor urut.Tentu hal ini akanmembutuhkan informasi lebih tentang angkatan dan terdaftardijurusan mana mahasiswa tersebut.
Atribut Tumpang Tindih. Atribut tumpang tindih adalah atributdengan nilai yang tidak sepenuhnya ekslusif (bersifat khusus).
Contoh :Atribut semester di tabel kuliah berisikan:
Denormalisasi Tabel
Atribut semester di tabel kuliah berisikan:– ‘1’ : matakuliah ganjil– ‘2’ : matakuliah genap– ‘3’ : matakuliah ganjil & genapNilai ‘3’ mencakup semester genap dan ganjil sekaligus(jadi tidakekslusif).
Jadi sebaiknya matakuliah dimasukkan dua kali, jika itu dilaksanakan di semester ganjil dan genap.Tentu saja hal ini melanggar aturan normalisasi (redundansi), tapiuntuk performansi hal ini dapat ‘dilanggar’.
Atribut Bermakna Ganda. Atribut bermakna ganda adalah atributyang memiliki arti berbeda tergantung kelompok entitasnya.
Contoh :Di tabel dosen terdapat atribut gaji. Bagi dosen tetap atribut ini
Denormalisasi Tabel
Di tabel dosen terdapat atribut gaji. Bagi dosen tetap atribut iniberisi gaji tetap perbulan, sedangkan bagi dosen tidak tetap gajiini berisi insentif (gaji tambahan) mengajar tiap sks.
Jika gaji dosen harus dibedakan, maka harus disediakan 2 buahatribut yakni gaji_tetap dan gaji_tidak_tetap.Walaupun sama-sama berisi tentang jumlah gaji yang diterima dosen, hal ini tentusajamelanggar aturan normalisasi karena ada blok data yangkosong. Tetapi sekali lagi, denormalisasi dalam hal ini bolehdilakukan.
c. Tabel Rekapitulasi (Summary Table)
Laporan hasil rekapitulasi akan selalu merupakan hasilpengolahan dari semua tabel yang ada.Pengolahantersebut melibatkan banyak tabel sehingga akan
Denormalisasi Tabel
tersebut melibatkan banyak tabel sehingga akanmembutuhkan waktu yang lama.Jika hal tersebut sering diakses dan diperlukan, maka perludibuat tabel khusus untuk menyimpan data hasil rekapitulasitersebut.Hal ini tentu saja akan menimbulkan redundansi, tapidengan mempertimbangkan performansi, Denormalisasipada kasus ini perlu dilakukan.
Denormalisasi ERD
Mengubah relasi-relasi ternormalisasi ke menjadi takternormalisasi untuk mengurangi jumlah tabel yang harusdilibatkan dalam operasi join.
Keuntungan:Keuntungan:
Dapat meningkatkan kinerja (kecepatan) proses denganmengurangi jumlah tabel yang dilibatkan dalam operasijoin.
Kerugian (karena duplikasi data):
Pemborosan ruang penyimpanan.
Resiko pelanggaran integritas/konsistensi data.
Denormalisasi ERD
Denormalisasi1 ke 1
Denormalisasi ERD
DenormalisasiBanyak keBanyak
Denormalisasi ERD
DenormalisasiData
Referensi
1. Boolean Searching
Salah satu metode pencarian yang paling umum adalahPencarian Boolean, juga disebut pencarian kata kunci.Jenis pencarian ini memberitahu database untuk mengambilsemua catatan dalam database yang berisi kata atau
Teknik Searching dalam Basis Data
semua catatan dalam database yang berisi kata ataumengatur kata-kata. Anda dapat mengubah hasil denganmenggunakan Boolean Operator yang merupakan kata-kataAND, OR dan NOT.
contoh : MataKuliah=Agama AND Dosen=Agus
akan mencari data yang berisi Mata Kuliah agama
Dan dosen bernama Agus dari BasisData
contoh : MataKuliah=Agama OR Dosen=Agus
akan mencari data yang berisi Mata Kuliah agama atau dosenbernama Agus dari Basis Data, Operator ini digunakan untukmemperluas jumlah record diambil.
MataKuliah=Agama NOT Dosen=Agus
akan mencari data yang hanya berisi Mata Kuliah agama dantidak dosen bernama Agus dari Basis Data, Operator inidigunakan untuk membatasi jumlah record diambil.
2. Teknik Truncation (Wildcards)
Digunakan untuk menemukan berbagai variasi bentuk katayang berbeda dari pencarian Boolean atau pencarian katakunci. Beberapa database menggunakan asterisk dan adapula yang menggunakan tanda tanya. Teknik ini bisapula yang menggunakan tanda tanya. Teknik ini bisadikombinasikan dengan Boolean Searching.
contoh : Dosen=Ag*
akan mencari data yang berisi nama dosen bernama Agus,Agatha, Agung dll dari BasisData
3. Teknik Kurung
Digunakan untuk menjaga proses logika dari BooleanSearching, caranya dengan menambahkan kurung kedalamset pencarian yang yang dibuat. Nesting sering digunakanketika data yang dicari memiliki arti yang sama atau apabilaketika data yang dicari memiliki arti yang sama atau apabilamenggunakan Operator Boolean lebih dari satu.
contoh : Dosen=Agus AND (MataKuliah=Agama ORMatematika)
akan mencari data yang berisi nama dosen bernama Agus,dan mata kuliah agama atau matematika.
1. Sistem Manajemen Basis Data Ebook, Adi Dewanto, RatnaWardani, PTI FT UNY.
2. Sistem Basis Data Varian Entitas dan Relasi e-paper, HenryPrimandary S,Kom, STMIK – MDP Palembang
3. http://lib.mdp.ac.id/ebook/Karya%20Umum/Diktat_Sistem_Basi
Daftar Pustaka
3. http://lib.mdp.ac.id/ebook/Karya%20Umum/Diktat_Sistem_Basis_Data.pdf
4. Basis Data (Database) e-paper, Haidar Dzacko. 2007.
5. http://mr_jock.mywapblog.com/denormalisasi.xhtml
6. http://imamgunawan.wordpress.com/category/sistem-basis-data/sistem-basis-data-ii/teori/perancangan_fisik_basis_data
7. http://informatika.web.id/organisasi-file-basis-data.htm
8. http://www.indiana.edu/~libhper/database_searching.pdf
9. https://www.library.uq.edu.au/how-to-guides/database-searching