Showing posts with label Database. Show all posts
Showing posts with label Database. Show all posts

Saturday, November 26, 2016

Pengertian Join dan Jenis-Jenis Join


Join adalah perintah SQL yang berfungsi untuk melakukan relasi antara kedua tabel atau lebih yang saling memiliki hubungan / relasi ( ditandai dengan adanya primary key pada tabel master dan foregn key pada tabel transaksi ). Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang saling berhubungan. Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah join pada perintah SQL. Pada MySQL, perintah join ada beberapa macam yaitu :
  • Inner Join
  • Outer Join
  • Cross Join
  • Union Join

  1. Inner Join, Inner join merupakan jenis join yang paling umum yang dapat digunakan pada semua database. Jenis ini dapat digunakan bila ingin merelasikan dua set data yang ada di tabel, letak relasinya setelah pada perintah ON pada join.Bentuk baku perintah inner join :

    SELECT <field1>,<field2>,<fieldn> FROM <tabel1> INNER JOIN <tabel2>ON <key.tabel1> = <key.tabel2>
  2. Outer Join, Outer join merupakan jenis join yang sedikit berbeda dengan inner join. Pada MySQL, bentuk perintah untuk menerapkan outer join ada 2 yaitu :

    SELECT <field1>,<field2>,<fieldn> FROM <tabel1> LEFT JOIN <tabel2> ON<key.tabel1> = <key.tabel2> 

    dan

    SELECT <field1>,<field2>,<fieldn> FROM <tabel1> RIGHT JOIN <tabel2>ON <key.tabel1> = <key.tabel2>

    Left join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set A, terlepas dari apakah nilai kunci ada dalam data set B. Right join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set B, terlepas dari apakah nilai kunci ada dalam data set A. 
    Bila ingin menampilkan semua data yang ada di tabel sebelah kiri baik yang mempunyai pasangan ataupun yang tidak mempunyai pasangan dengan data pada tabel di sebelah kanan, maka gunakan left join. Sedangkan bila yang terjadi adalah kebalikannya, yaitu ingin menampilkan semua data yang ada di sebelah kanan baik yang mempunyai pasangan ataupun yang tidak mempunyai pasangan dengan data pada tabel di sebelah kiri, maka gunakan right join.
  3. Cross Join, Cross join kadang kala disebut juga sebagai Cartesian Product. Bila menggunakan cross join, maka hasil dari cross join akan menciptakan hasil yang didasarkan pada semua kemungkinan kombinasi baris dalam kedua set data. Dengan demikian, jumlah baris yang dikembalikan adalah N ✕ M , dimana N adalah jumlah baris dalam kumpulan data A dan M jumlah baris dalam kumpulan data B. Jelas, jumlah baris dalam cross join dapat menjadi sampah. Bentuk perintah dari cross join adalah :

    SELECT <field1>,<field2>,<fieldn> FROM <tabel1> CROSS JOIN <tabel2> atau SELECT <field1>,<field2>,<fieldn> FROM <tabel1>, <tabel2>
  4. Union Join, Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat menyederhanakan perintah persyaratan OR yang bertingkat. Bila dalam sebuah query menghasilkan pemakaian perintah OR yang lebih dari satu sehingga dapat membuat bingung, sebagai gantinya digunakan perintah UNION. Union dapat dikatakan sebagai perintah untuk menggabungkan hasil query sql yang fungsinya sama dengan perintah OR

Monday, November 21, 2016

KEY Dalam Database

Pengertian Key
Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik. Key di dalam database berfungsi sebagai suatu cara untuk mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang lain.

Jenis-Jenis Key
  • Primary Key (Kunci Primer)Kunci primer adalah suatu atribut atau satu set minimal atribut yang tidak hanya mendefinisikan secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian dari suatu kejadian.
    Nilai field yang menjadi primary key harus:
    - Unik atau tidak boleh ganda
    - Tidak boleh Null (kosong, tidak diketahui, tidak dapat ditentukan)
    - Key tersebut lebih natural untuk dijadikan acuan
    database tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key. 
    Key boleh terdiri lebih dari satu field Key yang terdiri lebih dari satu kolom seperti ini disebut Composite KeyContoh Primary Key

    Contoh:
    File pegawai berisi attribute
    Ø no induk
    Ø No ktp
    Ø Nama
    Ø Tempat lahir
    Ø Tanggal lahir
    Ø Alamat
    Ø Kota

    No induk dan no ktp adalah kunci calon (Candidate Key) dan untuk kunci utama (primary key) adalah salah satu yang dipilih dari kunci calon. Misalnya No. induk di jadikan primary key, maka primary key nya adalah no induk.

