Pertemuan 4 (Relational Database)

Download Report

Transcript Pertemuan 4 (Relational Database)

Karakteristik, Komponen, Primary Key
Pertemuan 4 (Relational Database) - WW
Maulida, ST., M.Eng

Struktur model basis data relasional dan
kebebasan data memungkinkan kita untuk
memandang data secara logika daripada
secara fisik.

Pandangan secara logika membuat konsep file
tentang penyimpanan data menjadi lebih
sederhana.

Penggunaan tabel independen secara logik
lebih mudah dipahami.

Kesederhanaan logika menghasilkan metodologi perancangan basis data lebih
sederhana dan lebih efektif.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng






Semua entry/elemen data pada suatu baris dan
kolom tertentu harus mempunyai nilai tunggal (single
value), atau suatu nilai yang tidak dapat dibagi lagi
(atomic value).
Semua entry/elemen data pada suatu kolom tertentu
dalam relasi yang sama harus mempunyai jenis yang
sama.
Masing-masing kolom dalam suatu relasi mempunyai
suatu nama yang unik (meskipun kolom-kolom dalam
relasi yang berbeda diijinkan mempunyai nama yang
sama).
Pada suatu relasi/tabel yang sama tidak ada dua baris
yang identik.
Urutan baris bebas.
Urutan kolom bebas.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng

Sebuah entitas dapat berupa orang, tempat,
kejadian atau sesuatu yang kita gunakan
dalam mengumpulkan data.



Universitas - mahasiswa, fakultas, jurusan
Kantor - pegawai, meja, kursi, aktifitas
Setiap entitas memiliki sifat-sifat khusus yang
disebut atribut


Mahasiswa - NIM, nama, tgl. Lahir, alamat,
wali, IPK.
Mobil - Merek, jenis, bahan bakar, tahun
pembuatan, harga.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng

Sebuah group entitas yang saling berhubungan
menjadi sebuah himpunan entitas.

Entitas MAHASISWA merupakan himpunan yang
berisi seluruh entitas mahasiswa.

Entitas FAKULTAS merupakan himpunan yang
berisi seluruh entitas fakultas.

Entitas PEGAWAI merupakan himpunan yang
berisi seluruh entitas pegawai.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng

Tabel dan Sifat-sifatnya.

Sebuah tabel berisi sebuah group entitas yang
saling berhubungan.

Istilah himpunan entitas dan tabel memiliki
arti yang hampir sama dan sering diguna-kan
secara bergantian.

Sebuah tabel disebut juga relasi.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
1
2
3
4
5
6
7
8
9
Sebuah tabel seolah-olah merupakan struktur dua
dimensi yang terdiri dari baris dan kolom.
Setiap baris (tupel) mewakili sebuah entitas.
Setiap kolom mewakili atribut dan memiliki nama
yang jelas.
Setiap perpotongan baris dan kolom mewakili nilai
sebuah data.
Setiap tabel harus memiliki primary key yang dikenali
secara unik untuk setiap baris.
Semua nilai pada kolom harus sesuai format data.
Setiap kolom memiliki jangkauan nilai tertentu yang
dikenal sebagai domain atribut.
Setiap baris membawa informasi yang menggambarkan satu kejadian entitas.
Urut-urutan baris dan kolom bukan hal yang penting
untuk DBMS.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng



Redudansi yang terkontrol (penggunaan
atribut secara besama-sama) membuat
basis data relasional berjalan dengan
baik.
Primary key suatu tabel akan muncul lagi
pada tabel lainnya sebagai penghubung
(foreign key)
Jika foreign key mengandung suatu nilai
atau nilai kosong yang cocok, maka tabel
yang menggunakan foreign key tersebut
dikatakan menunjukkan integritas referensial.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Nama tabel SISWA
Primary key NOMHS
Foreign key KODE_WALI
Hubungan
Nama tabel WALI
Primary key KODE_WALI
Tidak ada foreign key
Gambar 2.2. Contoh Sederhana Basis Data Relasional
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Gambar 2.3. Skema basis data relsional : Perwalian
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng

Sebuah kunci (key) dapat membantu
mende-finisikan relasi entitas.

Aturan kunci didasarkan pada konsep
yang dikenal dengan istilah determinasi,
yang digunakan untuk mendefinisikan
ketergantungan fungsional.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng

Ketergantungan Fungsional.

Atribut B bergantung secara fungsional pada
A, Jika A menentukan B.
 Sebuah atribut bagian dari suatu kunci dikenal
sebagai atribut kunci.
 Kunci yang memiliki lebih dari satu atribut
disebut dengan kunci komposit.
 Jika atribut (B) bergantung secara fung-sional
