5 transformasi model data

39
Simon Patabang, ST., MT. IMPLEMENTASI BASIS DATA Simon Patabang, ST., MT. Jurusan Teknik Elektro Universitas Atmajaya Makassar

Upload: simon-patabang

Post on 20-Jul-2015

88 views

Category:

Education


2 download

TRANSCRIPT

Simon Patabang, ST., MT.

IMPLEMENTASI BASIS DATA

Simon Patabang, ST., MT.

Jurusan Teknik Elektro Universitas Atmajaya Makassar

Pendahuluan

� Tahap implementasi basis data merupakan upaya untuk membangunbasis data fisik yang ditempatkan dalam media penyimpan (disk)dengan bantuan DBMS.

� Tahap ini diawali dengan melakukan transformasi dari model dataERD menjadi struktur basis data.

� Secara umum, ERD akan diwujudkan menjadi sebuah basis datasecara fisik. Sedangkan komponen-komponen ERD yang berupahimpunan entitas dan himpunan relasi akan diwujudkan menjaditabel-tabel.

� Atribut-atribut yang melekat pada masing-masing himpunan entitasdan himpunan relasi akan dinyatakan sebagai field-field dalam tiaptabel.

2

Pendahuluan

Performansi basis data ditentukan oleh :

� Kualitas dan bentuk perancangan basis data

� Kualitas mesin / komputer� Kualitas mesin / komputer

� Platform yang dipilih

� Sistem operasi

� DBMS yang dipilih

3

Transformasi Model data

Aturan umum dalam pemetaan model data yang digambarkan dalamERD (level konseptual) menjadi Basis data fisik (level fisik) adalah :

� Setiap Entitas akan diimplementasikan sebagai sebuah tabel (filedata). Contoh : Entitas Mahasiswa dan Mata Kuliah.

4

Transformasi 1 - 1

� Relasi dengan derajat relasi satu-ke-satu, yang menghubungkan 2 buahhimpunan entitas akan direpresentasikan dalam bentuk penambahan /penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu darikedua himpunan entitas. Contoh : Dosen sebagai Ketua Jurusan.

5

Transformasi Relasi 1 - M

� Relasi dengan derajat satu ke banyak, yang menghubungkan 2 buahhimpunan Entitas, akan direpresentasikan dalam bentuk pemberianatribut kunci dari himpunan entitas pertama (yang berderajat 1) ketabel yang mewakili himpunan entitas kedua (yang berderajat M)

6

Transformasi M - M

� Relasi dengan derajat banyak ke banyak, yang menghubungkan 2 buahhimpunan entitas akan diwujudkan dalam bentuk tabel khusus, yangmemiliki field (atau foreign key) yang berasal dari kunci-kunci darihimpunan entitas yang dihubungkannya.

7

Transformasi Pada Entitas Lemah

� Himpunan entitas lemah berisi entitas-entitas yangkemunculannya tergantung pada eksistensinya dalam sebuahrelasi terhadap entitas lain.

� Himpunan entitas lemah biasanya tidak memiliki key yang

8

� Himpunan entitas lemah biasanya tidak memiliki key yangdapat menjamin keunikan entitas didalamnya.

� Contoh Entitas Lemah adalah OrangTua dan Hobby.

Entitas Lemah Dalam ERD

9

Tabel Dari Entitas Lemah

Entitas Lemah Orang Tua dan Hobby dapatditransformasikan menjadi sebuah tabel denganmenyertakan key yang ada pada Entitas Kuat, sebagaiberikut :

10

Spesialisasi

� Spesialisasi adalah proses pemisahan sebuah entitas yang beradadalam himpunan yang sama tetapi memiliki perbedaan atributsecara sepesifik.

� Misalnya sebuah Himpunan Dosen terdiri dari dari Dosen Tetap dan Dosen Tidak Tetap.

11

dan Dosen Tidak Tetap.

� Dosen Tetap dan Dosen Tidak Tetap memiliki perbedaan atributdalam hal status dosen sehingga tidak boleh disimpan dalam tabelyang sama.

