LAPORAN III
DESAIN BASIS DATA
'DATA MANIPULATION LANGUAGE'
NAMA = ARIS DIANTORO
NIM = 13650105
BAB I
DASAR TEORI
I.1 Pemakaian dasar
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.I.2 Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalahCREATE
untuk membuat objek baru, USE
untuk menggunakan objek, ALTER
untuk mengubah objek yang sudah ada, dan DROP
untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
CREATE
CREATE
digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data
CREATE DATABASE
membuat sebuah basis data baru.CREATE TABLE nama_tabel
CREATE TABLE
membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk: CREATE TABLE [''nama_tabel'']
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
CREATE TABLE [''nama_tabel'']
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field constraints]
)
- nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
- tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa
VARCHAR
,TEXT
,BLOB
,ENUM
, dan sebagainya.
- constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya
NOT NULL
,UNIQUE
, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
Contoh:
CREATE TABLE user
(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
user
seperti berikut:username | passwd | tanggal_lahir |
---|
I.3 Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:SELECT
untuk menampilkan dataINSERT
untuk menambahkan data baruUPDATE
untuk mengubah data yang sudah adaDELETE
untuk menghapus data
SELECT
SELECT
adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT
. SELECT
digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT
memiliki bentuk lengkap:( QUERY BUDIN ) Cilegon.
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON ''kondisi_penghubung'']
[, nama_tabel3 [AS alias3], ...]
[WHERE ''kondisi'']
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING ''kondisi_aggregat'']
- kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
- kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
AND
, OR
, dan sebagainya.Contoh:
Diasumsikan terdapat tabel
user
yang berisi data sebagai berikut:username | passwd | tanggal_lahir | jml_transaksi | total_transaksi | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Aris | 6487AD5EF | 09-09-1987 | 6 | 10.000 | |||||||||||||||||||||||||||||||
Budi | 97AD4erD | 01-01-1994 | 0 | 0 | |||||||||||||||||||||||||||||||
Charlie | 548794654 | 06-12-1965 | 24 | 312.150 | |||||||||||||||||||||||||||||||
Daniel | FLKH947HF | 24-04-1980 | 3 | 0 | |||||||||||||||||||||||||||||||
Erik | 94RER54 | 17-08-1945 | 34 | 50.000 |
Contoh 1: Tampilkan seluruh data.
SELECT *
FROM user
SELECT *
FROM user
WHERE total_transaksi = 0
SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000
SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
SELECT *
FROM user
ORDER BY jml_transaksi DESC
I.4 SUB-QUERY
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
SELECT username FROM user WHERE jml_transaksi = ( SELECT MAX(jml_transaksi) FROM user )
INSERT
Untuk menyimpan data dalam tabel digunakan sintaks:INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
UPDATE
Untuk mengubah data menggunakan sintax:UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
UPDATE Msuser set password="123456" where username="abc"
DELETE
Untuk menghapus data dipergunakan sintaks:DELETE FROM [nama_table] Where [KONDISI]
DELETE FROM TEST WHERE NAMA='test';
I.5 Hubungan Antar Tabel (Reference)
Dalam hal hubungan antar tabel, ada beberapa syarat yang harus terpenuhi seperti,
antara tabel yang ingin dihubungkan harus memiliki sebuah field atau kolom dengan tipe data
yang sama. Dengan kata lain ada tabel yang memiliki primary key sebagai kunci untuk
menghubungkanke tabel yang lain dimana terdapat field yang mempunyai tipe data yang sama
dengan kata lain yang disebut foreign key. Misalnya, terdapat tabel barang dan macam_barang.
Berikut query kedua tabel tersebut :
create table macam_barang (id_mac integer not null,
nama_mac varchar(15), guna_mac varchar(40), primary key (id_mac));
create table barang (id_bar integer not null, nama_bar varchar(15),
id_mac integer not null references macam_barang, primary key (id_bar, id_mac));
BAB II
LAPORAN HASIL PERCOBAAN MySql
Buatlah 2 Table yang saling berelasi!
Teble Mahasiswa
Nim_mah Primary Key
Nama_mah
alamat_mah
id_fak Foreign Key
Nim_mah Primary Key
Nama_mah
alamat_mah
id_fak Foreign Key
Table Fakultas
id_fak Primary Key
Nama_fak

1. Gunakan tabel mahasiswa, tambahkan kolom yang diperlukan kemudian masukkan 3 data mahasiswa sebagai berikut :
Nim : 12
Nama : edi
Alamat : malang
No.telp : 0856453428
Fakultas : SAINTEK
Nim : 12
Nama : edi
Alamat : malang
No.telp : 0856453428
Fakultas : SAINTEK
Nim : 13
Nama : sinta
Alamat : jogja
No.telp : 0813347565675
Fakultas : SAINTEK
Nim : 14
Nama : luki
Alamat : ponorogo
No.telp : 082576568798
Fakultas : PSIKOLOGI
2. Tampilkan data mahasiswa berupa nim dan nama.
3. Tampilkan data mahasiswa berdasarkan nim salah satu mahasiswa. Sehingga yang muncul hanya salah satu data mahasiswa.
4. Tampilkan data mahasiswa dan fakultas. Ambil berdasarkan nim, nama mahasiswa, nama fakultas.
5. Hapus data mahasiswa yang memiliki nim : 13
6. Ubah data berupa alamat : solo dan no.telp : 0857688788 yang memiliki nim 12
7. Tampilkan data mahasiswa dan urutkan dari besar ke kecil berdasarkan nim mahasiswa. Kemudian tampilkan data fakultas urutkan secara ascending berdasarkan kolom ke-2.
8. Tampilkan seluruh data mahasiswa beserta seluruh data fakultasnya.
SELECT *FROM mahasiswa, fakultas WHERE mahasiswa.id_fak = fakultas.id_fak;

