Senin, 17 November 2014

LATIHAN

Jika diketahui terdapat beberapa table berikut :
1.  Tabel_Barang
kode_barang char(6),
nama_barang varchar(25),
satuan varchar(20) dan
stok int,
primary key : kode_barang

Kode_barang Nama_Barang Satuan Stok
ELK-01         Rice cooker Buah 20
ELK-02         Lemari es         Unit          8
ELK-03         Televisi         Unit         30
ELK-04         Radio/tape Buah 35

CREATE TABLE Barang (
      kode_barang char(6),
      nama_barang varchar(25),
      satuan varchar(20),
      stok int,
      constraint pk_Barang primary key (kode_barang)
      );

     INSERT INTO Barang
     VALUES ('ELK-01','Rice Cooker','Buah',20);

      INSERT INTO Barang
     VALUES ('ELK-02','Lemari Es','Unit',8);

     INSERT INTO Barang
     VALUES ('ELK-03','Televisi','Unit',30);

     INSERT INTO Barang
     VALUES ('ELK-04','Radio/tape','Buah',35);
2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30), Alamat varchar(30), kota varchar(15),
Telepon varchar(15)
primary key : kode_Pelanggan

Kode_Pelanggan Nama         Alamat          Kota    Telepon
J-0001                 Toko Karisma Jl cimandiri 25  Depok    (021)-367868
J-0002                 Toko Ayu Jl cimone 35  Tangerang (021)-467889
B-0001                 Toko Warna Jl DEF 30  Jakarta    (021)-234678
B-0002                 Toko Surya Jl abc 309  Bandung    (022)-356789

CREATE TABLE Pelanggan (
     Kode_Pelanggan char(6),
     Nama varchar(30),
     Alamat varchar(30),
     Kota varchar(15),
     telepon varchar(15),
     constraint pk_Pelanggan primary key (Kode_Pelanggan)
     );

     INSERT INTO Pelanggan
     VALUES ('J-0001','Toko Karisma','Jl.Cimandiri 25','Depok','(021)-367868');

     INSERT INTO Pelanggan
     VALUES ('J-0002','Toko Ayu','Jl.Cimone 35','Tanggerang','(021)-467889');

     INSERT INTO Pelanggan
     VALUES ('B-0001','Toko Warna','Jl.DEF 30','Jakarta','(021)-234678’);

     INSERT INTO Pelanggan
    VALUES ('B-0002','Toko Surya ','Jl.abc 309','Bandung','(022)-356789)';
3. Tabel Pembelian
kode_pembelian char(10) ,kode_barang char(6),
kode_pelanggan char(6), tgl_pembelian datetime,
jum_pembelian int.
Primary key : kode_pembelian,kode_barang,kode_pelanggan
Foreign key : kode_barang, kode_Pelanggan

Kode_Pembelian Kode_Barang  Kode_Pelanggan Tgl_Pembelian Jum_Pembelian
BEL-E001         ELK-01          J-0001                 20-may-02                 3
BEL-E002         ELK-02          J-0001                 21-may-02                 4
BEL-E003         ELK-01          J-0002                 20-may-02                 2
BEL-E004         ELK-01          B-0001                 20-may-02                 2
BEL-E005         ELK-03          B-0002                 22-may-02                 3
BEL-E006         ELK-02          J-0001                 24-jun-02 1



create table pembelian (
kode_pembelian char(10),
kode_barang char(6),
kode_pelanggan char(6),
tgl_pembelian date,
jum_pembelian int,
constraint pk_pembelian primary key (kode_pembelian),
constraint fk_kode_barang foreign key (kode_barang) references barang (kode_barang),
constraint fk_kode_pelanggan foreign key (kode_pelanggan) references pelanggan (        (kode_pelanggan)
);
insert into pembelian
values ('bel-e001','elk-01','j-0001','20-05-02',3);
insert into pembelian
values ('bel-e002','elk-02','j-0001','21-05-02',4);
insert into pembelian
values ('bel-e003','elk-01','j-0002','20-05-02',2);
insert into pembelian
values ('bel-e004','elk-01','b-0001','20-05-02',2);
insert into pembelian
values ('bel-e005','elk-03','b-0002','22-05-02',3);
insert into pembelian
values ('bel-e006','elk-02','j-0001','24-05-02',1);


1. Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.













2. Tampilkan pelanggan yang paling besar pembeliannya
SELECT nama_barang FROM Barang
WHERE stok <(SELECT avg(stok)
FROM Barang)

SELECT Nama
FROM Pembelian,Pelanggan
WHERE jum_pembelian = (SELECT MAX(jum_pembelian)FROM Pembelian)
AND Pelanggan.Kode_Pelanggan = Pembelian.kode_Pembelian

3. Buatlah view dengan nama V_PELANGGAN yang menampilkan nama
pelanggan,alamat dan telepon. Pelanggan yang ditampilkan adalah
yang berasal dari kota Jakarta. 
CREATE VIEW v_PELANGGAN as
SELECT Nama,Alamat,telepon
FROM Pelanggan
WHERE Kota = 'Jakarta'

  SELECT * from v_PELANGGAN



4. Buatlah view V_PLGN_BELI yang menampilkan jumlah pembelian per
pelanggan untuk tanggal tertentu. Field yang ditampilkan adalah
nama pelanggan jumlah pembelian, tanggal pembelian. Tampilkan
semua data yang ada pada view V_PLGN_BELI 
 CREATE VIEW v_plgn_beli as
 SELECT Nama,jum_pembelian,tgl_pembelian
 FROM Pelanggan,Pembelian

  SELECT * from v_plgn_beli



5. Buatlah view V_JUM_BELI yang menampilkan jumlah beli per barang
per pelanggan per tanggal tertentu. Field yang ditampilkan adalah
nama barang, nama pelanggan, tanggal pembelian,dan jumlah
pembelian.Tampilkan semua data yang ada pada view V_JUM_BELI
 CREATE VIEW v_jum_beli as
          SELECT nama_barang,Nama,tgl_pembelian,jum_pembelian
          FROM Barang,Pelanggan,Pembelian


          SELECT * from v_jum_beli




Tidak ada komentar:

Posting Komentar