P. 1
Mysql

Mysql

|Views: 104|Likes:
Dipublikasikan oleh Haridasyah Sofiyan Hotagawa

More info:

Published by: Haridasyah Sofiyan Hotagawa on May 11, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

01/10/2014

pdf

text

original

LorJ%

G*Y*

IKUM
!g*J\; E'j\

'#lY

PROGRAM STUDI TEKNIK INFORMATIKA UNIVERSITAS INDRAPRASTA PGRI

'ii tl
tll

t. PENGENALANSQL. I"ANGUAGE.. 3. DATA MANIPUI,ATION I"ANGUAGE.. 4. FUNGSI AGREGAT 5. FUNGSI TAI{GGAI 6. FUNGSI STRING 7. DATASASE REI"ATION
2.
DATA DEFINITION

.......... 5

......7 ......I5
.....2g .....25

.........3I
......35 .....43 .....47 ....49 ....55

..... 9. RELAST Ar{TAR 3 TABET (..WHERE..) .
REI"AST

8.

AIffAR

2

TASEI (WHERE)

lo.REr,ASr ArffAR TABEr I I.I'NION, II{ITERSECT,

oOrN)

EXCEPT

;bl

SEJARAH SQL
Sejak kapan SQL mulai diperkenalkan ke khalayak umum sebagai bahasa standar database?

Pada tahun 1970, seiring dengan perkembangan database yang kian kompleks. E.F. Cold memperkenalkan database relasional dalam sebuah artikel yang berjudul "A Relational Model of data for large shared data bank". Dari sinilah lahir suatu konsep dasar untuk mengembangkan
database atau basis data.

Jadi pada tahun 1979-lah awal mula lahirnya SQL, yaitu dimulai dari Codd yang
memperkenalkan idenya tersebut dalam konsep yang lebih nyata, kemudian dikembangkan menjadi sebuah database relasional, yang salah satunya dari bahasa database relasional tersebut adalah SQL. Kelahiran SQL juga tidak terlepas dengan sebuah proyek IBM yang dikenal dengan Sisteln R. Proyek, yaitu sebuah proyek yang bertujuan untuk mengembangkan sebuah sistem database

relasional yang dapat memenuhi segala jenis sistem pengoperasian database modern. Dengan memperkenalkan sebuah bahasa yang dinamakan sequel yang berkembang menjadi SQL.

PENGGU\AA\ SQL
Menurut penggunaannya, perintah-perintah SQL dapat dikelompokkan rnenjadi yaltu
:

2

bagian,

l.

Secara Interpretasi (Interactive SQL), yaitu dengan cara memasukkan perintah-perintah SQL

melalui console atau mikrokomputer dan secara langsung diproses sehirrgga dapat langsung
dilihat.

2.

Secara Sisip (Embedded SQL), yaitu dengan cara menyisipkan perintah-perintah SQL ke dalarr-r
bahasa perrlrogram tertentu sehingga untuk melihatnya dibutuhkan rnedia khusus yang dirancang

oleh seorang programmer.

STATEMEN SQL Yang dimaksud dengan statement SQL adalah sekumpulan perintah-perintah SQL l,ang memiliki peranan dalam pembentukan dan pengaturan suatu databasc. Statemen SQL terbagi menjadi 3 bagian, yaitu l. DDL (Data Definition Language), yaitu sebuah perintah SQL yang berorier.rtasi 1rrtl,r
:

pembentukan atau penghapusan database, tabel dan index. Yang termasuk ke dalam kategori DDL :

CREATEDATABASE DROPDATABASE
CRE.ATE

TABLE

CREATE INDEX CREATE VIEW

DROP TABLE DROP INDEX

ALTER TABLE

MODUL PRAI{TIKUM SISTEM BASIS DATA (MySQL)
2.

DML (Data Manipulation Language), yaitu perintah-perintah SQL yang berhubungan
data atat record, di antaranya menampilkan data, menghapus data, dan meng-update data.

dengan

Yang termasuk ke dalam kategori DML
3.

:

INSERT, SELECT, UPDATE, dan DELETE DCL (Data Control Language), merupakan kumpulan perintah SQL yang berfungsi untuk melakukan pendefinisian pemakai yang boleh atau tidak mengakses database dan apa saja
privilegenya. Yang termasuk dalam kategori DCL
:

COMMIT, ROLLBACK, GRANT, dan REVOKE. MySQL Console dari DOS pada sistem operasi Windows penulisan perintah-perintahnya tidak membedakan huruf besar dan huruf kecil, tapi pada sistem operasi Unix./Linux huruf besar dan kecil harus dibedakan. Dan sintak SQL pada linux harus huruf kecil semua.
FUNGSI SQL Fungsi-fungsi SQL

ini

penggunaannya harus bersamaan dengan perintah

DML.

Fungsi-

fungsi SQL yang lazim digunakan, di antaranya adalah : 1. Fungsi Agregat, yaitu sebuah fungsi built-in yang hampir pasti ada dalam sistem database relasional. Dengan kata lain fungsi agregat merupakan fungsi standar dari SQL. Yang termasuk dalam fungsi agregat: AVG, SUM, COLfNT, MAX, MIN, STD, dan STDDEV. 2. Fungsi Aritmatik, yaitu sebuah fungsi yang berguna dalam proses perhitungan atau manipulasi
data numerik.
f;
,ll

d*

i
$

Yang termasuk dalam fungsi aritmatik, di antaranya : + (penjumlahan), - (pengurangan), * (perkalian), / (pembagian),

!

3.

.itil

ilrt

:it

(sisa hasil bagi), AIIS (x), (x), (x), (x), (x), (x), (x), CEILING ROLTND dan lain sebagainya. ACOS ASIN ATAN COS Fungsi String, berfungsi untuk melakukan manipulasi data yang bertipe data datetime Format tanggal dan jam pada mySQL : Yyyy-mm-dd hh:ii:ss Yang termasuk dalam fungsi string, di antaranya
:

o%

NOW ( ), HOUR ( ), MINUTE ( ), MONTH ( ), dan sebagainya.

,.**

6

.m",.:
t .:
il

-b
f

..DATA DE
:irl:llr:lr,i'
iut:1,u1

l:lilrlll

tl],,,li, l.,t

:l;la PENDAHULUAN i,t, peanbuatan dan pengaturan database Sebelumnya, telah dijelaskan melalui browser, yaitu dengan phpmyadmin. Mungkin bagi yang terbiasa meliakukan pembuatan dan
'

Ii ;l

11|ii

pengaturan database lewat',.Console,::,,'g161r,i",dos-prompt akan terasa kurang nyaman jika harus melakukannya pada browser. Untuk itu pada bab ini, akan dibahas bagaimana cara melakukan pembuatan dan pengaturan database lewat console pada operating system Linux atau dos-prompt
pada operating system Windows. Cara pembuatan dan pengaturan database pada console Linux
:

1.

Pada console, masukkan perintah

:

suUntuk masuk ke dalam super user.

2.

Lalu masukkan perintah
I

:

opt/ lampp / lampp start

Untuk mengaktifl<an apache dan MySQL

3.

Setelah mengaktifkan apapche dan MySQL, langkah selanjutnya yaitu menjalankan mysql. Dengan cara memasukkan perintah : lopt/lampp/birVmysql Akan terlihat tampilan pada console.

Cara pembuatan dan pengaturan database pada dos-prompt Windows : l. Setelah mengaktifl<an command prompt atau dos-prompt, masukkan perintah seperti berikut

2.

cd\Pro gram Files\xampp\mysql\bin Akan terlihat pada command prompt

: :

C:\Program Files\xampp\mysql\bin> dan masukkan perintah seperti berikut Mysql -u root

2.

DATABASE Terdapat perintah-perintah

DDL dalam pembuatan,

penghapusan,

dan

menampilkan database. r Membuat Database Bentuk umum penulisannya

:

)

CREATE DATABASE nama database;

Mysql>DROP DATABASE. Menghapus Database Bentuk umum penulisannya : DROP DATABASE nama_database. jangan menggunakan spasi database lebih dari satu kata. Tipe Data String Yang termasuk ke dalam kategori ini. Record adalah kumpulan data yang tersusun secara per baris. baru. slze record. Field merupakan judul kolom yang memiliki tipe data. MengaktifkanDatabase : Bentuk umum penulisannya IJse name_database. . kunci relasi. dan sebagainya. Contoh : . Dapat menggunakan underscore ( ). 3 bagian. Pada tabel terdapat field dan record. Karena "Istimewa" memiliki 8 karakter maka mysql akan menambah 7 spasi untuk melengkapi sisa spasi menjadi 15 spasi sesuai dengan apa yang telh dideklarasikan.MODUL PRAMIKUM SISTEM BASIS DATA (MySQL) Ketentuan dalam membuat nama database. Tipe data char juga memiliki panjang yang tetap untuk setiap data yang dimasukkan sesuai dengan panjang yang dideklarasikan. lalu terdapat record "lstimewa" pada field tersebut. Tipe Data Tipe data dapat dikelompokkan menjadi dan tipe data datetime. Contoh: Anda menentukan char (15). Menampilkan Seluruh Database : Bentuk umum penulisannya ) SHOW DATABASE: Contoh: Mysql>SHOW DATABASES. 3. tipe data numerik. . jika memiliki nama Contoh: Mysql>CREATE DATABASE siswa 25. TABEL Tabel merupakan media yang dapat melakukan proses relasional antartabel. adalah : - Char Pendeklarasian Char (size) Char merupakan tipe data string yang menyediakan panjang karakter maksimal 255 karakter. yaitu tipe data string. Contoh : Mysql>USE siswa. .

