NORMALISASI DATBASE ( TUGAS 4 )

21 November 2012 18:18:17 Dibaca : 128

  

Normalisasi Database

 

Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. normalisasi sering dilakukan sebagai suatu uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi tersebut sudah baik atau masih melanggar aturan-aturan standar yang diperlakukan pada suatu relasi yang normal (sudah dapat dilakukan proses insert, update, delete, dan modify pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut).

 

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

     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.

 

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.

 

 Aturan-aturan normalisasi :

 

 

1. Normalisasi Pertama (1st Normal Form) 

 

  • Mendefinisikan atribut kunci 
  • Tidak adanya group berulang 
  • Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)

    2. Normalisasi Kedua (2nd Normal Form)

  •  Sudah memenuhi dalam bentuk normal kesatu

 Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field.

 

 

3. Normalisasi Ketiga (3rd Normal Form)

 

  • Sudah berada dalam bentuk normal kedua 
  • Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya). 

 

 

 4. Boyce-Code Normal Form (BCNF)

  •  Bentuk BCNF terpenuhi dalam sebuah tabeljika untuk setiap functional dependencyterhadap setiap atribut atau gabungan atribut dalam bentuk:  X à Y

 

  •      tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada,sehingga X menjadi super key dari tabel-tabel hasil dekomposisi

 

  •  Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF Perbedaannyauntuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian.

5. Normalisasi Keempat (4rd Normal Form)

  •  Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF,dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute 
  • Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies

 

6. Normalisasi Bentuk Kelima (5rd Normal Form)

Tipe Data MY SQL

04 October 2012 21:50:38 Dibaca : 300

Tipe Data My SQL

 

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

 

3. Data Control Language ( DCL )

04 October 2012 21:43:32 Dibaca : 61

Data Control Language (DCL)


Apa itu bahasa kontrol data ?

 DCL adalah bagian Structured Query Language (SQL) yang digunakan untuk mengontrol akses ke data dalam database. Untuk setiap rumah atau outsourcing proses pengembangan perangkat lunak, Data Control Bahasa memainkan peran penting dalam menetapkan mekanisme otorisasi dari database.

Berikut adalah perintah atau bahasa dari DCL :

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

2. Data Manipulation Language ( DML )

04 October 2012 21:27:28 Dibaca : 70

Data-Manipulation Language ( DML )

 

Apa itu bahasa manipulasi data?

Bahasa manipulasi data (data manipulation language) merupakan bahasa yang digunakan untuk memanipulasi basis data. Manipulasi basis data dapat berupa menambah (append), menghapus (delete), mengganti (update), menyisip (insert), menarik informasi tertentu (query).

 

Ada dua tipe DML, yaitu :

 

  • Procedural DML, mengharuskan pengguna untuk menentukan data yang dibutuhkan dan bagaimana mendapatkannya.
  • Nonprocedural DML / Declarative DML, mengharuskan pengguna menentukan data yang dibutuhkan tanpa menentukan bagaimana mendapatkannya.

 

Berikut ini adalah bahasa manipulasi data:

• SELECT – mengambil data

 

• DELETE – menghapus data

 

• INSERT – menyisipkan data

 

• UPDATE – mengubah data

 

  1. Insert

    Berfungsi Untuk memasukkan sejumlah data kedalam table yang telah dibuat.
    Syntax:

    insert into table_name (column1, column2, …, column_n)
    values (value1, value2, …, value_n);

    Contoh:
    insert into pegawai (npk,nama)
    values (‘5106100032?, ‘Eko Susilo’);

  2. Delete

    Berfungsi untuk menghapus sejumlah data yang ada didalam table yang telah dibuat.

    Syntax:
    delete table_name where column_name=column_content;

    Contoh:
    delete mahasiswa where npk=’5106100032?;

  3. Update

    Berfungsi untuk melakukan perubahan terhadap sejumlah data yang ada didalam table yang telah dibuat.Syntax:

    update table_name
    set column1_name=column1_content
    where column2_name=column2_content;

    Contoh:
    update pegawai
    set nama=’Eka Susila’, alamat=’U-144?

  4. . Select

    Berfungsi untuk melakukan pengambilan sejumlah data yang ada di dalam table untuk ditampilkan ataupun dimanipulasi
    Syntax:

    Select column from table_name

    Contoh:
    Select * from pegawai;

    where nrp=’5106100032?;

 

 

Beberapa daftar Perintah DML MySQL 5.0

  • CALL
  • DELETE
  • DO
  • HANDLER
  • INSERT
  • LOAD DATA INFILE
  • REPLACE
  • SELECT
  • TRUNCATE
  • UPDATE
 

 

 

 

 

 

1. Definition Data Language

04 October 2012 20:55:48 Dibaca : 78

Defenisi Data Language( DDL )

 

Apa itu bahasa defenisi data?

 

Bahasa defenisi data (data defeniton language) merupakan perintah-perintah yang digunakan untuk mendefenisikan suatu basis data. Umumnya bahasa defenisi data hanya dilakukan sekali saja yaitu pada tahap awal perancangan basis data.

 

Berikut ini adalah bahasa defenisi data:

  • Create

 

Perintah Create dapat digunakan untuk menciptakan basis data, index atau view.

  • Drop

 

Perintah Drop digunakan untuk menghapus basis data, index atau view.

  • Alter

Perintah Alter digunkan untuk mengubah struktur tabel.

 

 

 

sebagai contoh, pernyataan berikut dalam bahasa SQL untuk mendefinisikan tabel mahasiswa :

 

Create table mahasiswa

 

(Kode char(3),

 

NPM char(13),

 

Nama varchar(30))

Daftar Perintah DDL pada MySQL 5.0

  • 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

 

UPT.TIK UNG © 2012 - 2020
Content By YASER WONTAMI ® 13 Sep 2012