PENGANTAR DATABASE - .:elista:.

Download Report

Transcript PENGANTAR DATABASE - .:elista:.

DASAR SQL
(STRUCTURED QUERY LANGUAGE)
BASIS DATA
Erna Kumalasari Nurnawati
SQL
• SQL: Structured Query Language
• Pronounced “S-Q-L” or “sequel”
• Merupakan standar query language
yang didukung oleh kebanyakan
DBMS komersial
7/17/2015
erna kumalasari nurnawati
2
Sejarah SQL
Sejarah
• IBM System R
• ANSI SQL89  ANSI SQL92
(SQL2)  SQL3 (still under
construction after years!)
7/17/2015
erna kumalasari nurnawati
3
SQL
• Data Definition Language (DDL)
• Data Manipulation Language (DML)
7/17/2015
erna kumalasari nurnawati
4
DDL (Data Definition
Language)
• DDL adalah perintah yang digunakan
untuk mendefinisikan objek pada
database seperti table, field dll.
7/17/2015
erna kumalasari nurnawati
5
DDL (Data Definition
Language)
Perintah dari kelompok DDL:
• Membuat (Create) Database
• Menggunakan Database
• Menghapus Database
• Membuat Tabel
• Melihat Struktur Tabel
• Menghapus Tabel
• Modifikasi Struktur Tabel
7/17/2015
erna kumalasari nurnawati
6
DDL.1: Membuat Database
• Untuk membuat database baru kita
dapat menuliskan perintah
create database
nama_database;
• misalkan kita akan membuat database
untuk menyimpan data katalog buku
suatu perpustakaan
create database
7/17/2015
erna kumalasari nurnawati
7
perpustakaan;
DDL.2: Menggunakan
Database
• Untuk memakai database yang telah
kita buat, kita dapat menggunakan
perintah
use nama_database;
• Misalnya:
use perpustakaan;
7/17/2015
erna kumalasari nurnawati
8
DDL.3: Menghapus
Database
drop database nama_database
• contoh:
drop database perpustakaan;
7/17/2015
erna kumalasari nurnawati
9
DDL.4: Membuat tabel
• Sintaks:
• CREATE TABLE <nama_tabel> (
<nama_kolom> <tipe_data>(<panjang_data>)
[UNIQUE] [NOT NUL] [PRIMARY KEY]
[DEFAULT<nilai_default>]
[referential_constraint_defenition>]
[CHECK<constraint_defenition>],
<nama_kolom> <tipe_data>(<panjang_data>)
[UNIQUE] [NOT NULL] [PRIMARY KEY]
[DEFAULT<nilai>]
[referential_constraint_defenition>]
[CHECK<constraint_defenition>],
7/17/2015
erna kumalasari nurnawati
. . . );
10
• Unique; Pada kolom tersebut tidak boleh ada data
yang sama.
• Not Null; data pada kolom tersebut tidak boleh
bernilai null (kosong)
• Unique dan Not Null; kolom tersebut dapat
dijadikan primary key.
• Default; nilai default yang secara otomatis akan
mengisi kolom dengan data default tersebut setiap
operasi insert dilakukan.
• Referential_Constraint_Definition; Bila kolom
tersebut merupakan foreign key terhadap tabel lain.
Dengan sintaks:
– FOREIGN
7/17/2015
KEYerna
<nama_kolom>
REFERENCES
kumalasari nurnawati
<nama_tabel>
11
Contoh: Database Perpustakaan
Data Dictionary:
• Tabel Data_Buku
Nama Field
id_buku
judul
pengarang
penerbit
Jumlah
Tipe Data
Ukuran
Karakter
Karakter
Karakter
Karakter
12
255
255
255
Integer
-
Ket
Primary Key
SQL Create Tabel Data_Buku
7/17/2015
erna kumalasari nurnawati
12
Contoh: Database Perpustakaan
Data Dictionary:
• Tabel Mahasiswa
Nama Field
NIM
Nama
Alamat
Telepon
Tipe Data
Karakter
Karakter
Karakter
Karakter
Email
Karakter
Ukuran
Ket
12
Primary Key
100
255
30
100
SQL Create Tabel Mahasiswa
7/17/2015
erna kumalasari nurnawati
13
Contoh: Database Perpustakaan
Data Dictionary:
• Tabel Detail_Pinjam
Nama Field
Tipe Data
Ukuran
Integer, Auto
11
id_buku
NIM
Tgl_Pinjam
Karakter
Karakter
Tanggal
12
12
-
Tgl_Kembali
Tanggal
-
Id_auto
Ket
Composite PK,
Auto
Composite PK
Composite PK
SQL Create Tabel Detail_Pinjam
7/17/2015
erna kumalasari nurnawati
14
Contoh Create Table 1
create table data_buku
(
id_buku char(12) primary
key,
judul char(255) not null,
pengarang char(255) not
null,
penerbit char(255) not
null,
7/17/2015
erna kumalasari nurnawati
15
Contoh Create Table 2
create table Mahasiswa
(
NIM char(12) primary key,
nama char(100) not null,
alamat char(255) not null,
telepon char (30),
email char(100)
);
7/17/2015
erna kumalasari nurnawati
16
Contoh Create Table 3
create table detail_pinjam
(
id_auto int
auto_increment,
NIM char(12) not null,
id_buku char(12) not
null,
tanggal_pinjam date not
null,
tanggal_kembali date not
null,
7/17/2015
erna kumalasari nurnawati
17
Ingat!
• Skema data hanya menyatakan tipe
data secara umum
• Implementasi SQL pada DBMS harus
memperhatikan tipe data yang ada
pada DBMS tersebut
– Misalnya: Tipe data Karakter, ada yang
menggunakan Char, Varchar, String, dll
7/17/2015
erna kumalasari nurnawati
18
Tipe Data dalam MySQL
7/17/2015
erna kumalasari nurnawati
19
DDL.5: MELIHAT
STRUKTUR TABLE
• Untuk melihat struktur table yang
telah kita buat, kita dapat
menggunakan perintah :
desc nama_table;
• contoh :
desc detail_pinjam;
7/17/2015
erna kumalasari nurnawati
20
7/17/2015
erna kumalasari nurnawati
21
DDL.6: Menghapus Table
• perintah menghapus table
drop table nama_table;
• contoh :
drop table detail_pinjam;
7/17/2015
erna kumalasari nurnawati
22
DDL.7: Modifikasi Tabel
• ALTER TABLE <nama_tabel>
[ ADD (<nama_kolom>
<tipe_data>(<panjang_data>), . . . ); ]
[ MODIFY
(<nama_kolom><tipe_data>(<panjan
g_data>), . . .); ]
7/17/2015
erna kumalasari nurnawati
23
• Keterangan
Add; Penambahan kolom baru.
Modify; Mengubah kolom yang sudah ada
sebelumnya.
• Contoh :
ALTER TABLE Mahasiswa
ADD (Jenis_Kelamin CHAR(10));
7/17/2015
erna kumalasari nurnawati
24
DATA MANIPULATION
LANGUAGE
•
•
•
DML digunakan untuk
memanipulasi data yang terdapat
pada database
Perintah-perintah pada DML
mencangkup:
Manipulasi:
• INSERT: mengisi (1 record) data ke tabel
• DELETE: menghapus isi tabel
• UPDATE: updating data
•
Query:
7/17/2015
erna kumalasari nurnawati
25
DML.1: INSERT
• Insert digunakan untuk menambahkan
atau memasukan data pada suatu
table.
• Penggunaan perintah insert adalah
sebagai berikut:
insert into nama_table values
(isi_data);
atau
insert into nama_table
7/17/2015 (nama_field)
erna kumalasarivalues
nurnawati
26
• misalkan kita ingin menambahkan
data pada table data_buku maka
perintah insert digunakan sebagai
berikut :
• insert into data_buku
values (‘A-01’,’PHPMySQL’,’Saya’,1);
7/17/2015
erna kumalasari nurnawati
27
7/17/2015
erna kumalasari nurnawati
28
DML.2 DELETE
• Delete digunakan untuk menghapus data
pada table, perintahnya dalah sebagai
berikut:
delete from nama_table;
• Misalnya:
delete from data_buku
Where Id_buku=’A-01’
• jika kita menggunakan perintah tersebut,
maka semua data pada table akan
terhapus secara permanen.
7/17/2015
erna kumalasari nurnawati
29
DML.3: UPDATE
• Untuk mengupdate data yang telah
tersedia, kita dapat menggunakan
perintah update dengan bentuk:
update nama_table set
nama_field = isi data baru
[where=kondisi];
7/17/2015
erna kumalasari nurnawati
30
• Misal kita ingin mengupdate data
pada table data_buku dengan
id_buku=’A-01’ maka perintahnya
adalah sebagai berikut:
update data_buku set
judul =’MySQL’,
pengarang=’kamu’,
jumlah=1 where id_buku=’A01’;
7/17/2015
erna kumalasari nurnawati
31
7/17/2015
erna kumalasari nurnawati
32
DML.4 SELECT
• Select digunakan untuk menampilkan
data pada table dalam database kita.
Penggunaan perintah select adalah
sebagai berikut:
select nama_field from
nama_table;
atau
select * from nama_table;
• penggunaan karakter *
7/17/2015
erna kumalasari
nurnawati
mereferensikan
semua
nama field
33
• Misalkan kita ingin menampilkan
semua data pada field dalam table
data_buku, maka perintahnya adalah:
select * from data_buku;
• Akan tetapi apabila kita ingin
mendapatkan hanya data field judul
pada table data_buku, maka perintah
select yang akan digunakan adalah:
select judul from data_buku;
7/17/2015
erna kumalasari nurnawati
34
7/17/2015
erna kumalasari nurnawati
35
Basic SELECT
7/17/2015
erna kumalasari nurnawati
36
WHERE
• where digunakan untuk memberikan
kondisi terhadap perintah SQL.
• Penggunaan where dapat digunakan
pada perintah select, delete, update.
• Misalkan data pada table data_buku
sbb: :
7/17/2015
erna kumalasari nurnawati
37
• Apabila kita ingin menampilkan
hanya data id_buku = A-03 maka
perintahnya :
select * from data_buku
where id_buku =’A-03’;
7/17/2015
erna kumalasari nurnawati
38
Summary
Data Definition Language (DDL):
• Create Database, Drop Database,
Use Database
• Create Table, Drop Table, Alter
Table
Data Manipulation Language (DML)
• Query: SELECT
• Manipulasi: INSERT, DELETE,
7/17/2015
UPDATE erna kumalasari nurnawati
39
End for Now
Terima Kasih
7/17/2015
erna kumalasari nurnawati
40