Anda di halaman 1dari 29

Sistem Basis Data

Pertemuan 10 : SQL

UPN Veteran Yogyakarta


Pertemuan10 : SQL
Deskripsi

▪ SQL Data Definition and Data Types


▪ Specifying Constraints in SQL
▪ Basic Retrieval Queries in SQL
▪ INSERT, DELETE, and UPDATE Statements
in SQL

Informatika – UPN Veteran Yogyakarta


SQL :Structure Query Language
Structure Query Language (SQL)
 SQL Berfungsi sebagai bahasa query interaktif sekaligus
juga sebagai bahasa pemrograman basis data.
 SQL meliputi:
• Pendefinisi data (DDL)
• Memanipulasi data (DML)
 SQL relatif mudah untuk dipelajari
 SQL standar bentuk penulisannya mengikuti aturan ANSI,
pertama kali dikembangkan oleh IBM, San Jose Research
Laboratory
Tipe Data
Tipe Data
 Pemilihan tipe data merupakan suatu hal yang cukup
penting dalam mengelola data. Setiap atribut yang
didenisikan harus memiliki tipe data yang sesuai dengan
kebutuhan data diolah. Hal tersebut tidak terlepas dari
masalah efisiensi ruang penyimpanan data.
 Tiap bahasa pemrograman mempunyai kumpulan tipe data
built-in sehingga memungkinkan mendeklarasikan variabel
dan menyediakan kumpulan operasi untuk memanipulasi
variable tersebut.
Tipe Data

No Tipe Data Keterangan Kapasitas


1 CHAR(M) Fix L : 1 – 255 char M bytes, 1 <= M <= 255

2 VARCHAR(M) Var L: 1 – 255 char L+1 bytes, dimana L <= M


dan 1 <= M <= 255
3 TINYTEXT L max : 255 char L+1 bytes, dimana L < 2^8

4 TEXT, BLOB L max : 65535 char L+2 bytes, dimana L < 2^16

5 MEDIUMTEXT L max : 16777215 char L+3 bytes, dimana L < 2^24

6 LONGTEXT L max : 4294967295 char L+4 bytes, dimana L < 2^32

Tipe data teks pada MySQL


Tipe Data
No Tipe Data Keterangan Kap.
1 TINYINT() (-128 s/d 127) / (0 s/d 255) 1 byte
2 SMALLINT() (-32768 s/d 32767) / (0 s/d 65535) 2 byte
(-8388608 s/d 8388607) /
3 MEDIUMINT() 3 byte
(0 s/d 16777215)
(-2147483648 s/d 2147483647) /
4 INT() 4 byte
(0 s/d 4294967295)

5 BIGINT() 0 sd 18446744073709551615 8 byte

Tipe data teks pada MySQL


Tipe Data
No Tipe Data Keterangan Kap.
-3.402823466E+38 s/d -1.175494351E-38, 0
1 FLOAT 4 byte
dan 1.175494351E-38 s/d 3.402823466E+38
-1.7976931348623157E+308 s/d
-2.2250738585072014E-308, 0 dan
2 DOUBLE 8 byte
2.2250738585072014E-308 s/d
1.7976931348623157E+308.
3 REAL Sama dengan DOUBLE 8 byte
M byte
4 DECIMAL(M,D) Sama dengan DOUBLE, M=lebar D=desimal
(D+2, if M < D)
M byte
5 NUMERIC(M,D) Sama dengan DECIMAL (D+2, if M < D)

Tipe data teks pada MySQL


Komponen SQL
Komponen SQL
• Digunakan untuk mendefinisikan
Data Definition data dengan menggunakan perintah
Language (DDL) : create, drop, alter.

Data • Digunakan untuk memanipulasi data


Manipulation dengan menggunakan perintah :
Language (DML) select, insert, update, delete.

Data Control • Digunakan untuk mengontrol hak


para pemakai data dengan perintah :
Language (DCL) grant, revoke
SQL : Data Definition Language (DDL)
• DDL berkaitan dengan perintah-perintah untuk mendenifisi- kan tabel-tabel yang terdapat
dalam suatu basis data.

