Rabu, 09 Oktober 2013

KEY dan SQL

KEY dan SQL
Kunci (key) adalah kolom/atribut atau kombinasi kolom/atribut yang dapat digunakan untuk mengidentifikasi baris dalam tabel (entitas) secara unik.
Penentuan Key suatu tabel didasarkan pada sifat “determinasi”.     
Determinan : gugus atribut dimana satu atau lebih atribut lain tergantung secara fungsional.
“A determinan B” artinya apabila nilai atribut A akan menentukan nilai-nilai atribut B.
“A determinan B” dapat dituliskan sebagai suatu ketergantungan fungsional A à B. Jika A menentukan B,C dan D maka dituliskan A à B,C,D. Contoh : Relasi Mahasiswa=(NIM,Nama,Agama,TglLhr) Bila nilai NIM seorang mahasiswa diketahui maka dapat digunakan untuk melihat nilai-nilai atribut Nama, Agama dan Tanggal Lahirnya. Dituliskan NIM à Nama,Agama,TglLhr.
Superkey (key) :
-           gugus atribut entitas yang dapat digunakan untuk mengidentifikasikan       entitas/obyek secara unik.
-           satu atau lebih atribut yang membedakan setiap baris secara unik.
Misal R skema relasi, dan K adalah satu atau lebih atribut dari R
dimana K Í R maka K disebut Superkey jika dan hanya jika K à R.
Catatan : Suatu skema relasi dapat memiliki lebih dari 1 superkey.  Bila K adalah superkey maka semua atribut gabungan yang mengandung K juga merupakan superkey    
Contoh : Relasi Sopir=(NoKTP,NoSIM,Nama,Alamat). Alternatif superkey :
§   NoKTP            superkey ;        NoKTP à Sopir
§   NoSIM            superkey ;        NoSIM à Sopir
§   (NoKTP,NoSIM)        superkey ;        (NoKTP,NoSIM) à Sopir
§   (NoKTP,Nama)           superkey ;        (NoKTP,Nama) à Sopir
§   (NoKTP,NoSIM,Nama)          superkey ;        (NoSKTP,NoSIM,Nama) à Sopir
§   (NoKTP,NoSIM,Nama,Alamat) dengan sendirinya juga superkey
§   Nama bukan superkey. Demikian juga (Nama,Alamat) juga bukan superkey

Candidate Key :
- Superkey dengan jumlah atribut minimal
- Superkey tanpa redundansi (tidak memuat subset superkey yang lain)
K adalah Candidate Key dari skema relasi R jika dan hanya jika :
K à R dan tidak terdapat a Ì K dengan a à R
Contoh :
Skema relasi Sopir=(NoKTP,NoSIM,Nama,Alamat). Alternatif superkey :
§    NoKTP                                    superkey ;        NoKTP à Sopir
§    NoSIM                                    superkey ;        NoSIM à Sopir
§    (NoKTP,NoSIM)                    superkey ;        (NoKTP,NoSIM) à Sopir
§    (NoKTP,Nama)                       superkey ;        (NoKTP,Nama) à Sopir
§    (NoKTP,NoSIM,Nama)         superkey ;        (NoSKTP,NoSIM,Nama) à Sopir
§    (NoKTP,NoSIM,Nama,Alamat) dengan sendirinya juga superkey
Sebagai Candidate Key nya adalah NoKTP atau NoSIM

Secondary Key
  • Secondary Key adalah atribut (atau kombinasinya), yang digunakan
            sebagai perantara untuk mendapatkan kembali data asal.
  • Biasanya dipakai pada pencarian data (data retrieval).
Foreign Key

  • Foreign Key adalah satu atau lebih atribut dalam satu tabel yang merupakan primary key tabel lain (kunci penghubung).
SQL
(Structure Query Language)

DDL (Data Definition Language)
         Create Tables
CREATE TABLE table (An Dn, An Dn, .., An Dn)
Membuat Tabel Siswa :
( NISN char(6) , nama_siswa char(30),  tgl_lahir date(), tempat_lahir char (30), KLS char(2), alamat char(30),              nama_ortu_wali char(30))
Keterangan :
tabel = nama tabel yang akan dibuat
A1..An = atribut atau variabel field
D1, Dn= tipe data untuk A1..An
         Create Indexes
Index adalah struktur data eksternal yang digunakan untuk mengurutkan atau mengatur pointer data dalam sebuah table.
Peringatan :
Jika kita menggunakan beberapa index pada suatu tabel akan menunjukkan penurunan performa dikarenakan extra overhead dalam pemeliharaan indexnya.
Selian itu :
Banyak menggunakan index dapat menyebabkan masalah penguncian record, bila digunakan dalam peralatan multiuser.
Dengan demikian :
Gunakanlah index dalam konteks yang benar, sebuah index dapat memperbaiki performa lebih tinggi sebuah aplikasi. 
Gunakan pernyataan CREATE INDEX untuk membuat index.
Structure pembuatan index adalah :
CREATE INDEX nama_index   
ON  nama_tabel (nama_field)

