BASIS DATA

DDL atau Data Definiton Language adalah sebuah bahasa yang digunakan untuk mendefinisikan pendefinisian data. Terdiri dari perintah-perintah untuk membentuk, mengubah atau menghapus tabel beserta kolom-kolom dan type data penyusunnya, serta perintah-perintah untuk menetapkan hubungan dan batasan-batasan data.

5 Macam perintah DDL yang ada di Oracle :
- CREATE TABLE
Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :

CREATE TABLE [schema, ] table ( column datatype [DEFAULT expr][,...]);

Contoh pembuatan sebuah tabel adalah :

CREATE TABLE dept  (deptno NUMBER(2),  dname VARCHAR2(14),  loc    VARCHAR2(13));

- ALTER TABLE
Statemen ALTER TABLE digunakan untuk :
~ Menambahkan kolom baru
Untuk menambah kolom baru, syntax umumnya sebagai berikut :

ALTER TABLE table ADD         (column datatype [DEFAULT expr]  [, column datatype]...);

Contoh penambahan kolom pada tabel dept yang dibuat di atas adalah :

ALTER TABLE dept ADD         (job_id VARCHAR2(9));

~ Memodifikasi kolom yang sudah ada
Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya.
Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :

ALTER TABLE table MODIFY      (column datatype [DEFAULT expr]  [, column datatype] ... );

Contoh :

ALTER TABLE dept MODIFY       (dname VARCHAR2(30));

Table altered.

~ Menghapus kolom
Klausa DROP COLUMN digunakan untuk menghapus kolom yang tidak diperlukan lagi pada table. Sebagai contoh untuk menghapus kolom job_id pada pada tabel dept di atas.

ALTER TABLE dept DROP COLUMN job_id;

- DROP TABLE
Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :
Semua data dan struktur dari table akan dihapus
Semua transaksi pending akan di-commit
Semua indeks akan dihapus
Perintah drop ini tidak bisa di-rollback
Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :

DROP TABLE dept;

- RENAME
Digunakan untuk merubaha nama dari suatu object (table,view,sequence atau synonim). Sebagai contoh, jika kita ingin menghapus tabel dept,maka perintah yang harus dilakukan adalah :

RENAME dept TO detail_dept;

- CREATE VIEW
View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :

CREATE VIEW  AS  

Contoh : view MahasiswaPria yang diambil dari tabel Mahasiswa di mana field JenisKel = “L”. Syntax dari contoh tersebut adalah :

CREATE VIEW MahasiswaPria AS SELECT * FROM Mahasiswa WHERE jeniskel=”L”

- CREATE TRIGGER
Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:

CREATE TRIGGER  ON TABLE  FOR [DELETE] [,] [INSERT] [,] [UPDATE] AS 

Sebagai contoh adalah membuat trigger dg nama tLogUbahNilai untuk setiap penambahan / update data pada tabel Pesertakul, dilakukan penambahan data pada tabel LogHistoris.
Syntax dari contoh tersebut adalah :

CREATE TRIGGER tLogUbahNilai ON TABLE pesertakul FOR UPDATE, INSERT AS INSERT INTO LogHistoris (tanggal, proses) VALUES (getDate(), ‘Terjadi proses perubahan data nilai’)

Data Manipulation Language (DML) merupakan bahasa basis data yang berguna untuk melakukan modifikasi dan pengambilan data pada suatu basis data.

A. Penambahan data (Insert) pada sebuah tabel :
Syntax:

INSERT INTO nama_tabel(field ke-1, ….. field ke-n) VALUES(nilai_field_ke-1, …. nilai_field_ke-n);

Contoh :

INSERT INTO Mahasiswa VALUES ('5107100029','Jeffrey Hermanto','RSMJ 12','0811232425')


B. Pembaruan data (Update) pada sebuah tabel :

Syntax:

UPDATE nama_tabel SET nama_field = data_baru WHERE nama_field = data_lama;

Contoh :

 UPDATE Mahasiswa SET Telp = '7312345' WHERE Nama = 'Jeffrey Hermanto Halimsetiawan'

C. Penghapusan data (Delete) pada sebuah tabel :
Syntax:

DELETE FROM nama_tabel [ WHERE kondisi];

Contoh :

DELETE FROM Mahasiswa WHERE Nama = 'Jeffrey Hermanto'

D. Pemilihan data dari satu atau beberapa tabel :
Syntax :

SELECT [DISTINCT] select_list FROM table_source [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC | DESC] ]

Contoh :

SELECT * FROM Mahasiswa; SELECT * FROM Mahasiswa WHERE Nama LIKE "%rey" ORDER BY Nama DESC; SELECT Nama, Nilai, AVG(Nilai) FROM Mahasiswa GROUP BY Nama, Nilai;

Key

Key dalam Bahasa Indonesia berarti kunci, maka semakna dengan itu fungsi dari key-key yang berada pada sebuah database. Artinya setiap pintu pasti mempunyai kunci khusus untuk membukanya, begitu pula tabel dalam database. Key-key inilah yang membantu dalam pengolahan data pada sebuah tabel (insert, update, delete).

