SQL (Structured Query Language ) Oleh : SYAIFUL HUDA, S.Kom
Kontrak Kuliah Identitas Mata Kuliah : Mata Kuliah : SQL Kode : MKP601 (2 Sks) Semester : 6 Prasyarat : Minimal 10 mahasiswa
Deskripsi Mata Kuliah Dasar-dasar SQL ( database, pembentukan table, manipulasi data dan retrieval) SQL lanjut ( joins aggregation, function, sub-queries, views, indexes) Integritas referensial Transaksi data, object locking dan isu sinkronisasi Administrasi DBMS, keamanan
Tugas-tugas Tugas mandiri : tugas ini wajib dikerjakan oleh mahasiswa dan bersifat individu yang berkaitan dengan materi perkuliahan Tugas Kelompok : tugas ini wajib dikerjakan oleh mahasiswa dan bersifat kelompok yang beranggotan dua orang atau lebih.
Sistem Penilaian KEHADIRAN ( % ) TUGAS UTS UAS 10 35 45
Sistem Skor RING NILAI NILAI HURUF BOBOT 90 - 100 80 - 89 70 - 79 90 - 100 80 - 89 70 - 79 60 - 69 50 - 59 40 - 49 0 - 39 A AB B BC C D E 4 3.5 3 2.5 2 1
Jadwal Perkuliahan PERTEMUAN MATERI 1 - 7 8 9 - 15 16 Materi 1 - 7 9 - 15 16 Materi 1 - 7 Ujian Tengah Semester Materi 9 - 15 Ujian Akhir Semester
Tata Tertib Mahasiswa harus dapat menghargai dirinya sendiri dan orang lain dengan cara : Berpakaian rapi, tidak memakai kaos oblong dan sandal selama perkuliahan Hadir dalam perkuliahan sekurang-kurangnya 80% dari tatap muka/ jadwal perkuliahan; Masuk kelas on time, terlambat masuk kelas dengan kesadaran sendiri diharapkan tidak menggangu perkulaiahan di kelas Mengumpulkan tugas harus tepat waktu Perkuliahan kosong, dosen akan memberikan informasi sebelumnya kepada Ketua Kelas sebagai penanggung jawab kelas.
SQL (Structured Query Language ) SQL adalah kependekan dari Structured Query Language yaitu bahasa yang dirancang khusus untuk komunikasi dengan database. SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa SQL merupakan bahasa standar yang digunakan dalam manajemen basis data relasional.
SEJARAH SQL ... Seorang peneliti dari IBM bernama Edgar Frank "Ted" Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. EF Codd membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language). 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.
RDBMS YANG MENGGUNAKAN SQL ... http://www-01.ibm.com/software/data/db2/ http://www.microsoft.com/sqlserver/en/ us/default.aspx http://www.oracle.com http://www.sybase.com
RDBMS yang menggunakan SQL ... http://www.postgresql.org http://www.firebirdsql.org http://www.teradata.com http://www.mysql.com
Kemudahan Mempelajari SQL … SQL bahasa non prosedur: Dengan kata lain, SQL tidak memerlukan anda untuk menetapkan metode akses data. Seperti kebanyakan bahasa modern, SQL sangat utama format bebas, Struktur Perintah terdiri dari kata-kata bahasa Inggris baku seperti CREATE TABLE, INSERT, SELECT. SQL dapat digunakan oleh para pemakai yang mencakup Database Administrators (DBA), personil manajemen pengembang aplikasi dan banyak tipe lain pemakai akhir.
Apa itu DDL & DML ? Perintah SQL dibagi dalam 2 kategori, yaitu : 1. DDL - Data Definition Language merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database. 2. DML - Data Manipulation Language merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
SQL (Writing SQL Commands) Statement SQL terdiri dari reserved word & user-defined word Bersifat case insensitive Menggunakan bentuk notasi Backus Naur Form ( BNF ) : - huruf besar digunakan untuk menghadirkan kata- kata dipesan dan harus mengeja persisnya seperti yang ditunjukkan - huruf kecil digunakan untuk menghadirkan kata-kata yang didefinisikan pemakai (user-defined); - bar vertikal bar ( ) indikasi suatu pilihan (choice) antar alternatif; untuk latihan, a b c; - kurung kurawal (kait keriting) menandai adanya suatu elemen yang diperlukan; (required element) sebagai contoh, { a }; - kurung besar menandai adanya suatu elemen opsional (optional element); sebagai contoh, [ a ] ; - elipsis (penghilangan kata)(...) digunakan untuk menandai adanya pengulangan opsional (optional repletion) dari suatu item nol atau lebih waktu.
DDL - Data Definition Language 1. CREATE CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah: CREATE DATABASE nama_basis_data membuat sebuah basis data baru. CREATE TABLE nama_tabel CREATE TABLE membuat tabel baru pada basis data yang sedang aktif.
Contoh Sintaks SQL Membuat Database CREATE DATABASE nama_basis_data nama_basis_data adalah nama database yang akan dibuat Contoh : Buat database dengan nama latihan Sintaks : CREATE DATABASE latihan;
Contoh Sintaks DDL - SQL Membuat Tabel 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]) nama_field adalah nama kolom (field) yang akan dibuat 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 misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
Contoh Sintaks DDL - SQL Membuat Tabel CREATE TABLE mahasiswa (npm CHAR(10) CONSTRAINT PRIMARY KEY,nama VARCHAR(20) NOT NULL,tanggal_lahir DATETIME);
DDL - Data Definition Language 2. DROP DROP digunakan untuk menghapus basis data maupun objek-objek basis data Contoh : Hapus database dengan nama latihan Sintaks : DROP DATABASE latihan; Contoh : Hapus tabel dengan nama mahasiswa Sintaks : DROP TABLE mahasiswa;
DDL - Data Definition Language 3. ALTER ALTER digunakan untuk merubah basis data maupun objek-objek basis data Contoh : 1). Tambahkan kolom alamat dengan panjang 1 char pada tabel mahasiswa ALTER TABLE mahasiswa ADD(alamat char(20)); 2). Ubah panjang kolom alamat menjadi 30 char ALTER TABLE mahasiswa MODIFY(alamat char(30)); 3). Hapus kolom alamat dari tabel mahasiswa ALTER TABLE mahasiswa DROP(alamat char(30));
DML - Data Manipulation Language Perintah umum yang dilakukan adalah : SELECT untuk menampilkan data INSERT untuk menambahkan data baru UPDATE untuk mengubah data yang sudah ada DELETE untuk menghapus data
Contoh Sintaks DML - SQL SELECT adalah perintah yang paling sering digunakan pada SQL, untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Sintaks : SELECT [DISTINCT] nama_kolom FROM nama_tabel [ WHERE kondisi ] [ GROUP BY nama_kolom ] [ HAVING kondisi ] [ ORDER BY nama_kolom [ASC/DESC]] FROM - Menspesifikasikan tabel yang digunakan. WHERE - Baris filter (kondisi yang harus dipenuhi). GROUP BY - Bentuk pengelompokkan baris dengan nilai kolom yang sama. HAVING - Menyeleksi subjek grup untuk beberapa kondisi. SELECT - Menspesifikasikan kolom mana yang akan ditampilkan. ORDER BY - Menspesifikasikan order pada output.
Contoh Sintaks DML – SQL Perintah Select Tampilkan semua data mahasiswa Sintaks : SELECT npm,nama,alamat FROM mahasiswa; atau Sintaks : SELECT * FROM mahasiswa; Contoh Hasil : npm nama alamat 199001001 ENDRA SUTANTO MADIUN 199201002 DEWI WINARSIH SURABAYA 199105003 RUDI BASUNI SEMARANG
Contoh Sintaks DML – SQL Perintah Insert INSERT INTO TableName [ (columnList) ] VALUES (dataValueList); Contoh : Masukkan baris baru ke dalam tabel mahasiswa untuk seluruh kolom Sintaks : INSERT INTO mahasiswa VALUES (‘1994011002’, ‘ALAN KUSUMA’, ‘PONOROGO’); atau INSERT INTO mahasiswa (npm, nama, alamat) VALUES (‘1994011002’,‘ALAN KUSUMA’, ‘PONOROG’);
Contoh Sintaks DML – SQL Perintah Update UPDATE TableName SET columnName1 = dataValue1 [, columnName2 = dataValue2...] [WHERE searchCondition] Contoh 1 : Update seluruh alamat pada tabel mahasiswa menjadi MADIUN Sintaks : UPDATE mahasiswa SET alamat = ‘madiun’ Contoh 2 : Ubah alamat (npm=‘199105003’) menjadi MADIUN UPDATE mahasiswa SET alamat = ‘MADIUN’ WHERE npm = ‘199105003’;
Contoh Sintaks DML – SQL Perintah Delete Syntax : DELETE FROM TableName [WHERE searchCondition]; Contoh : Hapus data mahasiswa dengan npm 199105001 Sintaks : DELETE FROM mahasiswa WHERE npm= ‘199105001’;
MATERI SELANJUTNYA >>> SELESAI .... MATERI SELANJUTNYA >>> SQL di RDBMS ( MYSQL )