Jumat, 26 September 2014

Normalisasi Database

Normalisasi adalah suatu proses mendesain struktur database sehingga sebagian besar ambiguity bisa dihilangkan sehingga bisa menghasilkan sebuah tabel yang normal.

Tujuan Dari Normalisasi adalah :
  • Untuk menghilangkan kerangkapan data/ redudansi.
  • Untuk mengurangi kompleksitas
  • Untuk mempermudah pemodifikasian data
  • Untuk menghilangkan anomali data

Tahapan Normalisaisi adalah :

    1 NF (Bentuk Normal Pertama) ciri-cirinya adalah setiap data di bentuk dalam flat file dan tidak ada set atribut yang berulang –ulang.


     Membentuk tabel menjadi Un-Normalized, dengan mencantumkan semua field data yang ada. Membentuk Normal Kesatu (1 NF) dengan flat table memisahkan data pada field-field yang tepat bernilai atomik, dan melengkapi atribut/ field yang ada bentuk normal kesatu ini mempunyai banyak.

    2 NF (Bentuk Normal Kedua) sudah memenuhi bentuk normal pertama, menentukan atribut kunci Utama/Primary key, atribut bukan kunci bergantung secara fungsi pada Kunci Utama/Primary key.
Langkah selanjutnya adalah membuat data menjadi bentuk normal kedua (2NF), dengan menentukan primary key. Dari table registrasi tamu hotel Primary key (*) nya adalah :
  • Kode_Kamar
  • No_Registrasi
  • ID_Penghuni
   Setelah itu kita harus mengelompokan field non kunci dengan Primary key berdasarkan ketergantungan Fungsional sehingga sebagai berikut :







     3 NF (Bentuk Normal ketiga ) sudah memenuhi bentuk normal kedua, tidak mempunyai field yang bengantung transitif.
    Setelah membuat bentuk 1NF dan 2NF selanjutnya adalah membentuk normal ke tiga (3NF) yakni dengan menghilangkan field yang bergantung transitif dan membentuk relasi dengan dengan menentukan Foreign Key yaitu Kode_Kamar dan ID_Penghuni dan menambahkan Foreign Key(**) tersebut dalam Tabel Registrasi, sehingga menjadi seperti berikut :






    Tahapan selanjutnya adalah adanya BCNF (Boyce–Codd Normal Form) yakni sebuah Tabel/Relasi adalah BCNF jika setiap atribut penentu/determinat adalah candidate key/Kunci kandidat, tapi biasanya bentuk 3NF sama dengan bentuk BCNF.

Source :
http://akbar-sisteminformasi.blogspot.com/2013/03/normalisasi-data-base-1nf2nfdan-3nf.html

DML (Data Manipulation Language)

