Archive for Agustus 2016

Sejarah SQL


SQL
      SQL pertama kali dikenalkan oleh labotarium IBM di San Jose dan pertama  dikembangkan akhir tahun 70-an pertama kalinya SQL dikembangkan untuk produk-produk IBM–DB 2 dan RDMS  (Relational Database Management System), yang kemudian pada akhir akhir ini dapat bekerja untuk berbagai macam platform.

SQL adalah bahasa non-prosedural yang bertentangan dengan bahasa prosedural ke tiga seperti COBOL dan C. Perbedaan bahasa prosedural dengan non-prosedural adalah pada pandangannya, pada bahasa prosedural pembuatan perintah program didasarkan pada “how” yaitu bagaimana suatu hasil dapat diperoleh. Sedangkan pada bahasa non–prosedural didasarkan pada “what” yaitu apa yang akan ditampilkan. Karekfenistik dari RDBMS adalah bahasa database yang didasarkan pada himpunan (set). Sehingga SQL dapat diartikan sebagai proses himpunan data dalam kelompok-kelompok tertentu.

Ada dua perusahaan terkenal, ANSI (The American National Standards Institute) dan ISO (The International Standards Organization), mempromosikan SQL standard untuk Industri. Standard ANSI-92 merupakan standard SQL yang banyak dikenal dan dikembangkan.
SQL didukung oleh berbagai bahasa programan, seperti : Visual Basic, C++, Builder, Delphi, Oracle, mySQL, PostGreeSQL,
dan Java. Dengan Menggunakan perintah - perintah SQL, kita dapat memanipulasi data dalam sebuah database melalui
baris - baris program yang kita tuliskan.

1. Jenis - Jenis Perintah SQL
  Perintah - perintah SQL dapat dikelompokan dalam 2 kategori, yaitu Data Definition Language (DDL) dan Data Manipulation
Language(DML).

a.Data Definition Language
Data Definition Language merupakan perintah - perintah yang digunakan untuk membuat tabel dan mendefinisikan struktur
database (menambah/mengubah/hapus). CREATE, DROP, ALTER merupakan beberapa contoh perintah kategorii DDL tersebut.

CREATE : Untuk membuat tabel dan database.
DROP : Untuk menghapus tabel database.
ALTER : Untuk mengubah strukktur tabel yang telah dibuat, baik menambah field(ADD), mengganti nama field(CHANGE)
 ataupun mengganti nama (RENAME).
b. Data Manipulation Language
Data manipulation language merupakan perintah yang digunakan  untuk memanipulasi database (melihat, menelusuri, filtering
summarize, perhitungan, dll). DML merupakan metode query yang dapat digunakan setelah database dibuat. Bebearapa perintah 
yang termasuk kategori DML adalah SELECT, INSERT, UPDATE dan DELETE.
SELECT : Mengekstrak/mengambil data dari sebuah database
INSERT : Digunakan untuk menyisipkan data baru kedalam database
UPDATE  : Digunakan untuk melakukan pengubahan/peremajaan terhadap data yang ada pada tabel.
DELETE  : Digunakn untuk penghapusan data pada tabel database. penghaspusan ini dapat dilakukan secara sekaligus 
 (seluruh isi tabel) maupun hanya beberapa set record.

Kedua bentuk perintah SQL diatas dapat digunakan pada semua model database (basis data) yang mendukungnya, baik yang berbasis
Unix maupun Windows. pada sistem operasi windows, misalnya : SQL Dapat diterapkan pada aplikaso DBMS semacam Microsoft 
Acces atau pada file database hasil apliaksi desktop database yang bernama paradox.

SEJARAH

Posted by : Sutriswiliam 0 Comments

Kelebihan dan Kekurangan dari My SQL