Create Alter Drop


Database Tabel Database

Tabel Tabel

Index Index

View View
SQL : Data Definition Language
Data Definition Language (DDL)
• DDL berkaitan dengan perintah-perintah untuk mendenifisi-
kan tabel-tabel yang terdapat dalam suatu basis data.
• Membuat Struktur Basis Data
CREATE SCHEMA AUTORIZATION <creator>;
CREATE DATABASE <nama database>;
• Contoh:
CREATE SCHEMA AUTORIZATION RONALD;
CREATE DATABASE PERWALIAN;
SQL : Qonstraint
• Batasan Integritas SQL
• Integritas Entitas
• PRIMARY KEY (Kunci Utama)
• NOT NULL dan UNIQUE
• Integritas Referensial
• FOREIGN KEY
• ON DELETE
• ON UPDATE
SQL : Qonstraint
• PRIMARY KEY
• Sebuah primary key (kunci primer) digunakan untuk menge-nali secara
unik setiap baris dalam sebuah tabel. Sebuah primary key dapat terdiri
dari satu atau beberapa field dalam sebuah tabel. Jika yang digunakan
sebagai primary key adalah gabungan dari beberapa field maka disebut
dengan composite key (kunci gabungan).
• NOT NULL
• Sebagai default, sebuah kolom dapat bernilai NULL. Bila diinginkan
kolom tersebut harus terisi data (tidak boleh NULL) maka digunakan
NOT NULL ketika mendefinisikan kolom tersebut.
SQL : Qonstraint
• UNIQUE
• UNIQUE digunakan untuk memastikan bahwa setiap nilai dalam sebuah
kolom pasti berbeda.
• CHECK
• CHECK digunakan untuk memastikan bahwa nilai dalam sebuah kolom
telah sesuai dengan kondisi yang diinginkan.
• FOREIGN KEY
• Sebuah foreign key (kunci tamu) adalah sebuah field atau beberapa
field yang sama dengan primary key pada tabel lainnya, yang berfungsi
sebagai penghubung. Tujuan dibuat-nya foreign key adalah untuk
meyakinkan integritas referensial (referential integrity) dari sebuah data.
SQL : Qonstraint
• UNIQUE
• UNIQUE digunakan untuk memastikan bahwa setiap nilai dalam sebuah
kolom pasti berbeda.
• CHECK
• CHECK digunakan untuk memastikan bahwa nilai dalam sebuah kolom
telah sesuai dengan kondisi yang diinginkan.
• FOREIGN KEY
• Sebuah foreign key (kunci tamu) adalah sebuah field atau beberapa
field yang sama dengan primary key pada tabel lainnya, yang berfungsi
sebagai penghubung. Tujuan dibuat-nya foreign key adalah untuk
meyakinkan integritas referensial (referential integrity) dari sebuah data.
DDL : CREATE TABLE
• Membuat Struktur Tabel
CREATE TABLE <nama tabel>(
<nama atribut-1 tipe data atribut-1,
nama atribut-2 tipe data atribut-2,
nama atribut-n tipe data atribut-n,
primary key, foreign key>);

Contoh 1:
CREATE TABLE wali(
id_wali tinyint NOT NULL UNIQUE,
nip char(9) NOT NULL,
nama varchar(24) NOT NULL,
fungsional varchar(15),
PRIMARY KEY (id_wali));
DDL
Contoh 2:
CREATE TABLE Mahasiswa(
nomhs char(9) NOT NULL UNIQUE,
nama varchar(22) NOT NULL,
sks tinyint NOT NULL,
ipk decimal(4,2) NOT NULL,
id_wali tinyint NOT NULL,
PRIMARY KEY (nomhs),
FOREIGN KEY (id_wali) REFERENCES Wali(id_wali)
ON DELETE RESTRICT
ON UPDATE CASCADE);
DDL
Contoh 2:
CREATE TABLE Mahasiswa(
nomhs char(9) NOT NULL UNIQUE,
nama varchar(22) NOT NULL,
sks tinyint NOT NULL,
ipk decimal(4,2) NOT NULL,
id_wali tinyint NOT NULL,
PRIMARY KEY (nomhs),
FOREIGN KEY (id_wali) REFERENCES Wali(id_wali)
ON DELETE RESTRICT
ON UPDATE CASCADE);
DDL: ALTER
• Mengubah Struktur Tabel
ALTER TABLE <nama tabel>
MODIFY (<nama atribut> <karakteristik atribut baru>);
Contoh :
ALTER TABLE Wali modify(id_wali INT);