CREATE INDEX idxCustomerID     
ON tblCustomers
(CustomerID) WITH PRIMARY

CREATE UNIQUE INDEX nama_index   
ON  nama_tabel (nama_field)
         Altering Tables
ALTER TABLE tabel
ADD | MODIFY (An dn, An dn, .., An dn);
Menghapus Field :
ALTER TABLE tblCustomers   
DROP COLUMN Address
         Dropping Tables/Indexes
Untuk menghapus index :
DROP INDEX nama_index   
ON  nama_tabel
Untuk menghapus Tabel :
DROP TABLE nama_tabel 

DML ( Data Manipulation Language)
          Insertion : Menyisipkan data record ke  dalam suatu tabel
INSERT INTO tabel (A1, A2, .., An )
VALUES (C1, C2, …,Cn-1, Cn)
         Updating : Memperbaiki data record dalam suatu tabel
UPDATE  tabel
SET  assignments
WHERE Criteria
          Deletion  : Menghapus data record pada  suatu tabel
DELETE FROM    Tabel
WHERE Criteria
          Selection : Menampilkan data record dari  suatu table
SELECT A1, A2, ………,An-1, An
FROM    T1, T2, ………,Tn-1, Tn
WHERE Criteria
GROUP BY A1, A2, ………,An-1, An
HAVING Criteria_Agregate_function
ORDER BY Criteria_A   

CDL (Control Definition Language)
         GRANT : Memberikan otoritas (hak akses) manipulasi data pada suatu tabel (database) kepada user
GRANT <otoritas> ON <nm_tabel> TO <user_name>
Grant Type :
                        insert ,             select,
                        update ,          delete ,            all
         REVOKE : Mencabut otoritas (hak akses) manipulasi data pada suatu tabel (database) dari user
REVOKE <otoritas> ON <nm_tabel> FROM <user_name>
Revoke Type :
                        insert ,             select,
                        update ,          delete ,            all

Jumat, 04 Oktober 2013

INTEGRITAS DATA DALAM BASIS DATA & CONSTRAINT CLASSIFICATION

Integritas data adalah menjamin konsistensi data terhadap semua konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri. Tujuannya adalah menjaga data agar data yang tidak valid tidak masuk ke database. Menjaga konsistensi data pada relasi keterkaitan antar tabel.

Jenis-jenis Integritas Data :
·         Domain integrity (Integritas jangkauan nilai)
Tidak ada item data yang melanggar jangkauan nilai di tiap kolom data.
·         Integrity Entity (Integritas Entitas)
Tidak ada baris data duplikat dalam satu tabel.
·         Integrity Referential (Integritas acuan)
Menjaga relasi atau korespondensi antar tabel.
·         Redudant Data Integrity (Integritas Data Antar Tabel)
Data di sebuah tabel tidak berulang di tabel lain.
·         Bussiness Rule Integrity (Integritas Aturan Nyata)
Data di suatu tabel harus memiliki nilai yang layak dan dapat diterima ditempat sistem basis data itu diterapkan. Integritas jenis ini bersifat kasuistis, artinya sangat bergantung pada jenis data, lokasi, lingkungan, dan waktu penerapan basis data.
·         Membuat Constraint
Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan untuk dimasukkan ke dalam tabel.

Constraint Classification (Tipe-tipe Constraint) :
·         PRIMARY  KEY Constraint
Berguna untuk menspesifikasikan kolom dalam tabel. Tidak boleh kosong dan harus unik, untuk menghubungkan satu tabel dengan tabel lain.
·         FOREIGN KEY Constraint
Digunakan untuk menspesifikasikan kolom foreign key pada suatu tabel. Foreign Key digunakan untuk menghubungkan dua tabel. Kolom foreign key adalah kolom atau kombinasi beberapa kolom dalam suatu tabel yang selalu merujuk pada kolom primary key pada suatu tabel.
·         UNIQUE Constraint
Digunakan untuk menjamin bahwa data pada suatu kolom atau beberapa kolom tidak diijinkan sama.
·         CHECK Constraint
Digunakan untuk membatasi suatu nilai pada kolom dengan nilai tertentu yang diijinkan masuk.
·         DEFAULT Constraint
Merupakan atribut opsional yang digunakan untuk memberikan suatu nilai tertentu pada suatu kolom jika kolom tersebut tidak dimasukkan suatu data.
·         NOT NULL

Digunakan untuk menjamin tidak ada nilai null (kosong) yang muncul pada suatu kolom tertentu sehingga bila tidak mengisikan nilai pada kolom tersebut maka akan muncul error.

Mengenai Saya

Foto saya
Saya mahasiswa di Universitas Dian Nuswantoro Semarang. Semoga artikel yang saya postingkan dapat menambah informasi pengetahuan dan menambah pembelajaran hidup anda. Terima Kasih kepada anda yang telah mengunjungi blog ini. --brain--