BASIS DATA
SQL, DDL dan DML
I Made Suartana, S.Kom, M.Kom.
MATERI
 Intro Structure Query Language
 Data Definition Language
 Data Manipulation Language
SQL
3
STRUCTURED QUERY LANGUAGE (SQL)
 Structured Query Language (SQL) adalah bahasa database yang
dapat melakukan operasi pada database yang ada dan
digunakan untuk membuat database.
 SQL menggunakan perintah tertentu seperti CREATE, DROP,
INSERT, dll. untuk menjalankan tugas yang diperlukan.
 Perintah SQL seperti instruksi pada tabel.
 digunakan untuk berinteraksi dengan database dengan
beberapa operasi.
 digunakan untuk melakukan tugas, fungsi, dan kueri data
tertentu.
 SQL dapat melakukan berbagai tugas seperti membuat tabel,
menambahkan data ke tabel, menghapus tabel, memodifikasi
tabel, mengatur izin untuk pengguna.
https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/
SEJARAH
 Bahasa Sekuel IBM dikembangkan sebagai bagian
dari proyek Sistem R di Laboratorium Penelitian
IBM San Jose
 Mengganti Nama menjadi (SQL)
 SQL standar ANSI dan ISO:
 SQL-86
 SQL-89
 SQL-92
 SQL:1999 (nama bahasa menjadi sesuai Y2K!)
 SQL:2003
KATEGORI SQL
 DDL – Data Definition Language
 DQL – Data Query Language
 DML – Data Manipulation Language
 DCL – Data Control Language
 TCL – Transaction Control Language
LANJUTAN…
https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/
DDL – DATA DEFINITION LANGUAGE
 DDL atau Data Definition Language perintah
SQL yang dapat digunakan untuk
mendefinisikan skema database.
 Berkaitan dengan deskripsi skema database
dan digunakan untuk membuat dan
memodifikasi struktur objek database dalam
database.
 DDL adalah sekumpulan perintah SQL yang
digunakan untuk membuat, mengubah, dan
menghapus struktur database tetapi bukan
data.
DAFTAR PERINTAH DDL:
 CREATE : Perintah ini digunakan untuk membuat database
atau objeknya (seperti tabel, indeks, fungsi, tampilan,
prosedur penyimpanan, dan pemicu).
 DROP : Perintah ini digunakan untuk menghapus objek dari
database.
 ALTER : Ini digunakan untuk mengubah struktur database.
 TRUNCATE : Ini digunakan untuk menghapus semua record
dari tabel, termasuk semua ruang yang dialokasikan untuk
record tersebut dihapus.
 COMMENT : Ini digunakan untuk menambahkan komentar
ke kamus data.
 RENAME : Ini digunakan untuk mengganti nama objek yang
ada di database.
DQL – DATA QUERY LANGUAGE
 DQL digunakan untuk melakukan kueri pada data dalam objek
skema.
 Tujuan dari Perintah DQL adalah untuk mendapatkan beberapa
relasi skema berdasarkan kueri
 DQL adalah komponen pernyataan SQL yang memungkinkan
pengambilan data dari database dan menerapkan perintah pada
database.
 Contoh : pernyataan SELECT. Perintah ini memungkinkan
mengeluarkan data dari database dan melakukan operasi
 Ketika SELECT dijalankan terhadap sebuah tabel, hasilnya dikompilasi
ke dalam tabel sementara selanjutnya, yang ditampilkan atau
mungkin diterima oleh program, yaitu front-end.
Daftar Perintah DQL:
SELECT : Digunakan untuk mengambil data dari database.
DML – DATA MANIPULATION LANGUAGE
 Perintah SQL yang menangani manipulasi data
yang ada dalam database
 DML adalah komponen pernyataan SQL yang
mengontrol akses ke data dan database.
 Pada dasarnya pernyataan DCL dikelompokkan
dengan pernyataan DML.
DAFTAR PERINTAH DML:
 INSERT : Digunakan untuk memasukkan data ke
dalam tabel.
 UPDATE : Digunakan untuk memperbarui data
yang ada dalam tabel.
 DELETE : Digunakan untuk menghapus record dari
tabel database.
 LOCK: Konkurensi kontrol tabel.
 CALL: Memanggil subprogram PL/SQL atau JAVA.
 EXPLAIN PLAN: Ini menjelaskan jalur akses ke
data.
DCL – DATA CONTROL LANGUAGE
 DCL mencakup perintah seperti GRANT dan
