• Tidak ada hasil yang ditemukan

BASIS DATA 1 MODUL PRAKTIKUM

N/A
N/A
Protected

Academic year: 2018

Membagikan "BASIS DATA 1 MODUL PRAKTIKUM"

Copied!
65
0
0

Teks penuh

(1)

BASI S DATA 1

M OD UL P R AK T I K UM

D 3 Ma na je m e n I n form at ik a

Fa ku lt a s Te kn ik

(2)

MODUL I

MYSQL

1. Dasar Teori

Basis data adalah sekumpalan in formasi yang diatur agar mudah dicari. Dala m art i u mu m basis data adalah sekumpulan data yang diproses dengan bantuan ko mputer yang me mungkin kan data dapat diakses dengan mudah dan tepat, yang dapat digambarkan sebagai akt ifitas dari satu atau lebih organisasi yang berelasi. Pengertian MYS QL

Database MYSQL merupakan sistem manaje men basis data SQL yang sangat terkenal dan bersifat Open Source. MySQL dibangun, didistribusikan dan didukung oleh MYSQL AB. M YSQL AB merupakan perusahaan komersia l yang dibiayai o leh pengembang M YSQL

Ti pe Data

Data yang terdapat dalam sebuah tabel berupa field-field yang berisi nilai dari data tersebut. Nilai data dalam fie ld me miliki tipe sendiri-sendiri. M YSQL mengenal beberapa tipe data field ya itu :

§ Tipe data numerik Tujuan :

1. Me maha mi tentang sistem database

2. Me maha mi instalasi MySQL di lingkungan Windows 3. Me maha mi dasar-dasar MySQL.

Tug as Pendahuluan

1. Apa yang anda ketahui tentang mysql, jelaskan

2. Apa perbedaan instalasi mysql diling kungan windows dengan linu x

(3)

§ Tipe data numerik dibedakan dala m dua maca m ke lo mpok, yaitu integer dan floating point. Integer digunakan untuk data bilangan bulat sedangkan floating point digunakan untuk bilangan desimal.

§ Tipe data string

String adalah rangkaian kara kter. Tipe-tipe data yang termasuk dala m tipe data string dapat dilihat pada tabel 8.1.2.b be rikut:

Tabel 8.1.2.b Tipe Data St ring Tipe Data Kisaran Nilai CHAR 1-255 kara kter VA RCHAR 1-255 kara kter TINYTEXT 1-255 kara kter TEXT 1-65535 ka rakter MEDIUMTEXT 1-16777215 ka rakter LONGTEXT 1-424967295 ka rakter

§ Tipe data char() dan varchar()

Tipe data char() dan varchar() pada prinsipnya sama, perbedaannya hanya terletak pada jumlah me mori yang dibutuhkan untuk penyimpanannya. Memori yang dibutuhkan untuk tipe data char() bersifat statis, besarnya bergantung pada berapa jumlah kara kter yang ditetapkan pada saat field tersebut dideklarasikan. Pada t ipe data varchar() besarnya me mo ri penyimpanan tergantung pada jumlah karakter dita mbah 1 byte, dapat dilihat pada tabel 8.1.2.c berikut ini:

Tabel 8.1.2.c Letak Perbedaan Ju mlah Me mori Nila i Char(4) Memori

Penyimpanan

Varchar (4)

Memori Penyimpanan

’’ ’’ 4 bytes ’’ 1 byte

’ab’ ’ab’ 4 bytes ’ab’ 3 bytes

’abcd’ ’abcd’ 4 bytes ’abcd’ 5 bytes ’abcdefgh’ ’abcd’ 4 bytes ’abcd’ 5 bytes

§ Tipe data tanggal

Untuk tanggal dan ja m, tersedia tipe-t ipe data fie ld berupa DATETIM E, DATE, TIM ESTAMP, TIM E dan YEAR. Masing-masing tipe me mpunyai kisaran nilai tertentu. MYSQL akan me mberikan peringatan kesalahan (error) apabila tanggal atau waktu yang dimasukkan salah. Kisaran nila i dan besar me mo ri penyimpanan yang diperlukan untuk masing-masing tipe dapat dilihat pada tabel 8.1.2.d berikut ini:

Tabel 8.1.2.d Tipe Data Tanggal

Tipe Data Kisaran Nilai Memori

Penyimpanan DATETIM E 1000-01-01 00:00 sa mpai 9999-12-31

23:59:59

(4)

DATE 1000-01-01 sampai 9999-12-31 8 byte TIM ESTAMP 1970-01-01 00:00:00 sa mpai 2037 4 byte TIM E -839:59:59 sampa i 838:59:59 3 byte

YEA R 1901 sa mpai 2155 1 byte

Operator MYS QL

MYSQL mendukung penggunaan operator-operator dan fungsi-fungsi diantaranya:

§ Operator Arit metika

Suatu ekspresi yang melibatkan tipe data bilangan (NUM ERIK) dan tanggal (DATE) menggunakan ekspresi aritmat ika . Dapat dilihat pada tabel 8.1.3.a berikut ini:

Tabe l 8.1.3.a Operator arit mat ika M YSQL

Operator Keterangan

+ Tambah

- Kurang

* Kali

/ Bagi

Mod () Modulus

§ Operator Pe mbandingan

Suatu ekspresi yang dapat digunakan pada klausa WHERE dan me mpunyai sintax sebagai berikut: WHERE expr operator value. Tabel 8.1.3.b menunjukan operator pe mbanding pada MYSQL berikut ini:

Tabel 8.1.3.b Operator Pe mbanding M YSQL Operator Keterangan

= Sa ma Dengan

> Lebih Besar

< Lebih Kec il

>= Lebih Besar atau Sa ma Dengan <= Lebih Kec il atau Sa ma Dengan <> Tidak Sa ma Dengan

§ Operator Logika

Operator in i digunakan untuk me mbandingkan dua nila i variabel yang bertipe boolean.

§ Operator Ka rakter

Operator untuk me mbentuk pencarian string yang sesuai dengan nila i yang mencantumkan pada kondisi. Kondisi pencarian dapat berisi karakter , ada 3 symbol khusus berikut ini dapat dilihat pada tabel 8.1.3.d berikut ini:

Tabel 8.1.3.d Tabel Operator Kara kter

Operator Keterangan

(5)

_ Se mbarang satu karakter

[] Se mbarang kara kter yang terletak dala m kurung siku

§ Operator La in-la in

Operator yang digunakan untuk menguji n ila i-nilai yang ada dalam list (tanda kurung) dan dapat juga untuk menampilkan baris berdasarkan suatu jangkauan (range) nila i. Ada 2 symbol tersebut dapat dilihat pada tabel 8.1.3.e berikut in i: Tabel 8.1.3.e Operator la in-lain

Operator Keterangan

IN Dala m

BETW EEN Diantara

2. Kegiatan Praktikum :

Instalasi MySQL-5.0.22-WIN32 :

1. Jalankan file setup mysql, yaitu mysql-5.0.22-wi n32.exe, ma ka akan muncul dialog instalasi sebagai berikut :

(6)

3. Pilih Custom, ke mudian pilih to mbol Ne xt. Ke mud ian ta mpil d ialog fitur program sebagai berikut :

(7)

5. Ke mudian pilih tombol Change..., pada fol der name ubah menjad i sesuai dengan gambar berikut ini :

(8)

7. Berikutnya muncul dialog account, pilih Skip Sign-Up dan klik to mbol Next, ma ka a kan muncul dia log sebagai berikut :

(9)
(10)

10. Pilih tombol Next. Ke mud ian muncul ga mbar berikut ini. Masukkan password yang diinginkan pada kota isian New r oot passwor d dan Confir m berikut ini untuk sekuritas, misalnya 123456. Klik to mbol Next.

11. Klik to mbol Execute sebagai tahap akhir.

(11)

Melakukan Koneksi ke MySQL :

Cara 1 :

1. Melalui DOS Pro mpt, masuk ke direktori utama MySQL dengan cara sebagai berikut (yang diketik hanya yang digaris bawah) :

C:\>c d \ mysql\ bin

2. Setelah itu ketikkan perintah berikut (yang diket ik hanya yang digaris bawah) : C:\>mys ql\ bin\ mys ql –u r oot – p

ma ka a kan diminta untuk me masukkan passoword, isikan password yang digunakan pada saat instalasi, yaitu 123456.

3. Selanjutnya akan ada respon dari server seperti gambar berikut :

Tamp ilan tersebut di atas menandakan bahwa telah berhasil me laku kan koneksi ke server.

Cara 2 :

(12)

2. Masukkan password yang telah ditentukan pada saat instalasi, yaitu : 123456 ke mudian tekan enter.

Menuliskan perintah pada mys ql

Bentuk prompt “mysql>” adalah tempat menuliskan perintah-perintah MySQL. Setiap perintah SQL harus diakh iri dengan tanda titik-ko ma “;” .

Cara untuk me mbuat sebuah database baru adalah dengan perintah: create database namadatabase;

Misalkan anda ket ikkan :

create database modul1;

Untuk me mbuka sebuah database dapat menggunakan perintah berikut ini: use namadatabase;

Contoh:

use modul1;

Perintah untuk me mbuat tabel baru adalah: create table namatabel

(

struktur );

Constraint

Constraint adalah batasan atau aturan yang ada pada table. MySQL menyedia kan beberapa tipe constraint berikut : • NOT NULL

Suatu kolo m yang didefinisikan dengan constraint NOT NULL tidak boleh berisi

nila i NULL. Ko lo m yang befungsi sebagai kunci prime r (prima ry key) otomatis tidak boleh NULL.

• UNIQUE

(13)

• PRIMARY KEY

