Download SQL

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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
(%)
10
TUGAS
(%)
10
UTS
(%)
35
UAS
(%)
45
Sistem Skor
RING NILAI
90 - 100
80 - 89
70 - 79
60 - 69
50 - 59
40 - 49
0 - 39
NILAI HURUF
A
AB
B
BC
C
D
E
BOBOT
4
3.5
3
2.5
2
1
0
Jadwal Perkuliahan
PERTEMUAN
1-7
8
9 - 15
16
MATERI
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
• Contoh
• Sintaks
• nama_basis_data adalah nama
database yang akan dibuat
: Buat database dengan nama latihan
: 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
Contoh:
• 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
Sintaks
• Contoh
Sintaks
:
:
:
:
Hapus database dengan nama latihan
DROP DATABASE latihan;
Hapus tabel dengan nama mahasiswa
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
199001001
199201002
199105003
nama
ENDRA SUTANTO
DEWI WINARSIH
RUDI BASUNI
alamat
MADIUN
SURABAYA
SEMARANG
Contoh Sintaks DML – SQL
Perintah Insert
Sintaks:
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
Sintaks:
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
• Sintaks :
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’;
SELESAI ....
MATERI SELANJUTNYA >>>
SQL di RDBMS ( MYSQL )