Nomor_pesanan sebagai primary key di tabel pesanan
Nomor_pesanan sebagai foreign key di tabel barang_pesanan.

  • Foreign Key (Kunci Tamu) Foreign Key adalah satu set atribut atau set atribut sebagai key penghubung kedua tabel dan melengkapi satu relationship (hubungan) terhadap primary key yang menunjukan keinduknya.
    Jika sebuah primary key terhubungan ke table/entity lain, maka keberadaan primary key pada entity tersebut di sebut sebagai foreign key.
    Contoh Foreign Key :

Pada gambar diatas, nim pada table mhs adalah primary key. Sedangkan primary key pada table matkul adalah id_matkul. Lalu id_matkul menempel pada table mhs yang kita sebut sebagai foreign key. Biasanya disebut table yang berisi foreign key sebagai table anak karena table tersebut mengait pada table lain. Sedangkan table yang terkait saya sebut sebagai table induk. Pada contoh table di atas, mhs sebagai table anak sedangkan matkul sebagai table induk.

  • Candidat key (Kunci kandidat/kunci calon)adalah suatu atribut atau satu set minimal atribut yang hanya mengidentifikasikan secara unik untuk suatu kejadian spesifik dari entitas.
    Candidate key ini harus memenuhi syarat sbb:
    -Unique Identifier, untuk setiap row/tuple candidate key harus secara unik dapat menjadi identifier. Artinya, setiap non candidate key atribut secara fungsional bergantung pada candidate tersebut.
    -Non Redudancy, tidak ada duplikasi candidate key untuk menjadi unique identifier, dimana tidak dapat dilakukan penghapusan pada candidate key dimana tidak merusak sifat unique identifier.

    Contoh dari candidate key adalah:
    Untuk entiti 'supplier' candidate key yang dapat kita pilih adalah atribut SNo, karena secara fungsional atribut SName, Status, dan City bergantung ke atribut SNo.

    Contoh Candidate Key
    File pegawai berisi attribute
    Ø no induk
    Ø No ktp
    Ø Nama
    Ø Tempat lahir
    Ø Tanggal lahir
    Ø Alamat
    Ø Kota

Kunci kandidat disini adalah:
Ø No induk
Ø No ktp
  • Composite KeyDalam desain database, composite key adalah kunci yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu kejadian entitas. Setiap atribut yang membentuk kunci senyawa adalah kunci sederhana dalam haknya sendiri.composite setidaknya satu atribut yang membentuk kunci komposit bukanlah kunci sederhana.

    Contoh Composite Key: 
    suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini memiliki nim dan kode_matakuliah sebagai kunci utama. Setiap atribut yang membentuk kunci utama adalah kunci sederhana karena masing-masing merupakan referensi unik ketika mengidentifikasi siswa dalam satu kasus dan modul yang lain.

    Sebaliknya, dengan menggunakan contoh yang sama, bayangkan kita mengidentifikasi seorang mahasiswa oleh NamaBelakang + NamaDepan mereka. Di tabel siswa tersebut pada modul kunci utama yaitu NamaDepan + NamaBelakang + kode_matakuliah. Karena NamaBelakang + NamaDepan merupakan referensi unik untuk mahasiswa, itu bukanlah sebuah kunci sederhana, itu adalah kombinasi dari atribut yang digunakan untuk secara unik mengidentifikasi seorang mahasiswa. Oleh karena itu kunci utama untuk entitas ini adalah kunci komposit.

    Tidak ada pembatasan diterapkan pada atribut tentang (awal) kepemilikan mereka dalam model data. Ini berarti bahwa setiap satu, tidak ada, atau semua, dari beberapa atribut dalam kunci senyawa dapat menjadi kunci asing. Dimana kunci asing mungkin sendiri dapat menjadi kunci majemuk.
  • Alternative Key adalah candidate key yang tidak dipilih sebagai primary key.
  • Sekunder key adalah sebuah atribut atau kombinasi yang digunakan hanya untuk tujuan pengambilan data.

