Normalisasi pada database

12 November 2012 09:09:48 Dibaca : 264

 

1. Pengertian Normalisasi pada Database Management System

 

• Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible

• Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

 

Normalisasi juga adalah suatu teknik untuk mengorganisasi data kedalam tabel-tabel  untuk memenuhi kebutuhan pemakai didalam suatu organisasi.

 

2. Tujuan dari normalisasi

 

  • Untuk menghilangkan kerangkapan data

 

  • Untuk mengurangi kompleksitas

 

  • Untuk mempermudah pemodifikasian data

 

Berikut tiga tahap Normalisasi yaitu :

 

  1. Bentuk Normal ke Satu(1NF)

    Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data

 

Syarat :

 

a. Tidak ada set atribut yang berulang atau bernilai ganda.
b. Telah ditentukannya primary key untuk tabel atau relasi.
c. Tiap atribut hanya memiliki satu pengertian.
d. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.

 

  1. Bentuk Normal ke Dua(2NF)

    Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.

 Syarat :
a. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
b. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key

 

  1. Bentuk Normal ke Tiga(3NF)

    Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.

 

Syarat :
a. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
b. Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

 


Proses Normalisasi

 

  • Data diuraikan dalam bentuk tabel, selanjutnya  dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.

 

  • Apabila tabel yang diuji belum memenuhi persyaratan tertentu,maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

 

Tipe-Tipe data pada MYSQL

11 October 2012 14:42:44 Dibaca : 553

Pemilihan tipe data merupakan suatu hal yang cukup penting dalam mengelola server. Salah satu sebabnya adalah berkaitan dengan ruang di harddisk dan memori yang akan “digunakan” oleh data-data tersebut.

Berikut ini akan diberikan tipe-tipe data yang didukung oleh MySQL yang terambil dari dokumentasi MySQL. Tipe - tipe data ini diberikan dalam bentuk yang siap dituliskan pada sintaks-sintaks MySQL, misalnya Create Table. Pada tipe-tipe data tersebut terdapat beberapa atribut yang memiliki arti sebagai berikut:

  • M, menunjukkan lebar karakter maksimum. Nilai M maksimum adalah 255.
  • D,  menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapi dibatasi oleh nilai M, yaitu tidak boleh lebih besar daripada M-2.
  • Atribut yang diberi tanda [ dan ] berarti pemakaiannya adalah optional.
  • Jika atribut ZEROFILL disertakan, MySQL akan otomatis menambahkan atribut UNSIGNED.
  • UNSIGNED adalah bilangan tanpa tanda di depannya (misalnya tanda negatif).

Inilah tipe-tipe data tersebut:

  • 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.

tugas 2

04 October 2012 17:08:49 Dibaca : 32

 

1. Bahasa SQL

 SQL (Structured Query Language) adalah sebuah Bahasa yang digunakan untuk mengakses data dalam basis data realisional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya. Structure Query Language (SQL) merupakan komponen bahasa relational database  system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi
himpunan (set-oriented language). SQL dapat digunakan baik secara interaktif  atau
ditempelkan (embedded) pada sebuah program aplikasi. 

 

2.Perintah-Perintah SQL

 

  • CREATE DATABASE; Digunakan untuk membuat database

  • CREATE TABLE; Digunakan untuk membuat tabel. Hal yang harus diperhatikan adalah sebelum pembuatan tabel maka Database harus sudah ada dulu.

  •   DROP; Untuk menghapus database atau tabel

  • ALTER; Digunakan untuk memodifikasi tabel, prosedur, triger, view, database

 

Query ALTER akan dibahas tersendiri dalam postingan lain di lain waktu bersama Query I NSERT.

 

  • INSERT; Digunakan untuk memanipulasi isi tabel. Menipulasi yang dimaksud adalah memasukkan data/basris baru dalam suatu tabel.

 

Query INSERT akan dibahas tersendiri dalam postingan lain di lain waktu bersama Query ALTER.

 

  • UPDATE; Digunakan untuk mengubah data pada sebuah tabel

  • DELETE; Seperti namanya, query ini berfungsi untuk menghapus data pada sebuah tabel.

     

     

    • DDL atau (Data Definition Language)

      DDL merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.

      DDL juga merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :

    • CREATE

    • ALTER

    • RENAME

    • DROP

                  DML atau Data Manipulation Language

                  merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam         table    seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database. 

    DML juga merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :

  • SELECT

  • INSERT

  • UPDATE

  • DELETE

 

          DCL atau Data Control Language

 

          DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :

 

  • GRANT

  • REVOKE

 

   Data query language

 

