Selasa, 25 November 2014

Progres Aplikasi SQL "Rental Mobil"

Struktur tabel database rental mobil


aplikasi nya menggunakan :
1. Database nya dibuat di oracle XE
2. Programnya dibuat di Visual basic 6.0
- database oracle di connect ke visual basic 6.0 dengan kodingan nya.

progres nya sudah sampai pembuatan form form di visual basic nya dan database di oracle sudah selesai. yg belum connect database ke visual basic nya.

Minggu, 16 November 2014

Latihan Sub Query dan View

LATIHAN

1.   Tampilkan nama barang yang mempunyai stok kurang dari rata-rata.
2.  Tampilkan pelanggan yang paling besar pembeliannya
3.  Buatlah view dengan nama V_PELANGGAN yang menampilkan nama
     pelanggan,alamat dan telepon. Pelanggan yang ditampilkan adalah
     yang berasal dari kota Jakarta.
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
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

1. 
2.

3.
4.


5

Resume Sub Query dan View

SUB QUERY & VIEW
                         I.            SUB QUERY
Sub query adalah query di dalam query, artinya seleksi data berdasarkan dari hasil seleksi data yang telah ada.
SELECT field-1,…,field-n
FROM tabel
WHERE kriteria ( SELECT field-1,…,field-n
FROM tabel
                       WHERE kriteria );
               SUB QUERY
CONTOH…
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




2. Tabel Pelanggan
Kode_Pelanggan char(6),
Nama varchar(30), Alamat varchar(30), kota varchar(15),
Telepon varchar(15)
primary key : kode_Pelanggan
       

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



CONTOH…
Dari ketiga tabel diatas tampilkan transaksi pembelian yang
jumlahnya di atas rata-rata ….??
Penyelesaian …
1. Tampilkan seluruh transaksi pembelian (tanggal pembelian dan
jumlah pembelian).
2. Tampilkan jumlah pembelian rata-rata pada transaksi
pembelian.
3. Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.

CONTOH…
1. Tampilkan seluruh transaksi pembelian (tanggal pembelian dan
jumlah pembelian).
SELECT tgl_pembelian, jum_pembelian FROM pembelian
2. Tampilkan jumlah pembelian rata-rata pada transaksi pembelian.
SELECT avg(jum_pembelian) as rata2_pembelian
FROM pembelian
3. Tampilkan transaksi pembelian yang jumlahnya diatas rata-rata.
SELECT tgl_pembelian, jum_pembelian
FROMpembelian
WHERE jum_pembelian > (SELECT avg(jum_pembelian)
FROM pembelian)

          III.            VIEW
         View  pada dasarnya merupakan presentasi data terkustomasi yang didapatkan dari satu atau lebih tabel. Atau kita anggap view ini sebagai query tersimpan (stored query).
         View tidak menyimpan data, tetapi hanya menyimpan rujukan pada data tertentu yang ada di suatu tabel darimana mereka berada.
         Semua operasi yang dilakukan pada view berakibat tertentu pada tabel basis untuk view yang bersangkutan.

SINTAKS VIEW

 CREATE       VIEW nama_view AS
SELECT       field-1,…,field-n, aggregate function
FROM                   tabel-1,…, tabel-n
WHERE       kriteria
GROUP BY   field-1,…,field-n
HAVING      kriteria_aggregate_function
ORDER BY   field

     Buat view bernama v_barang yang menampilkan nama
barang dan stok barang.
CREATE VIEW v_barang as
SELECT nama_barang, stok_barang
FROM barang
·        Tampilkan semua data yang ada pada view v_barang.
SELECT *from v_barang
·       Tampilkan nama barang dari view v_barang.
SELECT nama_barang from v_barang
·       Hapuslah view v_barang.
DROP view v_barang
·       Tampilkan view v_barang (apakah yang terjadi?)

SELECT * from v_barang

FUNGSI VIEW

SQL View adalah tabel virtual (bukan tabel sebenarnya) yang dibuat dari beberapa tabel atau view lain. SQL View tidak memiliki data sendiri, tetapi data-datanya berasal dari tabel-tabel atau view lain. SQL View dibuat atau dibangun dengan SELECT statement. 
Di dalam query SELECT tersebut kita bisa menambahkan ORDER BY statement untuk mengurutkan data atau tidak sama sekali. SQL View dapat digunakan untuk memudahkan atau menyederhanakan data yang ditampilkan,  mencegah menampilkan data yang penting dengan menyembunyikan nama kolomnya.

KELEBIHAN VIEW
·         Menyembunyikan Kolom atau Baris
·         Menampilkan hasil dari penghitungan
·         Menyembunyikan Sintak SQL yang rumit
·         Fungsi Built-in Layer
·         Menyediakan level isolasi antara data tabel dan View data pengguna
·         Memberikan proses permission yang berbeda untuk view yang berbeda dari tabel yang sama
·         Memberikan trigger berbeda pada view yang berbeda dari tabel yang sama