REVOKE yang terutama berhubungan
dengan hak, izin, dan kontrol lain dari sistem
database.
 Daftar perintah DCL:
 GRANT: Perintah ini memberi pengguna hak
akses ke database.
 REVOKE: Perintah ini mencabut hak akses
pengguna yang diberikan dengan menggunakan
perintah GRANT.
TCL – TRANSACTION CONTROL LANGUAGE
 Transaksi mengelompokkan serangkaian tugas
ke dalam satu unit eksekusi.
 Setiap transaksi dimulai dengan tugas tertentu
dan berakhir ketika semua tugas dalam grup
berhasil diselesaikan.
 Jika salah satu tugas gagal, transaksi gagal.
Oleh karena itu, suatu transaksi hanya memiliki
dua hasil: sukses atau gagal.
 Perintah TCL berikut digunakan untuk
mengontrol eksekusi transaksi:
 COMMIT : Melakukan Transaksi.
 ROLLBACK : Mengembalikan transaksi jika
terjadi kesalahan.
 SAVEPOINT : Menetapkan titik penyimpanan
dalam suatu transaksi.
DDL
16
BAHASA DEFINISI DATA
 Data Definition Language (DDL)
memungkinkan spesifikasi informasi tentang
relasi, termasuk:
 Skema untuk setiap relasi.
 Domain nilai yang terkait dengan setiap atribut.
 Kendala integritas
 Dan seperti yang akan kita lihat nanti, juga
informasi lainnya seperti
 Kumpulan indeks yang harus dipertahankan untuk setiap relasi.
 Informasi keamanan dan otorisasi untuk setiap relasi.
 Struktur penyimpanan fisik setiap relasi pada disk.
TIPE DOMAIN DI SQL
 Char(n). String karakter dengan panjang tetap, dengan
panjang n yang ditentukan pengguna .
 Varchar(n). String karakter dengan panjang variabel, dengan
panjang maksimum n yang ditentukan pengguna .
 Integer. Integer (bagian terbatas dari bilangan bulat yang
bergantung pada mesin).
 Small Integer. Bilangan bulat kecil (bagian yang bergantung
pada mesin dari tipe domain bilangan bulat).
 numerik(p,d). Nomor titik tetap, dengan presisi p digit yang
ditentukan pengguna , dengan digit d di sebelah kanan koma
desimal. (mis., numerik (3,1), memungkinkan 44,5 disimpan
secara tepat, tetapi tidak 444,5 atau 0,32)
 Real, Double Precision. Angka floating point dan angka
floating point presisi ganda, dengan presisi yang bergantung
pada mesin.
 float(n). Angka floating point, dengan presisi yang ditentukan
pengguna minimal n digit.
 dll
MEMBUAT DATABASE
 Perintah CREATE DATABASE untuk membuat
database baru.
 Syntaks
CREATE DATABASE databasename;
 DROP DATABASE → Menghapus Database
 Syntaks
DROP DATABASE databasename;
BUAT KONSTRUKSI TABEL
 Relasi SQL didefinisikan menggunakan perintah create table :
create table r (A1 D1, A2 D2, ..., An Dn,
(integrity-constraint1),
...,
(integrity-constraintk)
)
 r adalah nama relasinya
 setiap A i adalah nama atribut dalam skema relasi r
 D i adalah tipe data nilai dalam domain atribut A i
 Contoh :
create table instruktur (
ID char (5),
nama varchar (20) ,
nama_departemen varchar (20),
gaji numerik (8,2)
)
CONSTRAINT
 NOT NULL - Memastikan bahwa kolom tidak boleh memiliki
nilai NULL
 UNIQUE - Memastikan semua nilai dalam kolom berbeda
 PRIMARY KEY - Kombinasi NOT NULL dan UNIQUE. Secara
unik mengidentifikasi setiap baris dalam sebuah tabel
 FOREIGN KEY - Mencegah tindakan yang akan merusak
hubungan antar tabel
 CHECK - Memastikan bahwa nilai dalam kolom memenuhi
kondisi tertentu
 DEFAULT - Menetapkan nilai default untuk kolom jika tidak
ada nilai yang ditentukan
 CREATE INDEX - Digunakan untuk membuat dan mengambil
data dari database dengan sangat cepat
INTEGRITY CONSTRAINTS
 not null
 primary key (A1, ..., An )
 foreign key (Am, ..., An ) references r