� Adanya spesialisasi diwujudkan dalam notasi relasi yang khusus, yang disebut ‘ISA’ (yang berasal dari ‘Is A’).

Spesialisai Entitas Dosen

12

Tabel Entitas ISA

� Sub Entitas hasil Spesialisasi diimplementasikan sebagai berikut :

13

Generalisasi

� Jika sebaliknya, sebuah himpunan entitas yang terdiri daribeberap kelompok tertentu dan pengelompokan ini tidakdipertegas dengan adanya perbedaan atribut, makakelompok-kelompok tersebut disatukan dalam sebuahhimpunan dengan atribut yang sama. Proses yang demikiandisebut Generalisasi.

14

disebut Generalisasi.

� Spesialisasi dan generalisasi merupakan dua proses yangberlawanan, yang ditekankan dalam spesialisasi adalahperbedaan antar kelompok entitas, sedangkan dalamgeneralisasi yang ditekankan adalah persamaannya.

Generalisasi Entitas D3 dan S1

15

Tabel Generalisasi

� Generalisasi akan menyusutkan jumlah himpunan entitasmenjadi hanya sebuah tabel.

� Pada table tersebut ditambahkan sebuah atribut yang nantinyaakan diisi dengan kode khusus yang menyatakan perbedaantersebut.

16

tersebut.

Agregasi

� Agregasi adalah sebuah himpunan relasi yang secara langsungmenghubungkan sebuah Entitas dengan sebuah himpunanrelasi dalam Diagram-ER.

� Sebuah relasi terbentuk tidak hanya dari himpunan entitastetapi juga mengandung unsur dari relasi lain. Sebenarnyakondisi ini tidak tepat bahkan ada yang dengan tegas tidak

17

kondisi ini tidak tepat bahkan ada yang dengan tegas tidakmemperbolehkan.

� Sebagai jalan tengah digunakan notasi khusus untukmenunjukan adanya agregasi semacam itu.

� Contoh dari agregasi Entitas Mahasiswa, Mata Kuliah, danPraktikum, dimana Praktikum diikuti oleh Mahasiswa jikatelah mengambil/Lulus dari Mata Kuliah sebagai syarat.

ERD Agregasi

18

Tabel Agregasi

� Himpunan relasi Mengikuti menghubungkan entitasPraktikum secara langsung dengan relasi Mempelajari.

� Relasi Mengikuti merupakan bentuk agregasi relasiMempelajari dan entitas Praktikum.

19

Mempelajari dan entitas Praktikum.

� Karena semua derajat relasi yang ada pada Diagram-ER diatasadalah N-N, maka baik relasi Mempelajari maupun Mengikutimasing-masing direpresentasikan dalam tabel terpisah.

Tabel Agregasi

20

Pengkodean / Abstraksi data

Tujuan

� Untuk efisiensi ruang penyimpanan.

� Untuk menyembunyikan data dari pandangan user sehinggadata yang dilihat oleh end-user bisa berbeda dengan data

21

data yang dilihat oleh end-user bisa berbeda dengan datayang disimpan.

� Untuk menyerdehanakan cara penyimpanan data sehinggaapa yang dilihat oleh end-user bisa jadi merupakan hasilpengolahan yang tidak disimpan sama sekali dalam basis data,atau bisa dinyatakan dalam bentuk lain.

Bentuk Pengkodean

Ada dua bentuk pengkodean :

1. Eksternal (user-defined coding)Mewakili pengkodean yang telah digunakan secara terbukadan dikenal dengan baik oleh pemakai awam. Contoh :Nomor mahasiswa dengan NIM dan Kode matakuliah

22

Nomor mahasiswa dengan NIM dan Kode matakuliahdengan Kode_Mtk

2. Internal (system coding)Menggambarkan bagaimana data disimpan dalam kondisisebenarnya, sehingga lebih berorientasi pada mesin. MisalnyaNIM dipilih sebagai kode primary key.

Cara Pengkodean

� Sekuensial

Mengasosiasikan data dengan kode terurut, misalnya : (Sempurna,Baik, Cukup, Kurang, Buruk) dikodekan dengan : “A, B, C, D dan E“.

