tugas 6
RELASI TABEL DALAM MYSQL
1. Inner Join
Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi). Misalkan isi tabel pelanggan dan pesan adalah sebagai berikut :
Tabel pelanggan (hanya ditampilkan field id_pelanggan, nm_pelanggan dan email)
Contoh isi tabel pelanggan
Tabel pesann.
Contoh isi tabel pesan
Cara #1. Inner Join dengan WHERE.
Penggabungan dengan klausa WHERE memiliki bentuk umum sebagai berikut:
SELECT tabel1.*, tabel2.* FROM tabel1, tabel2 WHERE tabel1.PK=tabel2.FK;
Berikut ini perintah SQL untuk menggabungkan tabel pelanggan dan pesan:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan, pesan WHERE pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya sebagai berikut:
Hasil Penggabungan 2 Tabel dengan WHERE
Pada hasil perintah query di atas terlihat bahwa terdapat 5 (lima) transaksi yang dilakukan oleh 3 (tiga) orang pelanggan. Jika kita lihat kembali isi tabel pelanggan di atas, maka terdapat satu pelanggan yang tidak ditampilkan yaitu yang memiliki id pelanggan P0003. Pelanggan tersebut tidak ditampilkan karena belum pernah melakukan transaksi.
Cara #1. Inner Join dengan klausa INNER JOIN.
Berikut ini bentuk umumnya:
SELECT tabel1.*, tabel2.* FROM tabel1 INNER JOIN tabel2 ON tabel1.PK=tabel2.FK;
Dan berikut ini perintah SQL penggabungan tabel pelanggan dan pesan.
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan INNER JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya akan sama dengan gambar di atas (cara #1).
2. Outer Join
Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Sebagai contoh, kita akan menggabungkan tabel pelanggan dan pesan dimana kita akan menampilkan daftar pelanggan yang pernah melakukan pemesanan (transaksi).
Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Berikut ini bentuk umum dan contohnya:
LEFT JOIN.
Bentuk umum:
SELECT tabel1.*, tabel2.* FROM tabel1 LEFT JOIN tabel2 ON tabel1.PK=tabel2.FK;
Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan LEFT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya:
Hasil Perintah Left Join
Berbeda dengan hasil sebelumnya (inner join), penggunaan left join akan menampilkan juga data pelanggan dengan id P0003, walaupun pelanggan tersebut belum pernah bertransaksi. Dan pada kolom id_pesan dan tgl_pesan untuk pelanggan P0003 isinya NULL, artinya di tabel kanan (pesan) pelanggan tersebut tidak ada.
RIGHT JOIN
Bentuk umum:
SELECT tabel1.*, tabel2.* FROM tabel1 RIGHT JOIN tabel2 ON tabel1.PK=tabel2.FK;
Contoh perintah SQL:
SELECT pelanggan.id_pelanggan, pelanggan.nm_pelanggan, pesan.id_pesan, pesan.tgl_pesan FROM pelanggan RIGHT JOIN pesan ON pelanggan.id_pelanggan=pesan.id_pelanggan;
Hasilnya :a:
Hasil Perintah Right Join
Dengan right join, tabel yang menjadi acuan adalah tabel sebelah kanan (tabel pesan), jadi semua isi tabel pesan akan ditampilkan. Jika data pelanggan tidak ada di tabel pelanggan, maka isi tabel pesan tetap ditampilkan.
Menggabungkan 3 Tabel atau Lebih
Untuk menggabungkan tiga tabel atau lebih, pada dasarnya sama dengan penggabungan 2 (dua) tabel. Sebagai contoh misalnya kita akan menampilkan barang-barang yang dipesan beserta nama barang dan harganya untuk pemesanan dengan nomor 1, sedemikian sehingga hasilnya menjadi sebagai berikut:
sumber : http://achmatim.net/2010/01/18/perintah-mysql-untuk-menampilkan-data-dari-beberapa-tabel/
tugas 5
NORMALISASI DATABASE
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.
Proses normalisasi model data dapat diringkas sebagai berikut:
Menemukan entitas-entitas utama dalam model data.
Menemukan hubungan antara setiap entitas.
Menentukan atribut yang dimiliki masing-masing entitas.
Normalisasi model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu ketiga secara berturutan.
Langkah-Langkah Normalisasi
1.Bentuk Normal Pertama ( 1NF )
Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.
2.Bentuk Normal Kedua ( 2NF )
Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.
3.Bentuk Normal Ketiga (3NF)
Sebuah model data dikatakan memenuhi bentuk normal ketiga apabila ia memenuhi bentuk normal kedua dan tidak ada satupun atribut non-identifying (bukan pengidentifikasi unik) yang bergantung pada atribut non-identifying lain. Apabila ada, pisahkan salah satu atribut tersebut menjadi entitas baru, dan atribut yang bergantung padanya menjadi atribut entitas baru tersebut.
sumber:http://ariswidodo.wordpress.com/2008/05/03/normalisasi-database/
tugas3,921411088
PERINTAH DASAR DDL,DCL,DML
- DDL ( Data Definition Language ) merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database. Beberapa perintah dasar yang termasuk dalam DDL diantaranya adalah :
- CREATE digunakan untu membuat tabel
- ALTER digunakan untuk mengedit tabel
- RENAME digunakan untuk mengubah nama dari sebuah tabel
- DROP digunakan untuk menghapus tabel
- DML ( Data Manipulation Language ) merupakan perintah SQL yang berhubungan dengan manipulasi data atau record dalam tabel. Perintah SQL yang termasuk dalam DML diantaranya adalah :
- SELECT digunakan untuk menampilkan data atau record
- INSERT digunakan untuk memasukkan atau menambahkan data / record
- UPDATE digunakan untuk mengedit data atau record
- DELETE digunakan untuk menghapus record
- DCL ( Data Control Language ) merupakan perintah SQL yang berhubungan dengan manipulasi user ( pengguna ) dan hak akses ( Privilege ). Perintah SQL yang termasuk dalam DCL diantaranya adalah :
- GRANT merupakan perintah untuk memberikan izin atau hak akses pada user agar dapat mengakses database.
- REVOKE merupakan kebalikan dari perintah grant yaitu menghapus atau mencabut kembali izin akses user yang sebelumnya telah diberikan.
sumber:http://iptekinhu.blogspot.com/2012/03/dasar-sql-ddl-dml-dan-dcl.html
921411088tugas2
Tipe data Access :
- Text, adalah tipe data yang berisikan huruf atau kombinasi huruf dan angka. Tipe data ini memiliki panjang 255 karakter.
- Memo, adalah tipe data yang berisikan huruf atau kombinasi huruf dan angka. Tipe data ini memiliki panjang 65535 karakter.
- Number, adalah tipe data yang berisikan angka untuk perhitungan matematis. Tipe data ini memiliki panjang 1, 2, 4, atau 8 byte (1 byte = 1 karakter = 8 bit binary).
- Date/Time, adalah tipe data yang berisikan tanggal bulan dan tahun. Tipe data ini memiliki panjang 8 byte.
- Currency, adalah tipe data yang berisikan angka yang melibatkan 1 sampai 4 angka di belakang koma (desimal). Tipe data ini mampu terlibat dalam perhitungan sampai 15 digit di depan koma, dan 4 digit di belakang koma. Panjangnya 8 byte.
- AutoNumber, adalah tipe data yang berisikan angka yang mengalami increment (penambahan dengan skala kelipatan yang tetap). Defaultnya adalah 1. Panjangnya 4 byte.
- Yes/No, adalah tipe data yang berisikan jawaban yes/no, true/false, atau on/off. Panjangnya hanya 1 bit (bukan byte).
- OLE Object, adalah tipe data yang berisikan bermacam-macam object, seperti file Ms Word, spreadheet milik Ms Excel, grafik, gambar, dan sebagainya. Ukurannya tak terbatas, tergantung dari kapasitas hardisk.
- Hyperlink, adalah tipe data yang berisikan link ke sebuah object atau situs web. Panjangnya 2048 karakter.
- Lookup Wizard adalah type data untuk menampilkan data dari tabel atau record lainnya atau dengan akta lain data yang diulang.
Tipe data Mysql :
- TINYINT, Integer yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned adalah 0 hingga 255.
- SMALLINT, Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned adalah 0 hinga 65535.
- MEDIUMINT, Integer tingkat menengah. Jangkauan nilainya adalah -8388608 hingga 8388607. Jangkauan unsigned adalah 0 hingga 16777215.
- INT, Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga 2147483647. Jangkauan unsigned adalah 0 hingga 4294967295.
- INTEGER, Sama dengan INT.
- BIGINT, Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga 9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.
- FLOAT, Bilangan floating-point. Tidak dapat bersifat unsigned. Nilai atribut precision adalah <=24 untuk bilangan floating-point presisi tunggal dan di antara 25 dan 53 untuk bilangan floating-point presisi ganda.
- FLOAT, Bilangan floating-point presisi tunggal. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -3.402823466E+38 hingga -1.175494351E-38 untuk nilai negatif, 0, and 1.175494351E-38 hingga 3.402823466E+38 untuk nilai positif.
- DOUBLE, Bilangan floating-point presisi ganda. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai negatif, 0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk nilai positif.
- DOUBLE PRECISION dan REAL, Keduanya sama dengan DOUBLE.
- DECIMAL, Bilangan floating-point yang “unpacked”. Tidak dapat bersifat unsigned. Memiliki sifat mirit dengan CHAR. Kata “unpacked'' berarti bilangan disimpan sebagai string, menggunakan satu karakter untuk setiap digitnya. Jangkauan nilai dari DECIMAL sama dengan DOUBLE, tetapi juga tergantung dai nilai atribut M dan D yang disertakan. Jika D tidak diisi akan dianggap 0. Jika M tidak diisi maka akan dianggap 10. Sejak MySQL 3.22 nilai M harus termasuk ruang yang ditempati oleh angka di belakang koma dan tanda + atau -.
- NUMERIC, Sama dengan DECIMAL.
- DATE Sebuah tanggal. MySQL menampilkan tanggal dalam format 'YYYY-MM-DD'. Jangkauan nilainya adalah '1000-01-01' hingga '9999-12-31'.
- DATETIME Sebuah kombinasi dari waktu (jam) dan tanggal. MySQL menampilkan waktu dan tanggal dalam format 'YYYY-MM-DD HH:MM:SS'. Jangkauan nilainya adalah '1000-01-01 00:00:00' hingga '9999-12-31 23:59:59'.
- TIMESTAMP,Sebuah timestamp. Jangkauannya adalah dari '1970-01-01 00:00:00' hingga suatu waktu di tahun 2037. MySQL menampilkan tipe data TIMESTAMP dalam format YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD, tergantung dari nilai M, apakah 14 (atau tidak ditulis), 12, 8, atau 6.
- TIME Tipe data waktu. Jangkauannya adalah '-838:59:59' hingga '838:59:59'. MySQL menampilkan TIME dalam format 'HH:MM:SS'.
- YEAR[(2|4)] Angka tahun, dalam format 2- atau 4-digit (default adalah 4-digit). Nilai yang mungkin adalah 1901 hingga 2155, 0000 pada format 4-digit, dan 1970-2069 pada format 2-digit (70-69).
- CHAR(M) [BINARY] String yang memiliki lebar tetap. Nilai M adalah dari 1 hingga 255 karakter. Jika ada sisa, maka sisa tersebut diisi dengan spasi (misalnya nilai M adalah 10, tapi data yang disimpan hanya memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan diperbandingkan secara case-insensitive menurut default character set yang tersedia, kecuali bila atribut BINARY disertakan.
- VARCHAR(M) [BINARY] String dengan lebar bervariasi. Nilai M adalah dari 1 hingga 255 karakter. Jika nilai M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
- TINYBLOB dan TINYTEXT Sebuah BLOB (semacam catatan) atau TEXT dengan lebar maksimum 255 (2^8 - 1) karakter.
- BLOB dan TEXT Sebuah BLOB atau TEXT dengan lebar maksimum 65535 (2^16 - 1) karakter.
- MEDIUMBLOB dan MEDIUMTEXT Sebuah BLOB atau TEXT dengan lebar maksimum 16777215 (2^24 - 1) karakter.
- LONGBLOB dan LONGTEXT Sebuah BLOB atau TEXT dengan lebar maksimum 4294967295 (2^32 - 1) karakter.
- ENUM('value1','value2',...) Sebuah enumerasi, yaitu objek string yang hanya dapat memiliki sebuah nilai, dipilih dari daftar nilai 'value1', 'value2', ..., NULL atau nilai special "" error. Sebuah ENUM maksimum dapat memiliki 65535 jenis nilai.
- SET('value1','value2',...) Sebuah set, yaitu objek string yang dapat memiliki 0 nilai atau lebih, yang harus dipilih dari daftar nilai 'value1', 'value2', .... Sebuah SET maksimum dapat memiliki 64 anggota.
Tipe data Oracle :
1. VARCHAR2(ukuran)
Tipe data karakter yang dapat menyesuaikan panjang dengan variabel yang ditentukan. Suatu ukuran maksimum harus ditentukan (secara default ukuran minimum adalah 1, maksimum adalah 4000)
2. CHAR(ukuran)
Tipe data karakter yang ukurannya tidak dapat berubah (fixed length). Secara default ukuran minimum adalah 1, maksimum adalah 2000.
3. NUMBER(p, s)
Angka yang memiliki ukuran presisi p dan skala s.
4. DATE
Tipe data yang berupa tanggal dan waktu, dimulai dari 1 Januari 4712 SM hingga 31 Desember 9999
5. LONG
Tipe data karakter yang ukurannya dapat berubah sesuai variabel, hingga 2GB
6. CLOB
Tipe data karakter yang dapat berukuran hingga 4GB
7. RAW(ukuran)
Data biner raw yang memiliki ukuran tertentu. (Ukuran maksimum adalah 2000)
8. LONG RAW
Data biner raw yang ukurannya berubah sesuai variabel (hingga 2GB)
9. BLOB
Data biner (hingga 4GB)
10. BFILE
Data biner yang disimpan di file eksternal (hingga 4GB)
11. ROWID
Sistem angka basis 64 yang berupa alamat unik dari tiap-tiap row dalam suatu tabel.
12.TIME
Ada beberapa macam tipe data untuk waktu:
• TIMESTAMP: dapat menyimpan hingga ukuran sepersekian detik
• INTERVAL YEAR TO MONTH: dapat menyimpan interval tahun dan bulan
• INTERVAL DAY TO SECOND: dapat menyimpan interval hari, jam, menit hingga detik.
921411088tugas1
Pengertian Basis & Data:
- Basis dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul.
- data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta) dapat berupa angka-angka, huruf, simbol-simbol khusus, atau gabungan dari ketiganya.
Pengertian basisdata:
Basisdata adalah kumpulan dari berbagai data/informasi yang saling berhubungan satu sama lain, disimpan didalam perangkat keras (komputer) secara sistematis sehingga dapat diolah menggunakan perangkat lunak.
Pengertian Database manajemen system (DBMS)
Database manajemen system (DBMS) merupakan software yang digunakan untuk membangun sebuah sistem basis data yang berbbasis komputerisasi, DBMSmembantu dalam pemeliharaan dan pengolahan kumpulan data dalam jumlah besar, sehingga dengan menggunakan DBMS tidak menimbulkan kekacauan dan dapat digunakan oleh pengguna sesuai dengan kebutuhan.