Constraint PRIMARY KEY me mbentuk key yang unik untuk suatu table. • FOREIGN KEY

FOREIGN KEY constraint didefin isikan pada suatu kolom yang ada pada suatu table, dimana kolo m tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMA RY KEY, biasa dipaka i untuk menghubungkan antara 2 tabel.

Contoh Pe mbuatan Tabel :

Misalkan kita ingin menyimpan data anggota yaitu: nomor, nama , e mail, a la mat, kota. Sedangkan strukturnya seperti tabel dibawah ini :

Perintah MySQL untuk me mbuat tabel seperti diatas bisa dengan 2 cara sbb :

cr eat e t able anggot a (

nomor int (6) not null pr imar y key,

nama char (40) not null,

(14)

Perintah-Perintah Dasar SQL A. Pe masukan data

Untuk me masukkan sebuah baris (record) keda la m tabel MySQL adalah sebagai berikut:

Contoh :

Insert into anggota (nomor,nama ,e ma il,ala mat,kota) values (100,’Adi’,’ad i@yahoo.com’,’Jl. Keputih 2A no 5’,’Surabaya’);

atau

Insert into anggota values (100,’Adi’,’ad i@yahoo.com’,’Jl. Keputih 2A no 5’, ’Surabaya’);

3. Tug as

1. Buatkan dengan perintah mysql database dengan nama perusahaan 2. Di dala m database perusahaan terdapat tabel karyawan, barang,

departemen dan produksi

3. Tentukan field na me masing-masing table 4. Tentukan primary key pada setiap tabel

INSERT INTO table [(column1,

column2,...])]

VALUES (value1, value2,...]);

(15)

MODUL II

MEMBUAT ER-DIAGRAM

Dasar Te ori

Apa yang dimaksud dengan model data?

Model data adalah sekumpulan cara / peralatan / tool untuk mendeskripsikan data-data, hubungannya satu sama la in, se mantiknya, serta batasan konsistensi.

Ada dua model data, yaitu : Entity Relationship Diagram (ERD) dan model relasional. Keduanya menyediakan cara untuk mendeskripsikan perancangan basis data pada peringkat logika.

· Model ERD atau Conceptual Data Model (CDM) : model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari ko leksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu.

· Model Relasional atau Physical Data Model (PDM) : model yang menggunakan sejumlah tabel untuk menggambarkan data serta hubungan antara data-data tersebut. Setiap tabel me mpunyai sejumlah ko lo m di mana setiap ko lo m me miliki na ma yang unik.

· Strong entity (entitas kuat) : entitas yang mandiri, yang keberadaannya tidak bergantung pada keberadaan entitas yang lainnya. Instansiasi entitas kuat selalu me miliki kara kteristik yang unik disebut identifier (sebuah Tujuan :

v Prakt ikan dapat me maha mi dan me mbuat ER-Diagra m

Tug as Pendahuluan

(16)

atribut tunggal atau gabungan atribut-atribut yang secara unik dapat digunakan untuk me mbedakannya dari entitas kuat yang lain ).

· Weak entity (entitas lemah) : entitas yang keberadaannya sangat bergantung pada keberadaan entitas yang lainnya. Entitas lemah tidak me miliki art i apa-apa dan tidak dikehendaki kehadirannya dala m diagra m ER tanpa kehadiran entitas di mana mere ka bergantung.

Entitas di mana entitas lemah bergantung dinamakan identifying owner. Entitas le mah tidak me miliki identifier sendiri. Secara u mu m, da la m diagra m ER entitas le mah me miliki atribut yang berperan sebagai partial identifier (identifier yang berfungsi secara sebagian).

Agregasi adalah suatu keadaan di mana suatu relasi hanya dapat direalisasikan setelah relasi yang lain ada terlebih dahulu. Re lasi yang bertipe agregasi tidak dimungkinkan ada jika re lasi yang men jadi prasyaratnya tidak terealisasi. Contoh:

Sesungguhnya agregasi dapat dipandang sebagaimana relasi pada umu mnya (yang menghubungkan 2 entitas). Karena relasi ini dibentuk dari re lasi la in (relasi prasyarat) yang secara kronologis lebih dulu terbentuk, maka pengimple mentasiannya juga harus dilakukan setelah relasi prasyarat tersebut terimp le mentasikan. Selan jutnya kita tinggal meninjau derajat re lasi dari relasi agregasinya.

Mengapa jika terdapat set entitas yang sama muncul beberapa kali da la m satu set ER-Diagra m in i harus dihindari?

· Untuk menghindari redundancy

· Menghemat penyimpanan (storage) data

· Mengurangi efekt ifitas dan kecepatan akses

· Untuk menghindari te rjad inya asinkronisasi data pada saat diupdate

perbedaan antara total constraint dan partial constraint!

· Total constraint adalah constraint yang mana data dalam entitas yang me miliki constraint tersebut terhubung secara penuh ke dalam entitas dari relasinya.

(17)

Re lasi satu :

· Entity 1 to entity 2 : kardina litas : one to many dengan detail minima l 0 dan maksima lnya banyak. Dependensi : entitas 1 dan entitas 2 tidak saling ketergantungan.

· Entity 2 to entity 1 : kardina litas : many to one dengan detail minima l 1 dan ma ksima lnya 1. Dependensi : entitas 1 dan entitas 2 t idak saling ketergantungan.

Re lasi dua :

· Entity 3 to entity 4 : kard inalitas : one to many dengan detail minimal 0 ma ksima lnya banyak. Dependensi : entitas 3 dan entitas 4 t idak saling ketergantungan.

· Entity 4 ke entity 3 : kard inalitas : many to one dengan detail minima l 1 ma ksima l 1. Dependensi : entitas 4 dan entitas 3 tidak saling ketergantungan.

Re lasi tiga

· Entity 5 to entity 6 dan Entity 6 to entity 5 : ka rdinalitas : one to one dengan detail minimal 0 maksimalnya 1. Dependensi : entitas 5 dan entitas 6 tidak saling ketergantungan.

(18)

· Entity 7 to entity 8 : ka rdinalitas : one to one dengan detail min ima l 0 ma ksima lnya 1. Dependensi : entitas 7 dan entitas 8 tidak saling ketergantungan.

· Entity 8 ke entity 7 : kard inalitas : one to one dengan detail minimal 1 ma ksima l 1. Dependensi : entitas 8 dan entitas 7 tidak saling ketergantungan.

Re lasi lima

· Entity 9 to entity 10 : ka rdinalitas : many to many dengan detail minimal 0 ma ksima lnya banyak. Dependensi : entitas 9 dan entitas 10 tidak saling ketergantungan.

· Entity 10 ke entity 9 : kard inalitas : many to many dengan detail minimal 1 maksimal banyak. Dependensi : entitas 10 dan entitas 9 tidak saling ketergantungan.

Re lasi tujuh

· Entity 13 to entity 14 : kardina litas : one to many dengan detail minima l 0 ma ksima lnya banyak. Dependensi : entitas 13 menjadi parent dari entitas 14.

· Entity14 ke entity 13 : ka rdinalitas : many to one dengan detail min ima l 1 ma ksima l 1. Dependensi : entitas 14 tergantung kepada entitas 13.

Perbedaan antara tahap 1NF dengan tahap BCNF :

(19)

· BCNF : tahap norma lisasi setelah 3NF , yang mana efe ktifitas telah mencapai maksimal, ke mungkinan terjad inya redundancy data dan duplikasi data lebih kec il daripada 1NF.

Tug as :

(20)

MODUL III

DDL I

Dasar Te ori

DDL atau Data Definition Language adalah bagian dari sql yang digunakan untuk mendefin isikan data dan objek database. Apabila perintah ini d igunakan, entri akan d ibuat ke da la m ka mus data dari SQL. Didala m kategori ini terdapat perintah-perintah sebagai berikut :

Perintah Keterangan

Create Tab le Membuat tabel Create Inde x Membuat inde x

Alter Table Mengubah atau menyisipkan kolo m ke dala m tabel Drop Table Menghapus tabel dari database

Drop Inde x Menghapus index

Grand Memberikan ijin akses kepada user Tujuan :

v Prakt ikan dapat me maha mi dan me mbuat database

v Prakt ikan dapat me maha mi dan me mbuat table dari database

v Mahasiswa ma mpu me mbuat script untuk pembuatan tabel dan mengupdate tabe

Tug as Pendahuluan

(21)

Praktikum

a. Me mbuat Database

Syntax : CREATE DATA BASE namadatabase;

namadatabase tidak boleh mengandung spasi dan tidak boleh me miliki na ma yang sama antar database.

Syntax ta mbahan : untuk mena mpilkan daftar nama database yang ada pada mysql menggunakan perintah :

SHOW DATA BASES;

b. Menghapus Database

Syntax : DROP DATABASE namadatabase;

Database yang akan dihapus sesuai dengan namadatabase. Berikut ini perintah untuk menghapus database dengan nama rental :

c. Me mbuat Tabel

Sebelu m me mbuat suatu tabel, terlebih dahulu harus me milih salah satu database sebagai database aktif yang akan digunakan untuk menyimpan tabel-tabel dengan menggunakan syntax : USE na madatabase; Syntax me mbuat table :

CREATE TA BLE namatabel (

Fie ld1 Tipe Data1, Fie ld2 Tipe Data2 );

namatabel tidak boleh mengandung spasi (space). Field1 dan TipeData1 me rupakan nama ko lo m pertama dan tipe data untuk kolo m perta ma. Jika ingin me mbuat tabel dengan kolom lebih dari satu, ma ka setelah pendefinisian tipe data sebelumnya diberikan tanda ko ma (,).

Syntax ta mbahan :

Untuk mena mp ilkan daftar nama tabel yang ada pada database yang sedang aktif/d igunakan (dala m ha l ini database rental) :