Kelebihan :
  • Dapat bekerja di beberapa platform yang berbeda seperti LINUX, Windows, MacOS, FreeBSD, Solaris, dll.
  • Dapat dikoneksikan pada bahasa C, C++, Java , Perl, PHP, dan Python.
  • Mempunyai lebih banyak tipe data seperti : signed/unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte. FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, dan tipe ENUM.
  • Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY . Mendukung terhadap fungsi penuh ( COUNT ( ), COUNT(DISTINCT), AVG( ), STD ( ), SUM ( ), MAX ( ), AND MIN ( ) ).
  • Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
  • Mendukung ODBC for windows 95' (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
  • Menggunakan GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
  • Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama. Structure table MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
  • Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
  • Privilege (hak) dan password sangat fleksibel dan aman serta mengijinkan "Host-Based" Verifikasi. Memiliki beberapa lapisan keamanan , seperti subnet mask, nama host, dan izin akses user dengan sistem perijinan yang mendetail serta sandi/password terenkripsi.
  • Program dapat running di semua OS,PHP MySQL berjalan secara web base, itu artinya semua operating system yang memiliki web browser dapat menggunakan aplikasi ini, dan semua OS tentu saja selalu memiliki web browser, Windows dengan internet explorer, Linux dengan Mozilla, Macintosh dengan safari, dan handphone dengan opera mini. Sangat mobile dan flexibel.
  • Sangat cocok dan mudah diterapkan pada komputer berjaringan , program PHP MySQL cukup diinstall di salah satu komputer pada jaringan yang dalam hal ini adalah komputer server, pada komputer client, kita tidak usah menginstalasikan program apapun lagi. Pada komputer client kita cukup mengarahkan web browser ke komputer server dan program dapat langsung running, apabila program error(walau kemungkinan sangat kecil sekali) program cukup di maintenance di pihak komputer server yang terinstalasikan program tanpa harus memaintenance komputer client juga. sangat mudah dan simple.
  • Tidak ada virus yang menginfeksi program PHP, sampai saat ini program PHP belum dapat diinfeksi virus, kebanyakan virus menginfeksi file berekstensi *.exe dan *.dll, sangat awet dan aman.
  • Sangat stabil disemua operating system program PHP walau dipakai dalamwaktu yang sangat lama tidak akan memberatkan sistem dan tidak akan mempengaruhi komputer untuk berjalan sangat lambat, sangat cocok diterapkan pada komputer yang selalu nyala 24 jam
  • Sangat multi user, program PHP tidak akan bentrok dengan pengguna lain yang sama-sama menggunakan program dalam satu jaringan karena MySQL merupakan turunan dari konsep SQLMulti user
  • Merupakan DBMS yang gratis/open source berlisensi GPL (Generic Public License).
  • Cocok untuk perusahaan dengan skala yang kecil.
  • Tidak membutuhkan spesifikasi hardware yang tinggi untuk bisa menjalankan MySQL ini bahkan dengan spesifikasi hardware yang minimal sekalipun.
  • MySQL dapat melakukan koneksidengan komputer client menggunakan protokol TCP/IP, Unix Socket (UNIX), atau Named Pipes(Windows NT).
  • MySQL memiliki antar muka/interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application progamming interface).
  • Command and function MySQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
Kekurangan :
  • Untuk koneksi kebahasa pemrograman visual seperti VB(Virus Basic), delphi, dan foxpro, MySQL kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan MySQL jarang dipakai dalam program visual.
  • Data yang ditangani belum begitu besar. Tidak cocok baik menyimpan data maupun untuk memproses data. 
  • Program hanya dapat running di windows. Itupun untuk windows lama,untuk windows terbaru seperti Vista,Visual Basic sangat tidak stabil berjalan di platform tersebut,banyak kantor yang dapat menghubungkan laptop pegawai mereka untuk bergabung dalam sistem jaringan kantor.Bagaimana untuk pengguna Macintosh maupun Linux? Program tidak dapat dijalankan di laptop mereka. Walaupun bisa, program harus diinstall terlebih dahulu menggunakan emulator.
  • Tidak Praktis apabila diterapkan pada jaringan komputer. Itu dikarenakan VB program yang berdiri sendiri yang berarti harus diinstalasikan pada tiap komputer pada jaringan tersebut. Bayangkan apabila ada puluhan komputer? ada berapa lama waktu untuk instalasi dan pemeliharaannya?
  • Aplikasi yang rentan terkena virus, program yang dibuat menggunakan Visual Basic adalah berupa execution program(*.exe) yang dapat terinfeksi virus seperti virus Sality, program menjadi rusak dan tidak bisa dijalankan. apabila program terinfeksi tersebut di scan oleh antivirus, program akan dihapus dari sistem, sangat tidak aman untuk sebuah program yang menjadi tulang punggung perusahaan.
  • Mudah hang dan crash, program dari VB seringkali menjadi not responding lalu mati tiba-tiba.
  • Tidak multi user, apabila dalam satu jaringan komputer menggunakan program dalam satu waktu, salah satu user harus mengalah sampai user yang lain selesai menggunakan program.
  • Memiliki keterbatasan kemampuan kinerja dalam server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.

