Primary key atau kunci primer dalam sebuah table berfungsi untuk mencegah terjadinya pengulangan data. Selain itu primary key juga digunakan untuk dihubungkan dengan table lain yang mempunyai relasi. Sedangkan Foreign key digunakan untuk menghubungkan table ke table yang memiliki relasi terhadap table tersebut.
Contoh: kita mempunyai table buku deangan field kode_buku(primary key),judul dan kita juga mempunyai table transaksi deangan field no_transaksi (primary key),kode_buku(foreign key),judul maka kode_buku adalah sebagai foreign key yang mereferensi table buku
Field atau kolom(coloumn) harus memiliki type data.
Sifat dari field adalah:
- 1. Berfungsi sabagai PRIMARY KEY
Contoh: kode_buku adalah primary key table karyawan
2. Berfungsi sebagai FOREIGN KEY
Foreign key dari sebuah teble akan mereferensi atau mengacu ketable lain sehingga kedua table tersebutsaling berhubungan satu sama lain. Foreign key akan mereferensi ke primary key table lain. Foreign key biasanya digunakan untuk menghindari adanya kesalahan dalam menginput data. Misal,seorang user menginputkan kode_buku(priymary key) 10,padahal dalam database tidak ada kode tersebut maka database akan menolak. Foreign key juga berfungsi untuk mencegah terjadinya manipulasi data oleh pihak yang tidak bertanggung jawab.
3. Unik
4. AutoIncrement
Ada field-field tertentu yang tidak perlu kita isi tetapi system akan memasukan data ke field tersebut,misalnya nomor urut. System akan memasukkan nomor urut secara otomatis dan akan bertambah nilainya.
5. Memiliki nilai default
Jika kita tidak mengisikan data ke field dalam table,maka kita bias mamberikan nilai default.
6. Autocompute
Database akan melakukan perhitungan secara otomatis.
7. NullAble
NullAble(null) maka field boleh dikosongkan.
Setelah kebutuhan dikumpulkan,analisis terhadap kebutuhan analisis dilakukan dengan beberapa alat (tools)seperti :
1. DFD(Data Flow Diagram)
DFD memberi gambaran bagaimana data berubah sejalan dengan alirannya dalam sistem dan menggambarkan fungsi-fungsi yang mengubah data-data
2. ERD(Entity Relationship Diagram)
Menggambarkan relasi object-object data
3. STD(State Trantition Diagram)
Menggambarkan bagaimana kerja system melalui kondisi(state) dan kejadian yang menyebabkan kondisi berubah. STD juga menggambarkan aksi yang dilakukan karena kejadian tertentu.
pada tabel,record. Misal:
- Memasukkan Data (ISERT)
INSERT INTO … VALUE...
Contoh:- INSERT INTO NASABAH (ID_NASABAH,NAMA_NASABAH,ALAMAT_NASABAH) VALUE ('1','Anisa Indriawati','Srumbung Magelang')
- INSERT INTO NASABAH VALUE ('1','Anisa Indriawati','Srumbung Magelang')
- Semua record semua field
SELECT * FROM tabel
Contoh:
SELECT * FROM NASABAH - Semua record, field tertentu
SELECT field1, field2,… FROM tabel
Contoh:
SELECT ID_NASABAH,nama FROM NASABAH
- Menyaring data (filtering)
Agar data yang diambil sesuai dengan kebutuhan (pada contoh diambil semua field)- Dengan 1 kriteria/kondisi
SELECT * FROM tabel WHERE kondi
Catatan :
Kondisi = field [ =,>,<,>=,<=,!=] kunci [ ] = pilih salah satu dari operator relasi Field : nama field dimana data disaring Kunci : nilai/data sebagai kunci penyaringan. Contoh : SELECT * FROM NASABAH WHERE nama=”Nadine” - Dengan >1 kriteria/kondisi
SELECT * FROM tabel WHERE kondisi1 {AND,OR,XOR,NOT} kondisi2
Catatan:
{ } : opeartor logika
Contoh :SELECT * FROM NASABAH WHERE nama=”Nadine” OR ID_NASABAH=”2” - Menyaring data dengan karakter tengah
SELECT * FROM tabel WHERE field LIKE “%kunci%”
Keterangan:
% : wildcard/ diabaikan
%kunci : karakter didepan kunci diabaikan
Kunci% : karakter dibelakang kunci diabaikan
%kunci%:karakter didepan dan dibelakang kunci diabaikan
Contoh:
SELECT * FROM NASABAH WHERE NAMA LIKE “%ra%”
- Dengan 1 kriteria/kondisi
- Pengurutan
SELECT * FROM tabel1 .... ORDER BY field ASC/DESC
- …..: jenis tabel dapat tabael tunggal maupun berrelasi
- Field : kunci pengurutan
- ASC : urut naik –default DSC : urut turun
Contoh:
SELECT ID_NASABAH,NAMA FROM NASABAH ORDER BY NAMA
- Summarizing/perhitungan/Recapitulation
Yakni untuk perhitungan baik yang bersifat statistik, penjumlahan , dan lain sebagainya- Menghitung jumlah record
SELECT COUNT(*) FROM tabel [kondisi] [relasi]
Keterangan:
[kondisi] dan [relasi] : bila diperlukan
Contoh:
SELECT COUNT(*) FROM NABAH
SELECT count (ID_NASABAH),NAMA from NASABAH group by NAMA - Menjumlah suatu field
SELECT SUM(field) FROM tabel [kondisi] [relasi] Contoh :
SELECT SUM(SALDO) FROM REKENING - Menghitung rata-rata
SELECT AVG(field) FROM tabel [kondisi] [relasi]
Contoh :
SELECT AVG(SALDO) FROM REKENING - Mengetahui data/nilai maksimum/minimum
SELECT MAX(field) FROM tabel [kondisi] [relasi] atau
SELECT MIN(field) FROM tabel [kondisi] [relasi]
Contoh:
SELECT MAX(SALDO) FROM REKENING
- Menghitung jumlah record
- Pengelompokan
- Pengelompokkan dengan GROUP BY
SELECT * FROM tabel GROUP BY field- Mengelompokkan atas dasar field tertentu, dan record hanya muncul 1 kali
- Banyak digunakan untuk keperluan summarizing
- HAVING digunakan untuk filter hasil dari pengelompokkan
SELECT * FROM tabel GROUP BY field HAVING kondisi
- Pengelompokkan dengan GROUP BY