Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data
CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
atau
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field constraints]
)
dengan:
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:
CREATE TABLE user
(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data
SELECT
SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]
dengan:
• kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
• kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
username passwd tanggal_lahir jml_transaksi total_transaksi
Aris 6487AD5EF 09-09-1987 6 10.000
Budi 97AD4erD 01-01-1994 0 0
Charlie 548794654 06-12-1965 24 312.150
Daniel FLKH947HF 24-04-1980 3 0
Erik 94RER54 17-08-1945 34 50.000
Contoh 1: Tampilkan seluruh data.
SELECT *
FROM user
Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.
SELECT *
FROM user
WHERE total_transaksi = 0
Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000
Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jml_transaksi DESC
Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
• SUM untuk menghitung total nominal data
• COUNT untuk menghitung jumlah kemunculan data
• AVG untuk menghitung rata-rata sekelompok data
• MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.
Subquery
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT MAX(jml_transaksi)
FROM user
)
INSERT
Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
UPDATE
Untuk mengubah data menggunakan sintaks:
UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
Contoh:
UPDATE Msuser set password="123456" where username="abc"
DELETE
Untuk menghapus data dipergunakan sintaks:
DELETE FROM [NAMA_TABLE] [KONDISI]
Contoh:
DELETE FROM TEST WHERE NAMA='test';
Sabtu, 21 Agustus 2010
Sejarah SQL
Diposting oleh Matahari Ilmu Propil di 00.34Label: Basis Data
PEMBUATAN TABEL BARU
Diposting oleh Matahari Ilmu Propil di 00.33Perintah-perintah yang berkaitan dengan pendefinisian obyek-obyek basis data dan pembuatan tabel baru merupakan perintah-perintah yang tergolong dalam DDL ( data definition language ). Sebelum memulai membuat suatu tabel baru perlu diketahui tentang tipe data standart SQL yang berlaku. Bab yang terdahulu telah dibahas mengenai tipe-tipe data yang berlaku pada SQL. Pada dasarnya terdapat banyak sekali tipe data yang berlaku pada SQL namun hanya beberapa saja diantaranya yang diakui sebagai tipe data standart, dan diizinkan untuk digunakan pada periode standarisasi. Berikut ini adalah tipe-tipe data standart yang berlaku dalam SQL-92 :
• Char (n) : untuk atribut bernilai string dengan panjang tetap
• Varchar (n) : untuk atribut bernilai string dengan penjang fleksibel
• Int atau integer : untuk atribut berniali integer 2 byte
• Smallint : untuk stribut berniali integer 1 byte
• Numeric (p,d) : untuk atribut berniali pecahan fixed point
• Real, double, precision : untuk atribut bernilai pecahan floating point
• Float (n) : untuk atribut bernilai pecahan floating point dengan presisi n digit
• Date : untuk atribut bernilai penanggalan
• Time : untuk atribut bernilai waktu
PEMBUATAN TABEL BARU
Perintah-perintah yang berkaitan dengan pendefinisian obyek-obyek basis data dan pembuatan tabel baru merupakan perintah-perintah yang tergolong dalam DDL ( data definition language ). Sebelum memulai membuat suatu tabel baru perlu diketahui tentang tipe data standart SQL yang berlaku. Bab yang terdahulu telah dibahas mengenai tipe-tipe data yang berlaku pada SQL. Pada dasarnya terdapat banyak sekali tipe data yang berlaku pada SQL namun hanya beberapa saja diantaranya yang diakui sebagai tipe data standart, dan diizinkan untuk digunakan pada periode standarisasi. Berikut ini adalah tipe-tipe data standart yang berlaku dalam SQL-92 :
• Char (n) : untuk atribut bernilai string dengan panjang tetap
• Varchar (n) : untuk atribut bernilai string dengan penjang fleksibel
• Int atau integer : untuk atribut berniali integer 2 byte
• Smallint : untuk stribut berniali integer 1 byte
• Numeric (p,d) : untuk atribut berniali pecahan fixed point
• Real, double, precision : untuk atribut bernilai pecahan floating point
• Float (n) : untuk atribut bernilai pecahan floating point dengan presisi n digit
• Date : untuk atribut bernilai penanggalan
• Time : untuk atribut bernilai waktu
Sintak klausa pembuatan tabel baru :
crete table T ( A1 D1, A2 D2, …, An Dn )
Keterangan :
• T : merupakan nama tabel yang akan dibuat
• A1, A2, …, An : merupakan nama-nama tribut yang akan terdapat di dalan tabel
• D1, D2, …, Dn : merupakan domain nialai mesing-masing atribut tersebut yang ditentukan berdasarkan tipe datanya.
SQL :
1. Perintah dasar (bentuk dasar & bentuk lengkap)
2. Opsi DISTINCT
3. Mengganti tampilan judul kolom (alias untuk nama kolom)
4. Kondisi dengan Klausa WHERE dan HAVING
5. Kondisi jamak dengan operator AND, OR dan BETWEEN
6. Pola string dengan wildchar %, _ dan operator LIKE
7. Query dari beberapa tabel menggunakan WHERE
8. Aliasing nama tabel
9. Query dengan Operasi JOIN dan UNION
10. Pengurutan hasil Query
11. Query dengan fungsi agregasi
12. UPDATE, DELETE dan INSERT
13. SUBQUERY
JOIN :
mysql> help join
Name: 'JOIN'
Description:
MySQL supports the following JOIN syntaxes for the
table_references part of SELECT statements and multiple-table
DELETE and UPDATE statements:
table_reference, table_reference
table_reference [INNER | CROSS] JOIN table_reference [join_condition]
table_reference STRAIGHT_JOIN table_reference
table_reference LEFT [OUTER] JOIN table_reference [join_condition]
table_reference NATURAL [LEFT [OUTER]] JOIN table_reference
{ OJ table_reference LEFT OUTER JOIN table_reference
ON conditional_expr }
table_reference RIGHT [OUTER] JOIN table_reference [join_condition]
table_reference NATURAL [RIGHT [OUTER]] JOIN table_reference
table_reference is defined as:
tbl_name [[AS] alias]
[[USE INDEX (key_list)]
| [IGNORE INDEX (key_list)]
| [FORCE INDEX (key_list)]]
join_condition is defined as:
ON conditional_expr | USING (column_list)
Examples:
mysql> SELECT table1.* FROM table1
-> LEFT JOIN table2 ON table1.id=table2.id
-> WHERE table2.id IS NULL;
mysql>
Label: Basis Data
MANIPULASI DATA PADA SQL
Diposting oleh Matahari Ilmu Propil di 00.32Manipulasi data pada SQL merupakan tindakan pengubahan nilai-nilai data pada tabel yang telah ada sebelumnya. Manipulasi data terdiri dari tindakan penambahan record pada tabel, pengubahan nilai-nilai atribut, dan penghapusan record.
A. PENAMBAHAN RECORD
Sintak :
insert into T( A1, A2, …, An )
values ( V1, V2, …, Vn )
Keterangan :
• T : merupakan nama tabel yang akan ditambah nilai record pada atributnya.
• A : merupakan nama nama tribut pada tabel yang akan ditambah nilai recordnya.
• V : merupakan nilai-nilai record yang akan dimasukkan.
Contoh 1
insert into KULIAH (KODE_KUL, NAMA_KULIAH, SEMESTER, SKS, KODE_DOSEN )
values (‘ S001’, ‘KEWIRAAN’, 4, 2, ‘L026’)
Tampilannnya :
TABEL 5 : KULIAH
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
K001 PANCASILA 3 2 L026
S001 KEWIRAAN 4 2 L026
MANIPULASI DATA PADA SQL
Manipulasi data pada SQL merupakan tindakan pengubahan nilai-nilai data pada tabel yang telah ada sebelumnya. Manipulasi data terdiri dari tindakan penambahan record pada tabel, pengubahan nilai-nilai atribut, dan penghapusan record.
A. PENAMBAHAN RECORD
Sintak :
insert into T( A1, A2, …, An )
values ( V1, V2, …, Vn )
Keterangan :
• T : merupakan nama tabel yang akan ditambah nilai record pada atributnya.
• A : merupakan nama nama tribut pada tabel yang akan ditambah nilai recordnya.
• V : merupakan nilai-nilai record yang akan dimasukkan.
Contoh 1
insert into KULIAH (KODE_KUL, NAMA_KULIAH, SEMESTER, SKS, KODE_DOSEN )
values (‘ S001’, ‘KEWIRAAN’, 4, 2, ‘L026’)
Tampilannnya :
TABEL 5 : KULIAH
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
K001 PANCASILA 3 2 L026
S001 KEWIRAAN 4 2 L026
Untuk mendapatkan hasil yang sama ekspresi-ekspresi pada contoh klausa SQL diatas dapat disingkat menjadi sebagai berikut :
insert into KULIAH
values (‘S001’, ‘KEWIRAAN’, 4, 2, ‘L026’)
Contoh 2
insert into KULIAH
values (‘S002’, ‘ KALKULUS’, 4, 3, ‘L027’)
insert into DOSEN
values (‘L027’, ‘FARIDA’, ‘ KONTRAK’, ‘ KALIMANTAN’)
Tampilannya :
TABEL 6 : KULIAH
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
K001 PANCASILA 3 2 L026
S001 KEWIRAAN 4 2 L026
S002 KALKULUS 4 3 L027
TABEL 7 : DOSEN
KODE_DOSEN NAMA_DOSEN STATUS ASAL
L022 ISMAYA TETAP MEDAN
L023 GUNAWAN TETAP LAMPUNG
L024 BUDIHARJO KONTRAK SRAGEN
L025 WARDATI TETAP SEMARANG
L026 HARTATI KONTRAK JAKARTA
L027 FARIDA KONTRAK KALIMANTAN
Contoh 3
insert into MAHASISWA (NIM, NAMA, SEX, FAK, PRODI )
values ( 9961055, ‘ MAHARANI’, ‘ P’, ‘MIPA’, ‘ ILKOM’ )
Tampilannya :
TABEL 8 : MAHASISWA
NIM NAMA SEX ASAL TGL.LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA
9961003 ABI L ACEH 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM
9961055 MAHARANI P MIPA ILKOM
B. PENGHAPUSAN RECORD
Sintak :
delete from T
where ( kondisi / keadaan )
Keterangan :
• T : nama tabel yang akan dihapus salah satu atau beberapa dari record dalam atributnya.
• Kondisi / keadaan : atribut-atribut beserta record-record yang akan dihapus. Jika klausa where tidak digunakan maka penghapusan akan dilakukan pada semua record di dalam tabel.
Contoh 1
delete from KULIAH
where KODE_DOSEN = ‘L026’ AND KODE_KUL = ‘ K001’
Tampilannya :
TABEL 9 : KULIAH
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
S001 KEWIRAAN 4 2 L026
S002 KALKULUS 4 3 L027
Contoh 2
delete from KULIAH
where KODE_ DOSEN= ‘L026’
Tampilannya :
TABEL 2 : KULIAH
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
S002 KALKULUS 4 3 L027
C. PENGUBAHAN NILAI-NILAI ATRIBUT
Pengubahan nilai atribut dapat menggunakan perintah update, perintah ini berfungsi memperbaharui atau meng-update satu atau lebih dari satu baris atau sekelompok baris didalam tabel.
Sintak :
update T
set KOLOM = VALUES
where ( kondisi / keadaan )
Keterangan :
• T : nama tabel yang akan mengalami perubahan record
• KOLOM : nama atribut pada tabel yang akan mengalami perubahan nilai record
• VALUES : nilai baru record pada atribut dalam tabel yang akan menggantikan nilai lama.
• Kondisi / keadaan : keadaan yang menentukan record nama yang akan mengalami update / perubahan nilai. Jika klausa where tidak digunakan pada ekspresi maka, perubahan akan dilakukan pada semua record di dalam tabel.
Contoh 1
update MAHASISWA
set ASAL = ‘ KENDARI’
where NIM = 9961003
Tampilannya :
TABEL 10 : MAHASISWA
NIM NAMA SEX ASAL TGL.LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA
9961003 ABI L KENDARI 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM
Contoh 2
update MAHASISWA
set FAK = ‘ TI’, PRODI = ‘T_KIMIA’
where NIM = 9961002
Tampilannya :
TABEL 11 : MAHASISWA
NIM NAMA SEX ASAL TGL.LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA
9961003 ABI L KENDARI 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM
Contoh 3
update DOSEN
set NAMA_DOSEN = NAMA_DOSEN + ‘ , Ssi ’
where STATUS = ‘ TETAP’
Tampilannya :
TABEL 12 : DOSEN
KODE_DOSEN NAMA_DOSEN STATUS ASAL
L022 ISMAYA, Ssi TETAP MEDAN
L023 GUNAWAN, Ssi TETAP LAMPUNG
L024 BUDIHARJO KONTRAK SRAGEN
L025 WARDATI, Ssi TETAP SEMARANG
L026 HARTATI KONTRAK JAKARTA
L027 FARIDA KONTRAK KALIMANTAN
Label: Basis Data
STRUKTUR DASAR SQL
Diposting oleh Matahari Ilmu Propil di 00.31Sebuah ekspresi SQL dasar sebenarnya hanya terdiri dari tiga klausa yaitu; klausa where, from, dan where.
• Klausa select : digunakan untuk menetapkan daftar atribut yang diinginkan sebagai query.
• Klausa from : digunakan untuk menetapkan tabel ( atau gabungan tabel ) yang akan ditelusuri selama query data dilakukan.
• Klausa where : digunakan untuk predikat ( sebagai kriteria ) yang harus dipenuhi dalam memperoleh hasil query.
Sintaks ( cara penulisan ) pada ekspresi SQL dasar yang memanfaatkan tiga klausa tersebut adalah :
select A1 [ ,A2, …,An]
from T1 [ , T2, …,Tn]
[ where P ]
keterangan :
• A1, A2, …, An : daftar atribut
• T1, T2, …, Tn :daftar tabel
• P : predikat query
• [ ] : tanda opsional ( boleh digunakan boleh tidak )
STRUKTUR DASAR SQL
Sebuah ekspresi SQL dasar sebenarnya hanya terdiri dari tiga klausa yaitu; klausa where, from, dan where.
• Klausa select : digunakan untuk menetapkan daftar atribut yang diinginkan sebagai query.
• Klausa from : digunakan untuk menetapkan tabel ( atau gabungan tabel ) yang akan ditelusuri selama query data dilakukan.
• Klausa where : digunakan untuk predikat ( sebagai kriteria ) yang harus dipenuhi dalam memperoleh hasil query.
Sintaks ( cara penulisan ) pada ekspresi SQL dasar yang memanfaatkan tiga klausa tersebut adalah :
select A1 [ ,A2, …,An]
from T1 [ , T2, …,Tn]
[ where P ]
keterangan :
• A1, A2, …, An : daftar atribut
• T1, T2, …, Tn :daftar tabel
• P : predikat query
• [ ] : tanda opsional ( boleh digunakan boleh tidak )
A. KLAUSA SELECT
Sesuai dengan penjelasan diatas bahwa klausa select digunakan untuk menetapkan daftar atribut yang dinginkan sebagai hasil query, maka berikut ini akan dijelaskan lebih lanjut tentang klausa select dengan menyertakan contohnya.
Sebagai contoh pada tabel mahasiswa berikut;
TABEL 1 : MAHASISWA
NIM NAMA SEX ASAL TGL.LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA
9961003 ABI L ACEH 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM
Contoh perintah select:
Contoh 1
select NAMA
from MAHASISWA
Ekspresi diatas memerintahkan untuk menampilkan nama mahasiswa dari tabel mahasiswa yang telah ada. Sehingga tampilannya :
NAMA
BUDI
NINA
ABI
DONI
ANI
Contoh 2
select NIM, NAMA, SEX
from MAHASISWA
Ekspresi diatas memberikan perintah untuk menampilkan NIM, nama mahasiswa, dan jenis kelaminnya dari tabel mahasiswa. Tampilannya :
NIM NAMA SEX
9961001 BUDI L
9961002 NINA P
9961003 ABI L
9961004 DONI L
9961005 ANI P
Contoh 3
select distinct SEX
from MAHASISWA
Pada tabel mahasiswa tersebut jenis kelamin ditulis secara berulang-ulang, dengan perintah distinct ini maka penulisan kan ditulis sekali saja. Kasus lain ; misalkan dalam sebuah tabel mahasiswa terdapat nama mahasiswa yang sama maka bila menggunakan ekspresi distinct maka nama yang sama hanya ditampilkan satu saja. Keunikan diatas hanya untuk nilai atribut yang disebutkan dalam klausa select, bukan pada keseluruhan atribut yang ada di tabel yang disebutkan pada klausa form. Tampilan dari contoh di atas adalah :
SEX
L
P
Contoh 4
select *
from MAHASISWA
Ekpresi diatas menampilkan seluruh atribut yang ada pada tabel yang disebutkan pada klausa form. Tampilannya :
NIM NAMA SEX ASAL TGL_LHR FAK PRODI
9961001 BUDI L KUDUS 02/02/80 MIPA BIOLOGI
9961002 NINA P BLORA 03/11/79 SASTRA INDONESIA
9961003 ABI L ACEH 30/10/78 TI TI
9961004 DONI L BANTUL 23/07/81 MIPA ILKOM
9961005 ANI P PATI 07/06/78 MIPA ILKOM
Contoh 5
select NIM, NAMA as NAMA_MHS, SEX as JENIS_KELAMIN
from MAHASISWA
Fungsi dari ekspresi as pada select adalah untuk mengganti tampilan header ( kepala tampilan tabular ). Tampilannya menjadi :
NIM NAMA_MHS JENIS_KELAMIN
9961001 BUDI L
9961002 NINA P
9961003 ABI L
9961004 DONI L
9961005 ANI P
B. KLAUSA WHERE
Klausa ini digunakan untuk menetapkan predikat atau kriteria yang harus dipenuhi dalam menampilkan query. Klausa ini boleh tidak digunakan, yang artinya query dilakukan untuk semua record di dalam tabel yang disebutkan pada klausa from. Berikut ini akan diberikan contoh beserta penjelasan dari pemanfaatan klausa where. Contoh- contoh yang akan diberikan mengacu pada tabel kuliah berikut ini ;
TABEL 2 : KULIAH
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
K001 PANCASILA 3 2 L026
Contoh 1
select *
from KULIAH
where KODE_KUL = ‘ M001 ‘
Ekpresi diatas digunakan untuk menampilkan semua atribut untuk mata kuliah dengan kode mata kuliah M001. Nilai M001 diapit dengan tanda kutip tunggal. Penggunaan tanda kutip ini berlaku untuk nilai yang bertipe string ( sesuai dengan type dari atribut kode kuliah ). Sehingga tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
Contoh 2
Select *
From KULIAH
Where SEMESTER = 6 and SKS >= 3
Ekspresi diatas menerapkan penggunaan predikat dengan operator relasi, serta mengkombinasikannya dengan operator logika. Maksud dari ekspresi diatas adalah menampilkan semua atribut dari tabel kuliah yang termasuk dalam kriteria semester 6 dan memiliki jumlah sks lebih dari atau sama dengan 2. Nilai 6 dan 3 diatas tidak diapit dengan tanda kutip tunggal. Hal ini dikarenakan nilai tersebut bertype numeric ( sesuai dengan type atributnya ). Tampilannya :
KODE_KUL NAMA_KULIAH SEMESTER SKA KODE_DOSEN
M001 BASIS DATA 6 3 L022
P001 SIMULASI 6 2 L024
Contoh 3
select *
from KULIAH
where SEMESTER between 3 and 5
Query dengan kriteria yang berbentuk range nilai tertentu dapat menggunakan tambahan klausa between. Pada contoh diatas akan menampilkan record-record kuliah yang diselenggarakan antara semester 3 s/d semster 5. Tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M002 OR-KOM 3 3 L023
F001 SISTEM BERKAS 4 3 L025
K001 PANCASILA 3 2 L026
Contoh 4
Select *
From KULIAH
Where NAMA_KULIAH like ‘ S%’
Untuk atribut yang bertype string dapat melakukan pencarian dengan pola tertentu, dengan memanfaatkan karakter percent ‘ % ‘atau ‘ _ ‘, dengan menambahkan klausa like pada klausa where. Pada contoh diatas akan menampilkan record-record KULIAH yang nama mata kuliahnya diawali dengan huruf ‘ S ‘. Sehingga tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
Contoh 5
Select *
from KULIAH
where NAMA_KULIAH like ‘ _ A% ‘
Ekspresi diatas akan menampilkan record-record pada tabel kuliah tentang mata kuliah yang huruf / karakter dari nama mata kuliah nya adalah ‘ A ‘. Tamplannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
K001 PANCASILA 3 2 L026
C. KLAUSA FROM
Klausa ini digunakan untuk menetapkan tabel yang kita jadikan sebagai sumber pencarian data. Basis data terdiri dari beberapa tabel yang saling berhubungan, oleh karena itu sering kali dibutuhkan query dari satu tabel atau dari lebih dari satu tabel sekaligus. Atribut-atribut yang akan kita tampilkan dalam hasil query tidak hanya berasal dari satu tabel , namun bisa jadi dari sejumlah tabel, pada kasus seperti inilah klausa from akan sangat berperan penting. Pada contoh-contoh terdahulu hanya ditampilkan query dari satu tabel. Namun untuk ulasan kali ini akan diberikan contoh query yang menggambarkan hubungan antar tabel.
TABEL 3 : DOSEN
KODE_DOSEN NAMA_DOSEN STATUS ASAL
L022 ISMAYA TETAP MEDAN
L023 GUNAWAN TETAP LAMPUNG
L024 BUDIHARJO KONTRAK SRAGEN
L025 WARDATI TETAP SEMARANG
L026 HARTATI KONTRAK JAKARTA
Tabel dosen diatas akan direlasikan dengan tabel kuliah yang telah dibuat sebelumnya.
Contoh 1
select *
from KULIAH, DOSEN
where KULIAH . KODE_DOSEN = DOSEN . KODE_DOSEN
Untuk melakukan query antara dua tabel atau lebih, tidak bisa dilakukan dengan sembarangan. Tabel_tabel yang akan dijadikan query haruslah memiliki hubungan. Pada contoh diatas hubungan pada tabel kuliah dengan tabel dosen diwakili oleh kode dosen, dimana atribut ini dimiliki oleh kedua tabel tersebut. Tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN NAMA_DOSEN STATUS ASAL
M001 BASIS DATA 6 3 L022 ISMAYA TETAP MEDAN
M002 OR_KOM 3 3 L023 GUNAWAN TETAP LAMPUNG
P001 SIMULASI 6 2 L024 BUDIHARJO KONTRAK SRAGEN
F001 SISTEM BERKAS 4 3 L025 WARDATI TETAP SEMARANG
K001 PANCASILA 3 2 L026 HARTATI KONTRAK JAKARTA
Contoh 2
Select *
from KULIAH K, DOSEN D
where K . KODE_DOSEN = D . KODE_DOSEN
Ekspresi diatas merupakan contoh penggunaan alias, dimana tabel kuliah dialiaskan dengan K dan tabel dosen dialiaskan dengan D. tampilan yang akan diperoleh sama dengan tampilan diatas.
Contoh 3
select K.KODE_KUL, K.NAMA_KULIAH, D.NAMA_DOSEN
from KULIAH K, DOSEN D
where K . KODE_DOSEN = D . KODE_DOSEN
Ekspresi di atas akan menampilkan record-record pada atribut kode kuliah, nama mata kuliah dari tabel kuliah dan record-record dari atribut nama dosen dari tabel dosen. Tampilannya adalah :
KODE_KUL NAMA_KULIAH NAMA_DOSEN
M001 BASIS DATA ISMAYA
M002 OR-KOM GUNAWAN
P001 SIMULASI BUDIHARJO
F001 SISTEM BERKAS WARDATI
K001 PANCASILA HARTATI
Contoh 4
select K . KODE_KUL as KODE, K . NAMA_KULIAH as KULIAH, D . NAMA_DOSEN as DOSEN
from KULIAH K, DOSEN D
where K . KODE_DOSEN = D . KODE_DOSEN
and SEMESTER = 4
Ekspresi diatas akan menampilkan record-record pada atribut kode kuliah dengan nama baru yaitu kode, atribut nama kuliah dengan nama baru yaitu kuliah dan atribut nama dosen dengan nama baru yaitu dosen. Atribut- atribut tersebut diambil dari tabel kuliah dan tabel dosen, dengan syarat kuliah yang ditampilkan diajarkan pada semester 4. Tampilanya adalah :
KODE KULIAH DOSEN
F001 SISTEM BERKAS WARDATI
D. PENGURUTAN HASIL QUERY
Pengurutan record-record hasil query disesuaikan dengan struktur penyimpanan yang kita terapkan pada tabel query. Terdapat dua jenis struktur penyimpanan, yaitu :
1. Struktur penyimpanan heap
Dimana pada struktur penyimpaanan ini hasil query akan ditampilkan berdasarkan kronologis ( waktu ) penyimpanan.
2. Struktur penyimpanan sekuensial berindeks
Pada struktur penyimpanan ini hasil query akan ditampilkan sesuai dengan atribut yang menjadi dasar indeks.
Terdapat dua jenis mode pengurutan, yaitu pengurutan naik dan pengurutan turun. Kedua mode pengurutan tersebut sama-sama mengunakan klausa order by, hanya saja pada pengurutan turun ditambahkan dengan klausa desc pada klausa order by nya. Berikut ini adalah contoh pengurutan hasil query;
Contoh 1
Select *
from KULIAH
order by NAMA_KULIAH
Ekspresi diatas akan menampilkan query dengan urutan naik berdasarkan nama mata kuliah. Tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
M001 BASIS DATA 6 3 L022
M002 OR-KOM 3 3 L023
K001 PANCASILA 3 2 L026
P001 SIMULASI 6 2 L024
F001 SISTEM BERKAS 4 3 L025
Contoh 2
select *
from KULIAH
order by NAMA_KULIAH desc
Ekspresi diatas akan menampilkan query dengan urutan turun berdasarkan nama mata kuliah. Tampilannya adalah :
KODE_KUL NAMA_KULIAH SEMESTER SKS KODE_DOSEN
F001 SISTEM BERKAS 4 3 L025
P001 SIMULASI 6 2 L024
K001 PANCASILA 3 2 L026
M002 OR-KOM 3 3 L023
M001 BASIS DATA 6 3 L022
Contoh penggunaan klausa dasar SQL, yang melibatkan empat buah tabel sekaligus, yaitu tabel MAHASISWA, tabel KULIAH, tabel DOSEN serta tabel NILAI;
TABEL 4 : NILAI
NIM KODE_KUL KODE_NILAI
9961001 M001 B
9961001 P001 A
9961002 M002 C
9961002 P001 C
9961003 K001 A
9961004 F001 A
9961004 M002 C
9961005 F001 C
9961005 K001 B
Contoh berikut akan menampilkan kartu hasil studi dari seorang mahasiswa berdasarkan pada NIM nya.
select
N . NIM, M . NAMA as NAMA_MHS, K . NAMA_KUL, D . NAMA_DOSEN, N . KODE_NILAI
from
MAHASISWA M,
KULIAH K,
DOSEN D,
NILAI N
where N . NIM = M . NIM and
N . KODE_KUL = K . KODE_KUL and
D . KODE_DOSEN = K . KODE_DOSEN and NIM = ‘9961001’
Label: Basis Data
DASAR-DASAR SQL
Diposting oleh Matahari Ilmu Propil di 00.29SQL menyediakan peritah dan fungsi dalam jumlah yang cukup banyak untuk menunjang aktifitas yang berhubungan dengan penelitian dan manipulasi data pada DBMS. Berikut ini akan diuraikan mengenai dasar-dasar SQL;
JENIS DEKLARASI PADA SQL
Deklarasi atau perintah dalam SQL dikategorikan menjadi dua yaitu DDL ( data definition language ) dan DML ( data manipulation language ), kategori ini didasarkan pada karakteristik dan fungsi dari masing-masing.
A. DDL ( data definition language )
DDL adlah bagian dari SQL yang digunakan untuk mendefinisikan data dan obyek pada basis data. Perintah-perintah yang tergolong pada kategori ini adalah:
DASAR-DASAR SQL
SQL menyediakan peritah dan fungsi dalam jumlah yang cukup banyak untuk menunjang aktifitas yang berhubungan dengan penelitian dan manipulasi data pada DBMS. Berikut ini akan diuraikan mengenai dasar-dasar SQL;
JENIS DEKLARASI PADA SQL
Deklarasi atau perintah dalam SQL dikategorikan menjadi dua yaitu DDL ( data definition language ) dan DML ( data manipulation language ), kategori ini didasarkan pada karakteristik dan fungsi dari masing-masing.
A. DDL ( data definition language )
DDL adlah bagian dari SQL yang digunakan untuk mendefinisikan data dan obyek pada basis data. Perintah-perintah yang tergolong pada kategori ini adalah:
PERINTAH KETERANGAN
CREATE TABLE
CREATE INDEX
ALTER TABLE
DROP TABLE
DROP INDEX
GRANT Membuat tabel
Membuat index
Mengubah atau menyisipkan kolom ke tabel
Menghapus tabel dari basis data
Menghapus index
Memberi izin akses pada pemakai
B. DML ( data manipulation language )
DML adalah bagian dari SQL yang digunakan untuk memulihkan dan memanipulasi data. Perintah ini digunakan untuk memberikan query dan perubahan yang dilakukan di dalam tabel. Perintah-perintah yang tergolong dalam kategori ini adalah :
PERINTAH KETERANGAN
SELECT
INSERT
DELETE
UPDATE
COMMIT
ROLLBACK Perintah utama dari SQL. Digunakan untuk memilih data dari tabel
Menyisipkan baris pada tabel
Menghapus baris pada tabel
Mengubah isi kolom pada tabel
Menuliskan perubahan pada disk
Membatalkan perubahan dari perintah COMMIT
TIPE-TIPE DATA
Tipe data digunakan ketika membuat suatu tabel, pemakai harus menentukan informasi tertentu pada saat pembuatan tabel. Ada beberapa tipe data yang disimpan dalam basis data, diantaranya adalah :
INTEGER KETERANGAN
BIT
INT
SMALLINT
TINYINT
DECIMAL / NUMERIC
MONEY
SMALLMONEY
FLOAT
REAL
DATETIME
SMALLDATETIME Integer dengan niali 0 atau 1
Nilai interger antara –2.147.483.648 s/d 2.147.483.647
Nilai antara –32.768 s/d 32.767
Nilai antara 0 s/d 255
Akurasi angka tetap antara –10^38-1s/d 10^38-1
Data moneter dari –2^63 s/d 2^63-1, dengan tingkat akurasi hingga sepersepuluh ribu unit moneter
-214.748,3648 s/d 214.748,3647 dengan tingkat akurasi sepersepuluh ribu unit moneter
-1.79E+308 s/d 1.79E+308
-3.40E+38 s/d 3.40E+38
1 januari 1753 s/d 31 desember 9999
1 januari 1900 s/d 6 juni 2079
RUPA-RUPA KETERANGAN
CURSOR
TIMESTAMP
UNIQUEIDENTIFIER Referensi ke kursosr
Angka eklusif yang dikenali oleh basas data
Pengenal global yang eklusif
STRING KETERANGAN
CHAR
VARCHAR
TEXT Field tetap dengan ukuran max 8000 byte
Field tetap dengan ukuran max 8000 byte
Variabel dengan ukuran 2^31-1 byte
UNICODE STRING KETERANGAN
NCHAR
NVARCHAR
NTEXT Karakter unicode dengan ukuran 4000 byte
Karter unicode dengan ukuran berfariasi 4000 byte
Variaber berukuran 2^30-1 byte
BINARY STRING KETERANGAN
BINARY
VARBINARY
IMAGE Ukuran tetap hingga 8000 byte
Ukuran bervariasi 8000 byte
Ukuran bervariasi hingga 2^31-1 byte
EKSPRESI DAN OPERATOR
Pada SQL operator bertindak berdasarkan operand, yaitu elemen yang dianalisa oleh operator. Terdapat dua jenis operator, yaitu operator unary yang bertindak berdasarkan satu operand saja, dan operator binary yang bertindak berdasarkan dua atau lebih operator. Apabila pada sebuah ekspresi terdapat lebih dari satu operator, maka operator-operator tersebut akan dievaluasi berdasarkan urutan sebagai berikut ;
• + ( positif ), - ( negatif ), ~ ( bitwise NOT )
• * ( perkalian ), / ( pembagian ), % ( modulus )
• + ( penjumlahan ), + ( penggabungan ), - ( pengurangan )
• +, >, <, >=, <=, <>, !=, !>, !<
• ^ ( bitwise exclusive OR ), & ( bitwise AND ), | ( bitwise OR )
• NOT
• AND
• ALL, ANY, BETWEEN, IN, LIKE, OR, SOME
• = ( penugasan )
Label: Basis Data
PERKEMBANGAN BASIS DATA SAAT INI
Diposting oleh Matahari Ilmu Propil di 00.23Sejak tahun 1960-an penggunaan basis data sudah digunakan untuk bidang
komersial, dimana pemrosesan file-nya masih berbasis manajemen file tradisional.
Perkembangan komputer yang semakin pesat diikuti dengan perkembangan
perangkat lunak untuk aplikasi bisnis, sejak tahun 1970-an sampai awal tahun 1980
manajemen berbasis file tradisional berkembang menjadi manajemen basis data.
Di dalam manajemen basis data dikenal berbagai model data yang dapat
digunakan untuk mendeskripsikan sebuah data dalam merancang suatu basis data.
Manajemen ini memungkinkan banyak user untuk mengakses data secara
bersamaan sehingga fasilitas yang dimiliki oleh manajemen sudah semakin banyak
yaitu fasilitas pemanipulasian data, kontrol konkurensi data, recovery data,
keamanan data dan didukung dengan fasilitas komunikasi data karena manajemen
ini sudah terhubung dengan suatu jaringan .
PERKEMBANGAN BASIS DATA SAAT INI
Sejak tahun 1960-an penggunaan basis data sudah digunakan untuk bidang
komersial, dimana pemrosesan file-nya masih berbasis manajemen file tradisional.
Perkembangan komputer yang semakin pesat diikuti dengan perkembangan
perangkat lunak untuk aplikasi bisnis, sejak tahun 1970-an sampai awal tahun 1980
manajemen berbasis file tradisional berkembang menjadi manajemen basis data.
Di dalam manajemen basis data dikenal berbagai model data yang dapat
digunakan untuk mendeskripsikan sebuah data dalam merancang suatu basis data.
Manajemen ini memungkinkan banyak user untuk mengakses data secara
bersamaan sehingga fasilitas yang dimiliki oleh manajemen sudah semakin banyak
yaitu fasilitas pemanipulasian data, kontrol konkurensi data, recovery data,
keamanan data dan didukung dengan fasilitas komunikasi data karena manajemen
ini sudah terhubung dengan suatu jaringan .
Perkembangan dunia usaha semakin meningkat ditunjang dengan perkembangan
komunikasi yang mempermudah organisasi atau perusahaan untuk mengakses data,
sehingga mengubah manajemen basis data menjadi manajemen basis data tingkat
lanjut didukung dengan fasilitas data warehousing dan fasilitas basis data berbasis
web sebagai salah satu strategi organisasi dalam meningkatkan kinerja dan
keuntungan organisasi.
A. ORDBMS
A.1. ORDBMS (Object Relational Database Management System)
Penggunaan teknologi RDBMS pada awalnya sangat dominan, tetapi
dikarenakan fasilitas–fasilitas yang ada pada RDBMS tidak lagi sesuai
dengan aplikasi tingkat lanjut, maka RDBMS digantikan dengan
OODBMS. Pada OODBMS terdapat banyak sekali bentuk-bentuk object
oriented seperti metode encapsulation, inheritance, polymorphism, dll.
Model data relasional lanjutan tidak hanya ada satu , tetapi terdapat
berbagai macam model data, dimana karakteristik dan tingkat kebutuhan
data yang telah dibuat. Bagaimanapun semua model data yang akan
digunakan mengacu pada konsep objek dan mempunyai kemampuan
untuk menyimpan data di dalam database.
Berbagai macam terminologi yang digunakan untuk sistem model
relasional tingkat lanjut yaitu ERDBMS. Tapi sekarang ini untuk sistem
berbasis objek dapat digunakan OODBMS.
Inti dari kinerja RDBMS yaitu ada pada optimasi queri-nya dan juga
pengetahuan mengenai bagaimana mengeksekusi fungsi dari user-define
secara efisien, mengambil keuntungan dari pengindeksan pada struktur
yang baru, memetakan queri dengan cara baru, dan menavigasi antara
data menggunakan referensi data.
Penggunaan OODBMS untuk suatu organisasi yang sangat besar dan
universal tidak lagi sesuai sehingga untuk mendukung kinerja dari
organisasi tersebut dibutuhkan suatu ORDBMS (Objeck Relational
Database Management System).
ORDBMS memiliki fasilitas untuk mendefinisikan data yang kompleks,
menspesialisasikan struktur indeks dibutuhkan untuk mengefisienkan
pengambilan data. ORDBMS digunakan untuk dua sampai tiga
dimensional data.
A.2. Perbandingan antara OODBMS dan ORDBMS
Pemodelan Data
Model OODBMS ORDBMS
Identitas Objek ada Ada dengan tipe REF
(Refferences)
Pengkapsulan Ada, tapi tidak dapat
digunakan untuk queri
Ada dengan UDT (User
Defined Types)
Penurunan Ada Ada (dipisahkan antara
UDT dan Table)
Polymorphism Ada, sebagai object
oriented pada model bahasa
pemrograman
Ada
Objek kompleks Ada Ada, dengan UDT
Relasi Ada Sangat mendukung untuk
mendefinisikan batasan
referensial integritas
B. Data Warehousing
B.1. Konsep Data Warehousing
Konsep dasar dari data warehousing adalah informasi yang dikumpulkan
dalam suatu gudang penyimpanan dan merepresentasikan solusi untuk
pengaksesan data didalam sistem non relasional. Sehingga data
warehousing dapat disebut sebagai database yang berorientasi pada
subyek, terintegrasi, mempunyai Time Variant dan bersifat non volatile
untuk kumpulan data yang mendukung dalam pengambilan keputusan.
• Berorientasi subyek artinya mengatur semua subyek utama pada
suatu organsisasi yang memfokuskan pada basis datanya bukan pada
aplikasi yang digunakan untuk pengambilan keputusan.
• Terintegrasi artinya pemakaian data bersama-sama sering
menyebabkan data tidak konsisten sehingga cara pandang user
terhadap data menjadi tidak sama. Agar terintegrasi pembentukan
sumber data harus standar dan konsisten.
• Time Variant, data yang ada pada gudang hanya valid dan akurat
pada titik waktu tertentu atau interval tertentu.
• Non-volatile, data tidak di-update secara real time tetapi selalu
diperbaharui dari sistem operasi pada database yang ada.
B.2. Keuntungan dari Data Warehousing
1. Hasil yang diperoleh dari investasi lebih tinggi
2. Kompetitif
3. Meningkatkan produktivitas perusahaan
Sistem Basis Data
Perkembangan Database Saat Ini Hal 4 dari 5
Jenis database yang tersimpan di dalam media penyimpanan data berdasarkan
penggunaan data :
• Database yang memiliki data sering di-update disebut data OLTP (Online
Transaction Processing). Data OLTP sering juga disebut data operasional,
mencerminkan sifat aplikasi database yang dinamik.
• Database yang memiliki data sering digunakan untuk query disebut DSS
(Decision Support System). Data DSS sering disebut data analitikal,
mencerminkan sifat aplikasi database yang relatif statik.
Data Operasional Data DSS
Berorientasi pada aplikasi : data
digunakan untuk proses bisnis. Sebagai
contoh : sistem perbankan dengan file
terpisah yang sudah dalam bentuk
normal untuk setiap proses bisnis.
Berorientasi pada subyek : data
digunakan untuk subyek bisnis, misal
informasi nasabah. Data dalam bentuk
denormalisasi dimana sebuah record
dapat meliputi keseluruhan proses bisnis.
Data terperinci Data ringkas
Struktur statik Struktur dinamik
Target operator komputer Target pengambil keputusan pada
seluruh tingkatan
Volatile (data dapat diubah) Non volatile (data tidak bisa diubah
setelah dimasukkan)
Kebutuhan data selalu diketahui sebelum
rancangan sistem
Kebutuhan data sama sekali tidak
diketahui sebelum rancangan sistem
Mengikuti siklus hidup pengembangan
klasik dimana iterasi rancangan
diselesaikan melalui normalisasi data,
dan memeriksa kebutuhan pemakai
Siklus hidup pengembangan sama sekali
berbeda, dimana pemakai menggunakan
aplikasi struktur data yang ada dan
membuat rancangan siap untuk dianalisis
Performansi penting karena jumlah
pemakai konkuren sangat besar dalam
mengakses data
Masalah performansi lebih longgar
Karena jumlah pemakai jauh lebih sedikit
dalam mengakses data sehingga tidak
ada masalah konkuren yang perlu
diperhatikan.
Penggerak-transaksi (Transaction-driven) Penggerak-analisis (Analysis-driven)
Data harus selalu tersedia untuk pemakai
akhir (back up dan recovery harus
terencana dengan baik)
Tidak mempunyai tingkat kebutuhan
ketersediaan data yang sama
(perencanaan back up dan recovery lebih
longgar)
Mencerminkan situasi mutakhir Mencerminkan nilai historis
C. Data Mart
Untuk mencapai suatu data warehouse kelihatannya merupakan suatu
tantangan besar dan memang demikian. Bahkan begitu besarnya sehingga
beberapa pakar menyarankan pendekatan yang lebih sederhana yaitu
menerapkan sesuatu yang dinamakan data mart. Data mart adalah database
yang berisikan data yang menjelaskan satu segmen operasi perusahaan.
Misalnya perusahaan mungkin memiliki data mart pemasaran, data mart smber
daya manusia, dsb.
Sistem Basis Data
Perkembangan Database Saat Ini Hal 5 dari 5
D. Data Mining
Istilah yang sering digunakan bersama-sama dengan data warehouse dan data
mart adalah data mining. Data mining adalah proses menemukan hubungan
dalam data yang tidak diketahui oleh pemakai. Data mining membantu pemakai
dengan mengungkapkan berbagai hubungan dan menyajikannya dengan suatu
cara yang dapat dimengerti sehingga dapat menjadi dasar pengambilan
keputusan. Data mining memungkinkan pemakai “menemukan pengetahuan”
pada database yang dalam sepengetahuannya tidak ada.
Contoh Data Mining :
Sebuah bank telah memutuskan untuk menawarkan reksadana kepada para
pelanggannya. Manajemen bank ingin mengarahkan materi promosi pada
segmen pelanggan yang memberikan potensi bisnis terbesar.
• Data Mining Berdasarkan Verifikasi. Pendekatan yang dilakukan oleh
para manajer adalah mengidentifikasi karakteristik yang mereka yakin
dimiliki oleh pasar sasaran. Misalkan para manajer ingin mengarah pada
pasangan muda, berpenghasilan ganda, dan kaya. Query dapat
dimasukkan ke dalam DBMS, dan catatan yang tepat dapat dipanggil.
Pendekatan yang seperti itu, yang mulai dengan hipotesis pemakai tentang
bagaimana data tersebut terstruktur, disebut data mining berdasarkan
verifikasi (verification-driven data mining). Kekurangan pendekatan ini
adalah proses pemanggilan kembali diarahkan sepenuhnya oleh pemakai.
Informasi yang dipilih tidak lebih baik daripada pandangan pemakai
terhadap data tersebut. Ini merupakan cara tradisional untuk bertanya pada
database.
• Data Mining Berdasarka Penemuan. Pendekatan lain memungkinkan
sistem data mining mengidentifikasi pelanggan terbaik untuk promosi
tersebut. Sistem itu menganalisis database, mencari kelompok-kelompok
dengan karakteristik umum. Dalam contoh bank, sistem data mining
mungkin mengidentifikasi bukan hanya kelompok pasangan muda lulusan
universitas tetapi juga pasangan yang sudah pensiun yang bergantung
pada jaminan sosial dan pensiun. Sistem data mining dapat melaksanakan
analisis selangkah lebih jauh, dengan merekomendasikan satu set promosi
yang diarahkan pada kedua kelompok tersebut.
• Kombinasi Data Mining Verifikasi dan Penemuan. Perkembangan data
mining di masa depan akan mengkombinasikan pendekatan hipotesis dan
penemuan. Perkembangan ini menggunakan penalaran yang sama yang
mendasari konsep Sistem Pendukung Keputusan (Decision Support
System – DSS). Konsep tersebut memungkinkan pemakai dan komputer
bekerja sama untuk memecahkan suatu masalah. Pemakai menerapkan
keahliannya dalam hal masalah, dan komputer melakukan analisis data
yang canggih untuk memilih data yang tepat dan menempatkannya dalam
format yang tepat untuk pengambilan keputusan.
Label: Basis Data
PEMODELAN DATA BASE
Diposting oleh Matahari Ilmu Propil di 00.21Model Data pada hakekatnya adalah kumpulan perangkat konseptual untuk menggambarkan data, relasi data, makna (semantik) data, dan batasan data. Ada sejumlah cara dalam merepresentasikan Model Data untuk keperluan perancangan basis data, yaitu dikelompokkan sebagai berikut:
• Model Hirarkis (Hierarchical Model)
• Model Jaringan (Network Model)
• Model Relasional (Relational Model)
• Model Relasi Entitas (Entity-Relationship Model)
• Model Berbasis Objek (Object Oriented Model)
1. Model Data Hirarkis
Model data hirarkis adalah model data paling tua yang pernah diterapkan dalam suatu DBMS. Model ini mengikuti pola hirarki pada suatu organisasi atau pada suatu keluarga, dimana terdapat rekaman data yang berfungsi sebagai “bapak” (parent-record) ada yang berfungsi sebagai “anak” (child-record), atau sebagai “pimpinan’ dan “anak-buah”. Dalam model ini seorang “bapak” bisa memiliki lebih dari satu “anak” tetapi seorang “anak” hanya boleh memiliki satu “bapak”.
Sebagai contoh basis-data yang menggambarkan rencana studi mahasiswa dimana seorang mahasiswa boleh mengambil beberapa matakuliah.
PEMODELAN DATA BASE
Model Data pada hakekatnya adalah kumpulan perangkat konseptual untuk menggambarkan data, relasi data, makna (semantik) data, dan batasan data. Ada sejumlah cara dalam merepresentasikan Model Data untuk keperluan perancangan basis data, yaitu dikelompokkan sebagai berikut:
• Model Hirarkis (Hierarchical Model)
• Model Jaringan (Network Model)
• Model Relasional (Relational Model)
• Model Relasi Entitas (Entity-Relationship Model)
• Model Berbasis Objek (Object Oriented Model)
1. Model Data Hirarkis
Model data hirarkis adalah model data paling tua yang pernah diterapkan dalam suatu DBMS. Model ini mengikuti pola hirarki pada suatu organisasi atau pada suatu keluarga, dimana terdapat rekaman data yang berfungsi sebagai “bapak” (parent-record) ada yang berfungsi sebagai “anak” (child-record), atau sebagai “pimpinan’ dan “anak-buah”. Dalam model ini seorang “bapak” bisa memiliki lebih dari satu “anak” tetapi seorang “anak” hanya boleh memiliki satu “bapak”.
Sebagai contoh basis-data yang menggambarkan rencana studi mahasiswa dimana seorang mahasiswa boleh mengambil beberapa matakuliah.
Model Data Hirarkis
Pada model diatas tidak direpresentasikan bahwa satu matakuliah diambil oleh beberapa mahasiswa, karena berarti menyalahi aturan dimana satu “anak” (kuliah) memiliki banyak “bapak” (mahasiswa). Model diatas akan menyebabkan timbulnya “redudansi” data, karena banyak kemungkinan bahwa matakuliah yang sama diambil oleh beberapa mahasiswa, sehingga record-matakuliah tersebut direkam berkali-kali dibawah record-mahasiswa yang mengambilnya. Disamping itu apabila ada matakuliah yang tidak diprogram-kan oleh mahasiswa maka ada kemungkinan record-nya tidak ada dalam database karena tidak memiliki parent.
Contoh model hirarkis yang menunjukkan hubungan Dosen-MataKuliah-Mahasiswa dapat pula digambarkan dalam bentuk diagram sebagai berikut.
Diagram Hirarkis Dosen-Matakuliah-Mahasiswa
Perhatikan dalam model hirarki diatas, data mahasiswa yang sama terpaksa direkam berulang ketika mahasiswa tersebut memprogramkan lebih dari satu matakuliah.
Model hirarkis ini pernah di-implementasikan oleh IBM pada sebuah DBMS yang diberi nama IMS (Information Management System) namun kemudian di-kalahkan oleh implementasi model yang lebih mutakhir seperti model Data Relasional seperti Rbase, dsb.
2. Model Data Jaringan
Model data jaringan adalah pengembangan dari model data hirarkis, melihat kekurangan dari model hirarkis tersebut. Pada model jaringan diperkenankan bahwa sebuah child-record bisa memiliki lebih dari satu parent-record. Pada implementasi-nya berarti antara parent-record dan child-record diperlukan penghubung (link atau pointer) yang bisa satu arah atau dua-arah.
Model Data Jaringan
Dengan model jaringan ini maka informasi dimana seorang mahasiswa dapat mengambil beberapa matakuliah (pointer dari record mahasiswa tsb ke beberapa record-kuliah) dan juga informasi bahwa satu matakuliah dapat di-program-kan oleh banyak mahasiswa (pointer dari record-kuliah ke beberapa record-mahasiswa) keduanya dapat di-representasikan.
Model Jaringan dari Dosen-Matakuliah-Mahasiswa dapat digambarkan sebagai berikut.
Diagram Model Data Jaringan Dosen-MataKuliah-Mahasiswa
Persoalan yang timbul adalah “terjadinya hutan pointer” akibat relasi antar record yang rumit sehingga penelusuran data menjadi sangat sulit. Ketika model relasional menjadi lebih populer maka model inipun ditinggalkan orang.
3. Model Data Relasional
Model data relasional adalah model data yang diciptakan berdasarkan teori-relasional seperti relational algebra, dan relational calculus. Salah seorang pencetus awal dari basis data relasional adalah E.F.Codd yang juga telah menciptakan serangkaian operasi matematika relasional terhadap model data relasional.
Pada prinsipnya model data relasional dapat di-representasikan dalam bentuk table (tabel) data, dimana:
• satu tabel mewakili satu “domain” data atau entity, bila direkam merupakan satu file yang hanya memiliki satu tipe record saja, setiap record adalah baris
• setiap record terdiri atas beberapa field (atribut) atau tuple, atau kolom
• jumlah tuple / field pada setiap record sama
• setiap record memiliki atribut kunci utama (primary key) yang unik dan dapat dipakai untuk mengenali satu record
• record dapat diurutkan menurut kunci utama,
Contoh: domain mahasiswa dapat diwakili oleh satu tabel mahasiswa dengan kunci utama adalah NIM (Nomor Induk Mahasiswa), dan domain matakuliah dapat diwakili oleh satu tabel kuliah dengan kunci utama kode-mkuliah.
tabel mahasiswa
Nim Nama_mhs Alamat_mhs Tgl_lahir
011234 Ahmad Jl. Melati 50 21-3-1980
011345 Bobby Jl. Mawar 103 13-5-1980
011456 Charles Jl. Mangga 145 17-8-1980
tabel kuliah
Kode_mkuliah Nama_Mkuliah sks Semester
315KP2 Pemrograman Visual 2 5
317KP2 Pemrograman Web 2 5
319MP2 Analisis Numerik 2 5
Hubungan antara kedua domain ini dinyatakan dalam bentuk relasi, ada tiga kemungkinan relasi antar dua domain yaitu:
• relasi satu-satu (one-to-one relation) : bahwa satu mahasiswa hanya boleh mengambil satu matakuliah, dan satu matakuliah hanya boleh diambil oleh satu mahasiswa, relasi disingkat dengan simbol 1-to-1. Dalam implementasi dua file yang memiliki relasi 1-to-1 dapat digabung menjadi satu file.
• relasi satu-banyak (one-to-many relation) : bahwa satu mahasiswa boleh ambil banyak matakuliah tetapi satu matakuliah hanya boleh diambil oleh satu mahasiswa, relasi disingkat dengan simbol 1-to-M atau M-to-1. Pada relasi 1-to-M atau M-to-1, kunci record dari file pada sisi-1 harus ditambahkan sebagai kunci-tamu pada file sisi-M
• relasi banyak-banyak (many-to-many relation) : bahwa satu mahasiswa boleh ambil banyak matakuliah, dan satu matakuliah boleh diambil oleh banyak mahasiswa, relasi disingkat dengan simbol M-to-M. Pada relasi M-to-M harus diciptakan sebuah file ‘relasi’ yang berisi minimal dua field kunci record dari masing-masing file yang berelasi.
Contoh relasi antara domain mahasiswa dan matakuliah secara logis hanya bisa diterima pada jenis relasi banyak-banyak (M-to-M). Perwujudan dari relasi banyak-banyak ini diwakili oleh tabel relasi yang minimal memuat kunci utama masing-masing domain yang berelasi.
Nim Kode_kuliah Nilai
011234 315KP2 A
011234 319MP2 B
011345 315KP2 C
011345 317KP2 A
011345 319MP2 C
011456 317KP2 D
011456 319MP2 B
4. Model Relasi-Entitas
Model Relasi-Entitas atau (Entity Relationship Model) pada hakekatnya perwujudan dari model relasional dalam bentuk diagram, yaitu E-R Diagram. Domain data disebut juga sebagai himpunan entitas, diwakili oleh diagram kotak. Field-data atau atribut diwakili oleh diagram lingkaran atau ellips. Hubungan atau relasi antar domain diwakili oleh jajaran-genjang.
Simbol Relasi Entitas
Contoh relasi antara domain mahasiswa dan domain matakuliah diwujudkan dalam diagram E-R sebagai berikut:
Diagram E-R Mahasiswa-Matakuliah
5. Model Data Berbasis Objek
Model data berbasis objek dikembangkan searah dengan perkembangan pemrograman berbasis objek. Salah satu karakteristik dari sistem berbasis objek adalah encapsulation yaitu suatu objek terpisah dari objek lain sehingga setiap objek seakan-akan berada dalam kapsulnya masing-masing. Pada setiap kapsul terdapat komponen data (attribute) dikemas bersama dengan komponen akses-nya (methods). Sebagai contoh, berikut ini disajikan data pegawai dalam format berbasis objek.
Model Objek Data Pegawai
Label: Basis Data