SHOW TABLES;

Untuk mena mpilkan deskripsi tabel (dala m hal ini jenisfilm) syntaxnya adalah : DESC na matabel;

d. Menghapus Tabel

Syntax : DROP TA BLE namatabel;

(22)

e. Mende finisikan null/not null Syntax :

CREATE TA BLE namatabel (

Fie ld1 Tipe Data1 NOT NULL, Fie ld2 Tipe Data2

);

Tug as :

1. Buatlah sebuah database sesuai dengan ER-Diagra m yang anda buat ( dari Power designer generate) script pe mbuatan tabelnya dengan perintah DDLke mudian beri na ma database sesuai dengan nama mahasiswa! 2. Buatlah tabel-tabelnya yang juga sesuai dengan ER-Diagra m yang anda

(23)

MODUL IV

DDL II

Dasar Te ori

Data Definition Language (DDL) digunakan untuk me mbuat dan menghancurkan database dan objek database. Perintah-perintah ini terutama a kan digunakan oleh database administrator sela ma fase setup dan penghapusan proyek database. Mari kita me lihat struktur dan penggunaan perintah DDL e mpat dasar: CREAT E

Instalasi sistem mana je men database (DBMS) pada komputer me mungkin kan Anda untuk me mbuat dan mengelola banyak database independen

US E

Perintah USE me mungkin kan Anda untuk menentukan database yang ingin bekerja dengan Anda dalam DBMS

Sangat penting untuk selalu sadar akan database Anda bekerja dala m sebelum mengeluarkan perintah SQL yang me man ipulasi data.

ALTER

Setelah Anda telah me mbuat tabel dala m database, Anda mungkin ingin me mod ifikasi definisi itu. The ALTER co mmand allows you to make changes to the structure of a table without deleting and recreating it. ALTER perintah yang me mungkinkan Anda untuk me mbuat perubahan pada struktur tabel tanpa menghapus dan menciptakan

Tujuan :

v Prakt ikan dapat me maha mi dan me mbuat database

v Prakt ikan dapat mengerti tentang Primary key

Tug as Pendahuluan

(24)

DROP

Perintah tera khir dari Data De finition Language, DROP, me mungkinkan kita untuk menghapus seluruh objek database dari DBMS. Gunakan perintah ini dengan hati-hati! Ingat bahwa perintah DROP menghapus data keseluruhan struktur dari database Anda. Jika Anda ingin menghapus catatan individu, gunakan perintah DELETE Manipulasi Data Bahasa.

Praktikum:

a. Mende finisikan Nilai Default

Nila i default adalah nilai yang otomatis diberikan oleh sistem untuk suatu kolo m ketika ada pena mbahan baris baru, sementara nila i pada ko lo m tersebut tidak diisi o leh pengguna. Syntax :

CREATE TA BLE namatabel (

Fie ld1 Tipe Data1,

Fie ld2 Tipe Data2 DEFA ULT n ila i );

nila i adalah n ila i defau lt dari ko lo m tersebut.

b. Mende finisikan Primary Ke y Pada Tabel

Terdapat tiga cara untuk mendefin isikan p rimary key. Berikut in i adalah Syntax mendefinisikan primary key untuk Field 1

CREATE TA BLE namatabel (

Fie ld1 Tipe Data1 NOT NULL PRIMA RY KEY, Fie ld2 Tipe Data2

); Atau

CREATE TA BLE namatabel (

Fie ld1 Tipe Data1, Fie ld2 Tipe Data2, PRIMARY KEY(Fie ld1) );

atau

ALTER TA BLE na matabel ADD CONSTRAINT na maconstraint PRIMA RY KEY (na ma kolo m);

(25)

c. Menghapus Primary Ke y Pada Tabel Perintah :

Cara 1 : Jika primary key dibuat dengan menggunakan alter table : ALTER TA BLE na matabel DROP CONSTRAINT namaconstraint; Cara 2 : Jika primary key dibuat mela lui create table :

ALTER TA BLE na matabel DROP PRIMA RY KEY;

d. Menambah Kolom B aru Pada Tabel

Syntax :

ALTER TA BLE namatabel ADD fieldbaru tipe;

namatabel adalah na ma tabel yang akan d ita mbah fieldnya. Fie ldbaru adalah nama ko lo m yang akan ditambahkan, tipe adalah tipe data dari kolo m yang akan dita mbahkan.

e. Mengubah Ti pe Data atau Le bar Kolom Pada Tabel

Perintah :

ALTER TA BLE namatabel MODIFY COLUMN field tipe

namatabel adalah na ma tabel yang akan diubah tipe data atau lebar ko lo mnya. Fie ld adalah ko lo m yang akan diubah tipe data atau lebarnya. Tipe adalah tipe data baru atau tipe data lama dengan lebar kolo m yang berbeda.

f. Mengubah Nama Kol om

Syntax :

ALTER TABLE namatabel CHANGE COLUM N namalamakolom namabarukolom tipedatanya;

namatabel adalah nama tabel yang akan diubah nama kolo mnya, nama la mako lo m adalah kolo m yang akan diganti na manya, na mabarukolo m adalah nama baru ko lo m, t ipedatanya adalah tipe data dari kolo m tersebut. Berikut ini perintah untuk mengubah nama ko lo m keterangan men jadi ket :

g. Menghapus Kolom Pada Tabel

Syntax :

ALTER TA BLE namatabel DROP COLUMN namak olom;

h. Mende finisikan Foreign Ke y Pada Tabel

Untuk mendefinisikan fore ign key, maka harus dipastikan bahwa tabel dan atribut yang dirujuk (tabel induk dari fore ign key) sudah didefinisikan terleb ih dahulu. Syntax :

(26)

(

Fie ld1 Tipe Data1, Fie ld2 Tipe Data2,

FOREIGN KEY (Fie ld2) REFERENCES namatabelinduk (namak olominduk)ON UPDATE CASCADE

ON DELETE NO ACTION )

atau

ALTER TA BLE namatabel ADD CONSTRAINT namaconstraint FOREIGN KEY (nama kolo m) REFERENCES namatabelinduk (namakolominduk) ON UPDATE CASCADE ON DELETE NO A CTION;

i. Menghapus Foreign Ke y

Perintah :

ALTER TA BLE namatabel DROP FOREIGN KEY namaconstraint;

Tug as :

1. Beri Prima ry key pada tiap tabel yang anda buat pada database 2. Tambahkan satu kolo m baru pada database yang anda buat

(27)

MODUL V

DML (DATA MANIPULATION LANGUAGE)

Dasar Te ori

DM L (Data Manipulation Language) adalah bahasa yang me mungkinkan pengguna mengakses atau me manipulasi data seperti yang diatur oleh model data. Manipulasi data adalah :

· Pengambilan informasi yang disimpan dala m basisdata

· Penempatan informasi baru dala m basisdata

· Penghapusan informasi dari basisdata

· Modifikasi informasi yang disimpan dala m basisdata

DM L (Data Manipulation Language) merupakan bahasa yang bertujuan me mudahkan pe maka i untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 jenis DM L, yaitu :

· Prosedural, yang mensyaratkan agar pe maka i menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya.

· Nonprosedural, yang me mbuat pe ma kai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.

Query adalah pernyataan yang me minta pengguna mengamb il info rmasi. Bag ian DM L yang terlibat dala m pengamb ilan informasi disebut bahasa query. Istilah bahasa query sering disamakan dengan istilah bahasa manipu lasi data. Sedangkan SQL adalah sebuah sintaks untuk mengeksekusi query.

Praktikum

Coba semua contoh operasi DM L d i bawah ini :

1. Pernyataan INS ERT INTO

Tujuan :

v Prakt ikan dapat me maha mi dan mengisi tabel dala m database

v Prakt ikan dapat me maha mi dan me man ipulasi data dala m database

Tug as Pendahuluan

v Apa yang anda ketahui tentang DML?

v Apa yang anda ketahui tentang perintah INSERT, UPDATE dan DELETE?

(28)

Pernyataan INSERT INTO digunakan untuk me masukkan data baru pada tabel.

Sintaks :

INSERT INTO na ma_tabel VA LUES (n ila i1, n ilai2, ...)

Urutan nilai yang diletakkan dala m tanda kurung disesuaikan dengan urutan kolom dala m tabel. A kan tetapi kita bisa menentukan kolo m-kolo m yang akan diisi dengan data baru, yaitu :

INSERT INTO na ma_tabel (ko lo m1, kolo m2, ...) VA LUES (n ila i1, n ilai2, ...)

Kolo m-ko lo m yang tidak disebutkan pada Insert secara otomatis akan diisi dengan Null dan ko lo m yang tidak d isebutkan dalam Insert haruslah yang tidak Not Null. Contoh :

Insert Into Mahasiswa

Values ('01012','Irwan','Jl.Beo 23','Bogor')

2. Pernyataan UPDATE

Pernyataan UPDATE digunakan untuk modifikasi data dala m tabel. Sintaks :

UPDATE na ma_tabel

SET na ma_ko lo m = nila i_baru WHERE na ma_kolo m = nilai Pada pernyataan diatas :

· SET untuk menentukan kolo m yang akan diubah dan nilai penggantinya.

· WHERE menentukan kondisi dari baris-baris yang akan diganti. Contoh :

Update Mahasiswa Set Nama ='Riri' Where NPM='01010'

3. Pernyataan DEL ETE

Pernyataan DELETE d igunakan untuk menghapus baris pada tabel. Sintaks :

DELETE FROM na ma_tabel WHERE na ma_kolo m = nilai Contoh :

Untuk menghapus baris pada tabel Mahasiswa yang nilai NPMnya adalah 01013, anda bisa me mberikan pernyataan seperti berikut :

