tugas 6 (921411078)

13 December 2012 08:28:35 Dibaca : 75

Relasi Tabel Dalam Mysql

Relasi table pada database sangat diperlukan untuk menyederhanakan data-data kita,dan supaya mudah untuk diatur.Ada beberapa cara yang digunakan untuk merelasikan table.Pada pelajaran kali ini saya akan mengajarkan cara relasi database dengan menggunakan keluarga JOIN.Relasi table dengan Join ada 6 macam.

ï‚· CROSS JOIN

ï‚· STRAIGHT JOIN

ï‚· INNER JOIN

ï‚· RIGHT JOIN

ï‚· LEFT JOIN

ï‚· NATURAL JOIN

Contoh:

Anda membuat table namanya nilai dengan huruf kecil semua.untuk menampilkan isi dari table

gunakan query berikut

select * from nilai //work

select * from Nilai //don’t work

select * from NILAI //don’t work

SeLeCt * FroM nilai //work

Sekarang masuk ke mysql server anda jika memakai console ketik mysql –u root –p [enter] masukkan password. Setelah itu masuk ke database produk mysql> use produk Lalu untuk melihat table yang sudah dibuat ketik perintah berikut

mysql> show tables;

+------------------+

| Tables_in_produk |

+------------------+

| jenis |

| produk |

+------------------+

2 rows in set (0.00 sec)

Disitu terdapat dua table yang ingin kita relasikan yaitu table jenis dan produk.Untuk meliat deskripsi dari kedua table tersebut gunakan query berikut

mysql> desc produk;

+-----------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-----------+-------------+------+-----+---------+----------------+

| id_produk | int(11) | NO | PRI | NULL | auto_increment |

| nm_produk | varchar(40) | YES | | NULL | |

| no_jenis | int(3) | YES | | NULL | |

+-----------+-------------+------+-----+---------+----------------+

3 rows in set (0.01 sec)

mysql> desc jenis

-> ;

+----------+-------------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+----------+-------------+------+-----+---------+----------------+

| no_jenis | int(11) | NO | PRI | NULL | auto_increment |

| nm_jenis | varchar(20) | YES | | NULL | |

+----------+-------------+------+-----+---------+----------------+

2 rows in set (0.01 sec)

Perhatikan pada table jenis dan produk terdapat field yang sama yaitu no_jenis.yang akan kita gunakan untuk merelasikan kedua table berikut.

Pada table produk primary key nya adalah id_produk sedangkan pada table jenis primary key nya adalah no_jenis.Nah,pada table jenis no_jenis adalah kunci primer(primary key),sedangkan pada table produk no_jenis adalah kunci tamu(foreign key).

Sekarang kita lihat isi dari masing-masing table berikut

mysql> select * from jenis;

+----------+------------+

| no_jenis | nm_jenis |

+----------+------------+

| 1 | Furniture |

| 2 | Elektronik |

| 3 | FOOD |

+----------+------------+

3 rows in set (0.00 sec)

mysql> select * from produk;

+-----------+-----------+----------+

| id_produk | nm_produk | no_jenis |

+-----------+-----------+----------+

| 1 | Lemari | 1 |

| 2 | Kulkas | 2 |

| 3 | Meja | 1 |

| 4 | Bangku | 1 |

| 5 | Televisi | 2 |

| 6 | Komputer | 2 |

+-----------+-----------+----------+

6 rows in set (0.00 sec)

Nah pada field/kolom no_jenis pada table jenis dan produk ,kita bermaksud menghubungkan.

JOIN TABLE

1.INNER JOIN

Inner Join konseprnya sama seperti Cross Join Tidak ada perbedaan apapun mysql> select id_produk,nm_produk,nm_jenis from produk inner join jenis on produk.no_jenis=jenis.no_jenis;

+-----------+-----------+------------+

| id_produk | nm_produk | nm_jenis |

+-----------+-----------+------------+

| 1 | Lemari | Furniture |

| 2 | Kulkas | Elektronik |

| 3 | Meja | Furniture |

| 4 | Bangku | Furniture |