Contoh:
create table instruktur (
ID char (5),
nama varchar (20) not null,
nama_departemen varchar (20),
gaji numerik (8,2),
primary key( ID ),
foreign key(nama_departemen) reference departemen
);
PEMBARUAN PADA TABEL
 drop table
 Sintaks
DROP TABLE table_name;
 alter
 Sintaks
ALTER TABLE table_name
ADD column_name datatype;
DML
 insert
 insert into instruktur values
(‘10211’, ’Smith’, ’Biologi’,
66000);
 delete

VIEW
 Dalam SQL, View adalah tabel virtual
berdasarkan kumpulan hasil pernyataan SQL.
 Tampilan berisi baris dan kolom, seperti tabel
sebenarnya. Field dalam View adalah Field dari
satu atau lebih tabel nyata dalam database.
LANJUTAN…
 Sintaks
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
DML
27
DML
 Data Manipulation Language (DML).
 Merupakan kumpulan Bahasa(sintaks) yang
secara eksplisit digunakan untuk melakukan
perubahan pada database
 Seperti operasi CRUD ( create, read, update
dan delete data)
INSERT INTO
 Pernyataan INSERT INTO digunakan untuk
memasukkan record baru ke dalam tabel.
 Sintaks 1
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
 Sintaks 2
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2, ...);
UPDATE
 Pernyataan UPDATE digunakan untuk
mengubah record data yang ada dalam sebuah
tabel.
 Sintaks
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
DELETE
 Pernyataan DELETE digunakan untuk
menghapus record yang ada dalam sebuah
tabel.
 Sintaks
DELETE FROM table_name WHERE condition;
STUDI KASUS
32
STUDI KASUS
 Buat sintak SQL dan jalankan pada database
model dari rancangan ER pada tugas
sebelumnya!
REFERENSI
 https://learn.microsoft.com/en-
us/office/troubleshoot/access/database-
normalization-description
 https://hackr.io/blog/dbms-normalization
 https://online.visual-
paradigm.com/knowledge/visual-
modeling/conceptual-vs-logical-vs-physical-
data-model