KEKURANGAN VIEW
View merupakan tabel duplikasi tetapi bukan temporary table, bukan juga merupakan sebuah tabel yang asli, tapi view ini cuma menduplikasi tabel awal dengan adanya modifikasi.

Sumber : ppt 20141-31-ICI521-D-K-9
http://webcache.googleusercontent.com/search?q=cache:VF77j6f1TS8J:hamdanilampuhias.wordpress.com/2014/10/14/agregasi-sql-dan-view/+&cd=2&hl=id&ct=clnk&gl=id

Selasa, 07 Oktober 2014

Resume Sql Pertemuan 5

Pengelompokan data (Group by) dan Aggregate Function

ž  Group by : untuk menampilkan atau memilih sekumpulan data berdasarkan kelompok data       tertentu.
ž  Pada pengelompokan data biasanya disertakan bersama Aggregate function.
ž  Dalam implementasinya aggr. Function harus diikuti oleh group by bila terdapat field lain yang dijadikan sebagai kriteria pengelompokan.
ž  Aggregate function : min(),max(),avg(),sum(),dan count()
1. Min ()

                mencari harga minimum dari sekumpulan data yang ada.
                SELECT field-1,…,field-n,
                MIN(nama_field)
                FROM tabel
                GROUP BY field-1,…,field-n

2. Max ()
    mencari harga max dari sekumpulan data yang ada.
   SELECT field-1,…,field-n,
   MAX(nama_field)
   FROM tabel
  GROUP BY field-1,…,field-n

           3. Avg ()
                   untuk mencari harga rata-rata dari sekumpulan data yang ada.
                   SELECT field-1,…,field-n, Avg(nama_field)
                   FROM tabel
                   GROUP BY field-1,…,field-n

           4. Sum ()
                   untuk mencari jumlah data.
                   SELECT field-1,…,field-n, Sum(nama_field)
                   FROM tabel
                   GROUP BY field-1,…,field-n
       
5. Count ()
                   untuk mencari cacah atau banyaknya data.
                   SELECT field-1,…,field-n, COUNT (nama_field)
                   FROM tabel
                   GROUP BY field-1,…,field-n

              Pengurutan data (Order by)
             Untuk mengurutkan data berdasarkan field tertentu
             SELECT field-1,field-2,…,field-n
                   FROM tabel
       ORDER BY field

         Tampilkan semua data barang berdasarkan urutan nama barang.
                   select * from barang order by nama_barang;
         Tampilkan semua data barang berdasarkan urutan yang terbalik dari nama barang.
                   select * from barang order by nama_barang desc;

               Kriteria Data

ž  HAVING -> Menyeleksi data berdasarkan kriteria tertentu, dimana kriteria berdasarkan berupa fungsi aggregat.

             SELECT      field-1,…, field-n, aggregate_function
                   FROM         tabel
       GROUP BY  field-1,…,field-n
       HAVING      kriteria_aggregate_function

       WHERE
ž  Pemilihan/seleksi data dilakukan setelah kata where,
ž  Diikuti oleh :
                   - comparison (=,<>,<,>,>=,<=),
                   - between,
                   - in,
                   - like/not like

       COMPARISON
ž  Berfungsi untuk membandingkan dua nilai.
ž  Tipe data yang seharusnya dibandingkan harus sesuai.
ž  Hasil yang diperoleh dari operasi comparison ini berupa nilai logik.
SELECT    field-1,…, field-n
       FROM                 tabel
             WHERE    field = | <> | < | > | <= | >=  …

       BETWEEN
ž  Pada prinsipnya between digunakan untuk membandingkan /untuk mengecek apakah suatu nilai berada dalam range atau nilai tertentu.
                   SELECT    field-1,…, field-n
                   FROM           tabel
                   WHERE    field   BETWEEN …  AND …     
                  
       IN
ž  Digunakan untuk melakukan pengecekan apakah suatu nilai terdapat pada suatu himpunan tertentu.
SELECT    field-1,…, field-n
FROM     tabel
            WHERE    field  IN (…, …, …)

      LIKE/NOT LIKE
ž  Digunakan untuk membandingkan data dengan pola tertentu.
SELECT    field-1,…, field-n
FROM            tabel
WHERE    field LIKE | NOT LIKE

Contoh : 
      Tampilkan customer yang mempunyai kata ‘CIM'  pada alamatnya (pada alamat customer terdapat kata ‘CIM’)
SELECT *
FROM customer
WHERE alamat_customer LIKE ‘%CIM%’

    LATIHAN
              1.       Tampilkan jumlah nilai minimum per matakuliah
              2.        Tampilkan nilai maksimum dari semua data pada tabel NILAI
              3.       Tampilkan nim dan kode mata kuliah yang mempunyai nilai 90
              4.       Tampilkan nim dan kode mata kuliah yang mempunyai nilai kurang dari 90
              5.       Tampilkan data mahasiswa yang dari kota berakhiran “KARTA”

1. 

2. 

3. 


4. 























5.