KELEBIHAN & KEKURANGAN

Posted by : Sutriswiliam 0 Comments

Belajar Sintak dasar SQL (Structured Query Language)


Selamat malam sobat semua, pada posting kali ini saya akan Belajar Sintak Dasar SQL(Structured Query Language). Contoh database yang sering kita gunakan adalah Microfost Acces hanya bisanya cuma klik tools yang disediakan pada Menu Toolbar tanpa kita tahu apa di balik itu yaitu sebuah bahasa pemrograman, Maka dari itu pada posting saya ini untuk belajar SQL atau bisa baca cara pada posting saya yang Cara mengkoneksikan ODBC Query Tool dengan Microsoft Acces Database.Pada posting tersebutlah cara menggunakan sintaksnya dan pemrogramannya. Dibawah ini adalah sintak dasar SQL dan juga contohnya.

1. Membuat Table Baru
  • Syntax : CREATE TABLE nama_table ( field1 type(size),field2 type(size), )
  • Contoh :
    CREATE TABLE karyawan (
    firstname char(15) not null,
    lastname char(15) not null,
    ssn char(9) not null,
    bdate date,
    address char(30) ,
    sex char(1),
    salary decimal(10.2))
2.  Menghapus Table
Sintaks: DROP TABLE nama_table
Contoh: DROP TABLE karyawan
3.  Memperbaharui field (Menambah / mengurangi field)
  • Menambah kolom/field baru
  • ALTER TABLE nama_table
    ADD field TYPE(SIZE)
  • Menghapus kolom/field
  • ALTER TABLE nama_table
    DROP COLUMN field
4.  Menyisipkan Data Baru
  • INSERT INTO nama_table  (field1, field2 ,…) VALUES (nilai1, nilai2 ,)

  • INSERT INTO nama_table VALUES (nilai1, nilai2 ,)

Contoh :
  • INSERT INTO KARYAWAN (nama, pekerj aan, gaji, mkerja)VALUES ("SUNARDI" ,"STAF AHLI" ,1500000,3)
  • INSERT INTO KARYAWAN VALUES ("SUNARDI" ,"STAF AHLI" ,1500000,3)
5.  Menampilkan Data
  • Semua Data.
    SELECT *FROM NAMA_TABLE

  • Menampilkan field tertentu.
    SELECT FIELD1,FIELD2, FROM  NAMA_TABLE
  • Menampilkan data dengan urutan tertentu.
    SELECT FIELD1,FIELD2,… FROM NAMA_TABLE ORDER BY FIELD

Gunakan DESC setelah FIELD untuk pengurutan TURUN

  • Menampilkan data-data tertentu
  • SELECT FIELD FROM NAMA_TABLE WHERE <KONDISI>

Contoh :
  • SELECT * FROM KARYAWAN WHERE NAMA LIKE “S*”

  • SELECT *FROM KARYAWAN WHERE GAJI > 1000000

  • SELECT *FROM KARYAWAN WHERE GAJI > 500000 AND GAJI <2000000

atau

  • SELECT *FROM KARYAWAN WHERE GAJI BETWEEN 500000 AND 2000000
  • SELECT * FROM KARYAWAN WHERE NAMA LIKE “S*” or NAMA LIKE “A*”
  • SELECT * FROM KARYAWAN WHERE NAMA NOT LIKE “S*"