Delete From Mahasiswa Where NPM =’01013’

(29)

DELETE FROM na ma_tabel Atau

DELETE * FROM na ma_tabel

4. Pernyataan S ELECT

Secara u mu m perintah SELECT hanya difungsikan untuk mena mpilkan data yang ada di dala m suatu tabel. Tetapi dala m pengembangannya, perintah ini a kan men jadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrogra man di stored procedures dan triggers. Sementara ini dala m basis data 1 yang kita bahas hanya pernyataan SELECT yang digunakan untuk me milih data dari tabel, yang mana hasilnya disimpan dala m tabel hasil yang disebut Result Set. Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel

Untuk me milih beberapa kolo m gunakan pernyataan SELECT sebagai berikut : SELECT na ma_ko lo m1, na ma_ko lo m2, ...

FROM na ma_tabel Contoh :

Select NPM, Nama From Mahasiswa

à Merupakan pernyataan untuk mena mpilkan kolo m NPM dan Na ma yang terdapat pada tabel Mahasiswa.

NPM Nama --- --- 01001 Rudi 01002 Iwan 01005 Wati 01006 Jihan 01007 Nova 01009 Budi

Untuk me milih se mua ko lo m dari tabel, dapat menuliskan tanda asterisk ( * ) sesudah kata Select. Simbol * bera rti se mua kolo m, seperti berikut :

SELECT * FROM na ma_tabel Contoh :

Select *

From Mahasiswa

(30)

Untuk me milih hanya nila i yang berbeda, gunakan pernyataan SELECT DISTINCT.

Sintaks :

SELECT DISTINCT na ma_ kolo m FROM na ma_tabel

4.2 Kl ausa WHER E

Klausa WHERE d igunakan untuk menentukan kriteria sele ksi. Untuk me milih data suatu tabel dengan kriteria tertentu, klausa WHERE dapat dita mbahkan pada pernyataan SELECT.

Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel

WHERE ko lo m operator nila i

Dengan klausa WHERE, operator berikut dapat digunakan :

Operator Keterangan

= Sa ma dengan

<> Tidak sa ma dengan > Lebih besar dari < Lebih kec il dari

>= Lebih besar atau sama dengan <= Lebih kec il atau sama dengan BETW EEN Antara dua nilai

LIKE Mencari suatu pola Contoh :

Select NPM, Nama From Mahasiswa Where NPM = ’01001’

Perlu d iperhatikan bahwa kita menggunakan tanda petik tunggal (‘ ‘) pada contoh diatas. SQL menggunakan tanda petik tunggal pada nilai teks, sedangkan nilai numerik tidak diberi tanda petik.

4.3 Kondisi LIKE

Kondisi LIKE digunakan untuk menentukan pencarian berdasarkan pola tertentu pada suatu kolom.

Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel

(31)

Tanda ” % ” dapat digunakan untuk menentukan Wildcard (sembarang huruf), ba ik sebelum maupun sesudah pola. Pernyataan SQL berikut a kan menghasilkan na ma mahasiswa yang dimula i dengan huruf A :

Select *

From Mahasiswa

Where Nama Depan LIKE ‘A%’

Pernyataan SQL berikut menghasilkan na ma mahasiswa yang diakhiri huruf a : Select *

From Mahasiswa

Where Nama Depan LIKE ‘%a’

Pernyataan SQL berikut menghasilkan nama mahasiswa yang mengandung pola “di”:

Select *

From Mahasiswa

Where Nama Depan LIKE ‘%di%’

Tug as :

Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing-masing perintah DM L berikut :

(32)

MODUL VI

DML (DATA MANIPULATION LANGUAGE)

Dasar Te ori

Perintah SELECT ada lah perintah untuk mena mpilkan data yang ada di dala m suatu tabel, yang mana dala m pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrogra man di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dala m modul V masih ada banyak perintah-perintah SELECT la in, antara la in perintah ALIAS, mena mpilkan data lebih dari 2 tabel, ORDER BY, A ND dan OR, GROUP BY dan HA VING, fungsi agregate, dan beberapa perintah yang lain. Praktikum

Coba semua contoh operasi DM L d i bawah ini :

1. ALIAS

Perintah Select dapat dilaku kan dengan me mberikan na ma ALIAS yaitu dapat digunakan untuk mengganti nama_ko lo m dan na ma_tabel.

1.1 Me mberikan nama lain pada kolom

Sintaks untuk alias nama kolo m :

SELECT na ma kolo mla ma A S na mako lo mbaru FROM na matabel;

Atau

SELECT na ma_ko lo m AS na ma_alias_kolom FROM na ma_tabel

Tujuan :

v Prakt ikan dapat memaha mi dan me man ipulasi data dalam database dengan lebih luas lagi.

Tug as Pendahuluan

v Sebutkan dan jelaskan maca m-maca m klausa maupun operator yang terdapat dalam perintah SELECT selain yang sudah disebutkan di modul sebelu mnya (modul V)!

(33)

Jika kita ingin me mbuat nama alias untuk kolo m Na ma Depan menjad i ND dan Na ma Bela kang menjad i NB, gunakan pernyataan SQL berikut :

SELECT Na ma Depan AS ND, Na ma Be la kang AS NB FROM Mahasiswa

1.2 Menggunakan alias untuk nama tabel

Sintaks untuk alias nama tabel :

SELECT n ma lias.jenis, n ma lias.harga FROM na matabel n ma lias;

Atau

SELECT na ma_ko lo m FROM na ma_tabel AS nama_a lias_tabel

Jika kita ingin me mbuat nama alias untuk Tabel Mahasiswa menjadi M HS, gunakan pernyataan SQL berikut :

SELECT *

FROM Mahasiswa AS MHS

2. Menampilkan data le bih dari dua tabel

Perintah Se lect juga dapat dila kukan untuk beberapa tabel sekaligus dengan syarat bahwa tabel-tabel yang akan ditampilkan semua me mpunyai relasi baik secara implisit maupun eksplisit.

Salah satu kunci utama dala m mela kukan perintah Select untuk beberapa tabel sekaligus adalah dengan melaku kan kondisi relasi antara tabel-tabel yang akan ditamp ilkan untuka fie ld yang saling berelasi. Se la in itu, juga perlu diperhatikan tentang tabel yang akan menjadi acuan pertama da la m penamp ilan data yang dimaksud. Sebagai contoh adalah jika kita ingin mena mpilkan data mahasiswa yang mengamb il jurusan, ma ka tabel acuannya adalah tabel mahasiswa.

Sintaks : SELECT *

FROM na matabel1, na matabel2, na matabel-n;

Misalkan dala m tabel Mahasiswa field -fieldnya terdiri dari NRP, Na ma Depan, Na ma Bela kang, Te mpat Lahir, TanggalLahir, Ala mat, dan KodeJurusan. Sedangkan di tabel Jurusan fie ld-fie ldnya adalah KodeJurusan dan Na maJurusan. Berikut ini perintah untuk mena mpilkan semua data pada tabel Mahasiswa dan Jurusan,

SELECT *

FROM Mahasiswa, Jurusan

(34)

Na ma Bela kang, Te mpat Lahir, TanggalLahir, Ala mat, Mahasiswa.KodeJurusan, Jurusan.KodeJurusan, dan NamaJurusan.

3. Kl ausa Or der B y

Klausa ORDER BY d igunakan untuk mengurutkan data. Jika kita ingin mena mp ilkan nama mahasiswa berdasarkan urutan abjad, pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa ORDER BY Na ma Depan

Jika kita ingin mena mp ilkan na ma mahasiswa dan kotanya berdasarkan urutan abjad, ma ka pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa

ORDER BY Na ma Depan, Kota

Jika kita ingin mena mpilkan na ma mahasiswa dengan urutan abjad terbalik, maka pernyataan SQL-nya adalah :

SELECT * FROM Mahasiswa

ORDER BY Na ma Depan DESC

Jika kita ingin mena mpilkan na ma mahasiswa berdasarkan urutan abjad terbalik dan nama kota berdasarkan urutan abjad, ma ka pernyataan SQL-nya adalah :

SELECT *

FROM Mahasiswa

ORDER BY Na ma Depan DESC, Kota ASC

4. Operator AND dan OR

AND dan OR menggabungkan dua atau lebih kondisi pada klausa WHERE.

· Operator AND mena mp ilkan data jika semua kondisi yang diminta bernila i benar.

· Operator OR mena mpilkan data jika ada kondisi yang benar.

Pernyataan SQL untuk mena mpilkan mahasiswa dengan nama depan Ita dan nama kota Yogyakarta adalah:

SELECT * FROM Mahasiswa

WHERE Na maDepan = ’Ita ’ AND Kota = ’Yogyakarta’

Pernyataan SQL untuk mena mpilkan mahasiswa dengan nama depan Ita atau kota Yogyaka rta adalah :

(35)

FROM Mahasiswa

WHERE Na maDepan = ’Ita ’ OR Kota = ’Yogyakarta’ Operator AND dan OR dapat digunakan secara bersamaan, yaitu :

SELECT * FROM Mahasiswa

WHERE (Na ma Depan = ‘Ita’ OR Kota = ‘Yogyakarta’) AND (Ala mat = ‘Jl. Jend. Sudirman 3’)

5. Kl ausa GROUP B Y dan HAVING

5.1 GROUP B Y

Hasil dari Select juga dapat dikelo mpokkan. Hal ini dapat dilakukan dengan mena mbahkan klausa GROUP BY.

Sintaks :

SELECT na ma_ko lo m, COUNT (na ma_ kolo m) FROM na ma_tabel

GROUP BY na ma_ kolo m