DML (Data Manipulation Language) adalah bahasa komputer yang digunakan oleh program komputer untuk menyisipkan , menghapus dan update data dalam database.
Berikut adalah sintaks dalam dalam DML :
1. SELECT
Fungsi : Command SELECT ini berfungsi untuk menampilkan sesuatu. Menampilkan disini tidak hanya menampilkan data dari sebuah table saja, tetapi juga untuk menampilkan suatu ekspresi. Seperti menampilkan hanya field yang memiliki kategori Suplement saja.
Syntax : SELECT * FROM nama_tabel;
Parameter : from, order by, where, dll
Contoh : SELECT * FROM obat;
Penjelasan : perintah diatas akan menampilkan semua isi pada tabel obat.
2. DESC
Fungsi : Command DESC ini berfungsi untuk menampilkan struktur tabel yang telah dibuat. Apa saja field yang telah dibuat, type data dari field tersebut, dan primary keyakan terlihat disini.
Syntax  : DESC nama_table;
Parameter : -
Contoh : DESC obat;
Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.
3. INSERT INTO
Fungsi : Command INSERT INTO ini berfungsi untuk menambahkan data/record dalam suatu tabel yang telah dibuat.
Syntax : INSERT INTO nama_tabel VALUES (‘isi_field1’ , ‘isi_field2’,……);
Parameter : values, set
Contoh : INSERT INTO obat VALUES (’CO012’,’Corsel’,’Suplement’,’13’,’183500’);
Penjelasan : perintah diatas akan membuat sebuah record baru dalam tabel obat dengan id_obat = CO012, nama_obat = Corsel, kategori = Suplement, jumlah = 13, dan harga = 183500.
4. UPDATE
Fungsi : Command UPDATE ini berfungsi untuk merubah/memperbaharui data yang telah ada di dalam tebel.
Syntax : UPDATE nama_tabel SET nama_field ’nilai_baru’ WHERE nama_field = ’kondisi’ ;
Parameter : set, where
Contoh : UPDATE obat SET id_obat = ‘CE008’ WHERE nama_obat = ‘Cetoros’;
Penjelasan : perintah diatas akan mengubah id_obat BD019 menjadi CE008 pada tabel obat yang memilikinama_obat Cetoros.
5. DELETE FROM
Fungsi  : Command DELETE FROM ini berfungsi untuk menghapus record yang ada pada sebuah tabel.
Syntax : DELETE FROM nama_tabel WHERE nama_field =’option’;
Parameter : where
Contoh : DELETE FROM obat WHERE id_obat =’CO012’;
Penjelasan : perintah diatas akan menghapus record dari tabel obat yang memiliki id_obat CO012.
6. EXPLAIN
Fungsi : Command EXPLAIN ini memiliki fungsi yang sama seperti Desc yaitu berfungsi untuk menampilkan struktur tabel yang telah dibuat, seperti nama_field, type data dari field tersebut, dan primary key.
Syntax : EXPLAIN nama_table;
Parameter : -
Contoh : EXPLAIN obat;
Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.
7. SELECT DESCENDING
Fungsi : Command SELECT DESCENDING ini berfungsi menampilkan semua data dari bawah ke atas berdasarkan field yang telah ditentukan.
Syntax : SELECT field1, field2, dan seterusnya FROM nama_tabel ORDER BY field yang jadi acuan DESC;
Parameter : from, order by, desc
Contoh : SELECT id_obat, nama_obat, jumlah FROM BY obat ORDER BY id_obat DESC;
Penjelasan : Perintah diatas akan menampilkan data pada id_obat, nama_obat dan jumlah pada tabel obat dan yang menjadi acuan pengurutan data dari bawah ke atas adalah id_obat.
8. SELECT COUNT
Fungsi : Command SELECT COUNT ini berfungsi menampilkan jumlah record yang ada dalam suatu tabel.
Syntax : SELECT COUNT(*)FROM nama_tabel;
Parameter : count, from
Contoh : SELECT COUNT(*)FROM obat;
Penjelasan : Perintah diatas menampilkan jumlah record yang ada pada tabel obat.
9. SELECT MAX
Fungsi : Command SELECT MAX ini berfungsi untuk mencari nilai tertinggi pada sebuah field di tabel.
Syntax : SELECT MAX(nama_field) FROM nama_tabel;
Parameter : max, from
Contoh : SELECT MAX(jumlah) FROM obat;
Penjelasan : Perintah diatas akan menampilkan nilai tertinggi dari field jumlah pada tabel obat.
10. SELECT MIN
Fungsi : Command SELECT MIN ini berfungsi untuk mencari nilai terendah pada sebuah field di tabel.
Syntax : SELECT MIN(nama_field) FROM nama_tabel;
Parameter : min, from
Contoh : SELECT MIN(jumlah) FROM obat;
Penjelasan : Perintah diatas akan menampilkan nilai terendah dari field jumlah pada tabel obat.
Source :
http://in4matica-generasi-biru.blogspot.com/2013/03/10-command-atau-syntax-dml-data.html

Rabu, 17 September 2014

DDL - Data Definition Language

DDL adalah kumpulan perintah SQL yang digunakan untuk membuat (create), mengubah (alter) dan menghapus (drop) struktur dan definisi tipe data dari objek-objek database.

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :
  • Database
  • Table
  • View
  • Index
  • Procedure
  • Function
  • Trigger
