1
Modul Pengajaran
PERANCANGAN BASIS DATA
PENYUSUN
Sandra J Kuryanti
Diploma Tiga
Program Studi Manajemen Informatika
2
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat
dan karunia-Nya, sehingga pada akhirnya penulis dapat menyelesaikan modul pengajaran ini
dengan baik.
Adapun judul modul pengajaran ini adalah Perancangan Basis Data. Penulis berharap
semoga modul pengajaran ini dapat bermanfaat dan dapat dipergunakan untuk menambah
materi pengajaran. Seperti kata pepatah, tak ada gading yang tak retak, penulis pun
menyadari kalau modul pengajaran ini masih belum sempurna, masih banyak terdapat
kesalahan di sana sini. Oleh karena itu penulis memohon kritik dan saran yang membangun
guna perbaikan modul ini ke depannya.
Akhir kata penulis mengucapkan terima kasih kepada semua pihak yang telah
membantu dalam penyelesaian modul pengajaran ini.
Wassalam
3
DAFTAR ISI
Halaman
Lembar cover ... 1
Kata Pengantar ... 2
Daftar Isi ... 3
BAB I ... ... 4
BAB II ... ... . 6
BAB III ... ……….. 7
BAB IV ……….. .... 11
BAB V ……….. ... 18
BAB VI ……….. .... 22
4 BAB I
KONSEP DASAR SISTEM DATABASE DAN PERANCANGAN DATABASE
Data Base (basis data) merupakan kumpulan data yang saling berhubungan.
Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel
yang ada. Dalam satu file atau table terdapat record-record yang sejenis, sama besar, sama
bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record (umumnya
digambarkan sebagai baris data) terdiri dari field yang saling berhubungan menunjukan
bahwa field tersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record.
Adapun Struktur Database adalah : Database File/Table Record Elemen
data/FieldDari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa
kriteria penting, yaitu :
1. Bersifat data oriented dan bukan program oriented.
2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
5. Dapat digunakan dengan cara-cara yang berbeda.
Prinsip utama Data Base adalah pengaturan data dengan tujuan utama fleksibelitas
dan kecepatan pada saat pengambilan data kembali. Adapun ciri-ciri basis data diantaranya
adalah sebagai berikut :
1. Efisiensi meliputi kecepatan, ukuran, dan ketepatan
2. Data dalam jumlah besar.
3. Berbagi Pakai (dipakai bersama sama/Sharebility).
4. Mengurangi bahkan menghilangkan terjadinya duplikasi dan ketidakkonsistenan data
Istilah-Istilah Yang Dipergunakan Dalam Sistem Basis Data 1. Enterprise yaitu suatu bentuk organisasi
Contoh :
Enterprise: Sekolah, Database : Nilai
Enterprise: Rumah sakit, Database : AdministrasiPasien
5 Contoh :
Database : Nilai, Entitas: mahasiswa, Matapelajaran
Database : Administrasi Pasien, Entitas: pasien, dokter, obat
3. Atribute/field yaitu setiap entitas mempunyai atribut atau suatu sebutan untuk mewakili suatu entitas.
Contoh :
Entity : siswa, Field = Nim, nama_siswa,alamat,dll
Entity : nasabah, Field=Kd_nasabah,nama_nasabah,dll
4. Data value yaitu data aktual atau informasi yang disimpan pada tiap data elemen atau
atribute.
Contoh :
Atribut nama_karyawan : sutrisno, budiman, dll
5. Record/tuple yaitu kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entity secara lengkap.
Contoh :
Record mahasiswa: nim, nm_mhs, alamat.
6. File yaitu kumpulan record-record sejenis yang mempunyai panjang elemen sama, atribute yang sama namun berbeda-beda data valuenya
6 BAB II DATA MODEL
Sekumpulan konsep-konsep untuk menerangkan data, hubungan-hubungan antara
data dan batasan-batasan data yang terintegrasi di dalam suatu organisasi. Tujuan model data
adalah untuk Menyajikan data agar mudah di modifikasi dan di mengerti.
Jenis-Jenis Model Data 1. Model data berbasis objek
Model data berbasis objek menggunakan konsep entitas, atribut dan hubungan antar
entitas. Model data berbasis objek terdiri dari : Entity Relationship model
Model untuk menjelaskan hubungan antar data dalam basis data berdasarkan suatu
persepsi bahwa real word terdiri dari objek-object dasar yang mempunyai hubungan
atau relasi antara objek-objek tersebut Semantik data model
Hampir sama dengan Entity Relationship model dimana relasi antara objek dasar
tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic).
2. Model data berbasis record
Model ini berdasarkan pada record untuk menjelaskan kepada user tentang hubungan
logic antar data dalam basis data 3. Model data fisik
Digunakan untuk menguraikan data pada internal level. Beberapa model yang umum
digunakan :
Unifying model
Model ini menggabungkan memori dan transaksi database dalam satu kesatuan model. Frame memory
Frame Memory adalah sebuah virtual view dari tempat penyimpanan sekunder yang
digunakan untuk mendukung penyimpanan record database 4. Model data konseptual
Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi
obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara
7 BAB IIII
ENTITY RELATIONSHIP DIAGRAM
Basisdata Relasional adalah kumpulan dari relasi-relasi yang mengandung seluruh informasi berkenaan suatu entitas/ objek yang akan disimpan di dalam database. Tiap relasi disimpan sebagai sebuah file tersendiri. Perancangan basisdata merupakan suatu kegiaatan yang setidaknya bertujuan sebagai berikut:
1. Menghilangkan redundansi data
2. Meminimumkan jumlah relasi di dalam basis data
3. Membuat relasi berada dalam bentuk normal, sehingga dapat meminimumkan permasalahan berkenaan dengan penambahan, pembaharuan dan penghapusan.
Entity relationship diagram / ERD adalah suatu pemodelan dari basisdata relasional yang didasarkan atas persepsi di dalam dunia nyata, dunia ini senantiasa terdiri dari sekumpulan objek yang saling berhubungan antara satu dengan yang lainnya. Suatu objek disebut entity dan hubungan yang dimilikinya disebut relationship. Suatu entity bersifat unik dan memiliki atribut sebagai pembeda dengan entity lainnya
Simbol Entity Relationship Diagram
Simbol Keterangan
Entity
Weak Entity
Relationship
8
Atribut
Atribut Primari Key
Atribut Multi Value
Atribut Derivatif
Atribut Composite
Contoh Kasus
Pada saat mendaftar menjadi anggota perpustakaan, dicatatlah nama, nomor mahasiswa dan
alamat mahasiswa. Setelah itu mereka baru bisa meminjam buku di perpustakaan. Buku-buku
yang dimiliki perpustakaan banyak sekali jumlahnya. Tiap buku memiliki data nomor buku,
judul, pengarang, penerbit, tahun terbit. Satu buku bisa ditulis oleh beberapa pengarang.
Tahapan pembuatan ERD
1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.
3. Mengidentifikasi dan menetapkan seluruh himpunan relasi diantara himpunan entitas-himpunan entitas yang ada beserta foreign key-nya.
4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
9 Contoh
1. Entitas = Anggota, Buku
2. Atribut Key = Nomor Mahasiswa, Nomor Buku 3. Relasi Anggota Dengan Buku = Meminjam 4. 1 : N
5. Anggota = Nama Mahasiswa, Alamat Mahasiswa
Buku = Judul, Pengarang, Penerbit, Tahun Terbit
Langkah 1
Langkah 2
Langkah 3
ANGGOTA BUKU
ANGGOTA BUKU
No_mhs No_buku
No_mhs
ANGGOTA
No_buku
BUKU
10 Langkah 4
Langkah 5
No_mhs
ANGGOTA
No_buku
BUKU
Meminjam
1 N
N Meminjam
1
ANGGOTA
No_mhs Nama
Alamat
BUKU
No_buku Pengarang
11 BAB IV
TEKNIK NORMALISASI
Normalisasi adalah teknik perancangan yang banyak digunakan sebagai pemandu dalam merancang basisdata relasional”. Pada dasarnya, normalisasi adalah proses dua langkah yang meletakkan data dalam bentuk tabulasi dengan menghilangkan kelompok
berulang lalu menghilangkan data yang terduplikasi dari tabel relasional.
Tujuan normalisasi :
1. Mengatur data dalam kelompok-kelompok sehingga masing-masing kelompok hanya
menangani bagian kecil sistem.
2. Meminimalkan jumlah data yang berulang dalam basisdata.
3. Membuat basisdata yang datanya diakses dan dimanipulasi secara cepat dan efisien tanpa
melupakan integrasi data.
4. Mengatur data sedemikian rupa sehingga ketika memodifikasi data, anda hanya
mengubah pada suatu tempat.
Aturan Normalisasi
1. Hilangkan kelompok berulang, buat tabel terpisah untuk setiap himpunan atribut yang berhubungan dan tentukan kunci utama pada masing-masing tabel.
2. Hilangkan data berulang, jika sebuah atribut hanya tergantung pada sebagian kunci utama gabungan, pindahkan atribut ke tabel lain.
3. Hilangkan kolom yang tidak tergantung pada kunci, jika atribut tidak tergantung pada kunci, pindahkan atribut ke tabel lain.
4. Pisahkan relasi majemuk, tidak ada tabel yang bias mengandung dua atau lebi relasi 1:n atau n:m yang tidak berhubungan langsung.
5. Pisahkan relasi majemuk yang berhubungan secara semantik, ada batasan pada informasi yang memperbolehkan pemisahan relasi many-to-many yang berhubungan secara logis. 6. Bentuk normal optimal, sebuah model hanya dibatasi oleh fakta sederhana.
7. Bentuk normal domain-key, sebuah model harus terbebas dari semua anomaly
Tahapan Normalisasi
1. Bentuk Normal Kesatu (1 NF / First Normal Form)
Bentuk Bentuk Normal Kesatu mempunyai ciri yaitu setiap data dibentuk dalam file flat,
12
value”. Tidak ada set atribut yang berulang ulang atau atribut bernilai ganda (multi value). Tiap field hanya satu pengertian, bukan merupakan kumpulan data yang
mempunyai arti mendua. Hanya satu arti saja dan juga bukanlah pecahan kata kata
sehingga artinya lain.
Atom adalah zat terkecil yang masih memiliki sifat induknya, bila dipecah lagi maka ia
tidak memiliki sifat induknya.
2. Bentuk Normal Kedua (2NF)
Bentuk Normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria
bentuk Normal Kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada
kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan
kunci-kunci field. Kunci field harus unik dan dapat mewakili atribut lain yang menjadi
anggotanya. Bentuk Normal Ketiga (3NF)
3. Untuk menjadi bentuk Normal Ketiga maka relasi haruslah dalam bentuk Normal Kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Artinya setiap
atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh.
Contoh pada bentuk Normal kedua di atas termasuk juga bentuk Normal Ketiga karena
seluruh atribut yang ada di situ bergantung penuh pada kunci primernya. 4. Boyce-Codd Normal Form (BNCF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk Normal
ketiga. Untuk menjadi BNCF, relasi harus dalam bentuk Normal Kesatu dan setiap
atribut dipaksa bergantung pada fungsi pada atribut super key.
Jenis – Jenis Key Field / atribute kunci dalam database: 1. Super key
Yaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan
secara unik sebuah entitas dalam entitas set.
2. Candidate key
Yaitu satu attribute atau satu set minimal atribute yang mengidentifikasikan secara unik
suatu kejadian yang spesifik dari entity.
3. Primary key
Yaitu satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasikan
secara unik suatu kejadian yang spesifik tapi juga dapat mewakili setiap kejadian dari
13 4. Alternate key
Yaitu kunci kandidat yang tidak dipakai sebagai primary key 5. Foreign key
yaitu satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan
yang menunjukkan ke induknya
Contoh
UNNORMAL FORM
SISWA(No_siswa, Nama, Wali_studi, Kelas1, Kelas2, Kelas3)
Siswa yang punya nomor siswa, nama dan wali studi mengikuti 3 mata pelajaran/
kelas. Disini ada perulangan kelas 3 kali ini bukan bentuk 1 NF.
Contoh Data:
No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3
22890100 Tanzania Zaman 1234 1543
Kode_kelas Nama_kelas Instruktur
1234 FisikaDasar Suroso
1543 Matematika Paulus
1775 Teknik Program Bagus
No_siswa Nama Wali_studi Kelas-l Kelas2 Kelas3
22890100 Tanzania Zaman 1234 1543
14 FIRST NORMAL FORM
Bentuk normal kesatu dari bentuk diatas menjadi:
No_siswa Nama Wali_studi Kode_kelas
22890100 Tanzania Zaman 1234
22890100 Tanzania Zaman 1543
22890101 Nia Rizki 1234
22890101 Nia Rizki 1775
22890101 Nia Rizki 1543
PT SANTA PURI FAKTUR PEMBELIAN BARANG
Jalan Senopati 11
Yogyakarta
Kode Nama Barang Qty Harea Jumlah
R02 RICE COOKER CC3 10.0 150.000, 00 1. 500.000,00
Total Faktur 1. 500.000,00
Jatuh Tempo Faktur: 09/03/90
PT SANTA PURI FAKTUR PEMBELIAN BARANG
Jalan Senopati 11
Yogyakarta
Total Faktur 33,500,000
15 1. Step I bentuk unnormalized
Bentuklah menjadi tabel unnormalized, dengan mencantumkan semua field data yang ada
Menuliskan semua data yang akan direkam Terlihat record record yang tidak lengkap, sulit
untuk membayangkan bagaimana bentuk record yang harus dibentuk untuk merekam data
tersebut.
2. Step II bentuk normal kesatu
Bentuklah menjadi bentuk normal kesatu dengan memisah misahkan data pada field field
yang tepat dan bernilai atomic, juga seluruh record harus lengkap adanya. Bentuk file
adalah flat file.
3. Step III bentuk normal kedua
Pembentukan bentuk normal kedua dengan mencari kunci kunci field yang dapat dipakai
sebagai patokan dalam pencarian dan sifatnya unik.
Melihat kondisi dari permasalahan factur di atas dapat diambil kunci kandidat yaitu: No factur (no fac)
16 Kode barang
Bentuklah tiga tabel dengan kunci tersebut, lihatlah ketergantungan fungsional field field
lain terhadap field kunci, maka didapatkan tabel sebagai berikut:
Field Qty dan Harga pada tabel tersebut tidak bergantung penuh pada kunci primer nomor nota, ia juga bergantung fungsi pada kode barang. Hal ini disebut sebagai
kebergantungan yang transitif dan haruslah dipisahkan dalam dua tabel.
Masih terdapat redundancy yaitu setiap kali satu nota yang terdiri dari 5 macam barang yang dibeli maka 5 kali pula dituliskan no nota, tanggal nota, tempo, dan totai.
Ini harus pula dipisahkan bila terjadi penggandaan tulisan berulang ulang.
4. Step IV Bentuk Normal Ketiga
Bentuk normal ketiga mempunyai syarat setiap tabel tidak mempunyai field yang
bergantung transitif, harus bergantung penuh pada kunci utama.
17 5. Step V Pengujian dengan data contoh
Pengujian disini untuk memastikan kebenaran isi tabel dan hubungan antara tabel tersebut.
Ujilah bahwa setiap tabel haruslah punya hubungan dengan tabel yang lainnya. Bila tidak
ada penghubunga antar tabel maka dapat dikatakan perancangan untuk membuat satu
18 BAB V
BAHASA QUERY FORMAL
Query adalah suatu objek database yang dapat digunakan untuk menampilkan,
menyunting atau menganalisa suatu data dengan memberikan baris-baris perintah tertentu.
Pada aplikasi ini sudah dilengkapi dengan Structured Query Language (SQL) yang menjadi standard bahasa dalam mengolah database. Dengan SQL kita dapat mempersingkat penulisan listing program yang panjang karena pada setiap perintahnya dapat mencakup banyak
perintah sekaligus.
Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari
basis data. Bahasa query relasional formal merupakan bahasa antara yang digunakan basis
data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan
sekumpulan informasi untuk memperoleh query paling efisien.
Terdapat dua jenis bahasa query relasional formal yang utama, yaitu: 1. Aljabar relasional.
2. Kalkulus relasional
Aljabar Relasional
aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi
menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk
kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Operasi Dalam Aljabar Relasional
Operasi-operasi dasar dalam aljabar relasional adalah sebagai berikut :
1. Operasi selection (σ)
Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang
19
2. Operasi projection (π)
Operasi project berfungsi untuk memilih nilai atribut-atribut tertentu saja dari sebuah
tabel relasi. Operasi project disimbolkan dengan symbol phi (π). Nama-nama atribut yang diinginkan tampil ditulis sebagai subcript π.
3. Operasi cartesian (x)
Operasi cartesian product berfungsi untuk mengkombinasikan informasi yang ada dalam
2 tabel relasi atau lebih dan menghasilkan sebuah tabel relasi yang baru.
4. Operasi union (U)
A ∪ B adalah relasi dengan heading (atribut) yang sama untuk setiap A dan B, dimana
terdiri dari himpunan semua tuples yang terdapat pada A atau B atau kedua-duanya.
Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel
relasi dengan nilai atribut dari tabel relasi lainnya.
5. Opersi set – difference (-)
Operasi set difference berfungsi untuk mendapatkan nilai yang ada dalam sebuah tabel
relasi, tapi tidak ada dalam tabel relasi lainnya. A MINUS B adalah relasi dengan
heading (atribut) yang sama untuk setiap A dan B, dimana terdiri dari himpunan semua
tuples yang terdapat pada A, tetapi tidak terdapat pada B.
6. Operasi rename (ρ)
Dalam operasi himpunan Cross – Product, bisa menimbulkan terjadinya Konflik
Penamaan, karena Cross – Product bisa menghasilkan suatu relasi dari 2 relasi dengan
skema yang sama, sehingga skema hasil akan muncul field dengan nama yang sama.
20
Operasi turunan dalam aljabar relasional adalah sebagai berikut :
1. Operasi set –interface 2. Operasi natural join 3. Operasi theta join
4. Operasi devision
Kalkulus Relasional
Kalkulus relasional adalah bahasa query yang non prosedural. Bahasa ini mendeskripsikan
informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan
informasi tersebut.
Kalkulus relational dibagi menjadi dua : 1. Kalkulus relasional tupel
Mendiskripsikan informasi tanpa perlu memberikan prosedur/cara spesifik untuk memperoleh
infomasi tersebut. konsep dari kalkulus relasional tupel adalah konseb variabel tupel. Dimana
variabel merepresentasikan tupel-tupel padarelasi dan digunakan untuk mengekstrak data dari
relasi. Komponen-komponen lain rumus kalkulus tupel adalah kualifikasi data dengan
membatasi nilai-nilai dari atribut-atribut yang dispesifikasikan.
Query pada kalkulus realsional tupel dapat diekspresikan dengan:
{t|P(t)}
Yaitu himpunaan semua tupel t sehingga predikat P bernilai true untuk t, notasi t[A] untuk
menunjukan nilai tuple t pada atributr A, dan menggunakan t ϵ r untuk menunjukan nilai
tuple t di relasi r. Predikat P adalah berupa rumus, beberapa rumus, beberapa variabel tuple
dapat muncul di rumus.
2. Kalkulus relasional domain
Kalkulus realsional domain menggunakan variable-variable pada nilai-nilai domain atribut,
bukan nilai-nilai untuk sebuah tupel. Ekspresi pada relasional domain berbentuk:
{<X1,X2, ... ,Xn>|P(X1,X2, ... , Xn)}
21
P menyatakan rumus-rumus yang disusun dari atom-atom.
22 BAB VI
BAHASA QUERY KOMERSIAL
Struktur Query Language (Sql)
SQL dipublikasikan oleh E.F. CODD (1970) mengenai model relational. Kemudian
pada tahun 1974, D. Chamberlin dan R.F. Boyce mengembangkan bahasa query untuk
memanipulasi dan mengekstraksi data dari basisdata relational.
Sasaran SQL
1. Menciptakan basis data dan struktur relasi
2. Melakukan menajemen data tingkat dasar 3. Membentuk query sederhana dan kompleks
4. Melakukan tugas-tugas dengan seminimal mungkin memakai struktur dan sintaks perintah relatif mudah dipelajari
5. Harus portabel
Jenis SQL
1. Interactive SQL 2. Static SQL 3. Dynamic SQL
Subdivisi SQL
1. DDL (Data Definition Language)
Query-query ini digunakan untuk mendefinisikan struktur atau skema basis data
2. DML (Data Manipulation Language)
Query-query ini digunakan untuk manajemen data dalam basis data
3. DCL ( Data Control Language)
23 Pengelompokan Statemen Sql
1. Data Definition Language (DDL)
CREATE DATABASE DROP DATABASE
CREATE TABEL DROP TABEL
CREATE INDEX DROP INDEX
CREATE VIEW DROP VIEW
ALTER TABLE
2. Data Manipulation Language
INSERT, SELECT, UPDATE, DELETE
3. Data Access
Kasus Data Definition Language (DDL) A. CREATE
1. Pembuatan Database
Nama Database adalah yang dapat mewakili suatu kejadian dapat berupa nama
organisasi atau perusahaan.
Sintaks : CREATE DATABASE nama_database
Contoh : Buat database dengan nama PT.ABC
CREATE DATABASE PT.ABC
2. Pembuatan Tabel
24
NAMA char(25) notnull, ALAMAT char(30) notnull)
3. Pembuatan Index
Sintaks : CREATE [UNIQUE] INDEX nama_index
ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIDX Dimana NIM
tidak boleh sama
CREATE UNIQUE INDEX MHSIDX ON MHS(NIM)
4. Pembuatan View Sintaks :
CREATE VIEW nama_view [ (nama_kolom1,….) ]
AS SELECT statement
[WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
CREATE VIEW MHSVIEW
AS SELECT * FROM MHS
B. DROP (MENGHAPUS) 1. Menghapus Database
25
C. ALTER TABLE (MERUBAH STRUKTUR TABEL) Sintaks : ALTER TABLE nama_tabel
ADD nama_kolom jenis_kolom
[FIRST | AFTER nama_kolom]
CHANGE [COLUMN] oldnama newnama
MODIFY nama_kolom jenis kolom, …
DROP nama_kolom
RENAME newnama_tabel
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada tabel MHS
ALTER TABLE MHS ADD JKEL char(1);
2. Ubah panjang kolom MTKULIAH menjadi 30 char
ALTER TABLE MKUL MODIFY COLUMN MTKULIAH char(30);
26 Data Manipulation Language (DML) 1. INSERT
Sintaks : INSERT INTO Nama_tabel [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah Berkas Akses dengan kode KK222 dan besarnya 2 INSERT INTO MKUL VALUES(“KK222”,”Berkas Akses”, 2);
2. UPDATE
Sintaks : UPDATE nama_tabel
SET nama_kolom = value_1
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Depok” untuk mahasiswayang memiliki NPM “50096487” UPDATE MHS
SET ALAMAT=”Depok” WHERE NPM=”50096487”;
DELETE
Sintaks : DELETE FROM nama_table
WHERE kondisi
Contoh :
Hapus data nilai matakuliah “KK021” bagi mahasiswa yang mempunyai NPM “ 10296832”
DELETE FROM NILAI
WHERE NPM=”10296832” AND KDMK=”KK021”
. SELECT
Sintaks : SELECT [DISTINCT | ALL] nama_kolom
FROM nama_tabel
[ WHERE condition ]
[ GROUP BY column_list ]
[HAVING condition ]
27 Contoh :
a. Tampilkan semua data mahasiswa
SELECT NIM,NAMA,ALAMAT FROM MAHASISWA;
Atau
28 BAB VII
FRAGMENTASI DATA
Merupakan sebuah proses pembagian atau pemetaan database dimana database
dipecah-pecah berdasarkan kolom dan baris yang kemudian disimpan didalam site atau unit komputer
yang berbeda dalam suatu jaringan data, sehingga memungkinkan untuk pengambilan
keputusan terhadap data yang telah terbagi.
Secara umum proses fragmentasi ini dibagi kedalam tiga jenis, yaitu:
1. Fragmentasi horizontal
Fragmentasi horizontal ini terjadi ketika suatu data yang berada pada suatu table
dipisah ke dalam beberapa table yang lain. Tabel-tabel yang lain tersebut mempunyai
struktur yang sama persis dengan table yang asli. Fragmentasi horizontal dibagi menjadi
dua yaitu:
a. Primary horizontal fragmentation
Merupakan horizontal fragmentation dimana suatu data dalam table secara horizontal
dipecah berdasarkan pada suatu nilai dalam satu atau lebih kolom tertentuk b. Derived horizontal fragmentation
Merupakan suatu teknik horizontal fragmentation dimana data yang berada pada suatu
table secara horizontal dipecah ke dalam beberapa table yang lain, dengan kriteria data
yang dimasukan tergantung apakah data tersebut berelasi yang dengan data yang berada
di dalam table yang dipecah secara primary horizontal fragmentation atau tidak
2. Fragmentasi vertical
Merupakan suatu teknik fragmentasi data dimana data dipecah kedalam beberapa table
yang merupakan hasil pemisahan beberapa kolom yang berada pada table utama. Tabel
yang difragmentasi secara vertical harus dapat dikembalikan lagi seperti semula
(reconstruct)
3. Fragmentasi hybrid
29 Fungsi Fragmentasi :
1. Penggunaan 2. Efisiensi 3. Paralleslisme 4. Keamanan
Kerugian fragmentasi yaitu :
Kinerja yang dapat turun karena data tersebar dan butuh proses untuk penggabungan kembali Integritas yang dapat terganggu dikarenakan kegagalan pada salah satu site database server.
CONTOH KASUS JENIS-JENIS FRAGMENTASI
30
Fragmentasi Horisontal terbagi menjadi 3 fragment yang
berbeda berdasarkan Mt_Kuliah
1. Relasi Mt_Kuliah=“Sistem Basis Data”
Mt_Kuliah=“Sistem Basis Data” (Ujian)
2. Relasi Mt_Kuliah=“Peranc. Sistem”
Mt_Kuliah=“Peranc. Sistem” (Ujian)
3. Relasi Mt_Kuliah=“Visual Basic”
31
Fragment di atas memenuhi kondisi jika Nama_Mhs dan Mt_Kuliah adalah hal-hal
yang memenuhi syarat
Fragmentasi vertical:berdasarkan dekomposisi-nya dengan menambahkan tupel id
Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade, Tuple_ID
32
Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID
p NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID (Ujian)
Terdapat relasi berdasarkan Mata Kuliah yang sama Relasi 1a.
p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah=“Sistem Basis
Data” (Ujian))
Relasi 1b.
p NIM, Nama_Mhs, Mt_Kuliah, Nil_Akhir, Grade, Tuple_ID(s
33 Relasi 1c
p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah=“VisualBasic”
(Ujian))
Bagaimana bentuk database untuk data yang telah mengalami proses fragmentasi?
Fragmentasi data merupakan langkah yang diambil untuk menyebarkan data dalam database terdistribusi . Selanjutnya akan dibahas apa yang dimaksud Database terdistribusi.
Database Terdistribusi
Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logik tetapi tersebar secara fisik pada suatu jaringan komputer.Karakteristik Database terdistribusi, yaitu : 1. Kumpulan data yang digunakan bersama secara logik tersebar pada sejumlah komputer
yang berbeda
2. Komputer yang dihubungkan menggunakan jaringan komunikasi
3. Data pada masing-masing situs dapat menangani aplikasiaplikasi lokal secara otonom 4. Data pada masing situs dibawah kendali satu DBMS
34
BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA :
a. Fully Connected network
35 c. Tree Strutured Network
36 e. Star network
Keuntungan Dan Kerugian Database Terdistribusi
KEUNTUNGAN :
1. Secara alami mengikuti struktur organisasi 2. Adanya otonomi lokal
3. Sifatnya dapat dipakai secara bersama 4. Peningkatan ketersediaan
5. Peningkatan kehandalan 6. Peningkatan kinerja 7. Ekonomis
8. Pertumbuhan yang modular
KERUGIAN :
1. Harga software mahal (Biaya) 2. Kompleksitas
3. Kelemahan dalam keamanan 4. Sulitnya menjaga keutuhan data 5. Kurangnya standar
6. Kurangnya pengalaman