Sabtu, 15 Juni 2013

STUDI KASUS:ANALISA KASUS DISTRIBUSI FILM BIOSKOP

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'

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’;

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'

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’;



reference : http://www.fararainside.net/2011/09/analisa-kasus-distribusi-film.html

Tidak ada komentar:

Posting Komentar