pada kunci komposit (A) tetapi tidak terdapat
pada salah satu kunci komposit tersebut,
atribut
(B)
bergantung
penuh
secara
fungsional pada (A).
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
S u p erk e y
S eb ua h atribut (ata u k om bina si atrib ut) sec ara unik
m eng en ali setia p entitas d alam s eb ua h tab el.
C an d id ate k e y
S atu se t m inim al su perke y, yaitu su perke y ya ng tidak
m eng an du ng ba gia n atrib ut d ari su atu su perke y.
P rim ar y ke y
C andidate ke y ya ng terpilih u ntuk m e ng en ali sec ara
unik seluruh nilai atribut p ada se bu ah b aris. T idak boleh
koson g.
S eco n d a ry ke y
S eb ua h atribut (ata u k om bina si atrib ut) sec ara p aks a
digu nak an un tuk tu ju an p engam bila n d ata.
F o reig n k e y
S eb ua h atribut (ata u k om bina si atrib ut) d alam se bu ah
tab el dim a na nilain ya coc ok de ng an prim ary k e y p ad a
tab el lain n ya.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Integritas Entitas
Syarat
Seluruh entias bersifat unik dan tidak ada primary key
yang bernilai kosong.
Tujuan
Menjamin setiap entitas memiliki identitas secara unik
dan meyakinkan bahwa nilai setiap foreign key pasti
mereferensi nilai primary key secara tepat.
Integritas Referensial
Syarat
Foreign key dapat bernilai kosong sejauh bukan
merupakan bagian dari primary key tabel atau memiliki
nilai yang sesuai dengan nilai primary key dari suatu
tabel yang terhubung.
Tujuan
Membuat nilai suatu atribut yang berhubungan tidak
memiliki nilai yang salah.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Gambar 2.4. Ilustrasi aturan integritas
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 Derajat kesempurnaan relasi dapat diukur
seberapa luas dukungan aljabar relasionalnya.
dengan
 Aljabar relasional mendefinisikan secara teoritis cara
memanipulasi isi tabel dengan menggunakan delapan
fungsi relasional: SELECT, PROJECT, JOIN, INTERSECT,
UNION, DIFFERENCE, PRODUCT dan DIVIDE.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 UNION menggabungkan semua baris dari dua buah tabel
dan kedua tabel tersebut harus sesuai.
N IP
UNION
N IP
Hasil
N IP
090710100
090710120
090710100
090710103
090710123
090710103
090710109
090710109
090710112
090710112
090710120
Gambar 2.5. Union
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 INTERSECT menghasilkan sebuah daftar yang berisi
hanya record-record yang ter-dapat pada kedua tabel dan
kedua tabel tersebut harus sesuai.
N am a
INTERSECT
N am a
Hasil
N am a
N ico
Sandy
Sandy
Sandy
R udi
H eni
S u rya
H eni
H eni
S a n ti
Gambar 2.6. Intersect
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 DIFFERENCE menghasilkan semua record yang terdapat
pada satu tabel tetapi tidak terdapat pada tabel lainnya
dan kedua tabel tersebut harus sesuai.
N am a
DIFFERENCE
N am a
Hasil
N am a
N ico
Sandy
N ico
Sandy
H eni
S u rya
S u rya
H eni
Gambar 2.7. Difference
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 PRODUCT menghasilkan sebuah daftar semua pasangan
record dua buah tabel.
W ali
PRODUCT
Mhs
S K S IP K
Hasil
W ali
Mhs
SKS
IP K
W ina ta
S u si
18
2 .0 3
W ina ta
S u si
18
2 .0 3
A d e lia
Toni
20
3 .4 2
W ina ta
Toni
20
3 .4 2
W an di
21
2 .7 5
W ina ta
W an di
21
2 .7 5
A d e lia
S u si
18
2 .0 3
A d e lia
Toni
20
3 .4 2
A d e lia
W an di
21
2 .7 5
Gambar 2.8. Product
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 SELECT menghasilkan nilai untuk semua atribut yang
ditemukan dalam tabel.
Mhs
SKS
IP K
Mhs
SKS
IP K
S u si
Toni
W an di
18
20
21
2 .0 3
3 .4 2
2 .7 5
S u si
Toni
W an di
18
20
21
2 .0 3
3 .4 2
2 .7 5
Mhs
SKS
IP K
Toni
W an di
20
21
3 .4 2
2 .7 5
SELECT ALL Hasilnya
SELECT SKS  20 Hasilnya
Gambar 2.9. Select
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 PROJECT menghasilkan daftar semua nilai untuk atribut
yang dipilih.
Mhs
SKS
IP K
Mhs
S usi
Toni
W andi
18
20
21
2 .0 3
3 .4 2
2 .7 5
S usi
Toni
W andi
PROJECT MHS Hasilnya
PROJECT MHS and IPK Hasilnya
Gambar 2.10. Project
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Mhs
IP K
S usi
Toni
W andi
2 .0 3
3 .4 2
2 .7 5
 JOIN memungkinkan kita untuk mengkom- binasikan