DDL digunakan untuk mendefinisikan, mengubah, membuat, membentuk serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

Contoh:
• CREATE (untuk membentuk basis data, table atau index)
• DROP (untuk mengubah struktur table)
• ALTER (untuk menghapus basis data, table atau index)
Create table :
CREATE TABLE NAMA_TABLE (
NAMA_ATRIBUT TIPE_DATA [KETERANGAN],
NAMA_ATRIBUT TIPE_DATA [KETERANGAN],
);
Alter table :
ALTER TABEL NAMATABEL
MODIFY FILED TYPE PANJANGBARU;
Drop table :
DROP TABLE NAMA_TABLE;
Drop database :
DROP DATABASE NAMA_DATABASE;

Cara membuat tabel menggunakan bahasa basis data DDL :
  1. Untuk menjalankan Oracle :
All Program à Oracle à Oradb10g_home1 à Application Development à SQL Plus
  1. Dan menginputkan username dan password pada SQL Plus
  2. Untuk menampilkan User yang sedang digunakan :
Ketikkan “show users;”
  1. Untuk membuat user, ketikkan “create user Belajar indentified by telkom;”
  2. Untuk memberikan hak akses kepada user baru , ketikkan “Grant DBA to Belajar;”
  3. Untuk masuk ke user belajar, ketikkan : “conn belajar” lalu memasukan password yang tadi kita masukan.
  4. Cara Pembuatan tabel :
  • Pembuatan Tabel Guru :
CREATE TABLE GURU (
  1. NIG VARCHAR2 (32) not null,
  2. NAMA VARCHAR2 (64) not null,
  3. JENIS_KELAMIN CHAR not null,
  4. TGL_MASUK DATE,
  5. STATUS_PEG CHAR not null,
constraint PK_Guru primary key (NIG));
                             
  • Pembuatan Tabel Kelas :
CREATE TABLE KELAS (
  1. KELAS_ID VARCHAR2 (32) not null,
  2. KETERANGAN VARCHAR3 (64) not null,
  3. constraint PK_MP Primary Key (KELAS_10));

  • Pembuatan Tabel Mata Pelajaran :
CREATE TABLE MATA_PELAJARAN (
  1. CODE_MP VARCHAR2 (32) not null,
  2. NAMA_MP VARCHAR2 (64) not null,
  3. KREDIT NUMBER not null,
  4. Constraint PK_MP Primary Key (KODE_MP));

  • Pembuatan Tabel Murid :