Secara global key-key dalam Oracle dapat dibagi sebagai berikut :

Primary Key



:Key yang mengindentifikasikan bahwa setiap record pastiunique. Dalam sebuah tabel hanya diperbolehkan satuprimary key, tidak lebih. Misalnya adalah tabel MURID, tidak ada murid yang memiliki NIS (Nomor Induk Siswa) yang sama dalam keadaan real, kemudian diimplementasikan dalam bentuk tabel dengan diberikanprimary key pada kolom NIS.

Foreign Key:Key yang dihasilkan dari primary key dari tabel lain sebagai bentuk referensi dari tabel lain tersebut. Misalnya adalah tabel BELAJAR, dalam proses pembelajaran dibutuhkan kelas, guru dan apa yang dipelajari alias mata pelajaran, maka diimplementasikan dalam sebuah tabel bahwa dalam tabel BELAJAR terdapatforeign key (key asing) dari tabel KELAS, GURU dan MATA_PELAJARAN. Dari definisi key ini kita dapat mengetahui istilah MASTER-DETAIL.
Alternate Key (Unique Key):Key ini sebenarnya hampir sama dengan fungsi primary key yaitu berjenis unique key. Maksudnya adalah mungkin saja primary key yang kita buat pada suatu tabel adalah merupakan autonumber (angka yang bertambah terus-menerus ketika proses insert data, sehingga tidak dimungkinkan terdapat nilai yang sama), dikarenakan tidak diperbolehkan ada dua primary keymaka dapat dibantu oleh alternate key ini sebagai penanda unique-nya sebuah record dengan record lain. Dalam sebuah tabel diperbolehkan lebih dari satu alternate key.
Non Unique Key:Key yang bisa lebih dari satu dalam sebuah tabel dan tidak mendefinisikan unique antar record di dalam table tersabut. Key ini biasa digunakan untuk membantu proses pencarian (select) data pada sebuah kolom yang sering digunakan untuk proses tersebut.Setelah mengetahui definisi “mudah” dari setiap key maka ada beberapa tips yang harus diperhatikan dalam pemberian key pada kolom-kolom dalam sebuah tabel :
  1. Pastikan sebuah tabel mempunyai primary key.
  2. Pastikan primary key tersebut mewakili unique-nya sebuah record.
  3. Ada baiknya menjadikan satu kolom saja untuk sebuah primary key sebagai autonumber mewakili beberapa kolom yang merupakan unique-nya record. Mis : tabel BELAJAR mempunyai tiga kolom sebagai primary key, yaitu : NIG, Kode_MP, dan Kelas_ID, maka ketiga kolom tersebut dapat dijadikanalternate key, dan untuk primary key-nya dibuatkan satu kolom lagi, yaitu Belajar_ID. Ini akan mempermudah jika ada tabel yang mengambil primary key pada tabel BELAJAR sebagai foreign key tabel tersebut.
  4. Jangan terlalu banyak dalam pembuatan alternate key, karena key ini akan memperlambat proses insert dan update pada tabel tersebut. Secara logika alternate key akan mengecek ke-unique-kan seluruh record dari setiap record baru yang di-insert atau perubahan data pada record. Bayangkan jika datanya cukup besar… dan banyak alternate key… !!
  5. Pilihlah dengan baik alternate key karena alternate key akan mempermudah dan mempercepat proses select jika digunakan. Maksudnyanya adalah KOLOM-KOLOM dalam alternate keytersebut yang digunakan.
  6. Gunakan Non-unique key untuk kolom yang sering digunakan dalam proses select.
  7. Gunakan penamaan key-key tersebut dengan penamaan yang baik dan mudah diidentifikasikan, seperti BELAJAR_PK (primary key tabel BELAJAR), BELAJAR#GURU_FK (foreign key pada tabel BELAJAR dari tabel GURU), dan BELAJAR_AK (alternate key tabel BELAJAR)

Kunci kandidat adalah satu attribute atau satu set minimal attribute yang mengidentifikasi secara unik suatu kejadian specific dari entity.

Satu minimal set dari attribute menyatakan secara tak langsung dimana anda tidak dapat membuang beberapa attribute dalam set tanpa merusak kepemilikan yang unik.

Jika satu kunci kandidat berisi lebih dari satu attribute maka biasanya disebut sebagai composite key (kunci campuran/gabungan).

Contoh :

File Pegawai berisi attribute seperti :

*No Induk
*No KTP
*Nama
*Tempat Lahir
*Tanggal Lahir
*Alamat
*Kota

Kunci kandidat disini adalah :

*No Induk, karena unik tidak mungkin ganda
*No KTP, karena unik juga tidak mungkin ganda
*Nama, sering dipakai sebagai kunci pencarian namun tidak dapat dikatakan kunci karena sering seseorang punya nama yang sama.
*Nama + tempat lahir + tanggal lahir, dapat dipakai sebagai kunci
*Alamat, kota (bukan kunci).

0 komentar:

Posting Komentar

Digital Clock


ShoutMix chat widget

Followers