Friday, November 18, 2016

Macam-macam Syntax SQL dan Fungsinya


Contoh Macam-macam syntax SQL beserta fungsi dan contohnya
No
Syntax
Fungsi
Contoh
1
Select
Digunakan untuk memilih data dari table database.
SELECT nama,email
FROM bukutamu
2
Round
Fungsinya untuk pembuatan bilangan pecahan.SELECT no_mhs,ROUND(nilai,0)as nilai bulat FROMtnilai
3
Select Disticnt
Diguanakan untuk memilih data-data yang berbeda (menghilangkan duplikasi) dari sebuah table database.SELECT DISTINCT kota FROM bukutamu
4
Delete
Menghapus data (Deletion)DELETE FROM Pelajar WHERE No_Induk = ‘00311211’;
5
Create Database
Untuk membuat database
CREATE DATABASE databaseku
6
Create Table
Digunakan untuk membuat tabel data baru
dalam sebuah database.
CREATE TABLE bukutamu
(
Id int,
Nama varchar (255),
Email varchar(50),
Kota varchar(255)
)
7
Where
Digunakan untuk memfilter data pada perintah Select
SELECT * FROM bukutamu
WHERE kota=’JAKARTA’
8
Order By
Digunakan untuk mengurutkan data berdasarkan kolom (field) tertentu.
SELECT * FROM bukutamu
ORDER BY nama
9
Like
Digunakan bersama dengan perintah Where, untuk proses pencarian data dengan spesifikasi tertentu.
SELECT * FROM bukutamu
WHERE nama LIKE ‘a%’
10
Insert Into
Digunakan untuk menambahkan data baru di tabel database.
INSERT INTO bukutamu
VALUES (1,’Arini’,’arini@mail.com’,’Yogyakarta’)
11
Delete
Digunakan untuk menghapus data di table database.
DELETE FROM bukutamu
WHERE id=1
12
Full Join
Digunakan untuk menghasilkan baris data jika ada data yang sama pada salah satu tabel.
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
FULL JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
13
Union
Digunakan untuk menggabungkan hasil dari 2 atau lebih perintah Select.
SELECT nama FROM mhs_kampus1
UNION
SELECT nama FROM mhs_kampus2
14
Curtime
Digunakan untuk mendapatkan informasi jam saat ini.SELECT CURTIME()
15
Drop Table
Digunakan untuk menghapus tabel beserta seluruh datanya.DROP TABLE mhs
16
AVG
Digunakan untuk menghitung nilai-rata-rata dari suatu data.SELECT AVG(harga) AS Harga_rata2FROM order
17
Count
Digunakan untuk menghitung jumlah (cacah) suatu data.SELECT COUNT(id) AS Jumlah_tamu FROM bukutamu
18
Max
Digunakan untuk mendapatkan nilai terbesar dari data-data yang ada.SELECT MAX(harga) AS Harga_termahal FROM order
19
Min
Digunakan untuk mendapatkan nilai terkecil dari data-data yang ada.SELECT MIN(harga) AS Harga_termurah FROM order
20
Sum
Digunakan untuk mendapatkan nilai total penjumlahan dari data-data yang ada.SELECT SUM(harga) AS Harga_total FROM order
21
Ucase
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf besar.
SELECT UCASE(nama) as Nama FROM bukutamu
22
Lcase
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf kecil.SELECT LCASE(nama) as Nama FROM bukutamu
23
Mid
Digunakan untuk mengambil beberapa karakter dari field teks.
SELECT MID (kota,1,4) as singkatan_kota FROM
24
Len
Digunakan unutk mendapatkan informasi jumlah karakter dari field teks.
SELECT LEN(nama) as panjang_nama
FROM bukutamu
25
Between
Digunakan untuk menentukan jangkauan pencarian.
SELECT * FROM bukutamu
WHERE id
BETWEEN 5 and 15
26
Update
Digunakan untuk mengubah/memperbarui data di tabel database.
UPDATE bukutamu
SET email=’arini@yahoo.com’, kota=’Jakarta’
WHERE
27
Left Join
Digunakan untuk menghasilkan baris data dari tabel kiri (nama tabel pertama) yang tidak ada
pasangan datanya pada tabel kanan (nama tabel kedua).
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
LEFT JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
28
Right Join
Digunakan untuk menghasilkan baris data dari tabel kanan (nama tabel kedua) yang tidak ada
pasangan datanya pada tabel kiri (nama tabeL pertama).
SELECT bukutamu.nama,bukutamu.emailmorder.no_order
FROM bukutamu
RIGHT JOIN order
ON bukutamu.id=order.i
ORDER BY bukutamu.nama
29
Alter Table
Digunaka untuk menambah, menghapus, atau mengubah kolom (field) pada tabel yang sudah ada.
ALTER TABLE Persons
ADD DateOfBirth date
30
Now
Digunakan untuk mendapatkan informasi waktu (tanggal dan jam saat ini.)SELECT NOW()
31
Curdate
Digunakan unutk mendapatkan informasi tanggal saat ini.
SELECT CURDATE()
32
Extract
Digunakan untuk mendapatkan informasi bagian-bagian dari data waktu tertentu, seperti tahun, bulan,
hari, jam, menit, dan detik tertentu.
SELECT EXTRAXT (YEAR FROM tglorder( AS Th_Order, EXTRACT (MONTH FROM tglorder)
AS Bulan_Order,EXTRACT (FAY FROM tglorder AS Hari_Order,
FROM order
WHERE
33
DateDiff
Digunakan untuk mendapatkan informasi waktu di antara 2 buah tanggal.
SELECT DATEIFF(‘2010-06-30’,’2010-06-29’)
AS Selisih_waktu
34
Date_Format
Digunakan untuk menampilkan informasi jam dan tanggal dengan format tertentu.
DATA_FORMAT (NOW(),’%b %d %Y %h : %i %p’)
DATE_FORMAT (NOW(),’%m-%d-%Y’)
DATE_FORMAT (NOW(),’%d %b %Y’)
DATE_FORMAT (NOW(),’%d %b %Y %T : %f’)
35
Drop Database
Digunakan untuk menghapus database.DROP DATABASE database_name
Having
Digunakan untuk memfilter data dengan fungsi tertentu.
SELECT nama_customer,SUM(harga) FROM orderWHERE nama_customer=’Arini’ OR nama_customer=’Maheswari’
GROUP BY nama_customer
HAVING SUM (harga)>25000
36
In
Digunakan untuk pencarian data menggunakan
lebih dari satu filter pada perintah Where.
SELECT * FROM bukutamu
WHERE kota IN (‘Yogyakarta’,’Jakarta)
37
Lcase
Digunakan untuk mengubah huruf pada data tertentu menjadi huruf kecil.SELECT LCASE(nama) as Nama FROM bukutamu
38
Inner Join
Digunakan untuk menghasilkan baris data
dengan cara menggabungkan 2 buah tabel atau lebih menggunakan pasangan data yang match
pada masing-masing tabel. Perintah ini sama
dengan perintah join yang sering digunakan.
SELECT bukutamu.nama,bukutamu.email,order.no_order
FROM bukutamu
INNER JOIN order
ON bukutamu.id=order.id
ORDER BY bukutamu.nama
39
Date_Add dan Date_Sub
Fungsi Date_Add() digunakan unutk
menambahkan interval waktu tertentu pada
sebuah tanggal, sedangkan fungsi Date_Sub()
digunakan untuk pengurangan sebuah tanggal
dengan interval tertentu
SELECT id,DATE_ADD (tglorder,INTERVAL 30 DAY)
AS Waktu_pembayaran
FROM orde
40
Group By
Digunakan untuk mengelompokkan data dengan kriteria tertentu.
SELECT nama_customer,SUM(harga) FROM order GROUP BY nama_customer
Itulah macam-macam syntax SQL beserta fungsinya