Rabu, 18 Februari 2009
BASIS DATA TERDISTRIBUSI (DATA REPLICATION)
Replikasi merupakan suatu strategi yang beranjak populer dalam penyebaran data yang dapat di artikan untuk menyimpan salinan basis data secara terpisah pada 2 atau lebih lokasi. Replikasi memungkinkan organisasi-organisasi untuk memindahkan basis data dari mainframe terpusat ke server-server yang spesifik ke lokasi tertentu, dekat pada para pengguna. Replikasi mungkin menggunakan teknologi basis data sinkron maupun asinkron, meski demikian teknologi asinkron adalah teknologi yang sering digunakan. Relasi nasabah sebagai contoh, dapat di simpan dapat di simpan di cabang bank mana saja. Jika salinan data lengkap di simpan di setiap lokasi, kita mendapatkan kasus replikasi penuh (full replication) yang jarang sekali diterapkan kecuali basis data yang berukuran kecil. Di bawah ini kita akan mendaftarkan 5 keunggulan dari replikasi data :
1. Keandalan
Jika salah satu lokasi yang memuat relasi basis data mengalami kegagalan, salinannya selalu dapat di temukan di lokasi yang lain. Juga, salinan data pada suatu lokasi dapat segera di perbaharui saat suatu transaksi terjadi di lokasi yang lain.
2. Waktu Tanggap (Response Time) Yang Cepat
Setiap lokasi yang memiliki salinan penuh akan memproses query-query secara lokal, sehingga query yang bersangkutan dapat diproses secara cepat.
3. Kemungkinan Untuk Mengabaikan Rutin Yang Rumit Untuk Menjaga Integritas Transaksi Terdistribusi.
Basis data tereplikasi dapat disinkronisasikan pada interval waktu tertentu (disinkronisasi secara periodik).
4. Mengurangi Koordinasi Antar Simpul
Setiap transaksi secara mandiri dapat diproses tanpa koordinasi dalam jaringan. Maka, jika kinerja suatu simpul mengalami penurunan, sibuk, atau terputus (misalnya pada kasus komputer pribadi yag memiliki mobilitas tinggi), transaksi yang diproses secara lokal dapat di tangani saat di kehendaki pengguna. Pada saat sinkronisasi, proses yang tampak oleh pengguna akan mengkoordinasi semua salinan data.
5. Mengurangi Lalu Lintas Pada Jaringan Saat Waktu Sibuk
Sering pembaharuan data terjadi selama jam-jam sibuk, saat lalu lintas jaringan tinggi dan permintaan waktu tanggap (response time) juga tinggi. Replikasi, dengan penundaan dengan pembaharuan data, memindahkan lalu lintas jaringan dengan cara mengirimkan pambaharuan data ke simpul lain yang sedang tidak sibuk.
Selain memiliki keunggulan-keunggulannya yang kita bagas di atas, replikasi juga penuh memiliki beberapa kekurangan, yaitu:
1. Kebutuhan Ruang Penyimpanan
Setiap lokasi yang memiliki salinan penuh harus memiliki kapasitas penyimpanan yang sama dengan kapasitas data terpusat. Setiap salinan membutuhkan ruang penyimpanan (sebagai catatan : biaya untuk ruang penyimpanan ini selalu berkurang setiap waktu tertentu), waktu pemrosesan tertentu di butuhkan untuk memperbaharui setiap salinan pada setiap simpul.
2. Biaya Kerumitan Pembaharuan
Kapanpun relasi di perbaharui, pambaharuan tersebut harus di jalarkan ke setiap lokasi yang memiliki salinannya. Sinkronisasi pambaharuan mambutuhkan koordinasi yang hati-hati (kita akan lebih mamahaminya saat kita mambicarakan protokol COMMIT).
Untuk alasan-alasan diatas, replikasi sangat sesuai digunakan saat kebanyakan proses adalah pambacaan data (sesuai untuk data-data yang bersifat ‘hanya baca’/’read-only’), seperti pada aplikasi-aplikasi untuk nomor telpon, jadwal pemberangkatan kereta api , jadwal pemberangkatan pesawat udara, dan sebagainya. Teknologi penyimpanan dangan CD-ROM dan DVD sangat menjanjikan sebagai media yang ekonomis untuk basis data tereplikasi. Namun demikian, basis data tereplikasi tidak sesuai digunakan untuk aplikasi-aplikasi on-line seperti ATM (anjungan tunai mandiri), aplikasi pemesanan layangan pesawat udara, aplikasi pemesanan kamar hotel, aplikasi-aplikasi finansial lainnya, serta (yang terutama) aplikasi-aplikasi yang sering sekali melakukan pembaharuan (updating) pada basis data.
DBMS (Database Management System)
FUNGSI DBMS
1. Data Definition, DBMS harus dapat mengolah pendefinisian data
2. Data Manipulation, DBMS harus dapat menangani permintaan dari pemakai untuk mengakses data
3. Data Security & Integrity, DBMS harus dapatmemeriksa security dan integrity data yang didefinisikan oleh
4. Data Recovery & Concurency, DBMS harus dapat menangani kegagalan–kegagalan pengaksesan database
5. Data Dictionary, DBMS harus menyediakan data dictionary.
6. Performance, DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin.
KOMPONEN DBMS
Sebuah DBMS (Database Management System) umumnya memiliki sejumlah komponen fungsional (modul) seperti :
1. File Manager, yang mengelola ruang dalam disk dan struktur data yang dipakai untuk merepresentasikan
3. Query Processor, yang menterjemahkan perintahperintah dalam query language ke perintah low-level yang
4. DML Precompiler, yang mengkonversi perintah DMLyang ditambahkan dalam sebuah program aplikasi
5. DDL Compiler, yang mengkonversi perintah-perintahDDL ke dalam sekumpulan tabel yang mengandung
Rabu, 11 Februari 2009
Data Definition Language
1. Jelaskan dan uraikan secara rinci :
a. Pengertian basis data
b. Tujuan penggunaan basis data
c. Jika sebuah mini market menggunakan aplikasi MS Word dan MS Excel untuk mencatatat data barang, pegawai, penggajian, transaksi dan lain-lain, apakah mini market tersebut dapat dikatakan telah menerapkan basis data? Jelaskan!
Jawab :
a. Basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
b. 1. Efisiensi meliputi speed, space, dan accurany.
2. Menangani data dalam jumlah besar
3. Kebersamaan pemakaian (sharebility)
4. Meniadakan duplikasi dan inkonsistensi data
c. Mini market tersebut dapat dikatakan sudah menggunakan basisdata, karena apabila kita mengelola data dari mini market tersebut secara terorganisir dengan menggunakan media apa saja, baik dalam media computer maupun dengan media kertas sekalipun, sudah dapat dikatakan kalau kita sudah menggunakan sebuah basisdata
2. Sebutkan dan jelaskan macam - macam objek yang ada dalam database !
Jawab :
1. Tabel
Tabel terdiri dari field-field atau kolom-kolom dengan tipe data tertentu dan baris-baris yang digunakan sebagai penyimpan data. Contoh : tabel Mahasiswa yang terdiri dari field-field : NRP (primary key), Nama, Alamat, JenisKel, NIPDosen (foreign key dari field NIP pada tabel Dosen).
2. View
View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Contoh : view MahasiswaPria yang diambil dari tabel Mahasiswa di mana field JenisKel = “L”.
3. Trigger
Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi (insert, update, dan delete) pada tabel. Contoh : trigger tLogUbahNilai melakukan penambahan data pada tabel LogHistoris untuk setiap penambahan / update data pada tabel PesertaKul.
3. Jelaskan dan uraikan secara rinci :
a. Apa yang anda ketahui tentang Primary Key dan Foreign Key?
b. Apakah suatu tabel boleh memiliki lebih dari 1 primary key, jelaskan! Jika iya, berikanlah contoh suatu tabel yang mempunyai 2 primary key, beserta dengan sintaks sql-nya !
Jawab :
a. “Primary Key” adalah field kunci / utama dari suatu tabel yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa diisi dengan data yang sama, / dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik).
“Foreign key” adalah satu attribute yang melengkapi satu relationship yang menunjukan ke induknya.
b. Satu tabel tidak boleh memiliki lebih dari satu primary key, karena primary key merupan variable data yang menjadi identitas utama dari tabel tersebut.
4. Jelaskan apa yang dimaksud dengan Referential Integrity Constraint? Dan jelaskan jenis-jenis dan kapan digunakan Referential Integrity Constraint tersebut !
Jawab :
Referential Integrity Constraint digunakan untuk menjaga konsistensi baris-baris data antara dua buah tabel. Pada umumnya, aturan ini mengharuskan sebuah baris pada sebuah tabel yang terelasikan pada tabel lain harus mengacu pada sebuah baris di dalam tabel tersebut. Terdapat 2 macam tabel yaitu tabel child dan tabel parent. Aturan untuk referential integrity biasanya digunakan jika terjadi proses modifikasi data.
Aturan untuk Update ( berlaku pada proses modifikasi di parent table )
Cascade : Pembaruan sebuah baris data diikuti dengan pembaruan baris data pada child table yang terelasikan.
Restrict : Mencegah proses pembaruan data jika terdapat baris data di child table yang terelasikan.
Ignore : Mengabaikan referensi. Boleh memperbarui data pada parent, tapi tidak memperbarui data yang berelasi pada child table.
Aturan untuk Delete ( berlaku pada proses modifikasi di parent table )
Cascade : Menghapus seluruh baris data pada child table yg terelasikan.
Restrict : Mencegah penghapusan jika terdapat baris data yang berelasi pada child table.
Ignore : Mengabaikan referensi. Boleh menghapus data, dan tidak ada efeknya bagi child table.
Aturan untuk Insert
Restrict : Tidak boleh menambah data pada child table, jika nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabelnya.
Ignore : Mengabaikan referensi. Boleh menambah data pada child, walaupun nilai yang dimasukkan pada kolom yang berelasi tidak terdapat pada parent tabel.
5. Sebutkan macam - macam perintah DDL beserta contohnya !
Jawab :
• Membuat tabel :
CREATE TABLE ( | )
• Menghapus tabel :
DROP TABLE
• Menambah kolom :
ALTER TABLE ADD
• Menghapus kolom :
ALTER TABLE DROP
• Membuat view :
CREATE VIEW AS
• Menghapus view :
DROP VIEW
• Membuat triger :
CREATE TRIGGER ON TABLE ON [DELETE] [,] [INSERT] [,] [UPDATE] AS
6. Jelaskan perbedaan weak entity dan strong entity ! Berikan contohnya !
Jawab :
a. Strong entity (entitas kuat) : Entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu memiliki karakteristik yang unik disebut identifier (sebuah atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk membedakannya dari entitas kuat yang lain).
b. Weak entity (entitas lemah) : Entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak memiliki arti apa-apa dan tidak dikehendaki kehadirannya dalam diagram ER tanpa kehadiran entitas di mana mereka bergantung. Contoh :
7. Apakah yang dimaksud dengan constraint ?Bagaimana cara men-disable , meng-enable dan men-drop constraint ?Berikan contohnya!
Jawab :
Constraint adalah batasan atau aturan yang ada pada table. Constraint mencegah penghapusan data dari suatu table yang mempunyai keterkaitan dengan table yang lain. Misal terdapat keterkaitan antara table department dengan table pegawai. Dimana pada table pegawai menyimpan informasi kolom nomer department yang juga terdapat pada table department. Jika baris dengan nomer department ‘10′ akan dihapus dari table department, sedangkan terdapat data pegawai yang bekerja pada department tersebut, maka dengan adanya constraint antara dua table, penghapusan tersebut tidak bisa dilakukan.
8. Jika kita membuat tabel dengan create table apakah nama table akan disimpan sesuai dengan besar kecilnya huruf atau dijadikan low-case atau upper case? Bagaimana membuat suatu tabel yang namanya sesuai dengan besar kecilnya huruf?
Jawab :
Apabila kita membuat table di oracle, maka hasil yang di tampilkan berbentuk lower case. Untuk membuat hasil yang sesuai dengan yang kita inginkan, maka dapat menggunakan tanda petik ( ” ) pada awal dan akhir nama table yang diinginkan.
9. Dalam Oracle kita mengenal ‘index’
a. Jelaskan apa itu index dan apa kegunaannya?
b. Dapatkah index dapat terbentuk secara otomatis? jelaskan!
c. Bagaimana cara membuat index secara manual? beri contoh!
d. Kapan sebaiknya index digunakan?
Jawab :
a. Index berguna Untuk mempercepat query dan mengurangi disk I/O
b. Dapat, apabila kita menambahkan constraint dengan alter table, maka index akan ditambahkan dengan otomatis
c. Cara membuat index secara manual:
TABLE Customer
(
First_Name char (50),
Last_Name char (50),
Address char (50),
City char (50),
Country char (25),
Birth_Date date
)d. Index digunakan pada saat :
- Satu / lebih kolom yang sering dipakai pada operasi WHERE atau JOIN
- Suatu kolom memiliki rentang nilai besar
- Suatu kolom banyak memiliki nilai NULL
- Jumlah row (baris) sangat besar dan sering retrieval cuma menghasilkan 2-4% data
Data Manipulation Language-DML
1. Apa yang dimaksud dengan DML?
Merupakan perintah-perintah yang berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam table.
2. Jelaskan syntaks DML dan berikan contoh!
1. Insert
Berfungsi Untuk memasukkan sejumlah data kedalam table yang telah dibuat.
Syntax:
insert into table_name (column1, column2, …, column_n)
values (value1, value2, …, value_n);
Contoh:
insert into mahasiswa (nrp,nama)
values (‘5106100032′, ‘Fajri Aryuanda’);
2. Delete
Berfungsi untuk menghapus sejumlah data yang ada didalam table yang telah dibuat.
Syntax:
delete table_name where column_name=column_content;
Contoh:
delete mahasiswa where nrp=’5106100032′;
3. Update
Berfungsi untuk melakukan perubahan terhadap sejumlah data yang ada didalam table yang telah dibuat.Syntax:
update table_name
set column1_name=column1_content
where column2_name=column2_content;
Contoh:
update mahasiswa
set nama=’Fajri Aryuanda’, alamat=’U-144′
where nrp=’5106100032′;
4. Select
Berfungsi untuk melakukan pengambilan sejumlah data yang ada di dalam table untuk ditampilkan ataupun dimanipulasi
Syntax:
Select column from table_name
Contoh:
Select * from mahasiswa;
3. Jelaskan kegunaan perintah - perintah berikut:
• COMMIT
Merupakan syntax untuk melakukan record perubahan data yang kita lakukan selama session manipulasi table (selama login hingga logoff).
• ROLLBACK
Merupakan syntax untuk melakukan pembatalan terhadap semua perubahan yang telah kita lakukan selama session manipulasi data table (selama login hingga logoff).
4. Diketahui isi tabel MAHASISWA sebagai berikut:
Tuliskan perintah untuk:
• Menambahkan data mahasiswa dengan nama Arie Narendra dengan NRP 5105100037 dan dia belum mempunyai NIP.
insert into MAHASISWA (NRP,NAMA_MAHASISWA)
values (’5105100037′,’Ari Narendra’);
• Mengubah NRP mahasiswa bernama Slamet Riyadi menjadi 5102109086
update MAHASISWA set NRP=’5102109086′
where NAMA_MAHASISWA=’Slamet Riyadi’;
• Mengubah NIP semua mahasiswa angkatan 2005 menjadi 5910001.
update MAHASISWA set NIP=’5910001′ where NRP like ‘5105100___’;
• Menghapus semua mahasiswa angkatan 2001 dari tabel mahasiswa.
delete MAHASISWA where NRP like ‘5101100___’;;
• Menambahkan data mahasiswa dengan NRP 5105100099 dan nama Ca’ Agus (perhatikan pada nama terdapat tanda petik satu/apostrof ).
insert into MAHASISWA (NRP, NAMA_MAHASISWA)
values(’5105100099′, ‘Ca” Agus’);
5. Apakah kita bisa meng-copy baris dari suatu tabel ke tabel lain?
Jelaskan!
Bisa, dengan menggunakan printah insert disertai dengan perintah select.
Contohnya:
insert into COPY_NRP_MAHASISWA (NRP)
select NRP from MAHASISWA;
6. Diketahui sebuah tabel PASIEN dengan field sebagai berikut :
Tuliskan perintah untuk :
a. Memasukkan data pasien dengan pa_id = ‘P0001′ dan bernama ‘Amira Suryani’. Field pa_tanggal_lahir dikosongkan.
insert into PASIEN (PA_ID, PA_NAMA)
values (’P0001′, ‘Amira Suryani’);
b. Mengupdate data pasien dengan pa_id = ‘P0001′ dengan mengisi pa_tanggal_lahir adalah tanggal dan waktu saat ini.
update PASIEN set PA_TANGGAL_LAHIR = sysdate
where PA_ID=’P0001′;
c. Memasukkan data pasien dengan pa_id = ‘P0002′, bernama ‘Indah Tria’, lahir pada 3 hari yang lalu.
insert into PASIEN (PA_ID, PA_NAMA, PA_TANGGAL_LAHIR)
values (’P0002′, ‘INDAH TRIA’, (sysdate-3));
d. Memasukkan data pasien dengan pa_id = ‘P0003′ bernama ‘Arindita’, lahir pada 5 menit yang lalu.
insert into PASIEN (PA_ID, PA_NAMA, PA_TANGGAL_LAHIR)
values (’P0003′, ‘Arindita’, (sysdate - (5/1440)));
e. Memasukkan data pasien dengan pa_id = ‘P0004′ bernama ‘Asri’, lahir pada 12 Desember 1987 pukul 20.00
insert into PASIEN (PA_ID, PA_NAMA, PA_TANGGAL_LAHIR)
values (’P0004′, ‘Asri’, TO_DATE(’12.12.1987:20:00:00′, ‘DD.MM.YYYY:HH24:MI:SS’));
f. Mengubah tanggal lahir pasien dengan pa_id = ‘P0004′ menjadi 1 bulan kemudian.
update PASIEN set PA_TANGGAL_LAHIR=PA_TANGGAL_LAHIR + 30
WHERE PA_ID=’P0004′;
Query
SELECTSyntax dari SQL Select adalah sebagai berikut :
SELECT [DISTINCT] select_listFROM table_source[WHERE search_condition][GROUP BY group_by_expression][HAVING search_condition][ORDER BY order_expression [ASC |DESC] ]
Keterangan :–>DISTINCT
Distinct digunakan untuk menghilangkan duplikasi dari hasil query (hasil query yang sama ditampilkan sekali).Contoh :Menampilkan anggota yang meminjam atau belum mengembalikan buku yang dipinjam pada sebuah perpustakaan. SELECT NO_ANGGOTA FROM PEMINJAMAN;Hasilnya adalah :NO_ANGGOTAId001Id005Id001Id005Terlihat bahwa ada NO_ANGGOTA yang sama tampil berulang pada tabel yang diselect. Untuk menghindari ini, dapat digunakan syntax DISTINCT.SELECT DISTICNT NO_ANGGOTA FROM PEMINJAMAN;NO_ANGGOTAId001Id005
–>SELECT LIST
Merupakan kolom-kolom yang didefinisikan sebagai hasil dari proses query.a. Menampilkan keseluruhan isi tableUntuk menampilkan keseluruhan field dari tabel-tabel yang didefinisikan, digunakan *. Misalnya, untuk menampilkan seluruh field dari tabel Anggota, perintahnya: SELECT * FROM Anggotab. Menampilkan kolom-kolom tertentuKolom-kolom yang dipilih berupa ekspresi, yang mana ekspresi tersebut bisa berupa: field tabel (biasanya) konstanta operasi dan fungsiAntara kolom satu dengan lainnya dipisahkan dengan tanda koma (,). Jika merupakan field tabel, maka judul kolom adalah nama field tersebut. Selain itu, jika tidak diberi nama, judul kolom akan kosong.Contoh :
- Menampilkan Nama dan Alamat dari Mahasiswa SELECT NAMA, ALAMAT FROM MAHASISWA- Menampilkan nilai 1 untuk setiap baris pada kolom pertama.SELECT 1, NAMA, ALAMAT FROM MAHASISWA- Menampilkan nama dalam bentuk huruf kapital.SELECT UPPER(NAMA), ALAMAT FROM MAHASISWA
–>FROM NAMA_TABEL
Nama tabel yang akan diselect.
–>Where
Where menunjukkan pengkondisian untuk select. Pada dasarnya mirip dengan filter, akan tetapi fungsinya digunakan untuk merelasikan tabel-tabel yang akan diambil informasinya.Contoh :Mengambil data id_koleksi, judul, dan nama_pengarang. SELECT ID_KOLEKSI, JUDUL, NAMA_PENGARANGFROM KOLEKSI, PENGARANGWHERE KOLEKSI.ID_PENGARANG = PENGARANG.ID_PENGARANG
–>Group By
Digunakan untuk pengelompokan dari fungsi-fungsi untuk aggregate. Kolom-kolom yang disertakan setelah GROUP BY harus sama dengan kolom-kolom setelah klausa SELECT, yang selain fungsi aggregate.Contoh :- Menampilkan Mahasiswa berdasarkan jenis kelamin.Select Jenis_Kelamin, Count(*)from MahasiswaGROUP BY (Jenis_Kelamin);- Menampilkan rata-rata IP mahasiswa per NRP.Select NRP, AVG(IP)From MahasiswaGROUP BY (NRP);
–>Having
Having berfungsi sebagai filter atau pengkondisian untuk fungsi-fungsi aggregate.Contoh :Menampilkan nama penerbit yang jumlah penjualannya lebih dari 10.Select Nama_Penerbit, Count(*)From PenjualanGroup By Nama_PenerbitHaving Count (*) >10;2. Nested queries (queries bersarang) adalah query lain yang ada di dalam sebuah query. Nested queries biasanya digunakan untuk melakukan tes keanggotaan himpunan, perbandingan himpunan, dan kardinalitas himpunan.
KEANGGOTAAN HIMPUNAN
Digunakan in dan not in untuk melakukan tes keanggotaan himpunan.Contoh :Mendapatkan semua customer yang memiliki rekening dan peminjaman pada bank.Pertama :Menemukan semua pemegang rekening :Select Nama_Customer from Depositor;Kedua :Mencari semua customer yang merupakan peminjam, dan yang muncul dalam daftar pemegang rekening. Lakukan penyarangan untuk subquery Pertama dalam sebuah outer select, menjadi :Select Nama_Customer from Peminjaman,Where Nama_CustomerIN (Select Nama_Customer from Depositor);
PERBANDINGAN HIMPUNAN
Contoh :Temukan semua nama cabang bank yang mempunyai asset lebih besar dari bank-bank yang mempunyai minimal satu cabang berlokasi di Brooklyn.Select Branch_NameFrom BranchWhereaset > all (Select assetfrom branch where branch-city = “Brooklyn”);
SYNTAX-SINTAX QUERY YANG UMUM DIPAKAI•COUNT
Fungsi aggregate count digunakan untuk menghitung jumlah baris dalam sebuah tabel database.Syntax-nya secara sederhana :Select Count(Column1) From Table1Contoh :Menampilkan jumlah customer dari tabel customers.Select Count(customer) from customers
• SUM
Fungsi aggregate SUM digunakan untuk memilih/menentukan total atau hasil penjumlahan kolom. Inputan dalam SUM harus bertipe numerik.Syntax :SELECT SUM (COLUMN1)FROM TABLE1Contoh :Customer Date SaleAmount2 5/6/2004 $100.221 5/7/2004 $99.953 5/7/2004 $122.953 5/13/2004 $100.004 5/22/2004 $555.55Berikut ini akan digunakan syntax SUM untuk mengembalikan nilai total dari kolom SaleAmount.Select Sum(SaleAmount)From SalesHasilnya kira-kira seperti ini :SaleAmount$978.67Untuk menambahkan pengkondisian, dapat digunakan SQL Where ke dalam SQL SUM statement.Contoh :Select total SaleAmount dari customer dengan CustomerID=3.Select Sum(SaleAmount)From SalesWhere CustomerID=3Hasilnya adalah seperti ini :SaleAmount$978.67
• MAX
Max digunakan untuk menampilkan/memilih nilai tertinggi (maksimum) dari sebuah kolom.Syntax :Select MAX(Column1)From Table1Contoh :Menampilkan IPK tertinggi dari tabel MahasiswaSelect MAX(IPK)From Mahasiswa
• MIN
Min digunakan untuk menampilkan/memilih nilai terendah (minimum) dari sebuah kolom.Syntax :Select MIN(Column1)From Table1Contoh :Menampilkan IPK terendah dari tabel MahasiswaSelect MIN(IPK)From Mahasiswa
• AVG
Avg digunakan untuk menampilkan/memilih nilai rata-rata dari sebuah kolom. Inputan harus berupa nilai numerik.Syntax :Select AVG(Column1)From Table1Contoh :Menampilkan rata-rata IPK dari tabel MahasiswaSelect AVG(IPK)From Mahasiswa