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

Tidak ada komentar:

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--