RELASI TABEL DALAM MYSQL
INNER JOIN
Inner join berfungsi sebagai pemetaan relasi one-to-one (satu ke satu), yaitu dimana hanya satu record tabel A yang sama dengan satu record tabel B, dan hanya satu record tabel B yang sama dengan satu record tabel A.
Syntax untuk merelasikan tabel pada inner join yaitu :
a. Select *
b. FROM table1
c. INNER JOIN table2
d. ON table1.column_name = table2.column_name;
Syntax untuk merelasikan
a. SELECT minuman.nama_minuman, minuman.unit, perusahaan.nama_perusahaan, perusahaan.lokasi_perusahaan
b. FROM minuman
c. INNER JOIN perusahaan
d. ON minuman.id_perusahaan =perusahaan.id_perusahaan
2. LEFT JOIN
Left join berfungsi sebagai pemetaan relasi many-to-one (banyak ke satu), yaitu dimana beberapa record tabel A yang sama dengan satu record tabel B.
Syntax untuk merelasikan tabel pada left join yaitu :
a. SELECT column_name(s)
b. FROM table_name1
c. LEFT JOIN table_name2
d. ON table_name1.column_name=table_name2.column_name
Contoh merelasikan tabel pada inner join yaitu :
Tabel 1 “Pelanggan”
SELECT Pelanggan.Last_Name, Pelanggan.First_Name, pesanan.nama_pesanan
a. FROM Pelanggan
b. LEFT JOIN Pesanan
c. ON Pelanggan.Id_pelanggan=pesanan.Id_pelanggan
d. Pesanan BY Pelanggan.Last_Name
3. RIGTH JOIN
Right join berfungsi sebagai pemetaan relasi one-to-many (satu ke banyak), yaitu dimana hanya satu record tabel A yang sama dengan beberapa record tabel B.
Syntax untuk merelasikan tabel pada right join yaitu :
a. SELECT column_name(s)
b. FROM table_name1
c. RIGHT JOIN table_name2
d. ON table_name1.column_name=table_name2.column_name
Contoh merelasikan tabel pada inner join yaitu :
a. SELECT Pelanggan.Last_Name, Pelanggan.First_Name, Pesanan.Nama_pesanan
b. FROM Pelanggan
c. RIGHT JOIN Pesanan
d. ON Pelanggan.Id_Pelanggan=Pesanan.Id_Pelanggan
e. Pesanan BY Pelanggan.Last_Name
921411238 tugas 5 Diagram Entity Relationship Restoran 42
Kasus
Restoran 42 adalah restoran yang menyiapkan makanan siap saji. Di Restoran tersebut terdapat manajer, karyawan, dan kasir. Manajer mengawasi seluruh karyawan, karyawan melayani pelanggan/pembeli, dan kasir menerima uang dari pembeli.
Dari kasus tersebut tabel matriksnya adalah
|
Manajer
|
Karyawan
|
Kasir
|
Pelanggan/pembeli
|
Manajer
|
Mengawasi
|
|
|
|
Karyawan
|
|
|
|
Melayani
|
Kasir
|
|
|
|
Melayani
|
Pelanggan/pembeli
|
|
|
Membayar ke
|
|
Dari kasus tersebut juga bisa dibuat diagram entity relationshipnya
921411238 tugas 4 NORMALISASI DATABASE
Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak
diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang
dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam
menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses
permintaan data. Berikut ini dipaparkan metodologi logis sederhana untuk menormalkan model
data dalam sebuah database, diiringi contoh pembuatan database untuk tugas-tugas matakuliah
dalam sebuah fakultas (fiktif) dengan atribut yang disederhanakan.
Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi
dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan
dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan
membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang
dapat diimplementasikan pada hubungnan individualshingga skema relasi dapat di
normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau
inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Anomaly.
Proses normalisasi model data dapat diringkas sebagai berikut:
1. Temukan entitas-entitas utama dalam model data.
2. Temukan hubungan antara setiap entitas.
3. Tentukan atribut yang dimiliki masing-masing entitas.
Langkah-Langkah Normalisasi
- Bentuk Normal Pertama (1NF)
- Bentuk Normal Kedua (2NF)
- Bentuk Normal Ketiga (3NF)
Jenis-jenis Relasi Antar-Entitas
- Relasi 1-1.
- Relasi 1-N.
- Relasi M-N.
Menterjemahkan Model Data
- Setiap entitas menjadi tabel tersendiri.
- Setiap atribut menjadi kolom-kolom tabel tersebut, dengan tipe data yang sesuai.
- Identifier entitas tersebut menjadi kolom ID yang tidak boleh kosong (NOT NULL) dan
berisi indeks yang unik. ID unik ini dalam database dinamakan primary key. - Relasi diterjemahkan menjadi foreign key.
BEBERAPA DEFINISI NORMALISASI
· Normalisasi adalah suatu proses memperbaiki / membangun dengan model data
relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika.
· Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau
file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk
database yang mudah untuk dimodifikasi.
· Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu: “apa yang
dimaksud dengan desain database logical?” dan “apa yang dimaksud dengan desain
database fisikal yang baik? What is phisical good logical database design?”.
· Normalisasi adalah suatu proses untuk mengidentifikasi “tabel” kelompok atribut
yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atrubut
lainnya.
· Normalisasi bisa disebut jga sebagai proses pengelompokan atribut-atribut dari suatu
relasi sehingga membentuk WELL STRUCTURED RELATION.
MACAM-MACAM PENYIMPANGAN (ANOMALY)
- INSERTION ANOMALY
- DELETE ANOMALY
- UPDATE ANOMALY
PROBLEM-PROBLEM PADA RELASI YANG SUDAH
DINORMALISASI
- PERFORMANCE PROBLEM
- REFENTIAL INTEGRITY PROBLEM
FUNCTIONAL DEPENDENCIES (KETERGANTUNGAN
KETERGANTUNGAN FUNGSIONAL)
- FUNCTIONAL DEPENDENCY (KETERGANTUNGAN FUNGSIONAL)
- DETERMINANT
materi di ambil dari :
http://blog.stie-mce.ac.id/sandynata/files/2009/06/adhi-database.pdf
http://mufari.files.wordpress.com/2009/10/normalisasi-database.pdf
Tugas 3 (921411238)
Contoh Penggunaan Bahasa Database (DCL, DDL, DML, dan SQL) :
1. DDL (Defiition Data Language)
Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
- Pembuatan (CREATE)
- CREATE DATABASE
- CREATE FUNCTION
- CREATE INDEX
- CREATE PROCEDURE
- CREATE TABLE
- CREATE TRIGGER
- CREATE VIEW
- Perubahan (ALTER & RENAME)
- ALTER DATABASE
- ALTER FUNCTION
- ALTER PROCEDURE
- ALTER TABLE
- ALTER VIEW
- RENAME TABLE
- Penghapusan (DROP)
- DROP DATABASE
- DROP FUNCTION
- DROP INDEX
- DROP PROCEDURE
- DROP TABLE
- DROP TRIGGER
- DROP VIEW (http://mysql.phi-integration.com/sql/apa-itu-dml-ddl)
2. DML (Data Manpulation Language) Berikut adalah contoh perintah DML yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
- CALL
- DELETE
- DO
- HANDLER
- INSERT
- LOAD DATA INFILE
- REPLACE
- SELECT
- TRUNCATE
- UPDATE (http://mysql.phi-integration.com/sql/apa-itu-dml-ddl)
3. DCL (Data Control Language)
Berikut adalah contoh perintah DCL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
1. GRANT
Fungsi : digunakan untuk memberikan izin akses kepada user
Sintaks : GRANT privileges ON tbname TO user
Contoh :
GRANT SELECT ON CLUB TO PUBLIC
GRANT SELECT, INSERT, UPDATE, DELETE ON CLUB TO USER01
2. REVOKE
Fungsi : digunakan untuk mencabut izin akses kepada user
Sintaks : REVOKE privileges ON tbname FROM user
Contoh :
REVOKE INSERT, UPDATE, DELETE ON CLUB FROM USER01
REVOKE ALL ON CLUB FROM PUBLIC
SQL
4. DQL (Data Query Language)
Berikut adalah contoh perintah DQL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut :
Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia.
Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example.
ORACLE TUGAS 2
- Varchar2(size) : string yang memiliki panjang karakter vaiable dengan panjang maxial sebesar size. Tipe data ini memperbolehkan penyimpanan semua karakter yang dapat dimasukkan melalui keyboad. Maksimum size yang dapat disimpan sebesar 4000 bytes (karakter). Tipe data ini juga memungkinkan untuk mneyimpan data numerik. Biasanya space akan langsung dieliminasi jika menggunakan tipe ini.
- Char(size): string dengan panjan gkarakter tetap sebesar ukuran size. Tipe data ini mempunyai kemampuan yang hampir sama yakni menyimpan karakter, hanya saja maksimum size yang disimpan hanya sebesar 2000 bytes.
- Number(p,s) : tipe data number memiliki presisi p dan s digit dibelakan koma jika kita abaikan p dan s berarti dianggap sebagai tipe number floating point. Tipe data ini menyimpan bilangan interger sampai maksimum dari digit integer tersebut. misal untuk spesifikasi (5,2) berarti 3 digit sebelum koma dan 2 digit dibelakang koma.
- Long : data karakter dengan ukuran panjang bervariasi, hingga mencapai 2 GB.(tipe data seperti ini tidak dapat digunakan sebagai primary key).
- Raw(size) : tipe data berupa binary data dengan ukuran maksimal 255 bytes
- Long Raw : Tipe data berupa binary data dengan ukuran maksimal 2 GigaBytes tidak dikonversi oleh oracle (data mentah apa adanya, spasi dihitung 1 karakter).
- Date : Tipe data ini menyimpan waktu dan tanggal dari sebuah informasi, dengan komponen waktu yang dibulatkan ke detik terdekat. Untuk menampilkannya dalam teks harus menggunakan fungsi to_char.
- Timestamp : tipe ini mirip dengan date. Di dalam tipe ini terdapat komponen waktu yang dapat langsung ditampilkan tanpa harus mengubahnya terlebih dahulu dengan fungsi to_char.
- Clob : Tipe data ini memperbolehkan penyimpanan objek dengan ukuran yang sangat besar sekitar 4 GB. Clob mirip sekali dengan varchar2 hanya saja tipe data ini mempunyai kapasitas maksimum yang lebih besar.
- Blob : tipe ini memperbolehkan penyimpanan objek bbinary yang besar dan tidak terstruktur. Contoh dari tipe data blob adalah suara dan video.