• Menambah Struktur Tabel


ALTER TABLE <nama tabel>
ADD (<nama atribut> <karakteristik atribut>);
Contoh:
ALTER TABLE Wali ADD(alamat varchar(25));
DDL: ALTER
• Mendefinisikan Primary dan Foreign Key
ALTER TABLE <nama tabel>
ADD PRIMARY KEY (nama atribut)
Contoh:
ALTER TABLE Dosen
ADD PRIMARY KEY (kd_dosen);
ALTER TABLE <nama tabel>
ADD FOREIGN KEY (nama atribut)
Contoh:
ALTER TABLE Kelas
ADD FOREIGN KEY (kd_dosen);
DDL: ALTER
• Mendefinisikan Primary dan Foreign Key
ALTER TABLE <nama tabel>
ADD PRIMARY KEY (nama atribut)
Contoh:
ALTER TABLE Dosen
ADD PRIMARY KEY (kd_dosen);
ALTER TABLE <nama tabel>
ADD FOREIGN KEY (nama atribut)
Contoh:
ALTER TABLE Kelas
ADD FOREIGN KEY (kd_dosen);
DDL: CREATE INDEX
• Dengan indeks memungkinkan suatu tabel untuk :
• diakses dengan urutan tertentu tanpa harus merubah urutan fisik dari
datanya
• diakses secara cepat melalui indeks yang dibuat berdasar nilai field
tertentu.

• Membuat Index
CREATE INDEX <nama index>
ON <nama tabel> (nama kolom);
Contoh:
CREATE INDEX idx_wali ON Wali(id_wali);
DDL: TRUNCATE
• Menghapus Semua Isi Tabel
TRUNCATE TABLE <nama tabel>
Contoh:
TRUNCATE TABLE Wali;
TRUNCATE TABLE Mahasiswa;
DDL: DROP TABLE
• Menghapus Tabel
DROP TABLE <nama tabel>
Contoh:
DROP TABLE Wali;
DROP TABLE Mahasiswa;
DDL: CREATE VIEW
• Pembuatan View
Sintaks :
CREATE VIEW nama_view <(nama_kolom1, …, …)>
AS SELECT statement <WITH CHECK OPTION>;

Contoh:
CREATE VIEW MHSView
AS SELECT NIM,NAMA,JUR FROM Mahasiswa;
DDL: CREATE VIEW
• Pembuatan View
Sintaks :
CREATE VIEW nama_view <(nama_kolom1, …, …)>
AS SELECT statement <WITH CHECK OPTION>;

Contoh:
CREATE VIEW MHSView
AS SELECT NIM,NAMA,JUR FROM Mahasiswa;
DML: Data Manipulation Language

Insert Delete

Update Select
DML: Data Manipulation Language
• Input Data
INSERT INTO <nama tabel> VALUES(harga atribut1,
harga atribut2, . . . . dan seterusnya);
Contoh:
INSERT INTO Wali VALUES (5, ‘095065123’,
’ Ir. Satriyo Madya, MSc.’, ’Lektor Kepala’);
Contoh:
INSERT INTO Mahasiswa VALUES (‘111900555’,
’ Siswanto’, 18, 2.48, 5);
Ringkasan:

• SQL (Structured Query Language) memiliki fungsi


sebagai bahasa query interaktif sekaligus juga sebagai
bahasa pemrograman basis data. Secara umum perintah-
perintah di dalam SQL dikelompokkan menjadi DDL, DML,
dan DCL.
• DDL berfungsi untuk mendefinisikan objek dalam suatu
basis data terdiri dari perintah create, alter dan drop.

Anda mungkin juga menyukai