informasi dari dua tabel atau lebih. JOIN memiliki
kemampuan nyata untuk mendukung basis data
relasional, memungkinkan penggunaan tabel inde-penden
yang dihubungkan melalui atribut yang sama.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 Natural JOIN menghubungkan tabel dengan memilih
hanya record dengan nilai yang digunakan bersama-sama
pada atribut yang sama. Operator ini akan menghasilkan
tiga tahapan proses:
 PRODUCT
 SELECT
 PROJECT
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 Contoh dua tabel yang akan digunakan untuk ilustrasi
JOIN:
N a m a T a b e l : S IS W A
N am a T abel : W ALI
M hs
SKS
IP K
K o d e _W a li
K o d e _W a li
W ali
W an d i
21
2 .7 5
1
1
S u m in to
T oni
20
3 .4 2
1
2
F a rid
R udi
18
2 .4 5
2
3
G a n ja r
S u si
18
2 .0 3
2
T a tik
22
3 .6 8
4
Gambar 2.11. Tabel untuk ilustrasi join
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Natural JOIN, Tahap 1: SELECT
M hs
SKS
IP K
K o d e _W a li
K o d e _W a li
W ali
W an d i
T oni
R udi
Susi
T a tik
W an d i
T oni
R udi
Susi
T a tik
W an d i
T oni
R udi
Susi
T a tik
21
20
18
18
22
21
20
18
18
22
21
20
18
18
22
2 .7 5
3 .4 2
2 .4 5
2 .0 3
3 .6 8
2 .7 5
3 .4 2
2 .4 5
2 .0 3
3 .6 8
2 .7 5
3 .4 2
2 .4 5
2 .0 3
3 .6 8
1
1
2
2
4
1
1
2
2
4
1
1
2
2
4
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
S u m in to
S u m in to
S u m in to
S u m in to
S u m in to
F a rid
F a rid
F a rid
F a rid
F a rid
G a n ja r
G a n ja r
G a n ja r
G a n ja r
G a n ja r
Gambar 2.12. Natural join, tahap 1: Product
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Natural JOIN, Tahap 2: SELECT
M hs
SKS
IP K
K o d e _W a li
K o d e _W a li
W ali
W an d i
T oni
R udi
Susi
21
20
18
18
2 .7 5
3 .4 2
2 .4 5
2 .0 3
1
1
2
2
1
1
2
2
S u m in to
S u m in to
F a rid
F a rid
Gambar 2.13. Natural join, tahap 2: Select
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Natural JOIN, Tahap 3: PROJECT
M hs
SKS
IP K
K o d e _W a li
W ali
W an d i
T oni
R udi
S u si
21
20
18
18
2 .7 5
3 .4 2
2 .4 5
2 .0 3
1
1
2
2
S u m in to
S u m in to
F a rid
F a rid
Gambar 2.14. Natural join, tahap 3: Project
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 EquiJOIN menghubungkan tabel didasarkan
pada kondisi yang sama dengan membandingkan kolom tertentu setiap tabel. Hasil
equiJOIN tidak menghilangkan kolom dupli-kat
dan kondisi atau kriteria penggabungan tabel
harus terdefinisi secara eksplisit.
 Theta JOIN adalah equiJOIN yang membandingkan kolom tertentu setiap tabel menggunakan
operator pembanding selain operator sama dgn.
 Pada Outer JOIN pasangan data yang tidak
cocok akan tetap dipertahankan dan nilai untuk
tabel lainnya yang tidak cocok akan dibiarkan
kosong.
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Outer JOIN
M hs
SKS
IP K
K od e_W ali
W ali
W andi
T oni
R udi
S usi
21
20
18
18
2.7 5
3.4 2
2.4 5
2.0 3
S um into
S um into
F arid
F arid
G an jar
T atik
22
3.6 8
1
1
2
2
3
4
Gambar 2.15. Outer Join
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
 DIVIDE memerlukan dua buah tabel yang masing-masing
terdiri dari satu dan dua kolom. Perhatikan ilustrasi
berikut ini:
T abel 1
T abel 2
Kode
Lok
A
B
C
D
D
E
A
A
B
5
5
6
7
8
8
9
4
3
DEVIDE
Kode
T abel 3
Hasil
A
B
Gambar 2.16. Devide
Pertemuan 4 (Relational Database) - WW Maulida, ST.,
M.Eng
Lok
5