Sistem Basis Data 1 - Gunadarma...

32
Sistem Basis Data 1 Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

Transcript of Sistem Basis Data 1 - Gunadarma...

Page 1: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Sistem Basis Data 1

Pertemuan 5 dan 6 Aljabar Relasional dan SQL

Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

Page 2: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Bahasa Pada Model data Relasional

Menggunakan bahasa query, yaitu pernyataan yang diajukan untuk mengambil informasi Terbagi 2 : 1. Bahasa Query Formal Bahasa query yang diterjemahkan dengan menggunakan simbol-simbol matematis. Terbagi 2, yaitu: a. Prosedural, yaitu pemakai memberi spesifikasi data apa yang dibutuhkan dan bagaimana cara mendapatkannya.

Page 3: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Bahasa Pada Model data Relasional

Contoh: Aljabar Relasional , yaitu dimana query diekspresikan dengan cara menerapkan operator tertentu terhadap suatu tabel / relasi. b. Non Prosedural, yaitu pemakai menspesifikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya. Contoh: • Kalkulus Relasional, dimana query menjelaskan set tuple yang

diinginkan dengan cara menjelaskan predikat tuple yang diharapkan. Terbagi 2 :

1. Kalkulus Relasional Tupel 2. Kalkulus Relasional Domain

Page 4: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Bahasa Pada Model data Relasional

2. Bahasa Query Komersial Bahasa Query yang dirancang sendiri oleh programmer menjadi suatu program aplikasi agar pemakai lebih mudah menggunakannya (user friendly). • Contoh : QUEL • Berbasis pada bahasa kalkulus relasional QBE • Berbasis pada bahasa kalkulus relasional SQL • Berbasis pada bahasa kalkulus relasional dan aljabar

relasional

Page 5: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

1. Aljabar Relasional

Aljabar Relasional

Page 6: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Structure Query Language (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented language). SQL dapat digunakan baik secara interaktif atau ditempelkan (embedded) pada sebuah program aplikasi

Page 7: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language Komponen-Komponen SQL a. Data Definition Language (DDL) : • Digunakan untuk mendefinisikan data dengan menggunakan

perintah : create, drop, alter.

b. Data Manipulation Language (DML) : • Digunakan untuk memanipulasi data dengan menggunakan

perintah : select, insert, update, delete. Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya dapat dibuat secara interaktif atau ditempelkan pada sebuah program aplikasi. Pemakai hanya perlu menentukan 'APA' yang ia inginkan, DBMS menentukan 'BAGAIMANA' cara mendapatkannya. c. Data Control Language (DCL) : • Digunakan untuk mengontrol hak para pemakai data dengan

perintah : grant, revoke

Page 8: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Page 9: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

• DATA DEFINITION LANGUAGE

1. CREATE TABLE

Fungsi : membuat tabel

Sintaks : CREATE TABLE tbname – (col 1 data type data spec,

col 2 data type data spec, – .

– .

PRIMARY KEY (col1,……))

Page 10: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

• Contoh :

CREATE TABLE PERSONEL

(REGNO CHAR(10) NOT NULL,

NAME CHAR(45) NOT NULL,

ADDRESS CHAR(45),

BIRTH DATE NOT NULL WITH DEFAULT,

PRIMARY KEY (REGNO))

Page 11: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

• NULL Spesifikasi NULL, NOT NULL, NOT NULL WITH DEFAULT • NULL : dapat diinterpretasikan sebagai nilai yang tidak diketahui atau tidak tersedianya suatu nilai. Null bukan berarti kosong (blank) atau 0 (Nol) • NOT NULL : pemakai atau program harus memberikan nilai-nilai pada saat memasukkan record • NOT NULL WITH DEFAULT : nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan untuk kolom ini.

Page 12: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

2. CREATE VIEW

• Fungsi : membuat tabel view.

View merupakan bentuk alternatif penyajian data dari satu atau lebih tabel. View dapat berisi semua atau sebagian kolom yang terdapat pada tabel dimana kolom tersebut didefinisikan.

• Tujuan membuat view : • Meningkatkan keamanan data

• Meningkatkan kemandirian data

• Penyederhanaan bagi end user (data yang sedikit, nama-nama kolom yang baru dan dapat dibaca dengan lebih baik)

Page 13: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