| 5 | Televisi | Elektronik |

| 6 | Komputer | Elektronik |

+-----------+-----------+------------+

6 rows in set (0.00 sec)

mysql> select id_produk,nm_produk,nm_jenis from produk inner join jenis where produk.no_jenis=jenis.no_jenis;

+-----------+-----------+------------+

| id_produk | nm_produk | nm_jenis |

+-----------+-----------+------------+

| 1 | Lemari | Furniture |

| 2 | Kulkas | Elektronik |

| 3 | Meja | Furniture |

| 4 | Bangku | Furniture |

| 5 | Televisi | Elektronik |

| 6 | Komputer | Elektronik |

+-----------+-----------+------------+

6 rows in set (0.00 sec)

2.LEFT JOIN

Left Join digunakan untuk menampilkan semua record pada table di sebelah kiri .

mysql> select id_produk,nm_produk,nm_jenis from produk left join jenis on produk.no_jenis=jenis.no_jenis;

+-----------+-----------+------------+

| id_produk | nm_produk | nm_jenis |

+-----------+-----------+------------+

| 1 | Lemari | Furniture |

| 2 | Kulkas | Elektronik |

| 3 | Meja | Furniture |

| 4 | Bangku | Furniture |

| 5 | Televisi | Elektronik |

| 6 | Komputer | Elektronik |

+-----------+-----------+------------+

6 rows in set (0.00 sec)

Kita Lihat, Pada contoh diatas left join akan menampilkan semua record pada table di sebelah kiri yaitu table produk sedangkan table jenis berada disebelah kanan sehingga table jenis akan menyesuaikan .

3.RIGHT JOIN

Kebalikan dari left join ,right join digunakan untuk menampilkan semua record pada table di sebelah kanan.

mysql> select id_produk,nm_produk,nm_jenis from produk right join jenis on produk.no_jenis=jenis.no_jenis;

+-----------+-----------+------------+

| id_produk | nm_produk | nm_jenis |

+-----------+-----------+------------+

| 1 | Lemari | Furniture |

| 2 | Kulkas | Elektronik |

| 3 | Meja | Furniture |

| 4 | Bangku | Furniture |

| 5 | Televisi | Elektronik |

| 6 | Komputer | Elektronik |

| NULL | NULL | FOOD |

+-----------+-----------+------------+

7 rows in set (0.00 sec)

Dapat kita lihat Table jenis akan ditampilkan semua sehingga untuk field/kolom nm_jenis FOOD karena tidak ada pasangan di table produk maka table produk akan otomatis mengisinya dengan NULL.

TUGA 5

07 November 2012 13:22:34 Dibaca : 162

A. Definisi Normalisasi

 Menurut Connolly dan Begg (2002, p376), normalisasi adalah sebuah teknik untuk menghasilkan relasi atau hubungan dengan properti-properti yang diinginkan yang memberikan kebutuhan data dari suatu perusahaan. Suatu desain database harus memenuhi kondisi untuk tidak mengandung anomali, yaitu suatu kejanggalan dari penempatan atribut tertentu dari suatu obyek data. Untuk membedakan satu record dengan yang lainnya maka perlu dipilih atribut atau kombinasi atribut sebagai kunci primer (primary key).

 B. Tujuan pembuatan normalisasi adalah :

1. Membuat seminim mungkin terjadinya data rangkap.

2. Menghindarkan adanya data yang tidak konsisten terutama bila terjadi penambahan dan penghapusan data sebagai akibat adanya data rangkap.

3. Menjamin bahwa identitas tabel secara tunggal sebagai determinan semua atribut.

C. Bentuk-bentuk normalisasi

1. Bentuk Normal Pertama (First Normal Form / 1NF)

Menurut Connolly dan Begg (2002, p388), aturan normalisasi pertama (1NF) dapat dikatakan bahwa sebuah relasi dimana setiap baris dan kolom hanya berisi satu nilai. Suatu data dikatakan unormalized (UNF), jika didalamnya mengandung kelompok yang berulang (repeating group), sehingga untuk membentuk normalisasi pertama repeating group harus dihilangkan. Nilai dari setiap atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (repeating group). Namun pada kondisi pertama ini kemungkinan masih terjadi adanya data rangkap.