6.  Menghapus Data /Baris
DELETE FROM nama_table
WHERE <kondisi>

7.  Memperbaiki/edit Data/Baris
UPDATE nama_table
SET <kondisi1/pengganti>
WHERE <kondisi2/yg diganti
Selamat mencoba dan belajar sobat, sintak ini bisa di terapkan dalam pemrograman SQL silahkan baca Cara mengkoneksikan ODBC Query Tool dengan Microsoft Acces Database, sehingga kita dapat mempelajarinya sebagai programer SQL pemula. Jika ada pertanyaan silakan komentar dibawah ini.

SINTAK / SCRIPT

Posted by : Sutriswiliam 0 Comments

A.     Fungsi-Fungsi SQL (lanjutan)
Ada dua tipe dari fungsifungsi
1.      SingleRow Functions
Fungsi-fungsi ini hanya digunakan pada baris-baris
tunggal dan mengembalikan satu hasil per baris.
Ada tipe-tipe berbeda dari singlerow functions. Pelajaran ini mencakup hal-hal berikut :
  • Character (karakter) : Menerima input karakter dan dapat mengembalikan baik nilai-nilai karakter ataupun angka.
  • Number (angka) : Menerima masukkan angka dan mengembalikan nilai-nilai angka
  • Date (tanggal) : Bekerja pada nilai-nilai dari tipe data DATE (semua date functions mengembalikan suatu nilai dari tipe data DATE kecuali fungsi MONTHS_BETWEEN, yang mengembalikan suatu angka.)
  • Conversion (konversi) : Mengkonversi suatu nilai dari satu tipe data ke tipe data lainnya.
  • General (umum) : (fungsi-fungsi umum) :
    • NVL
    • NVL
    • 2
    • NULLIF
    • COALESCE
    • CASE
    • DECODE
    • Single Rows Functions
Singlerow function digunakan untuk memanipulasi itemi-tem data. Singlerow functions menerima satu atau lebih argumenargumen dan mengembalikan satu nilai untuk setiap baris yang dihasilkan oleh suatu query. Suatu argumen dapat berupa berikut ini :
  • Usersupplied
  • constant (Konstanta yang disediakan oleh user)
  • Nilai variable
  • Nama Kolom
  • Ekspresi
Fitur-fitur dari singlerow functions mencakup :
  • Aksi pada setiap baris yang dikembalikan di dalam query
  • Mengembalikan satu hasil per baris
  • Memungkinkan pengembalian suatu nilai data dari suatu tipe berbeda daripada satu yang direferensikan.
  • Mungkin menerima satu atau lebih argumentargumen
  • Dapat digunakan didalam klausaklausa
SELECT, WHERE, dan ORDER BY;dapat disarangkan (nested)

2.      Multiplerow Functions
Fungsi-fungsi dapat memanipulasi kelompok dari baris-baris untuk memberi suatu hasil baris-baris per kelompok. Fungsi-fungsi ini dikenal juga sebagai group functions (dibahas pada pelajaran  selanjutnya).
  • CaseManipulation Functions
  • ·LOWER : Konversi mixedcase (bentuk campuran) atau karakterkarakter string huruf besar ke huruf kecil
  • ·UPPER : Konversi mixedcase atau karakterkarakter string huruf kecil ke huruf besar
  • ·INITCAP : Konversi huruf pertama setiap kata ke huruf besar dan hurufhuruf selanjunya ke huruf kecil
SELECT ‘the job id for ‘||UPPER(last_name)|| ’ is ‘||LOWER(job_id) AS “EMPLOYEE DETAILS”
FROM employees;
  • Menggunakan Fungsi-Fungsi CaseManipulation