• Sintaks : CREATE VIEW viewname (column1, column2, ……..) AS SELECT statement FROM tbname [WITH CHECK OPTION] • Keterangan : • View-name : nama view yang akan dibuat. • Column : nama atribut untuk view • Statement : atribut yang dipilih dari tabel basis data. • Tabel-name : nama tabel basis data. Contoh : CREATE VIEW VPERSON (REGNO, NAME) AS SELECT REGNO, NAME FROM PAUL.PERSONEL

Page 14: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

• CREATE INDEX

Fungsi : membuat index

Sintaks :

CREATE [UNIQUE] INDEX indexname ON nama_table (nama_kolom)

• Contoh :

CREATE UNIQUE INDEX PRSONIDX

ON PERSONEL(REGNO)

Page 15: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

4. DROP TABLE Fungsi : menghapus Tabel • Sintaks : DROP TABLE tbname • Contoh : DROP TABLE PERSONEL Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis akan dihapus atau tidak akan berfungsi seperti : - semua record dalam tabel akan terhapus - index dan view pada tabel akan hilang - deskripsi tabel akan hilang TRUNCATE / Menghapus isi Tabel TRUNCATE nama_tabel; Contoh : TRUNCATE Mahasiswa;

Page 16: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Bentuk Lain:

DROP TABLE [schema_name].table_name [ CASCADE CONSTRAINTS ] [ PURGE ]; (Pada Oracle) Parameter atau argumen: schema_name Nama skema yang memiliki tabel. table_name Nama tabel untuk menghapus dari database Oracle. [ CASCADE CONSTRAINTS ] Pilihan. Jika ditentukan, semua batasan integritas referensial akan turun juga. PURGE Pilihan. Jika ditentukan, tabel dan objek yang tergantung akan dibersihkan dari recycle bin dan Anda tidak akan dapat memulihkan tabel. Jika tidak ditentukan, , tabel dan objek yang tergantung ditempatkan di recycle bin dan dapat kembali nanti, jika diperlukan.

Page 17: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

5. DROP VIEW

• Fungsi : menghapus view

Sintaks : DROP VIEW viewname

Contoh : DROP VIEW VPERSON

6. DROP INDEX

• Fungsi : menghapus index Sintaks : DROP INDEX indexname

Contoh : DROP INDEX PRSONIDX

Page 18: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Flashback Table

Gunakan pernyataan Flashback untuk memulihkan keadaan sebelumnya dari meja di acara kesalahan manusia atau aplikasi.

FLASHBACK TABLE print_media TO BEFORE

DROP; atau

FLASHBACK TABLE print_media TO BEFORE DROP RENAME TO print_media_old;

Page 19: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

7. ALTER

• Fungsi : merubah atribut pada suatu tabel

Sintaks :

ALTER TABLE tbname

MODIFY (nama_kolom tipe_kolom)

ADD (nama_kolom tipe_kolom [[before, nama_kolom]]) DROP (nama_kolom tipe_kolom)

Contoh : merubah Tabel TABX dengan menambah Field D.

ALTER TABLE TABX

ADD D CHAR(3)

Page 20: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Syntax: ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru; Contoh: ALTER TABLE daftar_jurusan MODIFY jumlah_mahasiswa MEDIUMINT; Syntax: ALTER TABLE nama_tabel CHANGE nama_kolom nama_kolom_baru tipe_data; Contoh: ALTER TABLE daftar_jurusan CHANGE alamat alamat_jurusan VARCHAR(100) Syntax: ALTER TABLE <nama_tabel_lama>RENAME TO <nama_tabel_baru>; Contoh ubah nama tabel. ALTER TABLE daftar_jurusan RENAME TO tabel_jurusan; atau RENAME TABLE nama_tabel_lama TO nama_tabel_baru;

Page 21: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Syntax: ALTER TABLE nama_tabel ADD nama_kolom_baru tipe_data; Contoh: ALTER TABLE daftar_jurusan ADD ketua_jurusan VARCHAR(50); Syntax: ALTER TABLE nama_tabel DROP nama_kolom; Contoh: ALTER TABLE daftar_jurusan DROP ketua_jurusan;

Page 22: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