2 Bentuk Normal Kedua (Second Normal Form / 2NF)

Menurut Connolly dan Begg (2002, p392), aturan normalisasi kedua (2NF) dapat dikatakan bahwa sebuah relasi dalam bentuk normal pertama dan setiap atribut bukan primary key yang tergantung secara fungsional kepada primary key.Pengujian bentuk normal kedua dapat dihasilkan dengan melihat apakah ada atribut bukan primary key yang merupakan fungsi dari sebagai primary key (partial dependency).

 3 Bentuk Normal Ketiga (Third Normal Form / 3NF)

Menurut Connolly dan Begg (2002, p394) aturan normalisasi ketiga (3NF) adalah sebuah relasi dalam bentuk normal pertama dan kedua dan setiap atribut yang bukan primary key yang bergantung secara transitif kepada primary key. Pengujian terhadap 3NF dilakukan dengan cara melihat apakah terdapat atribut bukan key lainnya (disebut ketergantungan transitif atau transitive dependence). Dengan cara yang sama, maka setiap ketergantungan transitif dipisahkan. 3NF sudah cukup baik dalam arti anomali (data yang berulang) yang dikandungnya sudah sedemikian minimum.

 4 Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form / BCNF)

Menurut Connolly dan Begg (2002, p398) aturan normalisasi boyce-codd (BCNF) adalah sebuah relasi jika dan hanya jika setiap determinan adalah candidate key. Pengujian terhadap BCNF dilakukan dengan cara mengidentifikasi semua determinan dan memastikan bahwa semuanya adalah candidate key. Determinan adalah sebuah atau sekelompok atribut dimana beberapa atribut lain bergantung terhadapnya.

tugas 4 (921411078)

07 November 2012 12:53:06 Dibaca : 96

Entity Relationship

KASUS:

PT. cempakajayamerupakansebuahperusahaan yang bergerakdibidangproduksi. Yang didalamnya terdapat bagian pemasaran. Dalam bagian ini terdapat karyawan, karyawan mempunyai jabatan, customer memesan barang kekaryawan, karyawan akan membuat inVoice penjualan barang.

Entitasdanatribut

¢Karyawan : id_karyawan( sebagai Primary Key), nama,alamat,telpon.
¢Customer : id_customer (primary key), nama, alamat,telpon.
¢Barang : id_barang (sebagai primary key), nama, harga.
¢Jabatan ; id_jabatan (sebagaiprimery key), jabatan.
¢inVioicepenjualan; id_invoice (sebagaiprimery key), tanggal, jmlHarga.
Tinggalkan Komentar...

TUGAS 3 (921411078)

10 October 2012 12:45:05 Dibaca : 114

Bahasa DDL, DQL, DCL, DML Dalam DBMS

1. DDL (Data Definition Language)

        Yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya, CREATE, DROP, dan ALTER. 

      DDL Struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan didefinisikan dengan bahasa khusus yang disebut DDL. Dengan bahasa inilah kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel dan sebagainya. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data

Gambar 1. Contoh create database

 

Gambar 2. Contoh create tabel

 

Gambar 3. Contoh create tabel

2. DML (Data Manipulation Language)

     Yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. Misalnya, INSERT, UPDATE, SELECT, dan DELETE. 

 

    DML Merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa:  a. Penyisipan/Penambahan data baru ke suatu basis data  b. Penghapusan data dari suatu basis data  c. Pengubahan data dari satu basis data

Contoh : Skema Model Relasi Antar Tabel Toko Kaset

Gambar 1. Contoh create query

 

Gambar 2. Contoh insert,delete pada office acces

 3. DCL (Data Control Language)

Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya. Perintah DCL, di antaranya:

-GRAND : Perintah ini digunakan untuk memberikan hak/ijin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.

-REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

tugas 2 (921411078)

20 September 2012 20:17:32 Dibaca : 118