Jika kita ingin mena mpilkan na ma mahasiswa yang lahir di satu kota, gunakan pernyataan berikut :

SELECT Te mpat_ Lahir, COUNT (Te mpat_ Lahir) as Ju mlah FROM Mahasiswa

GROUP BY Te mpat_Lahir

5.2 HAVING

Klausa HA VING d isediakan untuk mendukung klausa GROUP BY. Kegunaannya adalah untuk menentukan kondisi bagi GROUP BY. Ke lo mpok yang me menuhi kondisi HA VING saja yang akan dihasilkan.

Sintaks :

SELECT na ma_ko lo m, COUNT (na ma_ kolo m) FROM na ma_tabel

GROUP BY na ma_ kolo m

HA VING COUNT (na ma_kolo m) kondisi nilai

Misalnya, pernyataan untuk mencari kota yang menjad i te mpat lahir oleh lebih dari satu mahasiswa adalah:

SELECT Te mpat_ Lahir, COUNT (Te mpat_ Lahir) AS Ju mlah FROM MAHASISWA

GROUP BY Te mpat_Lahir

HA VING COUNT (Te mpat_Lah ir) > 1

(36)

Fungsi aggregate me rupakan fungsi-fungsi yang digunakan untuk me la kukan perhitungan statistikal dala m tabel. Secara u mu m, hanya field yang bertipe nume rik (int, money dan sejenisnya) yang bisa dikenakan fungsi ini. SQL menyedia kan sejumlah fungsi yang dapat digunakan pada SELECT.

Fungsi Keterangan

AVG Menghitung rata-rata COUNT Menghitung cacah data MAX Mempero leh nilai terbesar MIN Mempero leh nilai terkec il SUM Mempero leh ju mlahan data

6.1 COUNT

Perintah yang digunakan untuk menghitung jumlah baris suatu kolom pada tabel. Pernyataan SQL untuk menghitung jumlah baris kolom Na maDepan pada tabel Mahasiswa adalah :

SELECT COUNT (Na maDepan) AS Ju mlahMahasiswa FROM Mahasiswa

6.2 SUM

Perintah yang digunakan untuk menghitung jumlah nila i suatu kolom pada tabel. Pernyataan SQL untuk menghitung jumlah nilai kolo m SKS pada tabel Matakuliah :

SELECT SUM (SKS) AS TotalSKS FROM Mataku liah

6.3 AVG

Perintah yang digunakan untuk menghitung rata-rata dari nila i suatu kolom pada tabel. Contoh : perintah untuk menghitung rata-rata dari kolo m SKS pada tabel Matakuliah :

SELECT A VG(SKS) AS RataSKS FROM Mataku liah

6.4 MIN

Perintah yang digunakan untuk mena mp ilkan nila i terkec il dari suatu kolom pada tabel. Contoh : perintah untuk mena mpilkan nilai terkecil dari kolo m SKS pada tabel Matakuliah :

SELECT M IN(SKS) AS Ju mlahMin imu m FROM Mataku liah

(37)

Perintah yang digunakan untuk mena mpilkan nila i terbesar dari suatu kolo m pada tabel. Contoh : perintah untuk mena mpilkan nilai terbesar dari kolo m SKS pada tabel Matakuliah :

SELECT MAX(SKS) AS Ju mlahMaksimu m FROM Mataku liah

7. Operator IN

Operator IN b isa digunakan jika kita mengetahui nila i pasti yang akan dia mbil untuk setidaknya satu kolom.

Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel WHERE na ma_kolo m IN (nila i1, nila i2, ...)

Untuk mena mpilkan mahasiswa dengan nama depan Hasan atau Adi, gunakan pernyataan SQL berikut :

SELECT * FROM Mahasiswa WHERE Na maDepan IN (’Hasan’, ’Adi’)

8. Operator B ETWEEN … AND

Operator BETW EEN … AND me milih data antara dua nila i. Nilai dapat berupa angka, teks, atau tanggal.

Sintaks :

SELECT na ma_ko lo m FROM na ma_tabel WHERE na ma_kolo m BETW EEN nila i1 AND nila i2

Untuk mena mpilkan Mahasiswa yang namanya diantara (dan termasuk) Adi dan Ita, gunakan perintah SQL berikut :

SELECT * FROM Mahasiswa WHERE Na maDepan BETW EEN ’Ad i’ A ND ’Ita’

Operator BETW EEN … AND diperlaku kan secara berbeda pada DBMS berbeda. Pada satu DBMS, data Mahasiswa yang dimunculkan adalah yang berada diantara Adi dan Ita, tetapi Adi dan Ita tidak dimunculkan. Pada DBMS lain, Mahasiswa yang dimunculkan termasuk Adi dan Ita. Ke mud ian, pada DBM S la innya, Adi dimunculkan, tetapi Ita tidak.

(38)

SELECT * FROM Mahasiswa WHERE Na maDepan

NOT BETW EEN ‘Adi’ AND ‘Ita’ Tug as :

Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing-masing perintah DM L berikut :

1. Buatlah perintah SQL untuk mena mp ilkan data yang berasal dari dua tabel dan tiga tabel.

2. Buatlah perintah SQL yang menggunakan klausa Order By, Group By, dan Having.

3. Buatlah perintah SQL yang menggunakan operator AND, OR, IN dan BETW EEN ... A ND.

(39)

MODUL VII

Evaluasi Praktikum I

Praktikum :

1. Imple mentasikan database anda pada Power Designer 2. Generate database anda pada MySql

3. Untuk selanjutnya Ikuti perintah yang diberikan o leh asisten praktiku m. Tujuan :

v Prakt ikan lebih me maha mi dan mengimp le mentasikan tentang ERD

v Prakt ikan lebih me maha mi dan mengimp le mentasikan tentang DDL dan DML

Tug as Pendahuluan

1. Buatlah ERD database

(40)

MODUL VIII

DML (DATA MANIPULATION LANGUAGE)

Dasar Te ori

Perintah SELECT ada lah perintah untuk mena mpilkan data yang ada di dala m suatu tabel, yang mana dala m pengembangannya perintah ini akan menjadi sebuah perintah yang sangat penting dan berpengaruh hingga saat pemrogra man di stored procedures dan triggers. Selain perintah-perintah SELECT yang dibahas dala m modul V dan VI, masih ada banyak perintah-perintah SELECT lain yang lebih luas lagi dala m penggunaan perintah SELECT.

Praktikum

Coba semua contoh operasi DM L d i bawah ini :

1. JOIN dan KUNCI

Terkadang kita harus me milih data dari dua tabel atau lebih untuk mendapatkan hasil yang komplit. Oleh karena itu, kita harus mela kukan sebuah JOIN. Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolo m-ko lo m yang berasal dari tabel-tabel tersebut. Pada join sederhana, tabel-tabel-tabel-tabel digabungkan dan didasarkan pada pencocokan antara kolo m pada tabel yang berbeda.

Tabel-tabel dala m sebuah basisdata dapat dihubungkan satu sama la in menggunakan kunci. Kunci utama ada lah sebuah kolo m dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antartabel tanpa mengulangi se mua data pada setiap tabel.

Tujuan :

v Prakt ikan dapat memaha mi dan me man ipulasi data dalam database dengan lebih luas lagi.

Tug as Pendahuluan

v Apa yang anda ketahui tentang JOIN, UNION, INTERSECT, EXCEPT, dan operator comparison ANY dan A LL?

(41)

Misalnya kita me milih data dari dua tabel (tabel Mahasiswa dan Jurusan) dengan mengacu pada kedua tabel sebagai berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA, JURUSAN

WHERE MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

Untuk mengetahui siapa yang mengamb il jurusan Teknik Informatika, gunakan pernyataan SQL berikut :

SELECT MAHASISWA.Na maDepan FROM MAHASISWA, JURUSAN

WHERE MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan AND JURUSAN.Na ma Jurusan = "Teknik In formatika"

Kita pun bisa menggunakan kata kunci JOIN untuk me milih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN.

1.1 INNER JOIN

Inner join digunakan untuk mena mpilkan data dari dua tabel yang berisi data sesuai dengan syarat di belakang on (tidak boleh null), dengan kata lain semua data dari tabel kiri mendapat pasangan data dari tabel sebelah kanan. Sintaks untuk INNER JOIN :

SELECT fie ld1, fie ld2, …

FROM tabel1 INNER JOIN tabel2

ON tabel1.kunci_uta ma = tabel2.kunci_asing

Misalnya, untuk mengetahui siapa yang telah mengambil jurusan dan jurusan apa yang diambil, kita dapat menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA INNER JOIN JURUSAN

ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

INNER JOIN a kan me munculkan semua baris kedua tabel jika ada pasangannya. Jika ada baris pada Tabel Mahasiswa yang tidak me miliki pasangan, maka baris tidak a kan dimunculkan pada Tabel Jurusan.

1.2 LEFT JOIN

Le ft join digunakan untuk mena mpilkan semua data dari tabel sebelah kiri perintah left join beserta pasangannya dari tabel sebelah kanan. Meskipun terdapat data dari sebelah kiri tida k me miliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

Sintaks untuk LEFT JOIN : SELECT fie ld1, fie ld2, … FROM tabel1 LEFT JOIN tabel2

(42)

Misalkan, kita ingin mena mpilkan semua mahasiswa dan jurusan yang diambil, jika ada. Kita dapat menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA LEFT JOIN JURUSAN

ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

LEFT JOIN akan me munculkan semua baris tabel perta ma (Mahasiswa), bahkan jika t idak ada pasangannya di tabel kedua (Jurusan). Jika ada baris pada tabel Mahasiswa yang tidak ada pasangannya pada tabel Jurusan, maka ia pun akan dimunculkan.

1.3 RIGHT JOIN

