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.
Model-model data adalah sekumpulan tool konseptual untuk mendeskripsikan data,relasi antar data,semantic data dan konsistensi konstrain. Bermacam-macam model data terbagi dalamdua kelompok besar:
- 1. Object Based Logical Model
Yang termasuk dalam kelompok ini diantaranya adalah entity-relational model dan object-oriented model.
- a) Entity-relational model
E-R model didasarkan pada kenyataan yang terdiri dari Entitas(Object nyata yang bersifat unik),relasi(Hubungan antar object). Setiap entitas mampunyai atribut-atribut yang membedakan entitas satu dengan yang lain. Contoh entitas pegawai yang mampunyai atribut id_pegawai,nama,alamat,jabatan.
Pemodelan data dengan E-R model menggunakan diagram yang terdiri dari:
- · Kotak persegi panjang(menggambarkan himpunan entitas)
· Elips(menggambarkan atribut-atribut)
· Diamon(menngambarkan hubungan atar himpunan entitas)
· GAris (menggabarkan antar object dalam diagram E-R)
- b) Object-oriented model
Model berorientasi object berdasarkan kumpulan object. Setiap object berisi:
- · Nilai yang disimpan pada variable instant
· Metode(operasi yang berlaku pada object yang bersangkutan)
· Object-object yang mempunyai tipe nilai dan metode yang dikelompokkan dalam satu kelas.
· Sending a maessage,sebuah object dapat mengakses sebuah data hanya dengan memanggil metode dari object tersebut.
- c) Semantic data model
d) Fungsional data model
- 2. Record-Based Logical Model
Yang termasuk dalam model ini antara lain:
- a) Model Relasional
Model ini menggunakan table-tabel dalam merepresentasikan data dan relasi antar data tersebut. Didalam table mempunyai kolom dan setiap kolom mempunyai nama yang unik.
b) Model Hierarki
Model ini menyerupai puhon yang terbalik. Contoh DBMS yang menggunakan model ini Management Information System
c) Model Jaringan
3 level arsitektur basis data:
- 1. Laval fisik/internal
Level ini merupakan level yang paling rendah yang menggambarkan bagaimana data disimpan secara fisik. Missal kita mamiliki data pegawai, data tersebut disimpan didalam disk berdasarkan atribut-atribut didalamnya.
- 2. Level konseptual/logika
Pada level ini menggambarkan basis data pada hubungan atau relasi antar entitas yang biasanya digambarkan dengan diagram-diagram/model
- 3. Level pandangan pengguna (User View Level)/Eksternal
Level ini adalah level tertinggi yang menggambarkan sebagian saja yang dilihat dan dari keseluruhan data base. Hal ini desebabkan dari beberapa pengguna(end user,programmer,DBA) sesuai dengan bahasa yang digunakan (tidak semua dibutuhkan).
- a. Programmer : bahsa yang digunakan adalah bahasa pemrograman seperti Java,C,COBOL dll.
- b. End user : bahasa yang digunakan adalah bahasa query atau menggunakan fasilitas yang tersedia pada program aplikasi. Pada level ini user dibatasi pada perangkat keras maupun lunak yang digunakan pada basis data.
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