CREATE TABLE MATA_PELAJARAN (
  1. NLS VARCHAR2 (32) not null,
  2. NAMA VARCHAR2 (64) not null,
  3. TGL_LAHIR DATE not null,
  4. JENIS_KELAMIN CHAR not null,
  5. ALAMAT VARCHAR2 (128) not null,
  6. NAMA_ORTU VARCHAR2 (64),
  7. Constraint PK_MURID Primary Key (NIS),
  8. Constraint AK_MURID Unique (KELAS_ID,NIS),
  9. Constraint MURID# KELAS_FK Foreign Key (KELAS_ID),
  10. References KELAS (KELAS_ID);
Source :
http://mysql.phi-integration.com/sql/apa-itu-dml-ddl
http://babyloly15.wordpress.com/2012/11/06/ddl-database-definition-language-pada-sistem-manajemen-basis-data/

Jumat, 12 September 2014

AGREGASI BASIS DATA


PROSES LANJUTAN

Sebuah diagram E-R yang telah mengakomodasi semua fakta yang ada, bisa saja telah dianggap selesai untuk selanjutnya diimplementasikan. Akan tetapi, sebenarnya kita dapat melakukan berbagai proses lanjutan (perubahan diagram E-R) yang mengarah pada penyempurnaan dan optimasi model data karena pertimbangan-pertimbangan efisiensi ruang atau kecepatan dan kemudahan pengaksesan data.

  1. Key Alternatif (Alternate Key)
Kita telah ketahui key suatu himpunan entitas/relasi dipilih dari atribut yang dapat menjamin keunikan entitas. Sebuah key dapat dikategorikan baik, jika ia berukuran kecil dan sekuensial. Semakin kecil ukurannya dan semakin berurutan nilai-nilainya diantara entitas-entitas yang ada, maka semakin baik key tersebut.
  1. Pengkodean Internal
Data/informasi yang dapat dilihat oleh pemakai awam (end-user) bisa berbeda dengan bagaimana data/informasi itu disimpan. Itulah yang dikenal sebagai Abstraksi Data. Apa yang dilihat oleh pemakai awam bisa jadi merupakan hasil pengolahan yang tidak disimpan sama sekali dalam basis data. Atau bisa pula, dinyatakan dalam bentuk lain. Salah satu alasan mengapa kita menyatakan suatu data (atribut) dalam bentuk lain adalah untuk efisiensi rung penyimpanan. Dan cara yang ditempuh untuk menyatakan suatu data dalam bentuk lain itu adalah melaui pengkodean (data coding).
Dari pemakaiannya, kita bisa membedakan adanya pengkodean eksternal (user-defined coding) dan pengkodean internal (system coding). Pengkodean eksternal mewakili pengkodean yang telah digunakan secara terbuka dan dikenal dengan baik oleh para pemakai awam (end-user). Namun, yang perlu diingat, pengkodean internal tidak hanya dapat diterapkan pada pembuatan key alternative, tapi juga diterapkan pada atribut data lain (non-key) yang memang kita kelola.
Ada 3 (tiga) bentuk pengkodean yang dapat kita pilih, yaitu:
  • Sekuensial
Dimana pengkodean dilakukan dengan mengasosiasikan data dengan kode terurut (biasanya berupa bilangan asli atau abjad), misalnya data nilai mutu kuliah (‘Sempurna’,’Baik’,’Cukup’,’Kurang’,’Buruk’) dikodekan dengan ‘A’,’B’,’C’,’D’ dan ‘E’.
  • Mnemonic
Dimana pengkodean dilakukan dengan membentuk suatu singkatan dari data yang ingin dikodekan, misalnya data jenis-kelamin (‘Laki-laki’ dan ‘Perempuan’) dikodekan dengan ‘L’ dan ‘P’.
  • Blok
Dimana pengkodean dinyatakan dalam format tertentu, misalnya data no.induk mahasiswa dengan format XXYYYY yang terbentuk atas XX=dua dijit terakhir, angka tahun masuk dan YYYY=no.urut mahasiswa.
  1. Dekomposisi Himpunan Entitas dan Normalisasi
Sebuah himpunan entitas yang ada dalam sebuah diagram E-R dapat kita dekomposisi menjadi beberapa himpunan entitas baru karena pertimbangan efisiensi ruang penyimpanan atau karena pertimbangan kemudahan/kecepatan pengaksesan data. Upaya dekomposisiini senantiasa akan menghasilkan satu himpunan entitas kuat (strong entity set) dan satu atau beberapa himpunan entitas lemah atau sub entitas.

Secara umum ada dua bentuk dekomposisi himpunan entitas, yaitu:
  • Dekomposisi Atribut (Dekomposisi Vertikal).
  • Dekomposisi Entitas (Dekomposisi Horisontal).
Dekomposisi merupakan langkah yang lazim dilakukan dalam rangka penerapan aturan Normalisasi pada tabel-tabel basis data. Dalam prakteknya, dekomposisi himpunan entitas disini juga disemangati (banyak dipengaruhi) oleh upaya penerapan aturan Normalisasi tersebut terhadap himpunan entitas yang ada dalam Diagram E-R.
  1. Dekomposisi Atribut (Dekomposisi Vertikal)
Dikomposisi ini akan dilakukan dengan cara membagi sebuah himpunan entitas menjadi dua atau lebih dengan pemisahan atribut.
  1. Dekomposisi Enitas (Dekomposisi Horizontal)
Dekomposisi ini dilakukan dengan cara membagi sebuah himpunan entitas menjadi dua atau lebih dengan pemisahan entitas.
  1. Fleksibilitas
Dalam perancangan basis data, perlu pula dipertimbangkan adanya faktor fleksibilitas. Factor ini memang bukan factor utama, tapi seringkali pula menjadi salah satu parameter untuk menentukan bagus/tidaknya sebuah desain basis data. Pertimbangan tentang efisiensi ruang penyimpanan dan dukungan pada kecepatan akses data menjadi lebih baik. Namun kualitas desain basis data yang paling baik adalah yang juga mempertimbangkan factor fleksibilitas ini. Sayangnya, pengakomodasian factor ini, dalam banyak keadaan, berbanding terbalik dengan pertimbangan tentang efisiensi ruang penyimpanan dan kecepatan akses. Artinya, demi fleksibilitas, kita akan membutuhkan ruang penyimpanan yang lebih besar dan bentuk pengaksesan yang lebih kompleks (sehingga waktu aksesnya bisa menjadi lebih lama).
Desain basis data yang telah kita buat, barangkali memang telah cukup memadai dengan kondisi saat ini. Seringkali desain basis data itu kita bangun berdasarkan sejumlah asumsi atau fakta-fakta (hasil analisis) yang berhasil kita kumpulkan. Asumsi biasanya menyederhanakan kenyataan sesungguhnya atau meniadakan anomali-anomali yang ada. Fakta-fakta yang bisa kita kumpulkan sekarang bisa saja berbeda dengan apa yang kita temukan pada kurun waktu yang akan dating. Padahal, dalam sebuah pembangunan sistem informasi, pembuatan desain basis data dilakukan diawal pekerjaan. Berikutnya setelah desain itu jadi, barulah tahap penulisan aplikasi (coding) dilakukan. Akan menjadi fatal akibatnya, jika pekerjaan pembangunansistem informasi yang telah selesai ternyata tidak memadai untuk mengelola data/informasi saat itu, karena kondisinya ternyata telah berbeda dengan kondisi pada waktu desain basis data dibuat. Hal yang sama bahkan dapat pula terjadi tidak lama setelah pemakaian aplikasi. Karena itulah, factor fleksibilitas ini menjadi penting. Fleksibilitas dalam desain basis data perlu dipertimbangkan untuk mengantisipasi kondisi-kondisi yang menurut perhitungan kita bisa saja terjadi pada sekian waktu yang akan datang.
Fleksibilitas dalam desain basis data dapat direalisasikan dalam bentuk:
  • Penambahan atribut.
  • Pemilihan domain atribut yang lebih luas (direalisasikan pada tahap implementasi).
  • Generalisasi.
  • Perubahan struktur entitas dari yang berorientasi-kolom (column oriented).

  1. Penambahan Atribut
Fleksibilitas basis data dapat dilakukan dengan menyediakan sejumlah atribut cadangan/tambahan untuk mengantisipasi kebutuhan yang saat ini belum jelas/ada, tetapi mungkin terjadi pada masa yang akan datang.
  1. Pemilihan Domain Atribut yang Lebih Luas (direalisasikan pada tahap implementasi)
  2. Generalisasi
  3. Perubahan Struktur Entitas dari yang Berorientasi Kolom (column-oriented) menjadi Berorientasi Baris (row-oriented)
Bentuk fleksibilitas semacam ini akan selalu ‘mengorbankan’ kemudahan/kecepatan akses data. Untuk menampung semua fakta yang mungkin, kita akan melengkapi himpunan entitas dan relasi dengan atribut-atribut yang kita butuhkan. Akan tetapi, ada kalanya tidak semua entitas membutuhkan semua atribut-atribut tersebut, atau yang lebih fatal jika di saat yang akan datang, ada kebutuhan penyimpanan data yang tidak terantisipasi dengan keberadaan atribut-atribut tersebut.

Source :
http://chyntea.blogspot.com/2009/01/agregasi.html

My Profile Banner

Waiting

Daisypath Happy Birthday tickers PitaPata Dog tickers Daisypath Christmas tickers