Right join digunakan untuk mena mpilkan semua data dari tabel sebelah kanan perintah right join beserta pasangannya dari tabel sebelah kiri. Meskipun terdapat data dari sebelah kanan tidak me miliki pasangan, tetap akan ditampilkan dengan pasangannya berupa nilai NULL.

Sintaks untuk RIGHT JOIN : SELECT fie ld1, fie ld2, …

FROM tabel1 RIGHT JOIN tabel2

ON tabel1.kunci_uta ma = tabel2.kunci_asing

Misalkan, kita ingin mena mpilkan semua na ma dari tabel Mahasiswa dan Jurusan yang diambil, jika ada. Kita dapat menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan, JURUSAN.Na ma Jurusan FROM MAHASISWA RIGHT JOIN JURUSAN

ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan

RIGHT JOIN a kan me munculkan semua baris tabel kedua (Jurusan), bahkan jika tidak ada pasangannya di tabel pertama (Mahasiswa). Jika ada baris pada tabel Jurusan yang tidak ada pasangannya pada tabel Mahasiswa, maka ia pun akan dimunculkan.

Untuk mengetahui siapa yang mengamb il jurusan Manajemen Info rmatika, kita menggunakan pernyataan berikut :

SELECT MAHASISWA.Na maDepan

FROM MAHASISWA INNER JOIN JURUSAN

ON MAHASISWA.KodeJurusan = JURUSAN.KodeJurusan WHERE JURUSAN.Na maJurusan = ‘Manaje men Informatika’

2. UNION dan UNION ALL

2.1 UNION

(43)

Sintaks :

Pernyataan 1 UNION Pernyataan 2

Misalkan, kita me mpunyai tabel baru bernama Mahasiswa2 dimana field -fieldnya adalah sama dengan field di tabel Mahasiswa yaitu NRP, Na ma Depan, Na ma Bela kang, Te mpatLah ir, TanggalLahir, dan Ala mat. Maka untuk mena mp ilkan semua Mahasiswa pada tabel Mahasiswa dan Mahasiswa2, gunakan pernyataan berikut :

SELECT Na ma Depan FROM MA HASISWA UNION

SELECT Na ma Depan FROM MA HASISWA2

Perintah tidak dapat digunakan untuk mena mpilkan semua mahasiswa pada tabel Mahasiswa dan Mahasiswa2. Pada contoh, kita me mpunyai dua mahasiswa dengan nama sama (yaitu Hasan Martono) dan dua mahasiswa dengan nama depan sama (yaitu Kiki), ma ka hanya satu yang dimunculkan ka rena perintah UNION hanya me milih nila i unik.

2.2 UNION ALL

Perintah UNION ALL sama dengan perintah UNION, kecua li bahwa UNION ALL me milih se mua nilai.

Sintaks :

Pernyataan 1 UNION A LL Pernyataan 2

Dengan menggunakan tabel Mahasiswa dan Mahasiswa2, kita dapat menggunakan pernyataan berikut untuk mena mpilkan semua mahasiswa dari dua tabel :

SELECT Na ma Depan FROM MA HASISWA UNION A LL

SELECT Na ma Depan FROM MA HASISWA2

3. Pernyataan S ELECT INTO

Pernyataan SELECT INTO digunakan untuk me mbuat backup suatu tabel. Sintaks :

SELECT na ma_ko lo m INTO na ma_tabel_baru IN basisdata_baru FROM Su mber

Contoh berikut adalah me mbuat backup Tabel Mahasiswa. SELECT * INTO Mahasiswa_Bac kup

FROM Mahasiswa

(44)

Jika hanya ingin menyalin beberapa fie ld, kita dapat me laku kannya dengan menuliskan fie ld-field setelah pernyataan SELECT.

SELECT Na ma Depan, Na ma Be la kang INTO Mahasiswa_Backup FROM Mahasiswa

Kita dapat pula mena mbahkan klausa WHERE.

Contoh berikut adalah me mbuat tabel Mahasiswa_Backup dengan dua kolom (Na ma Depan, Na ma Be la kang) dengan me milih Mahasiswa yang tempat lahirnya di Yogyakarta dari tabel Mahasiswa.

SELECT Na ma Depan, Na ma Be la kang INTO Mahasiswa_Backup FROM Mahasiswa

WHERE Te mpat_Lah ir = ‘Yogyakarta’ Kita pun dapat me milih data lebih dari satu tabel.

Contoh berikut adalah me mbuat tabel baru Mahasiswa_Jurusan_Backup yang mengandung data dua tabel, Mahasiswa dan Jurusan.

SELECT Mahasiswa.Na ma Depan, Jurusan.Na maJurusan INTO Mahasiswa_Jurusan_Backup

FROM Mahasiswa INNER JOIN Jurusan

ON Mahasiswa.KodeJurusan = Jurusan.KodeJurusan

4. Operator comparison ANY dan ALL

4.1 Operator ANY

Operator ANY digunakan berkaitan dengan subquery. Operator ini menghasilkan TRUE (benar) jika paling tidak salah satu perbandingan dengan hasil subquery menghasilkan nilai TRUE. Ilustrasinya :

Gaji > ANY (S)

Jika subquery S menghasilkan G1, G2, ..., Gn , ma ka kondisi di atas identik dengan: (gaji > G1) OR (gaji > G2) OR ... OR (gaji > Gn )

Misalkan perintah untuk mena mpilkan semua data SKS yang ju mlahnya bukan yang terkecil :

SELECT * FROM Mataku liah

WHERE SKS > A NY (SELECT SKS FROM Mataku liah)

4.2 Operator ALL

Operator ALL digunakan untuk me laku kan perbandingan dengan subquery. Kondisi dengan ALL menghasilkan n ila i TRUE (benar) jika subquery tidak menghasilkan apapun atau jika perbandingan menghasilkan TRUE untuk setiap nila i query terhadap hasil subquery.

Misalkan perintah untuk mena mpilkan data SKS yang ju mlahnya paling tinggi : SELECT * FROM Mataku liah

(45)

5. UNION, INTERS ECT dan EXCEPT

5.1 UNION

UNION me rupakan operator yang digunakan untuk menggabungkan hasil query, dengan ketentuan jumlah, na ma dan tipe ko lo m dari masing-masing tabel yang akan ditamp ilkan datanya harus sama.

Berikut ini perintah untuk me mperoleh data pada tabel Mahasiswa dimana te mpat lahirnya Yogyaka rta dan Surabaya :

SELECT Na ma Depan, Te mpat_Lahir FROM Mahasiswa

WHERE Te mpat_Lah ir = " Yogyakarta" UNION

SELECT Na ma Depan, Te mpat_Lahir FROM Mahasiswa

WHERE Te mpat_Lah ir = "Surabaya"; Perintah di atas identik dengan :

SELECT Na ma Depan, Te mpat_Lahir FROM Mahasiswa

WHERE Te mpat_Lah ir = “ Yogyaka rta” OR Te mpat_Lahir = “Surabaya” Na mun tidak se mua penggabungan dapat dilakukan dengan OR, ya itu jika beke rja pada dua tabel atau lebih.

5.2 INTERS ECT

INTERSECT merupakan operator yang digunakan untuk mempe roleh data dari dua buah query dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan ketentuan jumlah, na ma dan tipe kolom dari masing-masing tabel yang akan ditamp ilkan datanya harus sama.

Syntax :

SELECT * FROM na matabel1 INTERSECT

SELECT * FROM na matabel2

Pada MySQL t idak terdapat operator INTERSECT na mun sebagai gantinya dapat menggunakan operator IN yang bisa diperdala m di bagian Nested Queries.

5.3 EXCEPT / Set Difference

EXCEPT merupakan operator yang digunakan untuk me mpe roleh data dari dua buah query dimana data yang ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada data dari hasil query 2 dengan ketentuan jumlah, nama dan tipe kolo m dari masing-masing tabel yang akan ditampilkan datanya harus sama.

Syntax :

(46)

SELECT * FROM na matabel2

Pada MySQL t idak terdapat operator EXCEPT na mun sebagai gantinya dapat menggunakan operator NOT IN yang bisa diperdala m di bagian Nested Queries. Tug as :

Dari topik pembuatan aplikasi basis data yang telah anda buat, buatlah masing-masing perintah DM L berikut :

5. Buatlah perintah SQL untuk mena mp ilkan data yang berasal dari dua tabel dan tiga tabel dengan menggunakan perintah JOIN.

6. Buatlah perintah SQL yang menggunakan UNION, INTERSECT, dan EXCEPT.

(47)

MODUL 9

NORMALISASI DATA

1.

Dasar Te ori

1.1. Nor malisasi

Norma lisasi merupakan cara pendekatan dalam me mbangun desain logika basis data relasional yang tidak secara langsung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan kriteria standar untuk meghasilkan struktur tabel yang normal. Pada dasarnya desain logika basis data relasional dapat menggunakan prinsip norma lisasi maupun transformasi dari model ER ke bentuk fisik.

Pada pembahasan tentang norma lisasi data, digunakan istilah baru yang disebut dengan functinal dependencies atau ketergantungan fungsional.

Tujuan :

Mampu me mbangun desain logika basis data relasional untuk menghasilkan struktur tabel yang norma l.

PrePraktikum

1. Apakah yang anda ketahui tentang norma lisasi? 2. Mengapa suatu tabel perlu dinorma lisasikan?

3. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Apa yang disebut dengan bentuk norma l?

(48)

1.2. Ke tergantungan Fungsional (Func tional De pe ndencies)

Functional Dependency menggambarkan hubungan attributes dalam

sebuah relasi. Suatu atribut dikatakan functionally dependant pada yang lain jika kita menggunakan harga atribut tersebut untuk menentukan harga atribut yang lain. Simbo l yang digunakan adalah à untuk me wakili functional dependency (à dibaca secara fungsional menentukan).