9. Tampilkan seluruh mahasiswa yang berada di fakultas “SAINTEK”.
SELECT *FROM mahasiswa, fakultas WHERE mahasiswa.id_fak = fakultas.id_fak AND nama_fak = 'SAINTEK';
10. Tampilkan seluruh mahasiswa yang tidak berada di fakultas “SAINTEK”.
11. Hapus data fakultas “SAINTEK”.
BAB III
PERBANDINGANdan PERSAMAAN MySql dan POstgreSql
No.
|
PostgreSql
|
MySql
|
1.
|
Dalam
mengkompile pseucode tidak bisa Copy dan Paste
|
1. Bisa Copy Paste
|
2.
|
GUI kurang
menarik
|
2. GUI menarik
|
3
|
Sistem Enter
langsung eksekusi
|
3. Harus Memilih
Botton “Go”
|
4
|
Lebih lengkap
dan canggih
|
4. Eksekusi sangat
cepat
|
5.
|
Ada kemampuan
menangani transaksi
|
5. MySql terbaru
baru bisa menangani transaksi
|
6.
|
Syntax(Query) Rename pada merubah kolom,
table, database
|
6. Syntax(Query) Change pada merubah kolom,
table, database
|
7.
|
harus ada syntax(Query) (;) di akhir
perintah
|
7. Tanpa syntax(Query) (;) di akhir perintah
bisa jalan
|
8.
|
Hampir semua query pada laporan 3 ini sama
|
8. Hampir semua query pada laporan 3 ini sama
|
9.
|
JIka ingin Copy dan Paste, harus Klik kanan->Select
All->Enter->NotePat dan Paste
|
9. Langsung Copy Paste tanpa harus ada bantuan
NotPat
|
10.
|
Ketika Drop, Delete tanpa ada Question
Confirmate
|
10. Ada Question Confirmate ketika Drop, Delete
|
11.
|
Pada Temporary table, table bisa di check
list dengan \d nama temporary table
|
11.Temporary table di struktur tidak terdeteksi
|
12.
|
Pada merubah nama ada query “to”
|
12. Tanpa Query to
|
13.
|
Ada tanda petik(“) ketika merubah kolom
|
13. Tanpa tanda petik(“) ketika merubah kolom
|
BAB IV
Kesimpulan
1. Data Definition Language (DDL) yang
mendefinisikan struktur suatu data.
2. Data Manipulation Language (DML) yang dapat
mencari (query) dan mengubah (modify) suatu table
3. Foreign Key adalah Primary Key Suatu Table ke
Suatu Table yang lain
Dalam praktikum kali ini, MySql lebih unggul
karena DML tertransaksi dengan baik.
Kritik
1. Penyampaian materi dalam teori dan praktikum
kadang tidak sinkron(sambung),
2. Soal yang diberikan terasa ambigu, sehingga
semua mahasiswa memiliki jawaban yang berbeda dari yang diharapkan
3. Kurang Kreatif
Saran
1. Perlu banyak koordinasi yang cukup dalam hal
ini agar tidak menimbulkan ambigu,
2. Memperjelas soal tanpa mengurangi rasa kreatif
Mahasiswa, agar tidak ambigu serta menghasilkan jawaban yang diharapkan
3. Menumbuh kembangkan rasa kreatif dengan
menggali banyak inovasi-inovasi nyata.
Manfaat Pembaca
1. Dalam Laporan ini diharapkan pembaca paham
betul tentang DML(Data Manipulation Language). Lebih Paham lagi mengenai
Foreign Key, Pengurutan Data, Menampilkan Data, Mengedit Data, serta Menghapus
Data.
2. Lebih memahami alur-alur belajar Sql (Mysql
maupun PostgreSql) dengan baik dalam membuat project kedepannya.
3. Dengan banyak membaca, analisa, praktik dan
penerapan menjadikan hasil berguna dan bermanfaat
4. Lebih dewasa dalam membandingkan laaporan ini
dengan laporannya sendiri(hasil query)
5. Lebih cepat memahami langsung tanpa mencari
banyak refferensi lagi.
Sumber-Sumber
http://irpantips4u.blogspot.com/2012/10/pengertian-dml-data-manipulation.html
Yakub, 2008, “ Sistem
Basis Data : Tutorial Konsep “; Graha Ilmu: Yogyakarta.\
www.nusphere.com
http://www.databasejournal.com/features/mysql/article.php/3288951
http://www.webtechniques.com/archives/2001/09/jepson/
http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=postgresql+vs+mysql
http://www.webtechniques.com/archives/2001/09/jepson/
http://www.google.com/search?hl=en&lr=&ie=UTF-8&oe=UTF-8&q=postgresql+vs+mysql
http://id.wikipedia.org/wiki/SQL
0 komentar:
Posting Komentar