perancangan basis data

advertisement
Modul Pengajaran
PERANCANGAN BASIS DATA
PENYUSUN
Sandra J Kuryanti
Diploma Tiga
Program Studi Manajemen Informatika
AMIK BSI BOGOR
1
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
Penulis
2
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
BAB VII ………………………………………………………………….. ...
28
3
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
2. Entitas yaitu suatu obyek yang dapat dibedakan dengan objek lainnya
4
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
7. Kunci elemen data yaitu tanda pengenal yang secara unik mengindentifikasikan entitas
dari suatu kumpulan entitas
5
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 obyekobyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitasentitas itu. Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram.
6
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
Identifying Relationship
7
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 entitashimpunan entitas yang ada beserta foreign key-nya.
4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non
key).
8
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
ANGGOTA
BUKU
Langkah 2
No_mhs
ANGGOTA
No_buku
BUKU
Langkah 3
No_mhs
ANGGOTA
No_buku
Meminjam
9
BUKU
Langkah 4
No_mhs
No_buku
1
ANGGOTA
N
Meminjam
BUKU
Langkah 5
No_mhs
ANGGOTA
No_buku
Nama
1
Meminjam
Alamat
N
BUKU
Penerbit
10
Pengarang
Thn_Terbit
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,
data dibentuk dalam satu record demi satu record dan nilai dari field berupa “atomic
11
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
suatu entity
12
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
22890100
Tanzania
Zaman
1234
1543
22890101
Nia
Rizki
1234
1775
Kelas3
1543
KELAS(Kode_kelas,nama_kelas,instruktur)
 merupakan bentuk 1NF karena tidak ada yang berganda dan tiap atribute satu
pengertian yang tunggal.
Contoh Data:
Kode_kelas
Nama_kelas
Instruktur
1234
FisikaDasar
Suroso
1543
Matematika
Paulus
1775
Teknik Program
Bagus
No_siswa
Nama
Wali_studi
Kelas-l
Kelas2
22890100
Tanzania
Zaman
1234
1543
22890101
Nia
Rizki
1234
1775
13
Kelas3
1543
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
R02
RICE
Kode Supplier:
S02COOKER CC3
Qty
Harea
Jumlah
10.0
150.000, 00
1.
500.000,00
Tanggal:
02/02/90
Nama
Supplier: Gobel Nustra
Total Faktur
Nomor : 779
1. 500.000,00
Jatuh Tempo Faktur: 09/03/90
PT SANTA PURI
FAKTUR PEMBELIAN
BARANG
Jalan Senopati 11
Yogyakarta
Kode
Nama Barang
A01
ACG01
SPLIT
1/2 PK
Kode Supplier:
.
A02
ACGobel
SPLITNustra
1 PK
Nama Supplier:
Total Faktur
Qty
Harea
Jumlah
10.0
1,350,000
10.0
2,000,000
Nomor
: 998
13,500,000
Tanggal: 07/02/90
20,000,000
33,500,000
Jatuh Tempo Faktur: 09/03/90
14
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)

Kode supplier
15

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.
Maka terbentuklah tabel sebagai berikut:
16
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
database adalah gagal.
17
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
diberikan dari sebuah tabel relasi. Operasi select menyeleksi tuple-tuple yang memenuhi
predikat yang diberikan. Digunakan symbol sigma (σ) untuk menunjukkan operasi select.
Predikat muncul sebagai subcript dari σ. Argumen relasi diberikan dalam kurung yang
mengikuti σ.
18
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.
Operator Renaming (r) digunakan untuk menghindari terjadinya Konflik Penamaan
tersebut.
19
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)}
X1, X2, ... ,Xn menyatakan variable-variable domain.
20
P menyatakan rumus-rumus yang disusun dari atom-atom.
Berdasarkan acuan model relasional, ada 2 bahasa query kemersial yaitu SQL dan QBE.
21
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)
Query-query ini berhubungan dengan pengaturan hak akses dan wewenang.
22
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
GRANT , REVOKE
4. Data Integrity
RECOVER TABLE
5. Auxiliary
SELECT INTO OUTFILE,
LOAD, RENAME TABLE
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
Sintaks : CREATE TABLE nama_table
23
( nama_kolom1 tipe_data_kolom1,
nama_kolom2,tipe_data_kolom2,….)
Contoh :
Buat struktur tabel dengan nama tabel MHS dengan data NIM char(8), NAMA
char(25), ALAMAT char(30)
CREATE TABLE MHS (NIM char(8) not null,
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
Sintaks : DROP DATABASE nama_db ;
24
2. Menghapus Tabel
Sintaks : DROP TABLE nama_table ;
3. Menghapus Index
Sintaks : DROP INDEX nama_index ;
4. Menghapus View
Sintaks : DROP VIEW nama_view ;
Contoh :
DROP DATABASE Mahasiswa;
DROP TABLE MHS;
DROP INDEX MHSIDX;
DROP VIEW MHSVIEW;
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);
3. Hapus kolom JKEL dari data table MHS
ALTER TABLE MHS DROP JKEL;
25
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 mahasiswa yang 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 ]
[ ORDER BY column_list [ASC | DESC]]
26
Contoh :
a. Tampilkan semua data mahasiswa
SELECT NIM,NAMA,ALAMAT FROM MAHASISWA;
Atau
SELECT * FROM MAHASISWA;
27
BAB VII
FRAGMENTASI DATA
Merupakan sebuah proses pembagian atau pemetaan database dimana database dipecahpecah 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
Merupakan gabungan antara fragmentasi horizontal dan fragmentasi vertikal
28
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
Ujian (NIM,Nama_Mhs,Kode_MK,Mt_Kuliah,Nil_Akhir,Grade)
29
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”
Mt_Kuliah=“Visual Basic” (Ujian)
30
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
p NIM,Nama_Mhs,Mt,Kuliah,Nil_Akhir,Grade,Tuple_ID (UJian)
31
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,
Mt_Kuliah=“Peranc.Sistem” (Ujian))
32
Nil_Akhir,
Grade,
Tuple_ID(s
Relasi 1c
p NIM,Nama_Mhs,Mt_Kuliah,Nil_Akhir,Grade,Tuple_ID(s Mt_Kuliah=“Visual Basic”
(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
5. Masing-masing DBMS berpartisipasi dalam sedikitnya satuaplikasi global
33
BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA :
a. Fully Connected network
b. Partialy conneted network
34
c. Tree Strutured Network
d. Ring network
35
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
7. Perancangan basisdata lebih kompleks
36
Download