Notasi: A à B

A dan B adalah atribut dari sebuah tabel. Be rart i secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama. Diberikan 2 baris r1 dan r2 da la m tabel T d imana AàB

Jika r1(A)=r2(A), maka r1(B) = r2(B)

Dimisalkan re lasi n ila i_ mhs me miliki e mpat buah atribut/fie ld yaitu nama_ku l, n im, na ma_ mhs dan nila i. Ma ka ketergantungan fungsional pada relasi tersebut adalah:

a. nim à na ma_ mhs

yang artinya bahwa atribut nama_mhs hanya tergantung pada atribut nim. Hal in i dibukt ikan dari fa kta: untuk setiap nila i n im yang sama , ma ka pasti nila i na ma_ mhs nya juga sama.

b. nama_ku l, n im à nilai

yang berarti bahwa atribut nilai tergantung pada atribut nama_kull dan nim secara bersama-sa ma. Untuk ketergantungan fungsional seperti ini sesuai dengan pengertian bahwa setiap nilai diperuntukkan pada mahasiswa tertentu untuk mataku liah tertentu yang diamb il. Da la m arti lain untuk na ma_kul dan nim yang sama, ma ka nila i juga sama , ka rena nama_ku l dan nim merupakan key (bersifat unik).

(49)

Adalah kebalikan dari notasi sebelumnya, dengan hanya melihat fa kta yang ada, yaitu:

a. nama_ku l non à nim

yang artinya atribut nim tida k tergantung pada atribut nama_ku l. b. nim nonà nilai

yang artinya atribut nilai t idak hanya tergantung pada atribut nim, karena tergantung pula pada atribut nama_ku l yaitu na ma ku liah yang dia mbil oleh n im.

1.3. Bentuk-Bentuk Nor malisasi

Bentuk-bentuk normal dapat dimanfaatkan untuk me mpero leh tabel dan basis data yang lebih baik.

1.3.1. Bentuk Nor mal Pertama (1NF)

Suatu tabel dikatakan dala m bentuk norma l perta ma hanya ka lau setiap kolo m bernila i tunggal untuk setiap baris. Sehingga tidak diperbo leh adanya :

Atribut yang bernilai banyak (Multivalued attribut). Attribut komposit atau ko mbinasi dari keduanya.

Berikut ini akan d icontohkan normalisasi dari tabel ku liah yang me miliki atribut:

Kode_kul Na ma_ku l Sks Smstr Waktu Ruang Na ma_do

C1234 Matematika 1 2 1 1 RKB-3 Devie

C1243 Riset Operasi 2 5 1 RKB-1 Rosa

C1342 ADSI 2 3 2 RKB-3 Anamisa

(50)

tersebut dapat me menuhi 1NF, ma ka solusinya adalah mendeko mposisi tabel kuliah menjad i:

1. Tabel Ku liah

Kode_kul Na ma_ku l Sks Smstr Na ma_dosen

C1234 Matematika 1 2 1 Devie

C1243 Riset Operasi 2 5 Rosa

C1342 ADSI 2 3 Anamisa

2. Tabel Jadwa l

Kode_kul Waktu Ruang

C1234 1 RKB-3

C1243 1 RKB-1

C1342 2 RKB-3

1.3.2. Bentuk Nor mal Ke dua (2 NF)

Suatu tabel disebut dalam bentuk normal kedua, jika :

1.

Tabel berada dala m bentuk norma l perta ma

2.

Se mua ko lo m yang bukan primary key tergantung sepenuhnya terhadap prima ry key

3.

Disebut tergantung sepenuhnya terhadap prima ry key jika suatu kolom selalu bernilai sama untuk nila i prima ry key yang sama.

Sebuah tabel dikatakan tida k me menuhi 2NF, jika ketrgantungan hanya bersifat parsial (hanya tergantung pada sebagian dari primary key). Bentuk norma l kedua akan dicontohkan pada tabel nilai berikut ini:

Kode_kul Nim Nila i

C1234 7402030007 A

(51)

C1342 7402030009 B

Jika pada tabel nilai, misalnya kita ta mbahkan sebuah atribut yang bersifat redudan yaitu nama_ mhs, ma ka tabel n ila i ini dianggap me langgar 2NF.

Primary key pada tabel nilai adalah [kode_kul, nim]. Pena mbahan atribut baru (nama_ mhs) a kan menyebabkan adanya ketergantungan fungsional yang baru yaitu nimàna ma_ mhs. Karena atribut nama_ mhs ini hanya me miliki ketergantungan parsial pada prima ry key secara utuh (hanya tergantung pada nim, padahal nim hanya bagian dari prima ry key). Bentuk norma l kedua ini dianggap belum me madai karena meninjau sifat ketergantungan atribut terhadap prima ry key saja.

1.3.3. Bentuk Nor mal Ke tiga (3 NF)

Suatu tabel dikatakan dala m bentuk norma l ketiga, jika : 1. Berada dala m bentuk normal kedua

2. Setiap ko lo m bukan prima ry key t idak me miliki ketergantung transitif terhadap prima ry key

Suatu kolo m Z me miliki ketergantungan transitif terhadap kolo m X, jika : 1. Y me miliki ketergantungan fungsional terhadap X, dan

2. Z me miliki ketergantungan fungsional terhadap Y

Misalkan pada tabel Mahasiswa, atribut alamat_ mhs dipecah ke dalam ala mat_ja lan, ala mat_kota dan kode_pos. Bentuk ini tidak me menuhi 3NF karena terdapat ketergantungan fungsional baru yang muncul pada tabel tersebut yaitu:

ala mat_ja lan nama_ kota à kode_pos

(52)

telah me menuhi 3NF. Hal ini dapat dibuktikan dengan me meriksa dua ketergantungan fungsional pada tabel ala mat tersebut, yaitu:

ala mat_ja lan nama_ kota à kode_pos kode_pos à nama_kota

1.4. Bentuk Nor mal Tahap Kee mpat dan Kelima

Penerapan aturan norma lisasi sampai bentuk normal ketiga sudah me madai untuk menghasilkan tabel berkualitas baik. Na mun de mikian, terdapat pula bentuk norma l kee mpat (4NF) dan ke lima (5NF). Bentuk Normal Kee mpat berka itan dengan sifat ketergantungan banyak nila i (mult ivalued dependency) pada suatu tabel merupakan pengembangan dari ketergantungan fungsional. Sedangkan bentuk normal tahap kelima merupakan na ma la in dari Project Jo in Normal Form (PJNF).

1.5. Boyce Codd Nor mal For m (BCNF)

Bentuk norma l ketiga 3NF dapat dikatakan BCNF karena sudah cukup me madai untuk menghasilkan tabel-tabel yang berkualitas baik. Sebuah tabel dikatakan baik (efisien) atau norma l jika me menuhi 3 kriteria sbb:

1. Jika ada deko mposisi (penguraian) tabel, maka de ko mposisinya harus dija min a man (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / dideko mposisi men jadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel se mula dengan sama persis.

2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).

3. Tidak melanggar Boyce-Code Norma l Form (BCNF).

(53)

Re lasi R dengan ketergantungan fungsional F termasuk dala m bentuk BCNF jika untuk semua X à A yang ada dalam F. Dengan kata la in, R berada dala m BCNF jika ketergantungan fungsional non-trivia l pada R me miliki key constraint.

2.

Kegiatan Pr aktikum

1. Terdapat suatu bentuk tabel informasi seperti berikut in i :

Tabel 9.1. Informasi Buku

ISBN Judul Hala man Topik

979-533-791-2

Basisdata 60 Data De fin ition Language Data Manipulation Language

Data Control Language

978-532-792-3

Matematika 90 Probabilitas

Permutasi dan Ko mbinasi

977-534-793-4

PHP 90 Pe mrogra man

Internet

Bagaimana bentuk tabel-tabel yang menyimpan data pada

informasi tersebut dengan menggunakan normalisasi untuk

verifikasi tabel?

2.

Terdapat suatu bentuk tabel informasi seperti beikut ini: Tabel 9.2. In formasi mahasiswa

no_mhs nama mata kuliah nip dosen Nila i 11879 Ali Basis data

Fisika I 32000011 32000012 Devie Rosa A A 11897 Sit i Basis data

(54)

Pascal 16785 Anamisa A 11898 Ed i Fisika I 32000011 Devie A Bagaimana bentuk tabel-tabel yang menyimpan data pada informasi tersebut dengan menggunakan normalisasi untuk verifikasi tabel? 1. Tugas tambahan (ditentukan oleh asisten praktiku m)!

3.

Tug as Akhir

Dari kasus ke-I dan ke-II pada kegiatan prakt iku m ma ka bagaimana solusi pemecahan tabel yang didapatkan?

Kasus I: T= ---

Pe rmasalahan : --- So lusi pe mecahan tabel :

I. Tabel --- II. Tabel --- III. Tabel --- Kasus II: T= ---

Permasalahan : --- Solusi pe mecahan tabel :

IV. Tabel --- V. Tabel --- VI. Tabel ---

(55)

Modul 10

VIEW 1

1. Te ori

Vie w

Vie w adalah query SELECT yang disimpan dala m database untuk mena mpilkan data dari satu atau beberapa table. Vie w juga disebut sebagai table virtual yang digunakan untuk me mbungkus suatu query SELECT yang ko mp leks menjad i lebih sederhana. Data-data yang termasuk kategori rahasia dapat dia mankan dengan menggunakan view.

Kegunaan view antara la in:

1. Fokus pada data atau tabel tertentu 2. Penyederhanaan manipulasi data

