Bahasa Pada Model data Relasional

  Sistem Basis Data 1 Pertemuan 5 dan 6 Aljabar Relasional dan SQL

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

  

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.

  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

  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

1. Aljabar Relasional

  

  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

  

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) :

  Structure Query Language

  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,……))

  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))

  

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.

  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 vi>Meningkatkan keamanan data
  • Meningkatkan kemandirian data
  • Penyederhanaan bagi end user (data yang sedikit, nama-

  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

  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)

  Structure Query Language Fungsi : menghapus Tabel

  4. DROP TABLE DROP TABLE tbname • Sintaks : DROP TABLE PERSONEL • Contoh : - semua record dalam tabel akan terhapus akan dihapus atau tidak akan berfungsi seperti :

Dengan perintah itu obyek lain yang berhubungan dengan tabel tersebut otomatis

  • index dan view pada tabel akan hilang - deskripsi tabel akan hilang Contoh : TRUNCATE Mahasiswa; TRUNCATE nama_tabel; TRUNCATE / Menghapus isi Tabel

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

recycle bin dan Anda tidak akan dapat memulihkan tabel. Jika tidak ditentukan, , tabel

Pilihan. Jika ditentukan, tabel dan objek yang tergantung akan dibersihkan dari

  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

  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;

  

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

  Structure Query Language Contoh: ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data_baru; Syntax: Syntax: ALTER TABLE daftar_jurusan MODIFY jumlah_mahasiswa MEDIUMINT; ALTER TABLE daftar_jurusan CHANGE alamat alamat_jurusan VARCHAR(100) Contoh:

ALTER TABLE nama_tabel CHANGE nama_kolom nama_kolom_baru tipe_data;

Contoh ubah nama tabel. ALTER TABLE <nama_tabel_lama>RENAME TO <nama_tabel_baru>; Syntax: RENAME TABLE nama_tabel_lama TO nama_tabel_baru; ALTER TABLE daftar_jurusan RENAME TO tabel_jurusan; atau

  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;

  Structure Query Language 1. INSERT DATA MANIPULATION LANGUAGE

  • 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 :

  Structure Query Language

3. DELETE

  Fungsi : menghapus record

  • Sintaks : DELETE FROM tbname WHERE

  kondisi

  • Contoh : DELETE FROM Mahasiswa WHERE jurusan = 'Teknik Informatika';

  Structure Query Language Sintaks : SELECT [DISTINCT] colname FROM tbname Fungsi : menampilkan record

4. SELECT

  SELECT NIP,nama_dosen FROM daftar_dosen WHERE alamat='Padang'; [WHERE kondisi] SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim; [GROUP BY kondisi] AVG(nilai)>80;

SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim HAVING

[HAVING kondisi] SELECT * FROM daftar_dosen ORDER BY alamat ASC; SELECT * FROM mata_kuliah WHERE jumlah_SKS > 2 ORDER BY jumlah_SKS; [ORDER BY kondisi]

  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]]

  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';

  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

  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

  

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

  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.

  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_'

Dokumen yang terkait

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

PENILAIAN MASYARAKAT TENTANG FILM LASKAR PELANGI Studi Pada Penonton Film Laskar Pelangi Di Studio 21 Malang Town Squere

17 165 2

APRESIASI IBU RUMAH TANGGA TERHADAP TAYANGAN CERIWIS DI TRANS TV (Studi Pada Ibu Rumah Tangga RW 6 Kelurahan Lemah Putro Sidoarjo)

8 209 2

MOTIF MAHASISWA BANYUMASAN MENYAKSIKAN TAYANGAN POJOK KAMPUNG DI JAWA POS TELEVISI (JTV)Studi Pada Anggota Paguyuban Mahasiswa Banyumasan di Malang

20 244 2

FENOMENA INDUSTRI JASA (JASA SEKS) TERHADAP PERUBAHAN PERILAKU SOSIAL ( Study Pada Masyarakat Gang Dolly Surabaya)

63 375 2

PEMAKNAAN MAHASISWA TENTANG DAKWAH USTADZ FELIX SIAUW MELALUI TWITTER ( Studi Resepsi Pada Mahasiswa Jurusan Tarbiyah Universitas Muhammadiyah Malang Angkatan 2011)

59 326 21

PENGARUH PENGGUNAAN BLACKBERRY MESSENGER TERHADAP PERUBAHAN PERILAKU MAHASISWA DALAM INTERAKSI SOSIAL (Studi Pada Mahasiswa Jurusan Ilmu Komunikasi Angkatan 2008 Universitas Muhammadiyah Malang)

127 505 26

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

STRATEGI PUBLIC RELATIONS DALAM MENANGANI KELUHAN PELANGGAN SPEEDY ( Studi Pada Public Relations PT Telkom Madiun)

32 284 52

Analisis Penyerapan Tenaga Kerja Pada Industri Kerajinan Tangan Di Desa Tutul Kecamatan Balung Kabupaten Jember.

7 76 65