DATA MANIPULATION LANGUAGE 1. INSERT • Fungsi : menambah baris (record) baru Sintaks : INSERT INTO tbname (col1, ...) VALUES (value1, ...) Contoh : INSERT INTO S (ID,Name,Jumlah,Kota)VALUES ('S1','Smith',20,'London'); Catatan : Sintaks tersebut dapat digunakan jika jumlah kolom = jumlah nilai, tetapi jika dalam tabel semua kolom akan diisi dapat digunakan sintaks berikut ini : Sintaks : INSERT INTO tbname VALUES (value1, value2, ...) Nilai-nilai diisikan sebanyak kolom yang terdapat di tabel tersebut. Contoh : INSERT INTO S VALUES ('S2','Jones,10,'Paris'); atau jika beberapa kolom saja: Contoh : INSERT INTO S (ID,Name) VALUES ('S3','Blake‘);

Page 23: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

3. DELETE

Fungsi : menghapus record

• Sintaks : DELETE FROM tbname WHERE kondisi

• Contoh :

DELETE FROM Mahasiswa WHERE jurusan = 'Teknik Informatika';

DELETE FROM Mahasiswa;

Page 24: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

4. SELECT Fungsi : menampilkan record Sintaks : SELECT [DISTINCT] colname FROM tbname [WHERE kondisi] SELECT NIP,nama_dosen FROM daftar_dosen WHERE alamat='Padang'; [GROUP BY kondisi] SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim; [HAVING kondisi] SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim HAVING AVG(nilai)>80; [ORDER BY kondisi] SELECT * FROM mata_kuliah WHERE jumlah_SKS > 2 ORDER BY jumlah_SKS; SELECT * FROM daftar_dosen ORDER BY alamat ASC;

Page 25: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

SELECT

• [ALL | DISTINCT | DISTINCTROW ] • [HIGH_PRIORITY] • [STRAIGHT_JOIN] • [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] • [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] • select_expr [, select_expr ...] • [FROM table_references • [WHERE where_condition] • [GROUP BY {col_name | expr | position} • [ASC | DESC], ... [WITH ROLLUP]] • [HAVING where_condition] • [ORDER BY {col_name | expr | position} • [ASC | DESC], ...] • [LIMIT {[offset,] row_count | row_count OFFSET offset}] • [PROCEDURE procedure_name(argument_list)] • [INTO OUTFILE 'file_name' • [CHARACTER SET charset_name] • export_options • | INTO DUMPFILE 'file_name' • | INTO var_name [, var_name]] • [FOR UPDATE | LOCK IN SHARE MODE]]

Page 26: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

2. UPDATE

• Fungsi : merubah record

Sintaks : UPDATE tbname SET field = ekspresi WHERE kondisi

UPDATE daftar_dosen SET no_hp ='085298710065‘ WHERE nama_dosen='Sabrina Sari';

Page 27: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

Fungsi Perhitungan • COUNT : jumlah baris dan kolom SELECT COUNT(*) FROM S • SUM : jumlah nilai dam kolom SELECT SUM (QTY) FROM SP WHERE Pn = 'P2' • AVG : rata - rata nilai dalam kolom SELECT AVG(stock) as ratastock from barang • MAX : nilai terbesar dalam kolom SELECT MAX(stock) as ratastock from barang • MIN : nilai terkecil dalam kolom SELECT MIN(stock) as ratastock from barang

Page 28: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

• DATA CONTROL LANGUAGE

1. GRANT

• Fungsi : digunakan untuk memberikan izin akses kepada user

Sintaks : GRANT privileges ON tbname TO user

• Contoh :

GRANT SELECT ON CLUB TO PUBLIC

GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01

Page 29: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

2. REVOKE

• Fungsi : digunakan untuk mencabut izin akses kepada user

Sintaks : REVOKE privileges ON tbname FROM user

• Contoh :

REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01

REVOKE ALL ON CLUB FROM PUBLIC

Page 30: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

SQL menyediakan dua karakter yang memungkinkan Anda untuk membangun pola. Kedua wildcard adalah persentase (%) dan garis bawah (_). Persentase (%) wildcard cocok dengan urutan karakter apapun termasuk ruang.

Garis bawah (_) cocok satu karakter apapun.

Page 31: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya

Structure Query Language

SELECT Id, ProductName, UnitPrice, Package

FROM Product

WHERE ProductName LIKE 'Ca%‘

SELECT Id, ProductName, UnitPrice, Package

FROM Product

WHERE ProductName LIKE 'Cha_' OR ProductName LIKE 'Chan_'

Page 32: Sistem Basis Data 1 - Gunadarma Universityrogayah.staff.gunadarma.ac.id/Downloads/files/50710/SQL+PPT.pdf · Data Manipulation Language merupakan bagian terpadu bahasa SQL. Perintah-perintahnya