608 sampai 8. Tipe Data Numerik Yang termasuk ke dalam kategori ini adalah : . Pendeklarasian: Mediumint(size) Nilai yang dapat disimpar' arrtata -8. Mediumtext Pendeklarasian: Mediumtext Tipe data ini memiliki panjang maksimal 1. Tidak demikian halnya dengan varchard.295- - I rnvlnt Pendeklarasian: Tinyint(size) Nilai yang dapt disimpan Mediumint aratara -128 sarnpai 255.text Pendeklarasian: Tinltext Memiliki nilai size yang sama dengan varchar (255).967. yaitu memiliki kesamaan dan perbedaan.DATA DEFINITI ON I'ANGUAGE Varchar Pendeklarasian : Varchar (size) Pada dasarnya tipe data varchar memiliki kesamaan dengan tipe data char.677.294. maka tidak akan ditambahkan spasi. Perbedaan tipe data blob memungkinkan untuk menyimpan data garnbar atau dokumen.967 .294.483. Longtext Pendeklarasian : Longtext Tipe daia longtext memiliki size maksimal 4.2L5 karakter. maka sisanya akan ditambahkan oleh jumlah spasi yang tersisa. sehingga tipe data varchar lebih hemat dari char. Perbedaannya apabila ada pada char jika jumlah karakter pada suatu field kurang dari ukuran nilai yang telah dideklarasikan.295 karal<ter. Tinl. Text dan Blob Pendeklarasian: Text atau Blob Tipe data text dan blob memikiki kesamaan dengan tipe data char dan varchar.288. yaitu memiliki panjang maksimal 255 karakter.6Oi . Tipe data text hanya dap4t menampung teks atau string saja.388.648 sampai 4. Persamaan antara tipe data text dan blob adalah dapat menampung teks atau string yang tidak terbatas jumlahnya.147. melainkan hanya memasukkan jumlah karakter yang dimasukkan saja. jika jumlah karakter pada suatu field kurang dari ukuran nilai yang telah dideklarasikan. . sehingga antara dokumen dan gambar tidak lagi terpisah.Integer/Int Pendeklarasian: Int(size) Nilai yang dapat disimpan antara -2.

3 68.7 58. Pendeklarasian: Float Float menyimpan bilangan real dan tidak dapat bernilai negatif.igi-. adalah : - Date Pendeklarasian: Date Date menyimpan nilai format YYYY-MM-DD.7 20. t0 . Sedangkan untuk 4 digi: nilainya arrtara 190 1 -2I 5 5.079 samp: 92.547. Jika dipilih 2 d.233. double dapat menerima bilangan re: atau desimal. - Year Pendeklarasian: Year(digit) Untuk tipe data datetime year terdapat digit yang ditentukan dengan 2 atau 4.i. saat pendeklarasian harus disertakan dengan size. Nilainya antara 1970-2069. - Timestamp Pendeklarasian: Timestamp(size) timestamp(2) Pada tipe data datetime ini.233. - Datetime Pendeklarasian: Datetime Datetime menyimpan nilai format YYYY-MM-DD HH:MM:SS. Nilai yang diizinkan antar" 1000-01-01 00:00:00 sampai dengan 9999-12-31 23:59:59. Contoh + YY atau timestamp(4) -+ YYMM.58.5 47 . - Double Pendeklarasian: Double I{ebalikan dari float yang hanya menerima bilangan real.720. Tipe Data Date dan Time Yang termasuk ke dalam kategori ini.368.MODULPRAKTIKUM SISTEM BASIS DATA (MySQL) - Bigint Pendeklarasian: B igint(size) Nilai Float yang dapat disimpan antara -92. maka akan menghasilkan 00 (untuk 2000).O7 8. - Time Pendeklarasian: Time Format time adalah HH MM : : S S (Hour: Minute : S econd). Nilai yang diizinkan arrtara 1000-01-01 sampadengan 9999-12-31.

