Relasi Dalam Basis Data

advertisement
Semester Ganjil TA 2015-2016
Heru Nugroho, S.Si., M.T.
No Tlp : 081394322043
Email : [email protected]
• Pada basisdata relasional, satu tabel
menyatakan satu relasi.
• Setiap kolom pada tabel disebut atribut.
• Setiap
tabel
pada
basis
data
diimplementasikan secara fisik sebagai
sebuah file.
• Atribut khusus pada tabel yang
mengidentifikasikan
secara
unik
elemen relasi disebut kunci (key).
• Satu baris data pada tabel menyatakan sebuah
record, dan setiap atribut menyatakan sebuah
field.
• Secara fisik basis data adalah kumpulan file,
sedangkan file adalah kumpulan record, setiap
record terdiri atas sejumlah field.
• Sebagai contoh basis data mahasiswa memuat
field yang berisi nama mahasiswa, nim, program
studi, dan IPK.
• Untuk merancang suatu basis data dimulai
dengan menerjemahkan suatu proses bisnis
yang ada dalam sebuah organisasi kedalam
bentuk diagram relasi antar entitas (ERD).
• Jadi dengan bahasa sederhana adalah
membuat relasi pada objek objek yang akan
dibangun basis datanya.
• Berdasarkan ERD itulah kemudian tabel-tabel
yang berisi field disusun.
• Seorang Dosen dapat mengajar beberapa mata
kuliah dalam satu semester.
• Atribut Dosen adalah Kd_Dosen, Nama, dan
Prodi sedangkan atribut mata kuliah adalah
Kode_Mk, Nama_Mk, dan sks.
• Jika pernyataan tersebut digambarkan dalam
bentuk ER diagram, maka akan dihasilkan
bentuk relasi sebagai berikut.
Kode_Dosen
Nama
Dosen
Prodi
1
Kode_MK
Mengambil
m
Nama_Mk
Mata Kuliah
SKS
• Simbol persegi panjang menggambarkan entitas
• Simbol belah ketupat menggambarkan relasi.
• Simbol 1 dan m menyatakan kardinalitas atau derajat
suatu relasi.
• Bentuk elips menggambarkan atribut pada relasi yang
nantinya akan menjadi kolom-kolom pada tabel.
• Kardinalitas Relasi menunjukkan jumlah maksimum
entitas yang dapat berelasi dengan entitas pada
himpunan entitas lain.
• Dalam database digunakan untuk menentukan
jumlah tabel yang dihasilkan
• Macam Kardinalitas ada 4 (empat) yaitu
– Satu ke Satu (One to One)
– Satu ke Banyak (One to Many)
– Banyak ke Satu (Many to One)
– Banyak ke Banyak (Many to Many)
Kd_pd
tujuan
Tgl_awal
Nama_keg
Lama_hari
Kd_keg
Tgl_awal
Total_biaya_pd
Perjalanan_dinas
1
1
memiliki
kegiatan
Tabel Perjalanan_dinas
Kd_pd
Tujuan
Tgl_awal
Lama_hari
Tabel Kegiatan
Kd_keg
Nama_keg Tgl_awal
Kd_pd
Total_biaya_pd
Kd_peminjaman
Peminjaman
Tanggal_pinjam
n
mencatat
1
Karyawan
nip
nama
Tabel Karyawan
alamat
nip
Nama
Alamat
Tgl_lahir
Tabel Peminjaman
Kd_peminjaman
Tanggal_pinjam
nip
Tgl_lahir
kd_buku
Buku
nama_buku
Tabel Peminjaman
Kd_peminjaman
Tanggal_pinjam
n
memiliki
Lama_pinjam
Tabel Buku
Kd_buku
Nama_buku
m
Kd_peminjaman
Peminjaman
Tanggal_pinjam
Tabel Detail Peminjaman
Kd_peminjaman
Kd_buku
Lama_pinjam
• Operasi yang dilakukan terhadap basisdata
dilakukan dengan perintah pertanyaan yang
disebut query.
Contoh query:
• “tampilkan semua mahasiswa yang mengambil
mata kuliah Matematika Diskrit”
• “tampilkan daftar nilai mahasiswa dengan NIM =
13598015”
• Ada beberapa operasi yang dapat digunakan,
diantaranya adalah seleksi, proyeksi, dan join.
• Operasi seleksi memilih baris tertentu
dari suatu tabel yang memenuhi
persyaratan tertentu.
• Operator: 
NIM
13598011
13598011
13598014
13598015
13598015
13598015
13598019
13598021
13598021
13598025
13598025
13598025
13598025
Nama
Amir
Amir
Santi
Irwan
Irwan
Irwan
Ahmad
Cecep
Cecep
Hamdan
Hamdan
Hamdan
Hamdan
MatKul
Matematika Diskrit
Arsitektur Komputer
Algoritma
Algoritma
Struktur Data
Arsitektur Komputer
Algoritma
Algoritma
Arsitektur Komputer
Matematika Diskrit
Algoritma
Struktur Data
Arsitektur Komputer
Nilai
A
B
D
C
C
B
E
B
B
B
A
C
B
• Misalkan untuk relasi MHS kita ingin
menampilkan daftar mahasiswa yang
mengambil mata kuliah Matematik Diskrit.
Operasi seleksinya adalah
Matkul=”Matematika Diskrit” (MHS)
• Hasil:
• (13598011, Amir, Matematika Diskrit, A)
• (13598025, Hamdan, Matematika Diskrit,
B)
1.
2.
Jika
kita
ingin
menampilkan daftar
mahasiswa dari relasi
MHS
yang
mendapatkan nilai A,
tentukan
operasi
seleksi dan hasilnya!
Jika
kita
ingin
menampilkan
mahasiswa dengan
NIM = 13598025,
tentukan
operasi
seleksi dan hasilnya!
NIM
13598011
13598011
13598014
13598015
13598015
13598015
13598019
13598021
13598021
13598025
13598025
13598025
13598025
Nama
Amir
Amir
Santi
Irwan
Irwan
Irwan
Ahmad
Cecep
Cecep
Hamdan
Hamdan
Hamdan
Hamdan
MatKul
Matematika Diskrit
Arsitektur Komputer
Algoritma
Algoritma
Struktur Data
Arsitektur Komputer
Algoritma
Algoritma
Arsitektur Komputer
Matematika Diskrit
Algoritma
Struktur Data
Arsitektur Komputer
Nilai
A
B
D
C
C
B
E
B
B
B
A
C
B
• Operasi proyeksi memilih kolom tertentu dari
suatu tabel.
• Jika ada beberapa baris yang sama nilainya,
maka hanya diambil satu kali.
• Operator: 
• Misalkan untuk relasi MHS kita ingin
menampilkan daftar nama mahasiswa, mata
kuliah, dan Nilai. Operasi proyeksinya adalah
Nama, MatKul, Nilai (MHS)
• Operasi proyeksi: Nama, MatKul, Nilai (MHS)
Nama
Amir
Amir
Santi
Irwan
Irwan
Irwan
Ahmad
Cecep
Cecep
Hamdan
Hamdan
Hamdan
Hamdan
MatKul
Matematika Diskrit
Arsitektur Komputer
Algoritma
Algoritma
Struktur Data
Arsitektur Komputer
Algoritma
Algoritma
Arsitektur Komputer
Matematika Diskrit
Algoritma
Struktur Data
Arsitektur Komputer
Nilai
A
B
D
C
C
B
E
B
B
B
A
C
B
1.
2.
Misalkan untuk relasi
MHS
kita
ingin
menampilkan
daftar
NIM
dan
Nama,
tentukan
Operasi
proyeksinya
dan
Tabelnya!
Misalkan untuk relasi
MHS kita ingin
menampilkan daftar
NIM, dan Nilai,
tentukan Operasi
proyeksinya dan
Tabelnya!
NIM
13598011
13598011
13598014
13598015
13598015
13598015
13598019
13598021
13598021
13598025
13598025
13598025
13598025
Nama
Amir
Amir
Santi
Irwan
Irwan
Irwan
Ahmad
Cecep
Cecep
Hamdan
Hamdan
Hamdan
Hamdan
MatKul
Matematika Diskrit
Arsitektur Komputer
Algoritma
Algoritma
Struktur Data
Arsitektur Komputer
Algoritma
Algoritma
Arsitektur Komputer
Matematika Diskrit
Algoritma
Struktur Data
Arsitektur Komputer
Nilai
A
B
D
C
C
B
E
B
B
B
A
C
B
• Operasi join menggabungkan dua buah
tabel menjadi satu bila kedua tabel
mempunyai atribut yang sama.
• Operator: 
• Misalkan relasi MHS1 dinyatakan dengan
Tabel A dan relasi MHS2 dinyatakan
dengan Tabel B
Operasi join
NIM, Nama(MHS1, MHS2)
Tabel A
Tabel B
NIM
Nama
JK
13598001
Hananto
L
13598002
Guntur
L
13598004
Heidi
W
13598006
Harman
L
13598007
Karim
L
NIM
Nama
MatKul
Nilai
13598001
Hananto
Algoritma
A
13598001
Hananto
Basisdata
B
13598004
Heidi
Kalkulus I
B
13598006
Harman
Teori Bahasa
C
13598006
Harman
Agama
A
13598009
Junaidi
Statisitik
B
13598010
Farizka
Otomata
C
NIM, Nama(MHS1, MHS2)
NIM
Nama
JK
MatKul
Nilai
13598001
Hananto
L
Algoritma
A
13598001
Hananto
L
Basisdata
B
13598004
Heidi
W
Kalkulus I
B
13598006
Harman
L
Teori Bahasa
C
13598006
Harman
L
Agama
A
NIM, Nama(MHS2, MHS1)
NIM
Nama
MatKul
Nilai
JK
13598001
Hananto
Algoritma
A
L
13598001
Hananto
Basisdata
B
L
13598004
Heidi
Kalkulus I
B
W
13598006
Harman
Teori Bahasa
C
L
13598006
Harman
Agama
A
L
• Operasi join antara tabel
“Mahasiswa” dengan tabel
“Matakuliah” (MHS 
MTKL)
• Hasil operasi join antara
tabel “Mahasiswa” dengan
tabel “Matakuliah” (Tabel
baru namai dengan Tabel
“KSM”
• Berdasarkan hasil pada
jawaban sebelumnya
tentukan operasi proyeksi
untuk menampilkan
NIM,Matakuliah, dan
Kelas
Download