� MnemonicPengkodean dilakukan dengan membentuk suatu singkatan dari datayang hendak dikodekan. Contoh : “Laki-laki” � dikodekan ‘L”;

23

yang hendak dikodekan. Contoh : “Laki-laki” � dikodekan ‘L”;“Perempuan”� dikodekan “P”

� BlokPengkodean dinyatakan dalam format tertentu. Contoh : Nomormahasiswa dengan format XX.YY.ZZZZ � terdiri atas XX = 2 digittahun masuk,YY = 2 digit kode jurusan, ZZZZ = 4 digit nomor urut

Struktur Tabel

� Dalam menentukan struktur dari tabel, paling tidak setiapstruktur tabel berisikan nama field, tipe field dan ukurannya

� Tatacara penamaan field, pilihan tipe field serta fasilitastambahan lainnya untuk struktur tabel sangat tergantung

24

tambahan lainnya untuk struktur tabel sangat tergantungpada DBMS yang digunakan

� Tipe data yang bersifat umum adalah : Integer, Real,Currency,Text, dll

Tipe Data

� Data Alphanumerik, isinya berupa angka tapi tidak menunjukkanjumlah, sehingga dianggap sebagai teks. Misalnya : Nomhs, NIP

� Data Numerik, isinya berupa angka yang menunjukkan jumlah.Misalnya : SKS, Gaji pokok

25

� Data bilangan bulat (integer), Byte (1 byte), Small-Integer (2byte), Long Integer (4 byte)

� Data bilangan nyata, Single (4 byte), Double (8 byte). Tipe datasingle dapat menampung hingga 7 digit pecahan, sedangkan doublehingga 15 digit pecahan

Tipe Data

� Dalam komputasi, data integer akan membutuhkan waktu lebihcepat dalam pengolahan data dibandingkan real. Begitu juga,karena ruang penyimpanan yang dibutuhkan lebih kecil, maka datasingle akan lebih cepat dalam pengolahan dibandingkan double

� Data uang (currency), pemakaian tipe ini sangat membantudalam mengatur tampilan data yang berkaitan dengan nilai uang,

26

dalam mengatur tampilan data yang berkaitan dengan nilai uang,misalnya dengan adanya pemisahan ribuan/jutaan dan adanyatanda mata uang

� Data teks, ada dua jenis yaitu ukuran tetap (fixed character) danukuran dinamis (variable character). Misalnya field nomhs lebihtepat bertipe fixed character karena ukurannya pasti dan pendek.Sedangkan nama mahasiswa sebaiknya bertipe variable characterkarena panjang dan bervariasi

Tipe Data

Pertimbangan untuk menentukan tipe data adalah :

� Kecukupan domain

� Harus dapat menjamin bahwa tipe data yang dipilih pada tiapfield akan dapat menampung semua nilai yang akan diisikanke dalam field tersebut

27

ke dalam field tersebut

� Efisiensi ruang penyimpanan

� Apabila pemilihan tipe data tidak tepat (berlebihan),akibatnya akan memperbesar ukuran tabel secara keseluruhan

� Kecepatan pengolahan data

� Pada akhirnya, pemilihan tipe yang tidak tepat jugamengakibatkan pengaksesan data menjadi lebih lambat

Contoh Tabel BD MS Access

28

Indeks Tabel1. Indeks Primer (Primary Key)

� Primary Key (PK) pada setiap tabel hanya ada satu danhampir selalu ditentukan dari kunci primer yang telahditetapkan dalam sebuah entitas / relasi

29

� PK yang baik terdiri atas field-field dengan kriteria sbb :� Field yang menjadi komponen PK harus bersifat mandatory (datanya

tidak boleh kosong atau berisi nilai null)� Keseluruhan nilai PK bersifat unik� Nilai-nilainya lebih permanen (idealnya tidak pernah berubah)� Berukuran kecil (pendek) dengan jumlah field yang minimal (sedikit)

Indeks Tabel

2. Indeks Sekunder (Secondary Key)