Klausa WHERE dapat ditulis ulang dengan cara berikut untuk menghasilkan hasil yang sama :
. . . WHERE last_name= ‘ Higgins’
Nama pada output muncul seperti nama itu disimpan di dalam database. Untuk menampilkan nama dimana hanya huruf pertama dalam bentuk huruf besar, gunakan fungsi UPPER pada pernyataan SELECT.
SELECT employee_id, UPPER (last_name), department_id
FROM employees
WHERE INITCAP(last_name) = ‘Higgins’;
  • Fungsi-Fungsi CharacterManipulation

  • ·CONCAT : Menggabungkan bersama nilai-nilai ( Anda dibatasi untuk menggunakan dua
parameter pada CONCAT.)
  • ·SUBSTR : Memotong suatu rangkaian dari panjang tertentu
LENGTH : Menampilkan panjang dari suatu rangkaian sebagai suatu nilai numeric
INSTR : Menemukan posisi numerik dari suatu karakter nama
LPAD : Mengisi nilai karakter rightjustified (perataan kanan)
RPAD : Mengisi nilai karakter leftjustified(perataan kiri)
TRIM : Memotong karakter-karakter bagian awal atau bagian akhir (atau keduaduanya) dari suatu rangkaian karakter ( jika trim_character atau trim_source adalah suatu karakter literal, Anda harus mengapitnya didalam tanda petik tunggal.)
  • Menggunakan Fungsi-Fungsi CharacterManipulation.

SELECT employee_id, CONCAT (first_name, last_name) NAME,
LENGTH (last_name), INSTR (last_name, ‘a’) “Contains ‘a’?”
FROM employees
WHERE SUBSTR (last_name, 1,1) = ‘n’;
  • Fungsi ROUND
Fungsi ROUND membulatkan kolom, ekspresi, atau nilai posisi ken decimal dan dapat juga digunakan dengan date function (fungsi-fungsi tanggal).
  • DUAL Table
DUAL table secara umum digunakan untuk melengkapi sintak klausa SELECT, sebab baik klausa SELECT dan klausa FROM mandatory (bersifat perintah) , dan beberapa perhitungan-perhitungan tidak perlu memilih dari
Table-tabel aktual.
  • Fungsi TRUNC
Fungsi TRUNC memotong kolom, ekspresi, atau nilai posisi ken Decimal dan bekerja dengan argumentargumen yang sama untuk fungsi ROUND.
  • Fungsi MOD
MOD function akan menemukan suatu sisa dari argumen pertama dibagi dengan argumen kedua.
  • Format Tanggal Oracle
Database Oracle menyimpan tanggal-tanggal dalam suatu format angka sendiri, yang menunjukkan abad, tahun, bulan, hari, jam, menit, dan detik. Tampilan default dan format inputan untuk setiap tanggal adalah DDMONRR.
  • Fungsi SYSDATE
SYSDATE adalah fungsi tanggal yang mengembalikan tanggal dan waktu server database saat ini.
Contoh
Menampilkan tanggal saat ini menggunakan tabel DUAL.
SELECT SYSDATE
FROM DUAL;
  • Dates Functions

  • ·MONTHS_BETWEEN (date1, date2) : Mencari jumlah bulan diantara date1 dan date2. Hasilnya bisa jadi positif atau negatif. Jika date1 lebih awal daripada date2, hasilnya adalah positif ; jika date1 lebih awal daripada date2, hasilnya adalah negatif . Sebagian dari hasil bukan bilangan bulat (noninteger) menunjukkan suatu bagian dari bulan.
ADD_MONTHS (date, n) : Menambahkan n jumlah suatu bulan kalender ke date. Nilai dari n harus bilangan bulat (integer) dan bisa negatif.
NEXT_DATE (date, ’char’) : (‘char’) setelah date menemukan suatu tanggal dari suatu hari tertentu pada suatu minggu. Nilai dari char bisa angka yang mewakili suatu hari atau suatu karakter string.
LAST_DAY (date) : Mencari hari terakhir dari suatu tanggal dalam suatu bulan yang berisi date.
ROUND (date[,’fmt’] ) : Mengembalikan pembulatan date ke suatu unit yang ditentukan oleh model format fmt. Jika model format fmt dihilangkan, date dibulatkan ke hari terdekat.
TRUNC (date[,’fmt’] ) : Mengembalikan date dengan bagian suatu waktu dari suatu hari yang dipotong ke unit yang ditentukan oleh model format fmt.
  • Menggunakan Fungsi NVL