Statemen Data-Query language (DQL), sering disebut juga dengan statemen retrieval, yang digunakan untuk mengambil data pada suatu tabel dan mengatur bagaimana data tersebut ditampilkan dalam aplikasi. Reserved word SELECT merupakan verb yang paling umum digunakan dalam DQL ( bahkan dalam seluruh statemen SQL). Reserved word lain dalam kategori ini yang umum digunakan adalah WHERE, ORDER BY, GROUP BY dan HAVING. Reserved word ini biasanya digunakan bersama dengan kategori lain dalam statemen SQL.

 

 

 

 

pengertian database

20 September 2012 03:01:49 Dibaca : 87

1.Pengertian Database

 Database (basis data) merupakan kumpulan data yang saling berhubungan. Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. Dalam satu file atau table terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record (umumnya digambarkan sebagai baris data) terdiri dari field yang saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record.

2. Aplikasi Berbasis File
Aplikasi ini merupakan aplikasi untuk mengolah data menggunakan data base mysql, dan memanfaatkan php my admin.


3. Database Manajemen System

DBMS (DataBase Management System) adalah sistem yang secara khusus dibuat untuk memudahkan pemakai dalam mengelola basis data. Sistem ini dibuat untuk mengatasi kelemahan sistem pemrosesan yang berbasis berkas.Pada pendekatan yang berbasis berkas, umumnya perancangan sistem didasarkan pada kebutuhan individual pemakai, bukan berdasarkan kebutuhan sejumlah pemakai. Setiap kali terdapat kebutuhan baru dari seorang pemakai, kebutuhan segera diterjemahkan kedalam program komputer. Akibatnya, kemungkinan besar setiap program aplikasi menuliskan data tersendiri. Sementara itu ada kemungkinan data yang sama juga terdapat pada berkas-berkas lain yang digunakan oleh program aplikasi lain.

Dalam aktivitas manajemen, kita mengenal suatu system yang berupa database atau biasa disebut dengan sistem manajemen basis data (database management system/DBMS) yaitu berupa suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu bisnis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. DBMS juga merupakan perangkat lunak yang di rancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumlah yang besar dan dirancang dapat melakukan masnipulasi data secara lebih mudah.

Beberapa Contoh Database Manajemen System:

MICROSOFT ACCESS

Microsoft Access atau Microsoft Office Access adalah program aplikasi dari Microsoft yang ditujukan untuk kalangan rumahan atau perusahaan kecil menengah karena kapasitas datanya sangat terbatas. Microsoft Access menggunakan mesin basis data Microsoft Jet Database Access Engine. Untuk instalasinya membutuhkan space di hardisk yang lumayan besar. Engine ini hanya bisa dijalankan di lingkup sistem operasi Windows saja. Untuk keamananya tidak begitu bisa dihandalkan walaupun sudah mengenal konsep relationship.


MICROSOFT SQL SERVER

Microsoft SQL Server adalah program Sistem Manajemen Dasis Data Relasional. Susunan dari Microsoft SQL Server dibagi menjadi tiga komponen. SQL OS yang melakukan layanan utama pada SQL Server, Relational Engine yang bekerja sebagai penghubung komponen database, tabel, query, dan perintah tersimpan dan Protocol Layer yang mengatur fungsi-fungsi SQL Server. Microsoft SQL server juga merupakan sebuah sistem manajemen basis data (RDBMS) produk Microsoft.Bahasa kueri utamanya adalah Transcat SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk membuat basis data mirroring dan clustering. Pada versi sebelumnya, MS SQL Server 2000 terserang oleh cacing komputer SQL slammer yang mengakibatkan kelambatan akses Internet pada tanggal 25 Januari 2003.

 

ORACLE

Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi.

Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal, dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai” dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal.
Namun yang mereka tidak perhitungkan adalah bahwa Oracle merupakan DBMS yang dirancang khusus untuk organisasi berukuran besar, bukan untuk ukuran kecil dan menengah.

 

 

MySQL

 

My SQL adalah perangkat lunak sistem manajemen basis data yang diciptkan untuk dapat dilakukan instalasi secara gratis (open source). MySQL juga merupakan sebuah perangkat lunak system manajemen basis data SQL (bahasa inggris : data management system) atau DNMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL . Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah : david axmark, allan larsson, dan Michael “monthy widenius.

 

Firebird

Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. rebird (juga disebut FirebirdSQL) adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux,  Windows, maupun pada sejumlah platform Unix. Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland.irebird juga digunakan para pelaku bisnis, mereka ingin solusi sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur, kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan yang lebih penting Firebird is totally Free.