ERD
ERD Distribusi Film ke Bioskop
dengan Asumsi:
No_Layar unik dalam lingkup satu kota, bukan hanya unik di
satu bioskop saja.
Database Relasional
1. Implementasikan
ERD diatas kedalam database relasional dan tentukan primary dan foreign key
untuk masing masing relasi dengan mempertimbangkan dasar dasar perancangan
database relasional:
Database Relasional
Normalisasi
1NF, Pada keempat tabel tersebut tidak terdapat multi valued
attribute
2NF, Pengecekan ketergantungan parsial.
Tabel Film, Bioskop dan Layar hanya memiliki satu
primary key sehingga tidak mungkin memiliki ketergantungan parsial.
Tabel Tayangan memiliki primary key yang merupakan gabungan
dari No_Layar, No_Film dan Waktu_Tayang. Atribut selain primary key harus
memiliki full dependency (ketergantungan penuh) terhadap atribut primary key
tersebut. Atribut Jml_Pengunjung memiliki ketergantungan penuh
terhadap No_Layar,No_Film, dan Waktu_Tayang.
3NF, Pengecekan ketergantungan Transitif. Pada keempat tabel
diatas tidak ada yang memiliki ketergantingan transitif.
Kesimpulan: Desain database relasional diatas sudah memenuhi
bentuk normal 3 (3NF).
DDL Query
CREATE TABLE `bioskop` (
`No_Bioskop` int(11) NOT NULL
AUTO_INCREMENT,
`Nama_Bioskop` varchar(50) NOT NULL,
`Kota` varchar(50) NOT NULL,
PRIMARY KEY (`No_Bioskop`)
) AUTO_INCREMENT=1;
CREATE TABLE `film` (
`No_Film` int(11) NOT NULL
AUTO_INCREMENT,
`Judul_Film` varchar(50) NOT NULL,
`Thn_Produksi` year(4) NOT NULL,
`Negara` varchar(50) NOT NULL,
PRIMARY KEY (`No_Film`)
) AUTO_INCREMENT=1;
CREATE TABLE `layar` (
`No_Layar` int(11) NOT NULL
AUTO_INCREMENT,
`No_Bioskop` int(11) NOT NULL,
`Nama_Layar` varchar(50) NOT NULL,
PRIMARY KEY (`No_Layar`)
) AUTO_INCREMENT=1;
CREATE TABLE `tayangan` (
`No_Layar` int(11) NOT NULL,
`No_Film` int(11) NOT NULL,
`Waktu_Tayang` datetime NOT NULL,
`Jml_Pengunjung` int(11) NOT
NULL );
DML Query
Tampilkan film yang berasal dari india yang sudah ditayangan
di kota Yogyakarta.
SELECT Film.Judul_Film
FROM Film, Tayangan, Layar, Bioskop
WHERE Film.Negara = 'India'
AND Tayangan.No_Film = Film.No_Film
AND Tayangan.No_Layar = Layar.No_Layar
AND Layar.No_Bioskop = Bioskop.No_Bioskop
AND Bioskop.Kota = 'Yogyakarta'
FROM Film, Tayangan, Layar, Bioskop
WHERE Film.Negara = 'India'
AND Tayangan.No_Film = Film.No_Film
AND Tayangan.No_Layar = Layar.No_Layar
AND Layar.No_Bioskop = Bioskop.No_Bioskop
AND Bioskop.Kota = 'Yogyakarta'
Dikota manakah Film “Godzilla “
Telah diputar?
SELECT DISTINCT Film.Judul_Film, Bioskop.Kota
FROM Film, Tayangan, Layar, Bioskop
WHERE Tayangan.No_Film = Film.No_Film
AND Tayangan.No_Layar = Layar.No_Layar
AND Layar.No_Bioskop = Bioskop.No_Bioskop
AND Film.Judul_Film = 'Godzilla’;
FROM Film, Tayangan, Layar, Bioskop
WHERE Tayangan.No_Film = Film.No_Film
AND Tayangan.No_Layar = Layar.No_Layar
AND Layar.No_Bioskop = Bioskop.No_Bioskop
AND Film.Judul_Film = 'Godzilla’;
Berapakah banyaknya penonton pada
bioskop dikota “Yogyakarta”?
SELECT COUNT( Tayangan.Jml_Pengunjung ) AS 'Jumlah Penonton Di
Yogyakarta'
FROM Tayangan, Layar, Bioskop
WHERE Tayangan.No_Layar = Layar.No_Layar
AND Bioskop.No_Bioskop = Layar.No_Bioskop
AND Bioskop.Kota = 'Yogyakarta'
FROM Tayangan, Layar, Bioskop
WHERE Tayangan.No_Layar = Layar.No_Layar
AND Bioskop.No_Bioskop = Layar.No_Bioskop
AND Bioskop.Kota = 'Yogyakarta'
Dikota manakah terdapat
bioskop namun Godzilla Tidak Diputar?
SELECT Bioskop.Kota
FROM Bioskop, Layar, Film, Tayangan
WHERE Bioskop.No_Bioskop = Layar.No_Bioskop
AND Layar.No_Layar = Tayangan.No_Layar
AND Tayangan.No_Film = Film.No_Film
AND Film.Judul_Film != ‘Godzilla’;
FROM Bioskop, Layar, Film, Tayangan
WHERE Bioskop.No_Bioskop = Layar.No_Bioskop
AND Layar.No_Layar = Tayangan.No_Layar
AND Tayangan.No_Film = Film.No_Film
AND Film.Judul_Film != ‘Godzilla’;
reference : http://www.fararainside.net/2011/09/analisa-kasus-distribusi-film.html
Tidak ada komentar:
Posting Komentar