1. KONSEP RELASIONAL DATABASE BESERTA CONTOH
Ä Database : sekumpulan data yang saling berhubungan untuk memenuhi kebutuhan informasi dalam suatu orgaanisasi
Contoh :
Database Pustaka
Ä Database Relasional : database yang dibangun dari struktur yang berbentuk tabel. Menggunakan sekumpulan table yang menggambarkan data dan relasi antar
Data. Diagram ER dibangun dari komponen berikut:
ù Entitas -> segi empat
ù Atribut -> elips
ù Relasi -> belah ketupat
Contoh :
Ä Entitas : sesuatu yang menggambarkan/ mewakili data dari sebuah organisasi yang perlu dicatat atau “sesuatu” atau “objek” di dunia nyata yang dapat dibedakan dari objek lain. Entitas digambarkan dalam basis data sebagai sekumpulan atribut (attribute).
Contoh:
customers (cust_name, address, dll)
accounts(account_number, balance, dll)
Ä Tuple/ instance : Baris pada sebuah relasi (field).
Contoh :
Tabel customer terdiri dari 7 baris
Ä Atribut : Kolom pada sebuah relasi (field).
Contoh :
Tabel diatas terdiri dari 4 kolom
Ä Super key : Satu atribut/kumpulan atribut yang secara unik mengidentifikasi sebuah tupel di dalam relasi (satu atau lebih field yang dapat dipilih untuk membedakan antara 1 record dengan record lainnya).
Contoh:
Untuk tabel MHS di atas, super key-nya:
NPM NAMA (dengan syarat tidak ada nama yang sama) ALAMAT (dengan syarat tidak ada alamat yang sama) NPM + NAMA NPM + ALAMAT NAMA + ALAMAT NPM + NAMA + ALAMAT |
Ä Candidate key : key yang membedakan secara unik setiap baris dari sebuah tabel. Atribut di dalam relasi yang biasanya mempunyai nilai unik (super key dengan jumlah field yang paling sedikit).
Contoh :
NPM, NAMA dan ALAMAT (karena hanya terdiri dari 1 field saja)
Ä Primary key : key yang dipilih dari candidate key. Candidate key yang dipilih untuk mengidentifikasikan tupel secara unik dalam relasi.
Contoh :
NPM (unik, tidak ada NPM yang sama).
Ä Degree : banyak kolom dalam tabel yang saling berelasi
Contoh :
Tabel diatas mempunyai 4 degree
Ä Cardinality : Banyaknya baris dalam tabel yang saling berelasi
Contoh :
Tabel diatas membuanyai7 cardinality
Ä Domain :Kumpulan nilai yang valid untuk satu atau lebih atribut
Ä Foreign key : Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa
2. KONSEP NORMALISASI BESERTA CONTOH
è Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika atau proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.
è Masalah-masalah yang timbul dalam pembuatan table yang disebut dengan anomali. Anomali adalah proses pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal : ketidakkonsistenan data, suatu data hilang pada saat dihapus, dll.
è Anomali ada 3 jenis yaitu :
ù INSERTION ANOMALY : merupakan error atau kesalahan yang terjadi sebagai akibat dari operasi menyisipkan (insert) tuple / record pada sebuah relasi.
Contoh:
ada matakuliah baru (CS-600) yang akan diajarkan, maka matakuliah tersebut tidak bisa di insert / disisipkan ke dalam Relasi Kuliah di atas sampai ada mahasiswa yang mengambil matakuliah tersebut.
ù DELETE ANOMALY : merupakan error atau kesalahan yang terjadi sebagai akibat operasi penghapusan (delete) terhadap tupe / record dari sebuah relasi.
Contoh:
mahasiswa dengan NIM 92425 (pada Relasi Kuliah di atas), memutuskan untuk batal ikut kuliah CS-400, karena ia merupakan satu-satunya peserta matakuliah tersebut, maka bila record / tuple tersebut dihapus / delete akan berakibat hilangnya informasi bahwa mata kuliah CS400, biayanya 150.
ù UPDATE ANOMALY : merupakan error atau kesalahan yang terjadi sebagai akibat oerasi perubahan (update) tuple / record dari sebuah relasi.
Contoh:
biaya kuliah untuk matakuliah CS-200 (pada relasi kuliah di atas) akan dinaikkan dari 75 menjadi 100, maka harus dilakukan beberapa kali modifikasi terhadap record-record atau tuple-tuple mahasiswa yang mengambil matakuliah CS-200 tersebut, agar data teap konsisten.
3. KONSEP SYNTAX BAHASA PEMOGRAMAN PAKAI TABEL
Jenis | Syntax | Keterangan |
Membuat Database | CREATE DATABASE namadatabase; | namadatabase tidak boleh mengandung spasi dan tidak boleh memiliki nama yang sama antar database. |
Melihat Database | SHOW DATABASES; | untuk menampilkan daftar nama database yang ada pada mysql |
Menghapus Database | DROP DATABASE namadatabase; | Database yang akan dihapus sesuai dengan namadatabase |
Membuat Tabel | CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2 ); | namatabel tidak boleh mengandung spasi (space) |
Mendefinisikan null/not null | CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL, Field2 TipeData2 ); | Dilakukan untuk mendefenisikan type data, dsb. |
Mendefinisikan Nilai Default | CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2 DEFAULT nilai ); | Nilai default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolom ketika ada penambahan baris baru, sementara nilai pada kolom tersebut tidak diisi oleh pengguna |
Mendefinisikan Primary Key Pada Tabel | CREATE TABLE namatabel ( Field1 TipeData1 NOT NULL PRIMARY KEY, Field2 TipeData2 ); | Terdapat tiga cara untuk mendefinisikan primary key |
Menambah Kolom Baru Pada Tabel | ALTER TABLE namatabel ADD fieldbaru tipe; | namatabel adalah nama tabel yang akan ditambah fieldnya |
Mengubah Tipe Data atau Lebar Kolom Pada Tabel | ALTER TABLE namatabel MODIFY COLUMN field tipe | namatabel adalah nama tabel yang akan diubah tipe data atau lebar kolomnya. |
Mendefinisikan Foreign Key Pada Tabel | CREATE TABLE namatabel ( Field1 TipeData1, Field2 TipeData2, FOREIGN KEY (Field2) REFERENCES namatabelinduk (namakolominduk)ON UPDATE CASCADE ON DELETE NO ACTION ) | Untuk mendefinisikan foreign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari foreign key) sudah didefinisikan terlebih dahulu. |
INSERT | INSERT INTO namatabel VALUES (nilai1,nilai2,nilai-n); | Menambah baris dengan mengisi data pada setiap kolom |
DELETE | DELETE FROM namatabel [WHERE kondisi]; | Perintah DELETE digunakan untuk menghapus satu baris, baris dengan kondisi tertentu atau seluruh baris |
UPDATE | UPDATE namatabel SET kolom1 = nilai1, kolom2 = nilai2 [WHERE kondisi]; | Perintah UPDATE digunakan untuk mengubah isi data pada satu atau beberapa kolom pada suatu tabel. |
SELECT | SELECT * FROM namatabel; | Menampilkan data untuk semua kolom menggunakan asterisk (*) |
4. JELASKAN ARSITEKTUR BERIKUT !!
è Struktur, artinya komponen-komponen apa yang ada dalam suatu sistem dan fungsi masing-masing komponen tersebut, serta bagaimana inter-relasi dan interaksi antar komponen dalam sistem tersebut.
Keterangan :
ù Physical level menggambarkan bagaimana suatu record disimpan secara fisik. Berupa sebuah Database seperti yang terlihat pada gambar di atas.
ù Logical level menggambarkan bagaimana suatu record disimpan dalam basis data dan menggambarkan hubungan (relationship) antar data. Dilakukan oleh sistem operasi, DBMS, komunikasi subsystem
ù View level suatu application program, tidak akan memperlihatkan data type juga dapat menyembunyikan informasi (misal: gaji) yang mempunyai tingkat security tertentu yang terkait dengan otoritas user. Berupa program-program.
Keterangan :
ù Sebuah aplikasi akan memiliki interface
ù Interface tersebut akan di kontrol oleh integrity kontrol yang di relasikan dengan relational calculus yaitu query yang non-prosedural, menggambarkan informasi yang diinginkan tanpa memberi prosedurnya secara detil untuk mendapatkan informasi tersebut.
ù Begitu juga komposisi & optimasi query
ù Untuk melakukan eksekusi terlebih dahulu direlasikan oleh relational algebra. Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut. Operasi-operasi dasar dalam aljabar relasional adalah : select, project, union, set difference, Cartesian product dan rename. Disamping operasi-operasi dasar terdapat beberapa operasi lainnya seperti set intersection, natural join, division dan assignment. Operasi-operasi ini akan didefinisikan dalam terminology operasi dasar
ù Pada akses data oleh method akses diperoleh kembali nilai dari database.