Untuk menghitung kompensasi tahunan dari semua pegawai, Anda membutuhkan perkalian antara
penghasilan bulanan dengan 12 kemudian menambah prosentase komisi kepada hasil :
SELECT last_name, salary, commission_pct,
(salary*12) + (salary*12*commission_pct) AN_SAL
FROM employees;
  • Menggunakan Fungsi NVL2
Fungsi NVL2 memeriksa ekspresi pertama. Jika ekspresi pertama bukan null, maka fungsi NVL2
mengembalikan ekspresi kedua. Jika ekspresi pertama null, maka ekspresi ketiga yang akan
dikembalikan.
Sintak
NVL (expr1, expr2, expr3)
Dalam sintak :
·expr1 adalah nilai atau ekspresi asal yang mungkin berisi null.
·expr2 adalah nilai yang dikembalikan jika expr1 bukan null.
·expr3 adalah nilai yang dikembalikan jika expr1 adalah null.
  • Penggunaan Fungsi NULLIF
Fungsi NULLIF membandingkan dua ekspresi. Jika sama, fungsi akan mengembalikan null. Jika tidak sama, fungsi akan mengembalikan ekspresi pertama. Anda tidak dapat menyebutkan literal NULL sebagai ekspresi pertama.
Sintak
NULLIF(expr1, expr2)
Dalam sintak :
·expr1 adalah nilai asal yang dibandingkan dengan expr2.
·expr2 adalah nilai asal yang dibandingkan dengan expr1 (Jika tidak sama dengan expr1,
maka expr1 yang dikembalikan).
  • Menggunakan Fungsi COALESCE
Fungsi COALESCE mengembalikan ekspresi bukan null (nonnull) yang pertama yang terdapat dalam daftar.
Sintak
COALESCE (epr1, expr2,…exprn)
Dalam sintak:
expr1 mengembalikan ekspresi expr1 jika ia bukan null.
  • ·expr2 mengembalikan ekspresi expr2 jika ekspresi pertama null dan ekspresi expr2 bukan null.
  • ·exprn mengembalikan ekspresi exprn jika ekspresiekspresi sebelumnya null.
Semua ekspresi harus bertipe data sama.
  • Ekspresi-Ekspresi Kondisional
Dua metode yang digunakan untuk implementasi pemrosesan kondisi (logika IF_THEN_ELSE)
dalam pernyataan SQL adalah ekspresi CASE dan fungsi DECODE.
  • Ekspresi CASE
Ekspresi CASE mengijinkan Anda untuk menggunakan logika IFTHENELSE dalam pernyataan
SQL tanpa meminta prosedurprosedur. Dalam ekspresi CASE sederhana, server Oracle mencari pasangan WHEN . . . THEN pertama dimana expr adalah sama dengan comparison_expr dan mengembalikan return_expr.
  • Fungsi DECODE
Fungsi DECODE mengkodekan suatu ekspresi dalam suatu cara yang sama dengan logika IFTHENELSE
yang digunakan dalam beragam bahasa. Fungsi DECODE mengkodekan expression setelah membandingkannya dengan setiap nilai search. Jika ekspresi sama dengan search, result akan dikembalikan. Jika nilai default

FUNGSI

Posted by : Sutriswiliam 0 Comments

SQL adalah singkatan dari Structured Query Language. Sedangan pengertian SQL adalah suatu bahasa (language) yang digunakan untuk mengakses data di dalam sebuah database relasional. SQL sering juga disebut dengan istilah query, dan bahasa SQL secara praktiknya digunakan sebagai bahasa standar untuk manajemen database relasional. Hingga saat ini hampir seluruh server database atau software database mengenal dan mengerti bahasa SQL.

PENGERTIAN

Posted by : Sutriswiliam 0 Comments

- Copyright © Belajar SQL - Blogger Templates - Powered by Blogger - Designed by Johanes Djogan -