� Digunakan untuk mendukung keberadaan PK yang dibuatuntuk suatu tabel dengan alasan untuk mempermudahberbagai cara pengaksesan ke suatu tabel

� Misalnya : field Nama_Mahasiswa � untuk memudahkan

30

� Misalnya : field Nama_Mahasiswa � untuk memudahkanpencarian data berdasar nama mahasiswa; disampingpencarian berdasar NOMHS

� Kriteria dari SK adalah :� Jumlah SK dalam sebuah tabel boleh lebih dari Satu

� Nilai-nilai field yang menjadi pembentuk SK tidak harus bersifat unik

Membuat PK Dalam DB Access

31

Contoh Tabel Dgn PK

32

Struktur Penyimpanan

Struktur penyimpanan dasar yang dapat diterapkan padasuatu tabel (bergantung pada DBMS yang dipakai) yaitu :

33

1. Heap

2. Hash

3. Sekuensial Berindeks

4. File berindeks

Heap

� Merupakan struktur penyimpanan yang paling sederhana dan paling hemat dalam kebutuhan ruang penyimpanan

� Setiap baris data disusun berdasar kronologis penyimpanannya. Record yang pertama disimpan akan ditempatkan di posisi awal ruang penyimpanan, dan begitu seterusnya

� Pengubahan data tidak akan mengubah urutan record tersebut.

34

� Pengubahan data tidak akan mengubah urutan record tersebut. Jika terjadi penghapusan, maka record-record dibawahnya akan dimampatkan untuk mengisi tempat yang kosong akibat penghapusan

� Pencarian data berjalan dengan lambat, karena dilakukan secara sekuensial baris demi baris

� Struktur ini cocok untuk tabel berukuran kecil dan jarang berubah

Hash

� Baris-baris data ditempatkan berdasarkan nilai alamat fisikyang diperoleh dari hasil perhitungan (fungsi hashing)terhadap nilai key-nya. Karena itu penempatan recorddalam tabel tidak tersusun berdasarkan kedatangannya.Bisa jadi record yang terakhir dimasukkan justrumenempati urutan pertama

� Memiliki performansi yang paling baik dalam hal

35

� Memiliki performansi yang paling baik dalam halpencarian data tunggal berdasar kunci indeks

� Struktur ini cocok untuk tabel-tabel yang sering menjadiacuan bagi tabel lain

� Kelemahannya membutuhkan ruang penyimpanan awalyang besar, untuk menjamin agar record-record yangdisimpan tidak menempati alamat yang sama �

dibutuhkan alokasi ruang penyimpanan

Sekuensial Berindeks

� Menempatkan data dengan urutan tertentu berdasar nilai indeksprimernya

� Record yang memiliki nilai IP paling kecil dibandingkan recordyang lain akan ditempatkan di awal ruang penyimpanan tabelmeskipun dimasukkan belakangan

36

meskipun dimasukkan belakangan

� Performansi turun pada saat terjadi penambahan atau perubahandata yang menyangkut nilai indeks primernya, karena perludilakukan penataan ulang

� Struktur ini cocok untuk tabel yang sifatnya statis, dan untukpencarian data kelompok dalam suatu tabel (lebih baik daripadahash)

File Berindeks

� Dikembangkan dari struktur heap. Record-record disusun berdasarkronologis penyimpanannya (seperti heap). Namun disediakan pulafile indeks yang disusun berdasar nilai key setiap record yangberguna untuk membantu proses pencarian data ke suatu tabel

Terdapat 2 komponen yaitu komponen data dan komponen indeks.

37

� Terdapat 2 komponen yaitu komponen data dan komponen indeks.Komponen data disusun dengan struktur heap, dan komponenindeks disusun dengan struktur sekuensial berindeks

� Struktur ini cocok untuk tabel yang dinamis dan berukuran besar

Latihan / TugasBuatlah rancangan Database tentang :

1. Toko Buku

2. Toko Elektronik

3. Gudang Barang

38

3. Gudang Barang

4. Rental Mobil

5. Hotel

6. Apotik

Continue !

39

Continue !