Bentuk umum penulisannYa: > CREATE TABLE nama-table(freldl tipe(size). yaitu prirnary key. . - Alternative key Merupakan bagian dari candidate key yang tidak terpilih sebagai primary key. ->nis varchar(1). Foreign key Field yang menjadi penghubung suatu relasi.DATA D EFIN IT I O N I'AN G UAG E Tipe Key (Kunci) penggunaan key pada umumnya digunakan pada relasi tabel. ' Menghapus Tabel Bentuk umum penulisannYa: DROP TABLE nama-table. Contoh: Mysql>DROP TABLE kesiswaan. Jika terdapat auto_increment pada suatu field. Contoh: Mysql>CREATE TABLE siswa(no int(5) auto-increment primary key. maka field tersebut harus bersifat key. Primary key Merupakan candidate key yang terpilih untuk mengidentifikasi record secara unik dalam suatu primary relasi. namun tidak menutup key kemungkinan satu tabel juga mernbutuhkan key.'''). Berikut ini merupakan tipe yang digunakan dalam relasi antar tabel atau satu tabel : Super key Merupakan kumpulan atribute(freld) atau satu atribut yang secara unik mengidentifikasi sebuah record pada suatu relasi. harus yang sehingga user tidak perlu memasukkan nilai. Field yang dapat diberikan auto-increment bertipe data numerik. iI r Candidate key Merupakan field unik yang umumnya dapat dijadikan sebagai relasi. yaitu dari primary key' Auto_Increment Berfungsi untuk memberikan nilai dengan kelipatan satu dimulai dari 1 secara otomatis. narna varchar(25)). Membuat Tabel yang perlu diperhatikan sebelum membuat sebuah tabel adalah melakukan pengaktifan database tertentu terlebih dahulu. II . Dan umumnya digunakan dalam pembuatan nomor urut.

Contoh: Mysql>ALTER TABLE tsiswa modifz telephone varchar(25). . dan mengganti nama field. Menampilkan Struktur Tabel Bentuk umum penulisannya: DESC nama_table. Phone varchar(30) -+ telephone char(25) - Mengganti Tipe Data Field Bentuk umum penulisannya: ALTER TABLE nama_table modify field new_tipe(size). ALTER TABLE nama_table ADD Column field tipe(size). Telephone char(25) + telephone varchar(25) - Menghapus Nama Field Bentuk umum penulisannya: ALTER TABLE nama table DROp field: Contoh: Mysql>ALTER TABLE tsiswa DROP telephone: . yaitu menambahkan field. menghapus field. Mysql>ALTER TABLE tsiswa ADD column phone varchar(30) first. mengganti size record suatu field. dan Size Field Bentuk umum penulisannya: ALTER TABLE nama_table change olrl_fig14 new_field tipe(size). IJntuk menyisipkan atau menambahkan field pada awal field. t2 . Tipe Data. Contoh: Mysql>ALTER TABLE tsiswa ADD column alamat varchar(3O): Catatan tambahan: . - Mengganti Nama.Menambahkan Field Bentuk umum penulisannya: . Mysql>ALTER TABLE tsiswa ADD column phone varchar(30) -> after alamat.MODUL PMI{TIKUM SISTEM BASIS DATA (MySQL) Memodifikasi Tabel Macam modifikasi tabel. Contoh: Mysql>DESC tsiswa. . Contoh: Mysql>ALTER TABLE tsiswa change phone -> telephone cha{25). Untuk menyisipkan atau menambahkan field setelah field tertentu.

Bentuk umum penulisannya: DROP INDEX nama index ON nama table. apabila ditemukan baru akan diambilkan data yang sesungguhnya dari tabel. . I? . Menghapus Tabel Bentuk umum penulisannya: DROP TABLE nama_tabel. namun tidak terdapat perintah perubahan nama index. . Adanya index pada suatu field tabel. Atau ALTER TABLE nama table ADD index nama index(field). I Mengganti Nama Tabel I I j Bentuk umum penulisannya: ALTER TABLE old_table_name rename new_table_name.DATA D EFI NIT I O N I. Membuat Index Bentuk umum penulisannya: CREATE INDEX nama index ON nama nama table(freld). Contoh: Mysql>SHOW TABLES. Menampilkan Seluruh Tabel Bentuk umum penulisannya: SHOW TABLES. sehingga proses pencariannya akan lebih cepat. Menghapus Index Penghapusan nama index tidak akan menghapus field table atau tabel. Pada index terdapat perintah pembuatan dan penghapusan index. Contoh: Mysql>DROP TAIILE kesiswaan. Contoh: Mysql>CREATE INDEX idxnomor ON kesiswaan(no). Atau Mysql>ALTER TABLE kesiswaan ADD index idxnis(nis). Contoh: Mysql>ALTER TABLE tsiswa rename kesiswaan. . 4. menyebab. INDEX Index berfungsi mempercepat proses pencarian data dalam suatu tabel.AN G UAG E I I . namun hanr a rnemperlambat proses pencarian saja. li : . sudah dapat dipastikan bahwa data tersebut memang tidak ada dalam tabel.kan proses pencarian otomatis akan dilakukan terlebih dahulu ke dalam index. Index juga dapat dibuat untuk setiap kolom yang akan dijadikan kriteria tertentu untuk pencarian data. Apabila tidak ditemukan dalam index.

melainkan hanya menyimpan referensi.tt I .. nama atribut untuk view. nama FROM mahasiswa: ./pointer ke record pada tabel-tabel yang berkaitan.MODUL PRAI<TIKUM SISTEM BASIS DATA (MySQL) Atau ALTER TABLE nama_table DROP INDEX nama_index. fisk' View dapat juga diciptakan dari beberapa tabel. Atau Msyql>ALTER TABLE kesiswaan DROP INDEX idxnis: 5. . Contoh: Mysql>CREATE VIEW mhs AS SELECT * FROM mahasiswa. Mysql>ALTER TABLE kesiswaan DROP primary key.. VrEWbiasa disebut juga . MENGHAPUS PRIMARY KEY : Bentuk urnum penulisannya Contoh: ALTER TABLE nama_table DROP primary key. . . 6.column2.virtual tabel. Secara VIEW tidak membuat penyimpanan data seperti tabel biasa. CREATE VIEW view_namef(column l.t fl 3 . .. )l AS SELECT table_name [with check option]. Keterangan: statement FROM I ) Column ) Statement ) Table name ) View_name nama view yang akan dibuat. ADD primary key(no). Contoh: Mysql>DROP VIEW mhs. Contoh: Mysql>DROP INDEX idxnomor ON kesiswaan. Mengubah View Contoh: ALTER VIEW mhs AS SELECT npm. Memperoleh Informasi pada View View yang sudah dibuat dapat di akses seperti dalam mengakses tabel. Menghapus View Bentuk umum penulisannya : DROP VIEW nama view. VIEW Sebuah view adalah tabel yang dibangun dari satu atau beberapa tabel yang sudah ada. atribut yang akan dipilih dari tabel basis data nama tabel basis data. r Membuat View Bentuk umum penulisannya : . Contoh: Mysql>SELECT * FROM mhs. ->ADD primary key(no).

alamat) ->VALUES ("0|23456".).) VALUES (nill. Karena sifat dari Pada field "no" terdapat auto_increment.. nama. INSERT INTO nama table(fieldl. field2.nama. dan PRI alamat. yaitu menyisipkan nilai secara otomatis. .DATA MAN 1. Mysql>INSERT INTO kesiswaan(nis.).. . "Sukamto". "Sukamto". Contoh: . n|t2.nama. maka user tidak perlu menyisipi nilai. Mengapa dalam penulisan perintah insert terdapat perbedaan? Perbedaan itu disebabkan oleh beberapa sebab: l. INSERT Insert merupakan perintah SQL yang berfungsi untuk menyisipkan nilai-nilai pada field-field tabel. .alamat) ->VAIUES (*0 123 4 5 6". Mysql>INSERT INTO matakuliah ->VALUES ("M-0 1 ". sehingga dalam melakukan penyisipan nilai secara otomatis langsung disisipi walau tanpa ada nilai yang disisipi secara langsung. nil2. 15 Type Int(5) I(ev Default Extra .. "Jakarta") Perhatikan struktur tabel kesiswaan berikut inr : Field no NULL auto lncrement MUL NULL nls Varchar(7) NULL nama Varchar(25) NULL alamat Varchar(30) "auto_increment" pada bagian "Extra". yaitu: nis. "Jakarta") Atau . Bentuk umum penulisannya Atau : INSERT INTO nama_table VALUES (nil 1."Matematika"). Contoh rumus yang digunakan adalah: Mysql>INSERT INTO kesiswaan (nis. Oleh sebab itu hanya ada 3 held yang harus disisipi secara langsung. Rumusan bagian B: Adanya salah satu field yang memiliki sifat auto_increment. . .

jika Kode 02 maka Komputer dan jika Kode 3 maka Game Station. Artinya: Menampilkan seluruh record table kesiswaan. maka deretan field dan penyisipan nilai adalah sama.nama. Dalam menampilkan record atau data dapat dilakukan dengan 2 cara. selain field yang memiliki auto increment. Contoh penyisipan adalah sebagai berikut : Mysql>INSERT INTO matakuliah ->VALUES ("M-0 1 ". Rumusan basian A: Apabila deretan field-field yang terdapat pada suatu tabel memiliki deretan ilai sama. Jika Kode 01 maka Elektronik. Atau SELECT * FROM nama table: Contoh: Mysql>SELECT * FROM kesiswaan. nama. Jika penyisipannya dengan cara Embedded (penyisipan lewat program tertentu). Artinya: Menampilkan data nis.. Maka cara menyisipkan nilai untuk field Kode. FROM nama_table. 2" SELECT Select merupakan perintah untuk menampilkan record atau data. dalam menyisipkan jenis dapat dilakukan dengan rumusan bagian B. 2. maka hanya dapat dilakukan dengan perintah update. . Harga dan Jumlah adalah sebagai berikut : Msyql>INSERT INTO transaksi(I(ode. Atau Mysql>SELECT nis. Jumlah) ->VALUES ("0 1 ". "Matematika") .alamat FROM kesiswaan..MODUL PMI{TIKUM SISTEM BASIS DATA (MySQL) melakukan bentuk nrmusan bagian "B". Perhatikan rernatlKan stnrKtur struktur taDel tabel mataKullan. Harga. Contoh. natakuli h. Bentuk umum penulisan tanpa kondisi: SELECT fieldl.5). hatikan tabel ransaKsl ransaksi berikut oerlKut 1nl ini : Kode Jenis Harga Jumlah Yang dapat 01 ? ? 3500 5 03 2s000 2 Untuk "Jenis" tidak dapat diinput secara manual melainkan harus menggunakan rumusan.3 500. dan alamat saja. Ada juga field yang harus dimasukkan dengan rumusan tertentu. yaitu tanpa kondisi dan dengan kondisi.. berikut berlKut m1: ini: Field Kode narnamtk Type Varchar(7) Varchar(25) Kev Default Extra NULL NULL * Karena field-field yang terdapat pada tabel matakuliah tidak mengandung sifat auto_increment atau rumusan tertentu. Untuk Jenis bila penyisipan nilainya secara interprestasi (langsung). atau dengan perintah update.

Untuk lebih mudah memahami perintah select dengan menggunakan kondisi. o Pembandi Operator Arti Sama Densan Lebih Besar Lebih Kecil Lebih Besar Sama Densan Lebih Kecil Sama Densan Bukan atau Tidak Termasuk Like Sama halnya dengan Sama Dengan (:). maka dibuatlah tabel kuliahan yang field dan recordnya seperti Alamat Nim Nama Bosor Bintang 21196353 Bogor Ningrum 4r29652s s0096487 Pipit Nurhavati Bekasi Jakarta r0296832 3r296500 3t292521 Budi Depok Jakarta Jakarta T7 Lilik Pratiwi 4tt97522 . terdapat operator-operator dan tanda-tanda khusus.AT I O N I. FROM nama table WHERE kondisi.. yaitu : %o (persen) dan _ (underscore). Yang perlu diperhatikan dalam penyeleksian data atau record dengan kondisi. Atau SELECT * FROM nama table WHERE kondisi. . Contoh: Mysql>SELECT * FROM transaksi WHERE kodr"0l".harga FROM transaksi WHERE kode:"03".. Artinya: Menampilkan data kode dan harga yang berkode 03. untuk menqgantikan satu karakter.AN G UAG E Bentuk umum penulisan dengan kondisi: SELECT fieldl. Atau Mysql>SELECT kode. Penjelasan : 7o untuk menggantikan beberapa karakter.DATA MAN IPU I. Artinya: Menampilkan seluruh record yang berkode 01. namun pada Like pada diikuti oleh tanda-tanda khusus.

cara menampilkan seluruh d. Penulisannya: Mysql>SELECT * FROM kuliahan WHERE Nama LIKE (4 x underscore) .000 sampai dengan Rp.t ? Bagaimana cara menampilkan seluruh data kuliahan bagi yang namanya mengandung huruf i Penulisannya: Mysql>SELECT * FROM kuliahan WHERE Nama Like .Alamat FROM kuliahan WHERE ->AlamaF'Jakarta'. Penulisannya: Mysql>SELECT * FROM kuliahan ORDER By Nama DESC: t8 .. cara menampilkan seluruh data bagi yang beralamat di Jakarta dan Boqor..p%. .000. 35. Penulisannya: Mysql>SELECT Nama. cara menampilkan seluruh databagryang naman yahanyaterdiri dari 4 karakter. Penulisannya: Mysql>SELECT * FROM kuliahan WHERE Nama LIKE .ata padatabel transaksi yang harganyaantara Rp. OR Alamat:.Bogor. Penulisannya: Mysql>SELECT * FROM kuliahan WHERE ->Alamat:' J akarta. Penulisannya: Mysql>SELECT * FROM transaksi WHERE ->Harga>: 1 0000 AND Har ga<:3 5000. 10. Cara menampilkan seluruh data mahasiswa secara urut dari Z ke A.i.o/oiyo. cara menampilkan seruruh data bagi yang namanya berawalan dari huruf .rl -t MODUL PMKTIKUM SISTEM BASIS DATA (MySQL) .p.: x $ N cara menampilkan data' namun hanya Nama dan Alamat saja bagi yang beralamat di Jakarta.

DATA MANIPUI. UPDATE Perintah update digunakan untuk melakukan penyimpanan hasil editing suatu data. Untuk itu diperlukan kondisi agr yang berubah hanya kondisi-kondisi tertentu. Penjelasan: Seluruh nama mahasiswa akan berubah menjadi . Penulisannya: Mysql>SELECT * FROM kuliahan ORDER By Nama ASC: cara menampilkan seluruh data mahasiswa yang tidak mengandung huruf .%ouo/o. Penulisannya: Mysql>SELECT * FROM transaksi WHERE harga<>20000. kondisi atau Bentuk umum penulisan tanpa kondisi UPDATE nama_table SET field:nilai.Agus" semua. Contoh: Mysql>UPDATE kuliahan SET Nama:"Budi Setiawan" -> WHERE Nama:"Budi.ANGTJAG E Cara menampilkan seluruh data mahasiswa secara urut dari Ake Z.. dalam proses update dapat dilakukan tanpa : dengan kondisi.. Bentuk umum penulisan dengan kondisi : UPDATE nama_table SET field:nilai WHERE kondisi.ATION I. 3. Contoh: Mysql>tIPDATE kuliahan SET Nama:. Sama halnya dengan perintah select.: 'lq .: cara menampilkan seluruh data transaksi yang harganya bukan Rp.000.'Agus".u. Penulisannya: Mysql>SELECT * FROM kuliahan WHERE Nama NOT LIKE. 20.

cara menginput nilai untuk field "Jenis" menjadi Elektronik bagi yang berkode 01. Penjelasan: Seluruh data pada tabel kuliahan akan terhapus semua.Budi Setiawan" I f. 4. . Penulisannya: = ! Mysql>UPDATE transaksi SET Jenis:"Game Station. Delete pun memiliki dari2bagiaq yaitu tanpa kondisi dan dengan kondisi. DELETE Delete memiliki fungsi untuk menghapus suatu data pada suatu tabel. .. : cara kerja yang terdiri Bentuk umum penulisan tanpa kondisi DELETE FROM nama table: Contoh: Mysql>DELETE FRoMtransaksi. Jika Kode 03 maka Game Station. Jika Kode O2 maka Komputer. Untuk itu harus berhati-hati dalam menggunakan perintah delete. cara menginput nilai untuk field "Jenis" menjadi Komputer bagi yang berkode 02 Penulisannya: I i a: Mysql>UPDATE transaksi SET Jenis:"Komputer" WHERE ->Kode:"02": cara menginput nilai untuk field "Jenis" menjadi Game Station bagi yang berkode 03.: Perhatikan tabel transaksi berikut ini : Kode 01 Jenis Harga 3500 25000 10000 Jumlah 5 2 2 J I ? 03 o2 03 ? 2 27500 Jika Kode 0l maka Elektronik. Penulisannya: Mysql>UPDATE transaksi SET Jenis:"Elektronik" WHERE ->Kode:"01". WHERE ->Kode:"03"..MODULPMI<TIKUM SISTEM BASIS DATA (MySQL) Penjelasan : Nama mahasiswa yang bernama "Budi" akan berubah meniadi.

5 6J f 1 ? .. 5.) 654 7q5 80.7 17 82.| ? Mid /J '71 5 Final 82 NilRata ? ? R1 5 81. Penjelasan: tabel transaksi' Seluruh dalayangberkode 01 akan dihapus dari yang memiliki range antara 10000 s/d 25000 Cara menghapus harga pada tabel transaksi PenulisannYa: AND Mysql>DELETE FROM transaksi WHERE Harga>:1000 ->Harea<:25000. Latihan menerapkan perintah DDL dan DML 1. Contoh: Mysql>DELETE FROM transaksi WHERE Kode:"0l".denganstrukturtabelsepertiberikut Extra Field Nim KdMK T Key PRI In(8) Varchar(5) Varchar Float(5) Float(5) Float(5) I NamaMK Mid Final NilRata n nilai.| .?enilaian.KdMK dan Mid saja 90 ! ZL .5 67 KDI32 KKO21 I ? '/8 TampilkanseluruhrecordmahasiswayangberkodematakuliahatauuI(dMK:KKO2l! bagi yang nilai mid-nya antara 75 dan Tampilkan fecofd field Nim.nilain Default NULL NULL NULL NULL NULL NULL tabel berikut Nim to296832 t0297732 20216832 30216832 ro297732 20216832 30216832 4.) 2 KUT22 KKO2I . KdMK KKO2I KD132 KKO21 NamaMK .DATA MAN I PI] MT I O N I'AN G UAG E Bentuk umum penulisan dengan kondisi : DELETE FROM nama-table WHERE kondisi. Buatlah database dengan nama "Mahasiswa"? pada kasus seperti berikut : 2'Buatlahtabeldengannama.

dengan ketentuan sebagai berikut : Hapuslah record yang memiliki Nim : 102968321 I e . Sisipkan nilai untuk field nilai rata-rata(NilRata). * 22 . dengan ketentuan sebagai berikut : KDI32 KUI22 7. SIM Pancasila Mid+Final/2 8.MODUL PRAI<TIKIJM SISTEM BASIS DATA (MySQL) t lsrpkan nilai untu k field nama matakuliah KdMK KKO21 NamaMI( Sistem Basis Data amaMK).

"'' ro296832 r0297732 20216832 30216832 10297732 Contoh: KI(021 KD132 KKO21 75 75 R1 5 82 7?5 81. 23 ._. 'I'UNGSI AGREGATT.. .rttr:. .rlri.l "tt"'' survt 1et<spresillli '"' . . Untuk lebih mudahnya dalam mernbgat rgatgjl5 Final Mid KdMK Nim ' . COUNT (x) tabel' Memiliki fungsi untuk mencari berapa jumlah total baris yang terdapat pada suatu Contoh: Mysql>SELECT COLTNT(*)Jumlah-Record FROM nilai. .:.4 79..5 Mysql>SELECT SUM(Mid)Total-Mid FROM nilai.::r.4 | Mysql>SELECT SUM(DISTINCT Mid)Total-Mid FROM nilai. Hasilnya: Total Mid 303...5 82.. ffir I Hasilnya: 378....7 '7'. 't " ..FU .7 KUI22 KKO2I 65.4 .' terdapat pada suatu field Yang bersifat Berfungsi untuk mencari total nilai ikan tabel nilai di bawah ini : numerik.

Contoh: Mysql>SELECT AVG(Final) Rata_rata_Final FROM nilai: Hasilnya: (ekspresi) Berfungsi untuk mencari nilai tertinggi dari suatu field yang bersifat numerik.MODULPMI{TIKUM SISTEM r| BASIS DATA (MySQL) . Contoh: Mvsql>SELECT MlN(Mid)Nilai_Mid_Terendah FRoM nilai. Hasilnya: . MAX Mysql>SELECT MAx(Final)Nilai_Final_Tertinggi FROM nitai: Hasilnya: a t . AVG (ekspresi) Berfungsi untuk mencari nilai rata_rat apadasuatu pada field bersifat numerik.f** 24 . Contoh: . MIN (ekspresi) Berfungsi untuk mencari nilai terendah dari suatu field yang bersifat numerik.

penjumlahannilai interval Berfungsi untuk me. namun tidak dengan waktu. .Hari Ini.pdapatkan tanggal o-aru.FU Interval'nilaijnterval) : :'( ' ADDATE (x. Contoh: Mysql>SELECT curtime( )Tanggal.t*trxoses'dari : Daftar Ti Nilai Interval I(eterangan_ Tipe Nilai Second Satuan detik Satuan menit Minute Hour Day Satuan iam Satuan hari Satuan bulan Satuan tahun Month Year Minute Second Hour Minute Day Hour Year Month Hour Second Contoh: "Menit:Detik" "Jam:Menit" "Hari:Jam" "Tahun:Bulan" "Jam:Detik" 10 dav) Mysql>SELECT ADDDATE("2005-05-3 1"'Interval ->Hasilnya-setelah-Ditambah-1 0hari. Hasilnya: Tanggal llari-Ini 2006-05-O1 25 .katelr. CURDATE ( ) sePerti halnya fungsi now ( ) Yang drsertal Menghasilkan tanggal saat ini.

2O O 6 _0 5 _ 07.1 Mysql>SELE CT daynam e(.. DAYOFMONTH (penanggalan) Berfungsi untuk menampilkan tanggal pada suatu format penanggalan dari sebulan.) T anggat Tersebut Hari: e . menit. Contoh: Mysql>SELECT dayofmo nth(. dan detik. Contoh: Mysql>SELECT currime( )Waktu Hasilnya: .. Contoh . Contoh: Mysql>SELECT current_timestamp( ) ->Waktu_S aat_Ini_B erikut_Waktu_Terkini. CURTIME ( ) Menghasi lkan waktu terkini.. DAYNAME. .il 5: a MODULPMKTIKUM 1ISTEM BASIS DATA (MySQL) .)Tanggalnya_adalah. .200 6 -05_07..(penanggalan) : Berfungsi untuk menampilkan nama hari sesuai dengan tanggal saat itu. CURRENT_TIMESTAMPO Menampilkan tanggal saat ini berikut dengan jam. 26 .

atau tahun saja dari suatu penanggalan. . DAYOFWEEK(penanggalan) FI]NGSITAAIGGAL Berfungsi untuk menampilkan hari dari seminggu dengan menggunakan kode angkayai Berikut ini daftar nama hari dan kode Nama Hari Sundav Kode Angka I z J Mondav Tuesday Wednesday 4 5 Thursday Fridav Saturdav Contoh: 6 7 Mysql>SELECT dayofweek("2006-05-07")Kode-Tanggalnya: Hasilnva: @ . Hasilnya: ' EXTRACT(nilai FROM penanggalan/waktu) Nilai Extractnva 7 Contoh extract dari pengaturan waktu: 27 . bulan. menit. Juga dapat mengambil bagian dari jam. Fungsi extract ini dapat mengambil bagian dari tanggal.. Contoh extract dari penanggalan: Mysql>SELECT Extract(Day FROM"2OO6-O5-O7")NiIai Extraatnya. F DAYOFYEAR(penanggalan) Berfungsi untuk menampilkan hari ke berapa dalam setahun Contoh: Mysql>S ELECT dayo $r eat ("2o0 6 -o 5. atau detik dari suatu pengaturan waktu.07 ") S aat Ini-Hari-I(e .

. I5I . Mysql>SELECT FROM_DAYS(90 Hasilnya: Hasilnya: 0)penanggalannya_adalah.. Hasilnya: Hasilnva: t I I : I i . 2468_04_0t I Contoh: HOUR (pengaturan waktu) Berfllngsi untuk mengamb' nirai jam dari suatu pengaturan waktu. I 2 : 3 5 :0 Mysql>SELECT HOUR(. 901234..)Jamnya_adalah.)Jamnya_adatah..MINUTE (pengaturan waktu) I Berfungsi untuk mengambir nirai menit dari suatu pengaturan waktu Contoh: Mysql>SELECT minute (.12:35:01. Hasilnya: 1.)Jamnya_adalah. Hasilnya: Hasilnya: I Detiknvu uduluh-- 28 - . i Penanggalannla_aclatah i 1 .. Namun nilai tersebu: harus hanya terdiri dari 6 angka. contoh: g145 16.. 1 a 2 : 3 5 :0 1. Contoh: Mysq I>SELECT second(. . Nlenitnya adalah :s --l I SECOND (pengaturan waktu) Berfungsi untuk mengambil nilai detik dari suatu pengaturan waktu.MODUL PMKTIKUM SISTEM BASIS DATA (MySQL) Contoh: FROM_DAyS(tanggal dalam nilai) Fungsi ini berguna dalam mengubah nilai menjadi bentuk penanggalan.

) I :: Menampilkan jam dalam format 12 iam. TO_DAYS(penanggalan) Menampilkan nilai peninggalan dari suatu penanggalan. diinginkan..| ->Formatnya.. August 17th I 2006 | *rkt< 30 . Menampilkan jam dalam format 24 i Menampilkan jam dalam format 24 dalam format 12 iam OO-12. %y ) I r- IF Hasilnya: Thursday.MODULPMI{TIKUM SISTEM BASIS DATA (MySQL) . I Contoh: Mysql>SELECT to_days("2006-05 -07")Nilainya_adalah. Menampilkan nama hari bukan dalam bentuk singkatan. 7'. yoM. yoW. Menampilkan nama hari dalam bentuk s Menampilkan nomor hari dalam sebulan. Menampilkan tahun format 4 disit. Menampilkan nilai hari ke dalam sebulan. Menampilkan tahun dengan format 2 dipit. 2O 0 6 -Og . yoD. ilkan detik ! i i Contoh: Mysq 1> S ELE CT date_fo rrnat(.. i I . simbol format) Berfungsi untuk merubah nirai penanggalan atau pengaturan waktu dengan format yane Berikut ini Menampilkan nama bulan bukan dalam bentuk Menampilkan bulan s Menampilkan nama bulan dalam bentuk sing<atan. Menampilkan nomor hari dalam setahun. DATE_FORMAT(penanggalan/waktu.

. x2. Hasilnya: . 66)Karakternya_adalah. 43. Contoh: ... : '.. jika pada tungsi ascii (x) mengembalikan string menjadi nilai ascii....) adalah mengubah fungsi ascii menjadi karakter. Mysql>SELECT char(3 7. Mysql>SELECT char_length("Aku Ingin Pulang") ->Jumlah_I(arakternya .) Fungsi ini merupakan kebalikan dari fungsi ascii(x). 37. Fungsi char(xl. Contoh: . 65.. . Hasilnya: Nilai Asciinva J/ Char (xl.' Berfungsi untuk m€nCari nilai ascii dari Contoh: _suattlii$11i1$.l Mysql>SELECT ascii("7o")Nilai_Asciinya.. Hasilnya: Karakternva adalah YoA+YIB Char_Length(string)atauLength(string) Char_length(string) memiliki fungsi yng sama dengan length(string).i:'llli'' tlr Ascii (x) .. yaitu untuk menghitung jumlah karakter pada sebuah string.

Contoh: ) Mysql>SELECT mid("Indonesia. sebelumnya harus menentukan terlebih dahulu posisi pengambilan. i."CAD")Kodenya_adalah. Setelah itu baru menentukan jumlah karakter yang akan diambil dari posisi yang telah ditentukan. Dalam merubah string menjadi kode harus terdapat string dan string_enkripsi.3 ")3 Digit_Dari_Kanan. Left(stringonilai pengambilan dari kiri) Berfungsi untuk mengambil karakter terkiri dari suatu string dengan jumlah pengambilan karakter dari kiri.nilai pengambilan dari kanan) Berfungsi untuk mengambil karakter terkanan dari suatu string dengan jumlah pengambilan karakter dari kanan.MODUL PNAI{TIKUM SISTEM BASIS DATA (MySQL) r Encode (stringrstring_enkripsi) I Berfungsi untuk merubah nilai string menjadi kode-kode tertentu. Contoh: Mysql>SELECT encode("AuTo". . Jika hanya terdapat string saja maka proses tidak dapat dilakukan.4. Hasilnya: 3Disit Dari Kanan Sia 32 . Right (string. Contoh: Mysql>SELECT right("Indonesia.nilai pengambilan dari posisi) Berfungsi untuk mengambil karakter dari suatu string.3 ")3 Digit_Dari_Kiri.3 ")3Digit_Dari_HuruLO Hasilnva: . Contoh: . Mid(stringrposisi. Mysql>SELECT Hasilnya: left ("Indonesia. I I .

) ->Perubahannya_adalah. Contoh: Mysql>SELECT upper("kumenanti dalam kesunyian'.') - >P erubahann y a _adalah. Kugapai harapan') .FUNGSI STRING r kecil. Ltrim(string) Berfungsi untuk menghilangkan atau menghapus spasi dari bagian kiri suatu string. Lcase(string)AtauLower(string) Berfungsi untuk merubah tipe karakter dari suatu string dari huruf kapital menjadi huruf Contoh: Mysql>SELECT lcase("KUMENANTI DALAM KESUNYIAN. Hasilnya: harapan . Hasilnva: . Rtrim(string) Berfungsi untuk menghilangkan atau menghapus spasi dari bagian kanan suatu string. yaitu untu! merubah huruf kecil menjadi huruf kapital atau besar. Ucase(string)AtauUpper(string) Fungsi ucase(string) atau upper(string) adalah merupakan kebalikan dari fungsi lcase(string).) Setelah Kueaoai di rtrim . . Contoh: Mysql>SELECT ltrim (" ->Setelah_di_ltrim. Contoh: Mysql>SELECT rtrim("Kugapai ->Setelah_di*rtrim.

** 34 . Password(string) Berfungsi untuk merubah suatu string menjadi kode sandi yang telah dienkripsi.MODULPRAKTIKUM SISTEM BA9IS DATA (MySQL) .. kiri dan kanan qlt:- t r .rahasia'. : Contoh: Mysql>SELECT trim('.)Dijassword_menjadi. Kugapai harapan ") t . Contoh: Mysql>SELECT password(. Hasilnya: rl. Trim(string) Berfungsi untuk menghilangkan atau menghapus spasi dari bagian string. ->Setelah di trim.

berikut ini: Sks 2 A + Nomor 2 J A ikan daftar mahasisrve rfqn matotn Nim 99130012 9914sO21 tr(ode-mfl' 101 05 03 o2 03 99276521 5 991300t2 98254t23 99145021 4 2 4 2 4 A 6 7 8 99671204 o4 o6 o5 o2 99r30012 99276521 99145021 9 t0 2 ll 1.-..Pada dasarnya model relasional digunakan untuk mengatasi kesulitan dalam pengelolaan dan anomali-anomali (enn.--: Untuk memahami k relasl. Anomali fnsert r03 101 982s4123 4 2 Kesalahan yang terjadi di saat proses penyisipan record baru. 35 . lasi . ororr .ffiH:"*':ffir."il.i-r-^-^:^. maka proses penyisipan untuk kode matakuliah r07 tidak dapat dilakukan sampai ada mahasiswa yans mengambil matakuliah tersebut. Contoh: Jika kampus akan mengadakan matakuliah baru dengan kode matakuliah 107..

. Contoh: kode matakuliah yang diambil ole: Jika Anda perhatikan pada tabel kuliahan. pada tabel kuliah tidak dapat dijadikan primary key. seperti kode matakuliah 1' pada tabel kuliah field . pada tabel kuliah sebagai foreign key.Kode-mtk'pada tabel matakuliah tidak terdapat datayang sama. maka dengan demikian jika didelete record informasi tentang kode matakuliah 106' 3.MODULPRAKTIKUM SISTEM BASIS DATA (MYSQL) 2. Anomali Delete atau tuple' Kesalahan yang terjadi di saat proses penghapusan record Contoh: untuk membatalkan mengamb: Mahasiswa yang memiliki Nim 99671204 memutuskan tersebut.Kode-mtk. Tabel matakuliah: Kode-mtk Sks Nim Kode-mtk 36 . maka akan dilakukan proses update beberapa jumlah yang mengambil kode matakuliah tersebut' dan matakuliah bukaDari anomali-anomali yang terjadi di atas maka daftar mahasiswa jumlah kerangkapan dalanya sedikit)' termasuk well-Structure relation (sebuah relasi dengan dilakukan proses normalisasi. Misalnya akan kali sesuai dengan banyaknrmatakuliah 103. Untuk melakukan prosoes relasi dibutuhkan key. Tabel-tabel Tabel matakuliah: Tabel kuliah: Sks 2 A A Kode-mtk 101 Nim 99130012 Kode-mtk 101 t02 103 99r4502r 99276521 105 103 104 105 106 2 99130012 98254123 99L45021 r02 103 4 2 r04 terkait antara satu dengan ya: Dari kedua tabel tersebut akan dibentuk relasi yang saling field yang memiliki primary key atau fore:' lainnya. Untuk lebih jelasnya perhatikan skema di sini : Tabel kuliah: Sifatfieldprimarykey. yat:' Dengan demikian daftar mahasiswa & matakuliah harus tersebut adalah sebagai berikut ini : dengan membagi 2 tabelyang terpisah.Contc. berarti field 'Kode-mtk' pada ta:" I matakuliah dapat dijadikan primary key' sebagai primary key' sedangkan fi' Kesimpulannya field 'Kode-mtk' pada tabel matakuliah .yaitutidakbolehterdapatdatasamadalamfieldtersebut. terdapat banyak dilakukan perubahan SKS untuk koc' mahasiswa dengan NIM yang berbeda.Kode-mtk. Jika Anda amati fie Berarti field .mtk' terdapat banyak data yang Sama. Anomali UPdate Anomaliataukesalahanyangterjadipadasaatprosessuaturecord. akan berakibat hilangnl' matakuliah 106.Kode.

Hasil han darr Unnormalized Form adi INF adalah berikut : Kobuk Judul Pengarang I(ode RK l0l-K Belaiar Sendiri VB.6 Kisah Cinta Sans Penvair 10-S M.ari bentuk tidak normal (Unnormalized Form). RI(3 001 003 106-4 Belajar Cepat Berhituns Bertauhid Yang Benar o02 003 o02 001 003 Ust. Contoh: I(obuk l0l-K 103-c 1 Judul Belajar Sendiri Pengarang RKI 001 RK2 003 001 VB. 6 M. Bakr 001 l0l-K Belaiar Sendiri VB. a) Bentuk tidak normal (Unnormalized Form) Pada bagian ini setiap record yang diinput tidak mengalami tahap penyeleksian. 6 M. o0l I l0-s Belaiar Ceoat Berhituns Cokro S. Bakri Minolsta Cokro S. Berikut ini akan dijelaskan seputar pembentukan normalisasi d. 2. Setiap field harus hanya memiliki satu pengertian dan memiliki nama yang unik. yaitu tabel matakuliah dan kuliah adalah merupakan bentuk normalisasi. maka secara otomatis akan terlihat perubahan SKS atau kode matakuliah. Bakr 003 103-c Kisah Cinta Sans Penvair Minolsta 001 103-c Kisah Cinta Sane Penvair Minolsta 003 1 10-S Belajar Cepat Berhitune Cokro S. Dengan demikian terjadi suatu kondisi di mana proses penginputan record baru untuk kode matakuliah dilakukan pada tabel matakuliah. maka secara otomatis akan terlihat pula dalam daftar mahasiswa & matakuliah. Tidak terdapat record yang sama atau bernilai ganda. yaitu setiap recordnya hanya terdiri dari satu nilai.ATION Dari relasi kedua tabel ini. o02 106-A Cara Cepat Belaiar Database Lina Marlina 003 - 37 . Atom yaitu terkecil yang masih dapat dipecah lagi.DATABASE REI. yaitu tabel matakuliah dan kuliah dapat terbentuk daftar mahasiswa & matakuliah seperti yang nampak seperti berikut: Daftar mahasiswa & matakuliah: Nomor I Nim 99r30012 9914s021 Kode-mtk 101 Sks 2 4 2 105 PEMBENTUKAN NORMALISASI Perubahan daftar mahasiswa & matakuliah menjadi 2 tabel. Jadi datayang diinput terlihat apa adanya sesuai dengan yang diinput. Ciri-ciri INF: Tiap field harus bernilai "atomik. sehingga akan terjadi kerangkapan data atau duplikasi data. Soleh b) Bentuk INF (First Normal Form) Pada bentuk form jenis pertama ini atau yang disebut INF harus bersifat atomik.

Judul Belaiar Sendiri VB. dan Many to Many. one to Many. setiap record pada tabel induk hanya memiliki satu relasi deng": tabel anak. yaitu one to one. Relasi One to One pada jenis relasi one to one. yaitu fie. 38 . Seperti pada contoh bentuk norm kedua di mana field Kobuk (foreign key) pada tabel rak buku bergantung kepada field Kobu' (primary key) pada tabel Buku. Bakri Minolsta Cokro S. Dengan demikian contoh bentuk normal kedua telah memenuhi syarat untuk dijadikan bentu' normal ketiga. Pada tahap ini tabel yang terdapat pada bentuk normal Der1.: yang bergantung dengan field yang lain pada tabel yang berbeda. Tabel Buku: Tabel Buku: Kobuk (primary key) Judul Pengarang Kobuk (foreign key) Kode RI( 3. maka dapat menuju ke bentuk norrn: kedua atau 2NF. 6 Kisah Cinta Sang Penyar Belaiar Cenat Berhitung Cara Cepat Belaiar Database Pensarang 10-S 106-A M. JENISRELASITABEL Terdapat 3 jenis relasi tabel. terjadi suatu relasi yang terdapat dependency. yaitu : Tabel Buku lNF aka: Kobuk 101-K 103-C 1 t.arna atau dibagi menjadi 2bagian.MODULPRAI{TIKUM SISTEM BASIS DATA (MYSQL) c) Bentuk 2NF (Second Normal Form) Apabila bentuk normal pertama atau lNF terpenuhi. Lina Marlina Tabel Rak Buku Kobuk 101-K 101-K 103-C Kode RI( 001 003 001 003 001 103-c 1 I 10-S 10-S o02 003 106-4' d) Bentuk 3NF (Third Normal Form) pada tahap bentuk normal ketiga. .

yaitu suatu jenis relasi tabel yang memberikan hak untuk berrelasi dengan lebih dari satu baris. 39 . sapi. Bajuri yang berqurban kambing. Bajuri I 1 I(erbau Contoh relasi kerbau. di atas menunjukkan bahwa setiap pengqurban dapat berqurban dengan lebih dari satu jenis hewan yang berbeda. Contoh seperti H. Relasi One to Many Relasi one to many. dan Relasi Many To Many Pembentukan relasi many to many akan terjadi apabila beberapa baris pada sebuah tabel berelasi ke beberapa jenis pada tabel yang lain. . Bajuri ZainaI Sambri Jumlah 2 Jenis llewan Kambing Kambing I(erbau Sapi A003 A002 A003 I I Andi Solahudin Zatnal Sambri A002 A004 A005 Andi Solahudin Syamsudin 2 J Kambing Kambing Kambing Sapi Diah Armintai 2 A00l A001 H. Bajuri H.ATION Contoh: Tabel Wali I(elas Tabel Kelas Ko l(elas Kelas TD WK 0l 02 03 Nama Wali I(elas Suhendar Samsusi Zainab A B C TD WK IA IB 1C 0l o2 03 . melainkan harus memerlukan tabel perantara lain.DATABASE REI. Untuk merepresentasi relasi ini tidak cukup hanya menggunakan dua table. Contoh I(dHwn 01 Tabel Hewan Jenis Hewan Kamb ns Sap 02 03 Kerbau ID Pemilik A001 Nama Pemilik H.

maka untuk menampilkan semua re::cukup hanya dengan menggunakan perintah sql: SELECT * FROM nama_tabel. Yudo Kuncoro M. Pustaka Java Surya Kencana Setia Kawan CV. Retno Yuniar Drs. update. Contoh: Untuk menampilkan 5 record pertama dari tabel buku. ara.MODUL PRAI{TIKTIM SISTEM BASIS DATA (MySQL) Contoh: ID Penerbit 01 Tabel Penerbit Nama Penerbit CV. Untuk memudahkan memahami kedua permasalahan tersebut..Menampikan 2 baris setelah melewati 2 baris pertama yang diurutkan berdasarkan kode buku - . Amelia Anssoro CV. Ada hal yang ditimbulkan setelah proses normalisasi itu ber:. Pustaka Java Setia Kawan Alexander Surya Kencana Kota Jakarta Jakarta 02 03 Banduns Padans o4 ID Pensarans A0l AI02 Tabel Penqarang Nama Pengarans Dede Sunarya Drs. Pustaka Java Surya Kencana 4 5 6 7 8 Alexander Pada Tabel Toko terlihat bahwa penerbit dapat berhubungan dengan lebih darr pengarang' begitu juga halnya dengan pengarang yang dapat berelasi dengan banyak penerbit. Amelia Anggoro Mohamad Suharto. Pustaka Java Setia Kawan Ust. Dede Sunarya ID Toko I 2 5 Nama Penerbit CV. Mysql>SELECT * FROM buku LIMIT 5. 4. . Yudo Kuncoro Apriastuti Nur Komalasari Mohamad Suharto. S.u delete. S. bai.H. Walaupun normalisasi telah membantu dalam menghilangkan anomali-anomali. . anomali insert.\lwt Apriastuti Nur Komalasari Retno Yuniar Tabel Toko Nama Pengarans Ust.H." Buku. Permasalahan Tampilan TabeI Jika pada sebelumnya hanya terdapat satu table. Sedangkan u :_: menampilkan beberapa record saja dapat menggunakan sintaks LIMIT dan oFFSET. perhatikan tabel Buku dar !. S. Yudo Kuncoro Mohamad Suharto.H. . Alamat Jakarta Jakarta Subans Banduns Medan Jakarta Subans A03 A04 A05 A06 AO7 Ust.Untuk menampilkan 3 baris pertama yang diurutkan berdasarkan pengarang. Mysql>SELECT * FROM buku ORDER By pengarang LIMIT 3. MASALAH YANG TIMBUL AKIBAT NORMALISASI yaitu permasalahan tampilan tabel dan permasalahan integritas referensial. Zaidan.

t: ll : . maka tidak akan berpengaruh pada tabel Buku. karena akan berpengaruh pada tabel Rak Buku. setiap penambahan record dapat dilakukan pada tabel Relasi. yaitu tabel Buku dan tabel Rak Buku.Buku. Setelah melalui proses normalisasi.Pengarang.DATABASE REI. dan rak buku yang kode rak bukunya 001... Pernyataan SQL untuk menampilkan record tidak sama dengan sebelum proses normalisasi. *** 4t . Setelah normalisaasi. Rakbuku. Karena sifat field Kobuk pada tabel Buku bersifat primary key. Jika belum terdapat kode buku tersebut pada tabel Buku.ATION Mysql>SELECT * FROM buku ORDER By kobuk LIMIT 2 OFFSET 2.001'.Judul. Sebelum terjadinya proses normalisasi. Jika Anda menghapus pada bagian tabel Rak Buku saja. apakah buku yang akan ditampilkan pada suatu rak apakah sudah ada dalam tabel Buku atau belum.Kode_RK ->FROM Buku. untuk menambahkan rak buku harus melalui proses pengecekan Contoh: terlebih dahulu.nama_fie1d.Kode RK:. - Peirmasalahan Integritas Referensial Berupa Maintenance Consistency of Reference antara 2 buah tabel relasi vans salins terkait. maka proses - penginputan record pada tabel Rak Buku tidak dapat dilakukan. Jika ingin melakukan penghapusan data pada tabel Buku harus berhati-hati. Mysql>SELECT Buku.nama field i Contoh: Menampilkan judul buku pengarang. maka telah terbentuk dua tabel.. sedangkan field I(obuk pada tabel Rak Buku sebagai penghubung saja. Perintah SQL-nya yaitu : SELECT nama_tabel. Rak buku WHERE Rakbuku. FROM nama tabel.

000.000.500..000 1. Gurame Jl. Nila Jl. Nasabah ld_nasabah Nama_nasabah ld nasabah Nomor_rekening Saldo I(ode_cabang Nama_cabang Alamat nasabah Kota Kode cabang Nasabah Rekening Id r-rasabah Nomor rekening 001000123 0020001 23 Saldo Kode cabang A123 AAOOI ABOO2 CCOO3 CDO04 DDOO5 003000123 004000123 005000 1 23 20.. Mujair AAOOl ABOO2 CCOO3 Yuni Hani CDO04 DDOO5 Kiki Lala Cabang Kode cabang A123 Nama cabang JKTOI JKTO2 kota Jakarta Pusat Jakarta Selatan Bandung Surabaya Bl23 cl23 Dt23 Et23 BDOOl SBYOl DPKOI Buat database dengan nama bank...: rrr..iit. kemudian buat 3 tabel di atas" lsikan data sesuai tabel di atas. :.000 Bt23 ct23 Dr23 F.1 rii'lti. ' i. Diberikan sampel 3 buah tabel yang saling berelasi satu sama lain beserla sampel datanya.l r. Sepat Jl.! ! +*J . Baung Jl.000 5..000 75. .i...000...000.000 20.t23 id nasabah Narna nasabah Rudi Alamat nasabah Jl.". RELASI AN.t..r:..

Untuk menampilkan id-nasabah dan nama.. rekening WHERE nasabah.. cabang WHERE rekening. Tentukan tabel mana saja yang dibutuhkan. ! I . Tampilkan nomor-rekening dan nama-cabang. nama-nasabah.nasabah.jrMODULPRAI<TIKUM SISTEM BASIS DATA (MYSQL) l. id-nasabah.! ! 3. SELECT id_nasabah. alamat-nasabah. Mahasiswa npm nama kelas 200912300r 2009123002 2009123003 Abisail Reddi Reva 48 4C 4A 4E 4B 2009123004 2009123005 Chyntia Steven npm 2009123001 no mk I 1001 12001 mid 78 80 69 80 85 final 80 87 75 2009123002 2009r23003 2009123004 2009t23005 I I 13001 I 1 1001 I 60 90 14001 I . saldo. 4.kode-cabang.nasabah kita membutuhkan tabel nasabah Sedangkan untuk menampilkan saldo kita membutuhkan tabel rekening' Jadi kita akan menggunakan 2 tabel tersebut.nomor-rekening..l .rekening FROM nasabah.kode-cabang : cabang.SELECT rekening. a - Perhatikan relasi dari tabel tersebut. Tabel nasabah dan rekening dihubungkan olei atribut id_nasabah. dan saldo. nama_nasabah. 2.nama-cabang FROM rekening. cabang. .id nasabah : rekening. dan nomor-rekening" Tampilkan nomor-rekening dan kota. Tampilkan id-nasabah. Tampilkan nama-nasabah.nasabah. Buat query SQL..

5.1 4..I l00l I Algoritma Buatlah database dengan nama mhs dan tabel di atas kemudian kedakan latihan..! Tampilkan nama. rF*{..! Tampilkan npm. kelas yang nilai mid dibawah g0 atau nilai final di atas g0.. 45 . Tampilkan tampilkan nama mahasiswa yang nilai midnya di atas g0.l l. Tampilkan npm dan no mk. dan mid. nama. 2...! Tampilkan nama matakuliah yang nilai mid di atas g0. I J.

]]. rekening.. ! 1. dankota.! Tampilkan id-nasabah dan nomor-rekening yang cabangnya berada di Surabaya.ELASI AN l't: lli.. 345..: bandung. SELECT mahasiswa. Tentukan tabel yang akan digunakan.000 dan berada di cabane Jakarta Pusat. matakuliah WHERE mid BETWEEN 70 AND 80.. atribut id-nasabah.id nasabah : rekening. Gurame atau yang cabangnya di kota Depok. 4.! Tampilkan kelas yang nilai finalnya di atas g0 atau yang jumlah sksnya 3. matakuliah. b. Tampilkan nama mahasiswa dan nama matakuliah yang nilai midnya antara 70 sampai g0.! Tampilkan nama mahasiswa yang nilainya kurang dari 80 dan mengambil mata kuliah ! Algoritma. nilai final.. ! *rt * 47 . ! Tampilkan tampilkan nama nasabahyang saldonya di atas 5. dan nar''amatakuliahnya.nama mk FROM mahasiswa.000. cabang) Cari atribut penghubung antar tabel. ! Tampilkan nama nasabah yang tinggal di Jl. Tampilkan nama mahasiswa yang mengambil mata kuliah komunikasi data... Tampilkannama nasabah.kode_cabang AND saldo >'20000000' AND kota: 'bandune': 2. 3.irl_nasabah rekening. SELECT nasabah... (nasaball rekening. ! Cunakan database mhs.. nasabah WHERE nasabah. ! a. 2.kode_cabang : cabang.. sedangkan rekening dan cabang dihubungkan oleh atribut kode_cabang). (nasabah dengan rekening dihubungkan oleh Buat query SQL..nama. c.nama_nasabah FROM cabang.! Tampilkan nama mahasiswa. saldo. 5.

LEFT JOIN kiri (tabel 1). maka sering disebut dengan equality digunakan adalah sama Equijoindikelompokkankedalamduabagianyaituinnerequijoin(innerjoin)danouter equijoin(outerjoin).operatoryangbiasa join ataru equiioin' dengan (:). RIGHT (tabel2). 2.YangtermasukdalamouterJoinadalahLeftJoindanRightJoin.le2 ON table name 1'column-name : table-name2'column-name 49 . l I RELASI JolNadalahpenggabungandatayangberasaldaribeberapatabel.column-name - table-name2'column-name .lir'l ':t. walaupun tidak ada Akan menampilkan selurrrh baris dari tabel di sebelah kanan yang cocok dengan tabel di sebelah kiri (tabel 1)' Sinlaks: SELECT column-name(s) JOIN FROM table-namel RIGHT JOIN table-nan.i.l. JOIN / INNERJOIN tabel paling tidak satu barts' Akan menghasilkan baris-baris yang cocok antar kedua Sintaks : SELECT column-name(s) FROM table-namel INNER JOIN table-name2 ON table name 1 .column-name : table-name2'column-name 3. walaupun tidak ada yang Akan menampilkan selumh baris dari tabel di sebelah cocok dengan tabel di sebelah kanan (tabel 2)' Sintaks : SELECT column-name(s) FROM table-namel LEFT JOIN table-name2 ON table name I . adalah perkalian cartesian Bentuk penggabungan data yang terakhir yang akan dibahas join' join atau full (Carlesian product) atau disebut juga dengan cross 1.

. Sintaks : SELECT column-name(s) FROM table-name1 FULL JOIN table-name2 ON table-name I .-. JOIN/INNER JOIN nama' Menampilkan nama dan nomor order yang diurutkan berdasarkan Sintaks : SELECT Pelanggan.-''.---l 1.r\7789si3 t--***"---"--*-i-*-*--*--"--*""*"-i*---*^ ***l2':44678i3i l_*'-.o--- j-*"---: .nama.P-Id:Order..MODIJL PRAKTIKUM SISTEM BASIS DATA (MYSQL) 4.'. -'.'-*-.--.'-'---. Hasilnya: Hani Hani i ': 22456 Z+S1Z 7X895 44678 .-:qiz+se211r *.nama' Order'NoOrder FROM Pelanggan INNER JOIN Order ON Pelanggan...P-Id ORDER BY Perlanggan.*"-l*.".-."l-*--^ "-**'..^***f****--.-"-....-..-**-*-"---**l * I .column-name : table -name2'column-name Contoh: Buat database penjualan.-'-i- r31zz+seltr *.."----*-.-. Pelanggan ! Order I o ra ! Nootd"." *-.'l i--i t-. FULL JOIN Akanmenampilkanbaris-barisyangcocokdarisalahsatutabel. I r-ro 1......"--"*--^-----"-i-"''."-.*-.'*..-- i"-- ..*..*-----*-'* f-.-...---*'.

.Nama..- | Null --.-*.NoOrder FROM Pelanggan RIGHT JOIN Order ON Pelanggan. 3.Nama.-...NoOrder FROM Pelanggan LEFT JOIN Order ON Pelanggan. Order. Order.J .Nama. Hasilnya: : .-. p_Id:Order.i Hani -'t.p_Id ORDER By pelanggan.RET ASI ANTAR TABEL 1OIN) LEFT JOIN Menampilkan nama dan nomor order yang di urutkan berdasarkan nama SELECT Pelanggan. i 5t . p_Id ORDER By pelanggan. RIGHT JOIN Z+SAZ - 77895 ++en 44678 . Hasilnya: 1 Pipit Pipit i _ IISSS 44678 _3. i----- Nama --j.4764 Nqtl.-"- Noorder ----- Hani i Pipit . Sintaks : SELECT pelanggan.p_Id:Order. Pipit | rrplt I :-"----*i--*--.Nama. Stefan .-.. Menampilkan nama dan nomor order yang di urutkan berdasarkan nama.-** --*.

i : nama i1 no order '/'7895 44618 22456 24562 34164 77895 44678 22456 24562 341 64 i! i{ t$ 1t Han Han Han Han Han Steian Stefan Ste n l$ tg il tl t. Order'NoOrder FROM Pelanggan FULL JOIN Order ON Pelanggan. t! i Hasilnya .P-Id : Order'P-Id ORDER BY Pelanggan'Nama. FULL JOIN/CROSS JOIN urutkan berdasarkan nama' Menampilkan nama dan nomor order yang di Sintaks : SELECT Pelanggan'Nama. Hasilnya : Nama Hanr OrderNo 22456 24562 Hani Piptt 1189s 44678 Pipit Stefan Null 34'764 Null ON dan USING Penggunaan cross join tanpa menggunakan Contoh: 1g SELECT Pelanggan'Nama.t FROM Pelanggan CROSS JOIN Order.MODULPRAKTIKUM SISTEM BASIS DATA @YSQL) 4. rl Stefan Stefan ll ll ll ll tl Pioit Pipit Piptt Pipit Pioit 17895 44678 22456 24s62 5+ /O+ 52 il I . Order'NoOrder .

! Buat tabel-tabel berikut dan cari hasil dari JOIN.. LEFT JOIN...: ... FULL JOIN.... .. RIGHT JOIN..REI... ..... ...AS I ANTAR TABEL AO IN) Buat database animal..! Animal id . I 2 3 animal .... id I 2 J rFood Cat tDog tMilk Bone Grass Cow :f*{< 53 .

: INTERSECT SELECT column_name (s) FROM table namel SELECT column_name (s) FROM table name2: r EXCEPT berguna untuk menampilkan perkecualian dari dua tabel. LINION berguna untuk menampilkan Sintaks : SELECT co.el . l' I SELECT column_name(s) FROM table_name2.luaur-name (s) LINION FROM:table. Sintaks : EXCEPT SELECT column*name (s) FROM table namel SELECT column_name (s) FROM table name2: Buat database dengan nama union kemudian buat tabel-tabel berrkut cabang a pid I 2 J A p nama Hani Pipit A Pipit B Stefan cabang_b pid I 2 3 p nama Lona Marni Pipit B Jon 4 55 . ) .UNION. l o Sintaks INTERSECT berguna untuk menampilkan irisan dari dua tabel.

SELECT p-nama FROM cabang-a IINION SELECT p-nama FROM cabang-b. Hasilnya: p nama Hani Jon Lona Marni Pipit A Pbit B Stefan 2. 1! 4 Hasilnya: 1! . SELECT p nama FROM cabang-a INTERSECT SELECT p-nama FROM cabang-b.MODUL PRAKTIKUM SISTEM BASIS DATA (MYSQL) Contoh: 1. SELECT p-nama FROM cabang-a LTNION ALL SELECT p-nama FROM cabang-b. 56 .il i D nama Hani i Pipit A Pipit B Stefan Lona Marni Pipit B Jon 3.

T Angkal I Angka2 J 2 a J 4 5 4 5 6 7 57 . ExcEpr... INTERSECT EXCEPT 4. Buat database angka. ! Tampilkan hasil dari LrNIoN. LTNION ALL. INTERSECT..! Buat tabel-tabel di bawah ini. SELECT p_nama FROM cabans a EXCEPT SELECT p_nama FROM cabang_b.UNION.

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->