Materi 3 Penjelasan tentang SQL DDL dan DML

  • 1.
    BASIS DATA SQL, DDLdan DML I Made Suartana, S.Kom, M.Kom.
  • 2.
    MATERI  Intro StructureQuery Language  Data Definition Language  Data Manipulation Language
  • 3.
  • 4.
    STRUCTURED QUERY LANGUAGE(SQL)  Structured Query Language (SQL) adalah bahasa database yang dapat melakukan operasi pada database yang ada dan digunakan untuk membuat database.  SQL menggunakan perintah tertentu seperti CREATE, DROP, INSERT, dll. untuk menjalankan tugas yang diperlukan.  Perintah SQL seperti instruksi pada tabel.  digunakan untuk berinteraksi dengan database dengan beberapa operasi.  digunakan untuk melakukan tugas, fungsi, dan kueri data tertentu.  SQL dapat melakukan berbagai tugas seperti membuat tabel, menambahkan data ke tabel, menghapus tabel, memodifikasi tabel, mengatur izin untuk pengguna. https://www.geeksforgeeks.org/sql-ddl-dql-dml-dcl-tcl-commands/
  • 5.
    SEJARAH  Bahasa SekuelIBM dikembangkan sebagai bagian dari proyek Sistem R di Laboratorium Penelitian IBM San Jose  Mengganti Nama menjadi (SQL)  SQL standar ANSI dan ISO:  SQL-86  SQL-89  SQL-92  SQL:1999 (nama bahasa menjadi sesuai Y2K!)  SQL:2003
  • 6.
    KATEGORI SQL  DDL– Data Definition Language  DQL – Data Query Language  DML – Data Manipulation Language  DCL – Data Control Language  TCL – Transaction Control Language
  • 7.
  • 8.
    DDL – DATADEFINITION LANGUAGE  DDL atau Data Definition Language perintah SQL yang dapat digunakan untuk mendefinisikan skema database.  Berkaitan dengan deskripsi skema database dan digunakan untuk membuat dan memodifikasi struktur objek database dalam database.  DDL adalah sekumpulan perintah SQL yang digunakan untuk membuat, mengubah, dan menghapus struktur database tetapi bukan data.
  • 9.
    DAFTAR PERINTAH DDL: CREATE : Perintah ini digunakan untuk membuat database atau objeknya (seperti tabel, indeks, fungsi, tampilan, prosedur penyimpanan, dan pemicu).  DROP : Perintah ini digunakan untuk menghapus objek dari database.  ALTER : Ini digunakan untuk mengubah struktur database.  TRUNCATE : Ini digunakan untuk menghapus semua record dari tabel, termasuk semua ruang yang dialokasikan untuk record tersebut dihapus.  COMMENT : Ini digunakan untuk menambahkan komentar ke kamus data.  RENAME : Ini digunakan untuk mengganti nama objek yang ada di database.
  • 10.
    DQL – DATAQUERY LANGUAGE  DQL digunakan untuk melakukan kueri pada data dalam objek skema.  Tujuan dari Perintah DQL adalah untuk mendapatkan beberapa relasi skema berdasarkan kueri  DQL adalah komponen pernyataan SQL yang memungkinkan pengambilan data dari database dan menerapkan perintah pada database.  Contoh : pernyataan SELECT. Perintah ini memungkinkan mengeluarkan data dari database dan melakukan operasi  Ketika SELECT dijalankan terhadap sebuah tabel, hasilnya dikompilasi ke dalam tabel sementara selanjutnya, yang ditampilkan atau mungkin diterima oleh program, yaitu front-end. Daftar Perintah DQL: SELECT : Digunakan untuk mengambil data dari database.
  • 11.
    DML – DATAMANIPULATION LANGUAGE  Perintah SQL yang menangani manipulasi data yang ada dalam database  DML adalah komponen pernyataan SQL yang mengontrol akses ke data dan database.  Pada dasarnya pernyataan DCL dikelompokkan dengan pernyataan DML.
  • 12.
    DAFTAR PERINTAH DML: INSERT : Digunakan untuk memasukkan data ke dalam tabel.  UPDATE : Digunakan untuk memperbarui data yang ada dalam tabel.  DELETE : Digunakan untuk menghapus record dari tabel database.  LOCK: Konkurensi kontrol tabel.  CALL: Memanggil subprogram PL/SQL atau JAVA.  EXPLAIN PLAN: Ini menjelaskan jalur akses ke data.
  • 13.
    DCL – DATACONTROL LANGUAGE  DCL mencakup perintah seperti GRANT dan REVOKE yang terutama berhubungan dengan hak, izin, dan kontrol lain dari sistem database.  Daftar perintah DCL:  GRANT: Perintah ini memberi pengguna hak akses ke database.  REVOKE: Perintah ini mencabut hak akses pengguna yang diberikan dengan menggunakan perintah GRANT.
  • 14.
    TCL – TRANSACTIONCONTROL LANGUAGE  Transaksi mengelompokkan serangkaian tugas ke dalam satu unit eksekusi.  Setiap transaksi dimulai dengan tugas tertentu dan berakhir ketika semua tugas dalam grup berhasil diselesaikan.  Jika salah satu tugas gagal, transaksi gagal. Oleh karena itu, suatu transaksi hanya memiliki dua hasil: sukses atau gagal.
  • 15.
     Perintah TCLberikut digunakan untuk mengontrol eksekusi transaksi:  COMMIT : Melakukan Transaksi.  ROLLBACK : Mengembalikan transaksi jika terjadi kesalahan.  SAVEPOINT : Menetapkan titik penyimpanan dalam suatu transaksi.
  • 16.
  • 17.
    BAHASA DEFINISI DATA Data Definition Language (DDL) memungkinkan spesifikasi informasi tentang relasi, termasuk:  Skema untuk setiap relasi.  Domain nilai yang terkait dengan setiap atribut.  Kendala integritas  Dan seperti yang akan kita lihat nanti, juga informasi lainnya seperti  Kumpulan indeks yang harus dipertahankan untuk setiap relasi.  Informasi keamanan dan otorisasi untuk setiap relasi.  Struktur penyimpanan fisik setiap relasi pada disk.
  • 18.
    TIPE DOMAIN DISQL  Char(n). String karakter dengan panjang tetap, dengan panjang n yang ditentukan pengguna .  Varchar(n). String karakter dengan panjang variabel, dengan panjang maksimum n yang ditentukan pengguna .  Integer. Integer (bagian terbatas dari bilangan bulat yang bergantung pada mesin).  Small Integer. Bilangan bulat kecil (bagian yang bergantung pada mesin dari tipe domain bilangan bulat).  numerik(p,d). Nomor titik tetap, dengan presisi p digit yang ditentukan pengguna , dengan digit d di sebelah kanan koma desimal. (mis., numerik (3,1), memungkinkan 44,5 disimpan secara tepat, tetapi tidak 444,5 atau 0,32)  Real, Double Precision. Angka floating point dan angka floating point presisi ganda, dengan presisi yang bergantung pada mesin.  float(n). Angka floating point, dengan presisi yang ditentukan pengguna minimal n digit.  dll
  • 19.
    MEMBUAT DATABASE  PerintahCREATE DATABASE untuk membuat database baru.  Syntaks CREATE DATABASE databasename;  DROP DATABASE → Menghapus Database  Syntaks DROP DATABASE databasename;
  • 20.
    BUAT KONSTRUKSI TABEL Relasi SQL didefinisikan menggunakan perintah create table : create table r (A1 D1, A2 D2, ..., An Dn, (integrity-constraint1), ..., (integrity-constraintk) )  r adalah nama relasinya  setiap A i adalah nama atribut dalam skema relasi r  D i adalah tipe data nilai dalam domain atribut A i  Contoh : create table instruktur ( ID char (5), nama varchar (20) , nama_departemen varchar (20), gaji numerik (8,2) )
  • 21.
    CONSTRAINT  NOT NULL- Memastikan bahwa kolom tidak boleh memiliki nilai NULL  UNIQUE - Memastikan semua nilai dalam kolom berbeda  PRIMARY KEY - Kombinasi NOT NULL dan UNIQUE. Secara unik mengidentifikasi setiap baris dalam sebuah tabel  FOREIGN KEY - Mencegah tindakan yang akan merusak hubungan antar tabel  CHECK - Memastikan bahwa nilai dalam kolom memenuhi kondisi tertentu  DEFAULT - Menetapkan nilai default untuk kolom jika tidak ada nilai yang ditentukan  CREATE INDEX - Digunakan untuk membuat dan mengambil data dari database dengan sangat cepat
  • 22.
    INTEGRITY CONSTRAINTS  notnull  primary key (A1, ..., An )  foreign key (Am, ..., An ) references r Contoh: create table instruktur ( ID char (5), nama varchar (20) not null, nama_departemen varchar (20), gaji numerik (8,2), primary key( ID ), foreign key(nama_departemen) reference departemen );
  • 23.
    PEMBARUAN PADA TABEL drop table  Sintaks DROP TABLE table_name;  alter  Sintaks ALTER TABLE table_name ADD column_name datatype;
  • 24.
    DML  insert  insertinto instruktur values (‘10211’, ’Smith’, ’Biologi’, 66000);  delete 
  • 25.
    VIEW  Dalam SQL,View adalah tabel virtual berdasarkan kumpulan hasil pernyataan SQL.  Tampilan berisi baris dan kolom, seperti tabel sebenarnya. Field dalam View adalah Field dari satu atau lebih tabel nyata dalam database.
  • 26.
    LANJUTAN…  Sintaks CREATE VIEWview_name AS SELECT column1, column2, ... FROM table_name WHERE condition;
  • 27.
  • 28.
    DML  Data ManipulationLanguage (DML).  Merupakan kumpulan Bahasa(sintaks) yang secara eksplisit digunakan untuk melakukan perubahan pada database  Seperti operasi CRUD ( create, read, update dan delete data)
  • 29.
    INSERT INTO  PernyataanINSERT INTO digunakan untuk memasukkan record baru ke dalam tabel.  Sintaks 1 INSERT INTO table_name VALUES (value1, value2, value3, ...);  Sintaks 2 INSERT INTO table_name (column1, column2,...) VALUES (value1, value2, ...);
  • 30.
    UPDATE  Pernyataan UPDATEdigunakan untuk mengubah record data yang ada dalam sebuah tabel.  Sintaks UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
  • 31.
    DELETE  Pernyataan DELETEdigunakan untuk menghapus record yang ada dalam sebuah tabel.  Sintaks DELETE FROM table_name WHERE condition;
  • 32.
  • 33.
    STUDI KASUS  Buatsintak SQL dan jalankan pada database model dari rancangan ER pada tugas sebelumnya!
  • 34.
    REFERENSI  https://learn.microsoft.com/en- us/office/troubleshoot/access/database- normalization-description  https://hackr.io/blog/dbms-normalization https://online.visual- paradigm.com/knowledge/visual- modeling/conceptual-vs-logical-vs-physical- data-model