3. Menyesuaikan data dengan kebutuhan user 4. Expo rt dan impor data

5. Mengkombinasikan data terpartisi Tujuan :

Membuat View untuk mena mpilkan data dari satu atau beberapa table dengan me mbungkus suatu query SELECT yang ko mple ks menjadi lebih sederhana.

Tug as Pendahuluan

1. Apa yang anda ketahui tentang view?

2. Sebutkan langkah-langkah apa saja yang harus dilakukan apabila kita akan me mbuat suatu view ! (buatkan dengan contoh table)

3. Apa saja kegunaan view dala m table , jelaskan dengan contohnya.!

Syntax

(56)

Sebelu m query SELECT yang akan disimpan ke dala m vie w. Pena maan vie w me miliki aturan yang sama dengan penamaan table. Na ma v iew ha rus unik art inya nama v iew t idak d iperkenankan sama dengan nama v iew yang sudah ada

sebelumnya.

Pesan di atas akan tampil jika terjad i pe mbuatan view dengan menggunakan nama yang sama dengan nama vie w yang la in.

Na ma kolo m dari base table bisa diubah menjadi na ma lain saat disimpan ke dala m view dengan menggunakan COLUMN A LIAS

2. Kegiatan Praktikum

Buat tabel-tabel berikut ini :

1. Tabe l Art ike l dengan struktur

(57)

3. Tabe l Materi dengan struktur

4. Insert data pada masing-masing tabel

5. Tamp ilkan data judulart ikel, author dan tanggal dari tabel art ike l

6. Buat View dengan nama V_a rtikel1 untuk mena mp ilkan data pada soal no 5

7. Tamp ilkan se mua data pada tabel v_artikel1

(58)

Jadi bisa anda lihat bahwa pada soal nomor 5 dan 7 me mpunyai hasil yang sama, sehingga dapat di simpulkan bahwa vie w dapat mena mpilkan ke mbali data yang sama dengan lebih sederhana, dapat digunakan untuk mengerja kan query yang tidak mungkin diselesaikan dengan cara biasa, vie w dapat digunakan untuk menyimpan data rahasia karena tida k muncul pada database awal.

8. Buatkan view artike l2 untuk mena mp ilkan judulart ikel, author dan tanggal, id yang me mpunyai bidang pemogra man dan analisa sistem

9. Buatkan view guest1 untuk mena mpilkan semua data yang namanya diawali dengan ”ahmad”, ke mudian ganti na maauthor menjadi pengarang.

10. Buatkan vie w guest2 untuk mena mpilkan se mua data yang namanya ke mud ian ganti namaauthor menjadi pengarang.

11. Buatkan view materi untuk menamp ilkan semua data yang namanya kemudian ganti namaauthor menjadi pengarang.

3. Tugas :

1. Dari pra ktiku m d iatas, berikan kesimpulannya.

2. Buat table film dan jenis film dengan tampilan sebagai berikut jika hasilnya diselect :

3. Isi tabel jenisfilm :

4. Isi tabel film :

(59)

6. Buat perintah vie w untuk :

a. Mengurutkan data film berdasarkan ko lo m judul, gunakan order by dan simpan dengan v_film1

b. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tidak tercantum pada tabel film, gunakan NOT IN / not e xist dan simpan dengan nama v_film2

c. Menampilkan data pada tabel jenisfilm yang mana data pada kolom jenis-nya tercantum pada tabel film menggunakan IN / e xist dan simpan dengan nama v_film3

d. Manampilkan kolo m jenis dan digabungkan dengan SUM(jml_film) yang dikelo mpokkan berdasarkan ko lo m jenis pada tabel film dan simpan dengan nama v_film4

(60)

MODUL 11

View 2

I. Teori

1.1 Vie w

Vie w da la m sql juga me rupakan suatu table yang diturunkan dari table yang lain. Tab le ini b ias berupa table dasar dari yang didefinisikan sebelumnya.suatu view yang tidak perlu dalam bentuk fisiknya, bias berupa table bayangan (virtual table ), sehingga table dasar yang me mpunyai tupel-tupel pada dasarnya tersimpan dala m database. Pembatasan ini me mungkinkan untuk mengupdate operasi yang bias digunakan dalam vie w, tetapi tidak me mbatasi dala m vie w queri.

Tujuan :

Membuat View untuk mena mpilkan data dari satu atau beberapa table dengan me mbungkus suatu query SELECT yang ko mple ks men jadi lebih sederhana.

Tug as Pendahuluan

1. Apa saja keuntungan dan kerugian menggunakan view 2. Mengapa Vie w lebih optima l pe ma kaiannya dibanding

perintah select, jelaskan

(61)

1.2. Menghapus Vie w

Queri yang sama juga bias didapatkan dengan menentukan dua hubungan yang telah ada dalam relasi dasarnya, keuntungan utama view tersebut adalah untuk menyederhanakan ketentuan tentang queri yang diperlukan, dan juga bias digunakan untuk perangkat keamanan data.

Suatu view dari queri selalu mena mpilkan data yang terbaru, sebagai contoh bila kita me modifikasi sebagaian tupel dalam table dasarnya dimana view tersebut didefinisikan, maka secara otomatis akan berpengaruh pada view di queri

Jika tidak me mbutuhkan penampakan queri lag i, kita bisa menggunakan perintah DROP VIEW untuk menghapusnya.

syntax :

DROP VIEW (na ma vie w)

1.3. Mengupdate vie w dan Imple mentasi vie w

Mengupdate view merupakan suatu hal yang komp leks. Secara u mu m suatu update dari suatu view didefin isikan pada suatu table tunggal tanpa fungsi-fungsi pendukung (aggregate) yang bias dimapping kedala m suatu table dasar pembentuknya dengan berbagai cara. Topic tentang update view in i masih terus diuji coba. Untuk mengga mbarkan masalah yang potensial dengan mengupdate view yang telah didefin isikan dala m beberapa table, misal table Work_ ON1 dan mendukung perintah untuk mengupdate attribute pname dari ‘john smith’ dan dari ‘productX’ ke ‘productY’. View in i ditunju kkan sebagai berikut :

Update work_on1 Set pname =’product Y’

(62)

Secara u mu m kita tidak dapat men ja min bahwa setiap tamp ilan b isa diupdate. Suatu tampilan yang diupdate hanya me mungkinkan untuk satu kali update pada relasi dasarnya yang dapat menghubungkan update tersebut pada tampilannya. Sebagai kesimpulan dapat ditentukan :

· Suatu tampilan dengan definisi tunggal itu dapat diupdate bila attribute tampilan berisi prima ry key atau beberapa candidate key dari relasi dasar, sebab inilah yang menghubungkan antara view tupel dengan tupel dasar tunggal.

· Tamp ilanm yang didefin isikan dengan menggunakan beberapa table yang berhubungan umumnya tidak dapat diupdate

· Tamp ilan yang menggunakan group dan fungsi aggregate tidak dapat diupdate

2. Kegiatn praktikum

1. Buat table golongan, jabatan dan pegawai dengan data sebagai berikut : Tabel golongan :

Table jabatan

(63)

2. Buat view dengan nama latihanview1 untuk mena mpilkan seluruh data pegawai yang jabatannya sebagai staff

3. Buat view dengan nama latihanview2 untuk mena mpilkan seluruh data pegawai yang dua digit pertama nipnya di a wali dengan angka 03

4. Buat view dengan nama lat ihanview3 untuk mena mp ilkan data nip, nama dan golongan pegawai serta tunjangan golongan yang didapat (gunakan select mult iple tab le)

5. Buat view dengan nama latihanview4 untuk mena mpilkan seluruh data pegawai beserta gaji total yang diperolehnya. Gaji total me rupakan hasil perhitungan dari gaji pokok d i

Gambar

Tabel 8.1.3.b Operator Pembanding MYSQL
Tabel 8.1.3.e Operator lain-lain
tabel tersebut. Pada join sederhana, tabel-tabel digabungkan dan didasarkan pada
Tabel kuliah tersebut tidak memenuhi normalisasi pertama, karena terdapat
+4

Referensi

Dokumen terkait

Hipotesis yang diajukan: ada tingkat dosis Iso p ro p ila mina g lifo sa t yang efektif untuk mengendalikan gulma pada lahan pertanaman karet TBM, ada pengaruh selang

bahwa dalam rangka meningkatkan daya guna dan hasil guna serta kesejahteraan Anggota Tentara Nasional Indonesia, perlu mengubah gaji pokok Anggota Tentara Nasional

2) Guru bersama dengan peserta didik mengidentifikasi kelebihan dan kekurangan kegiatan pembelajaran (yaitu kegiatan mengumpulkan informasi dengan cara …, menjawab pertanyaan

Schlegel), ular irus ( Naja sputatrix F. Boie), ular siloro ( Boiga dendrophylla Boie), ular lajing ( Chrysopelea paradise Boie), ular jali ( Bungarus candidus Linnaeus),

Kualitas aktiva produktif adalah kekayaan koperasi yang mendatangkan penghasilan bagi koperasi yang bersangkutan. Aktiva produktif yang diklasifikasikan

Berdasarkan hasil penelitian dan setelah dilakukan tabulasi data maka diperoleh nilai indeks kepuasan masyarakat per unsur pelayanan pada Puskesmas Kalicacing Kota

Dari uraian di atas sangat jelas bahwa Pemda DKI Jakarta sudah dan akan terus melakukan upaya pembangunan angkutan massal.Persoalannya adalah dana dan waktu.Kesiapan angkutan

11) mekanisme penanganan dalam hal terjadi kegagalan dalam memenuhi kewajiban... Dalam hal terjadi perubahan jenis Akad Syariah, isi Akad Syariah, kegiatan usaha dan/ atau aset