TIPE DATA MICROSOFT ACCSES
Field-field dalam sebuah tabel haruslah ditentukan tipe datanya agar Access mengetahui bagaimana agar data tersebut dapat diolah dan memperlakukan data dalam field itu. Oleh karena itu sangat penting bagi kita untuk memahami berbagai tipe data field yang ada. Bahkan pengetahuan mengenai hal ini akan bermanfaat ketika Anda merancang berbagai macam tabel dalam sebuah database.



1.Text
Ini adalah tipe data yang paling umum digunakan. Tipe data ini bisa digunakan untuk field alfanumeric, seperti nama, alamat, kode pos, nomor telepon dan sebagainya. Microsoft Access memberi keleluasaan bagi Anda untuk memasukkan data sampai 255 karakter ke field dengan tipe data ini.


2.Memo
Tipe data ini mirip dengan teks, tetapi bisa menampung sampai dengan 64.000 karakter. Tipe data text lebih sering dugunakan karena memo tidak bisa diurutkan atau diindeks.


3.Number
Tipe data ini digunakan untuk menyimpan data numeric yang akan digunakan untuk perhitungan matematis. Anda tidak menggunakan tipe data ini untuk nomor telepon, misalnya, karena nomor telepon tidak perlu diproses secara matematis.


4.Date/Time
Tipe data ini digunakan untuk nilai tanggal dan waktu. Misalnya, Anda bisa menggunakan tipe data ini untuk tanggal lahir atau tanggal pembelian.


5.Currency
Tipe data ini terutama digunakan untuk nilai mata uang. Tetapi, Anda juga bisa menyertakan data numeric dalam perhitungan yang memerlukan satu sampai empat angka desimal. Tipe data ini, misalnya, bisa digunakan untuk nilai pembelian atau ongkos pengantaran.

6.Yes/No adalah type data untuk sebuah logika Ya atau Tidak.

7.  OLE Objecta

dalah type data yang dipergunakan untuk menampung gambar atau obyek dengan ukuran tidak lebi dari 128 MB.

8. Hyperlink

adalah type data untuk menmapilkan alamat hyperlink dengan batas maksimum penampungannya adalah 2048 karakter

9.  AutoNumber

seperti yang telah dijelaskan diatas, adalah nilai angka atau variasi angka huruf (yang akan berubah hanya angka apabila formatnya perpaduan huruf dan angka) yang akan muncul Secara Otomatis ketika kita menginput data baru dan angka tersebut tidak bisa kita edit.

10. Lookup Wizard

adalah type data untuk menampilkan data dari tabel atau record lainnya atau dengan akta lain data yang diulang.

11.Attachment

adalah type data yang digunakan untuk menampung / menyimpan / menampilkan lampiran persis seperti dalam sebuah email dan semua type data bisa ditampung disini.

 

TIPE-YIPE DATA YANG DIDUKUNG OLED DATA MySQL

  • TINYINT[(M)] [UNSIGNED] [ZEROFILL]

Integer yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned adalah 0 hingga 255.

  • SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned adalah 0 hinga 65535.

  • MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

Integer tingkat menengah. Jangkauan nilainya adalah -8388608 hingga 8388607. Jangkauan unsigned adalah 0 hingga 16777215.

  • INT[(M)] [UNSIGNED] [ZEROFILL]

Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga 2147483647. Jangkauan unsigned adalah 0 hingga 4294967295.

  • INTEGER[(M)] [UNSIGNED] [ZEROFILL]

Sama dengan INT.

  • BIGINT[(M)] [UNSIGNED] [ZEROFILL]

Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga 9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.

  • FLOAT(precision) [ZEROFILL]

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[(M,D)] [ZEROFILL]

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[(M,D)] [ZEROFILL]

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[(M,D)] [ZEROFILL] dan REAL[(M,D)] [ZEROFILL]

Keduanya sama dengan DOUBLE.

  • DECIMAL[(M[,D])] [ZEROFILL]

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(M,D) [ZEROFILL]

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[(M)]

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.