normalisasi database
NORMALISASI DATABAS
Normalisasi merupakan teknik untuk mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik(tanpa adanya redudansi). Normalisasi dalam suatu database biasanya hanya mencapai N3(Normalisasi Ketiga), dibawah ini merupakan urutan Normalisasi :
1. N1 (Normalisasi Pertama) Mempunyai aturan
- Mendefinisikan primary key
- Tidak ada grup yang berulang
- Semua non-primary key bergantung pada primary key
2. N2 (Normalisasi Kedua) Mempunyai aturan
- Memenuhi aturan N1
- Tidak ada ketergantungan parsial
3. N3 (Normalisasi Ketiga) Mempunyai aturan
- Memenuhi aturan N2
- Tidak ada ketergantungan transitif
Sebagai tambahan normal dalam suatu database sejatinya mencapai bentuk normal tertinggi dan bergerak dari bentuk normal 1 dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Jumlah normalisasi seluruhnya ada 5(Lima) dimana 3 bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan N4 dan N5 menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.
Berikut adalah cara singkat melakukan normalisasi
Normalisasi Pertama a.k.a N1, Hilangkan duplikasi dengan mencari ketergantungan parsial
Normalisasi Kedua a.k.a N2, Field-field yang tergantung pada satu field harus dipisah dengan tepat Normalisasi Ketiga a.k.a N3, Cari hubungan transitif(transitive relation) dimana field non key tergantung pada field non key lainnya
Tabel yang sudah mencapai N3 sudah siap untuk diimplementasikan dalam sebuah proyek, sebenarnya masih ada bentuk normalisasi yang lain yaitu Normalisasi Boyce-Codd dan N4. Jadi sebelum membuat suatu project
Tujuan dari normalisasi
- Untuk menghilangkan kerangkapan data
- Untuk mengurangi kompleksitas
- Untuk mempermudah pemodifikasian data
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.
Tahapan Normalisasi
- Bentuk Tidak Normal Menghilangkan perulangan group
- Bentuk Normal Pertama (1NF)Menghilangkan ketergantungan sebagian
- Bentuk Normal Kedua (2NF) Menghilangkan ketergantungan transitif
- Bentuk Normal Ketiga (3NF)Menghilangkan anomali-anomali hasil dari ketergantungan fungsional.
- Bentuk Normal Boyce-Codd (BCNF)Menghilangkan Ketergantungan Multivalue
- Bentuk Normal Keempat (4NF)Menghilangkan anomali-anomali yang tersisa
- Bentuk Normal Kelima normalisasikanlah database anda.
tugas database
-@ Model Basis data @-.
Modelbasisdataadalahkumpulandarikonsepsibasisdata yang biasanyamewakilistrukturdanrelasi data yang terdapatpadasuatu basis data. Esensisebuah model basisdataadalahtempatdimana data atausuatumetodologiuntukmenyimpan data.Kita tidakdapatmelihat model basisdatatetapikitadapatmelihatalgoritma yang digunakanoleh model basisdatatersebut.
Ada 2 macam model basis data :
1. Model konseptual
Model konseptualterfokuskepadarepresentasi basis data secaraalamlogika. Model inilebihmemperhatikantetangapa yang disajikandibandingdenganbagaimanacaramenyajikannya.
2. Model Implementasi
DitekankanpadaBagaimanacara data disajikanpada basis data atauBagaimanastruktur data diimplementasikan
Dari konsep Model basisdataimplementasiterdapatbeberapakonsepbasisdata yang berkembangantaralain :
Model basisdatahierarki (hierarchical database)
Sistembasisdatahierarkimerupakankonsep model basisdata yang tertua, tidakadakepastiankapankonsepinimulaidigunakan.Model iniberupasuaty tree denganrelasi Parent Child Relationships denganhubungansatu-banyak (1-N).
konsephierarki
Strukturdasarbasisdatahierarki :
· Kumpulan record-record yang secaralogikaterorganisirsepertistrukturpohondariataskebawah (berbentukhirarki). Model inibanyakdigunakanpadasaatawalkomputer database mainframe. Sisteminibanyakdigunakanpadatahun 50-andan 60-an, yang banyakdigunakanoleh bank danlembagaasuransipadamasaitu.
· Lapisan paling atasbertindaksebagaiinduk/root darisegmen yang tepatberada di bawahnyadanlapisanbawahtidakbisamemilikilebihdarisatu root.
· Segmen yang berada di bawahdarisuatusegmenlainnyamerupakananakdarisegmen yang ada di atasnya.
· Strukturpohonmewakiliurutanhierarkidari media penyimpanpadakomputer.
Keuntungan :
· Secarakonseptual model basisdatainisederhana.
· KeamananbasisdatalebihbaikKebebasan data Integritas data dalamsatu tree lebihbaik
· Basisdataskalabesarlebihefisien
Kerugian :
· Sistemlebihrumit
· Kekuranganpadakebebasanstructural
· Model basisdatajaringan (Network database)
Model basisdatainidikemukakanpadatahun 1969 oleh CODASYL consorsium.Padaprinsipnya model basisdatajaringanhampirsamadenganbasisdatahierarkiyaituberupa model tree, akantetapipada model basisdatajaringan child dapatmemilikilebihdarisatu parent.
Model Network
· Struktur data basisdatajaringan :
· Set - Sebuahhubungandisebut set. Setiap set terdiridari paling tidakduamacamrecord :satu record pemilik (induk) dansatu record anggota (anak).
· Satu set mewakilisatuhubungan 1:Mantarapemilikdananggota.
· Model basisdatarelasional
Model basisdatarelasionalmerupakan model basisdata yang dirancang agar memilikikonsistensiinformasidalambentuknormalisasi database.Yang secaraimplementatifdanoperasionaldikendalikanolehmesin Database Managemen System (DBMS).
Strukturdasarbasisdatarelasional :
· Relasional Database Management System (RDBMS) beroperasipadalingkunganlogikamanusia.
· Basisdatarelasionaldiasumsikansebagaisekumpulantabel-tabel.
· Setiaptabelterdiridariserangkaian per-potonganbaris/kolom
· Tabel-tabel (ataurelasi) terhubungsatudenganlainnyamenggunakanentitastertentu yang digunakansecarabersama
· Tipehubunganseringkaliditunjukkandalamsuatuskema
· Setiaptabelmenghasilkan data yang lengkapdankebebasanstrukturalrelasi
Keuntungan model data entity relationship :
· Secarakonseptualsangatsederhana
· Gambaransecara visual
· Alat bantu komunikasilebihefektif
· Terintegrasidengan model basis data relasional
Kerugian model entity relationship :
· Gambaranaturan-aturanterbatas
· Gambaranrelasiterbatas
· Tidakadabahasauntukmemanipulasi data
· Kehilanganisiinformasi
MODEL DATAN PADA DATABASE
Model data adalahsekumpulankonsep yang terintegrasiuntukmendiskripsikan data,
hubunganantar data danbatasan – batasannyadalamsuatuorganisasi. Model data
merepresentasikansuatuorganisasi. Model data harusmenyediakankonsepdasardannotasi yang
memungkinkanperancang basis data danpemakaiutukdapatmengkomunikasikanpemahamannya
mengenaiorganisasi data.
Komponen Model Data
Komponen model data dapatdikategorikanmenjadi 3 (tiga) bagian yang meliputi:
1. Bagianstruktural, memuatsekumpulanaturanuntukmelakukankonstruksi basis
data ( database).
2. Bagianmanipulasi, melakukandefinisitipeoperasi yangdiijinkanpada data,
termasukoperasi yang digunakanuntukmelakukanperubahan (update), atau
membaca data (retrieve) dari basis data danuntukmelakukanperubahanstruktur
basis data.
3. Sekumpulanaturanmengenaiintegritas, yang akanmenjagakeakuratandari data
dalam basis data (database).
Kelompok Model Data
Terdapat 3 (tiga) kelompok model data, yaitu model data berbasisobjek, model data
berbasis record dan model data fisikal.
a. Model data berbasisobjek.
Pada model inimenjelaskan data padatingkatkonsepsidan view.Pada model ini
terdapatbeberapamacam model, yaitu :
· ER model (Entity relationship Model).
· OO model (Objek Oriented Model).
· Binary Model.
· Model data semantic
· Model data infologikal, dan
· ·Model data fungsional.
b. Model data berbasis record.
Pada model inimenjelaskan datapadatingkatkonsepsidan view, memakai
seluruhstrukturlojik basis data danmenyediakanuraiantingkattinggidari
implementasi. Terdiridarisejumlah fixed format recorddenganberbagaitipe.
Pada model initeradapat 3 (tiga) macamtipe,yaitu :
· Model data relational.
· Model data nerwork,
· Model data hirarki.
b.1. Model relational.
Pada model inimenggambarkan data danrelationship diantara data olehsuatu
koleksitabel, contohnya:
Tinggalkan Komentar...
tugas database
tugas 3 sistem database
Pengertian DDL & DML A
1. DDL (Data Definition Language)
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. 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
Perintah - Keterangan :
- CREATE TABLE - Membuat tabel
- CREATE INDEX - Membuat index
- ALTER TABLE - Mengubah struktur tabel
- DROP TABLE - Menghapus tabel
- DROP INDEX - Menghapus index
- GRANT - Memberikan hak akses
- REVOKE - Menghapus hak akses
2. DML (Data Manipulation Language)
DML (Data Manupulation 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
Perintah – Keterangan :
- SELECT - Menampilkan record dari tabel atau view
- INSERT - Menyisipkan record ke dalam tabel
- UPDATE - Menghapus record dari tabel
- DELETE - Menghapus record dari tabel
- COMMIT - Menuliskan perubahan ke dalam disk
- ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir
Tinggalkan Komentar...
tugas 2 sistem database
A. Definisi atau pengertian istilah Serial Number
Serial Number adalah Sekumpulan karakter unik yang bisa terdiri atas kombinasi antara alfabet dan numerik (alfanumerik) yang biasanya menjadi penanda barang produksi serta dibuat selalu berbeda-beda meskipun jenis barangnya sama. Serial number juga umumnya digunakan sebagai kunci software berbayar dan bisa didapatkan pengguna setelah membeli software. terkadang hal ini dimanfaatkan oleh pihak tertentu yang dengan sengaja membuat program palsu untuk menjebak atau menipu pengguna lain. contoh nya adalah Fake Antivirus dan beberapa Rogue Software lainnya.
B. Tipe data pada Ms. Access
Dalam Ms. Access terdapat beragam tipe data yang digunakan untuk merancang tabel, adapun tipe datanya yaitu:
1. Text : merupakan tipe data yang berupa huruf, angka, karakter khusus atau gabungan ketiganya. Maksimum 255 karakter
2. Number : data dalam bentuk angka dengan pilihan field size yang terdiri dari(Byte, Integer, Long Integer, Single, Double, General Number, Currency, Standard, Percent, Scientific
3. Date/Time : semua data dalam bentuk tanggal dan waktu
4. Currency : data angka yang diformat dalam bentuk mata uang
5. AutoNumber : menampilkan nomor urut dengan otomatis
6. Yes/No : data dalam bentuk logika True/False, On/Off
7. OLE Object (Object Linking and Embedding) : menyimpan data dalan bentuk gambar
8. Hyperlink : digunakan sebagai alamat hyperlink (dalam jaringan web)
9. Lookup wizard) : field yang mempunyai pilihan isi data dalam bentuk daftar
10. Primary Key : field yang isi datanya bersifat unik yang artinya berisi data yang tidak boleh kembar atau mengalami pengulangan.
C. Tipe data dalam MysQL
Secara umum tipe data dalam MySQL dikelompokan menjadi beberapa kelompok, antara lain: numeric, string, date and time, dan kelompok himpunan (set dan enum).
a. NUMERIC
Tipe data ini digunakan untuk menyimpan data berupa numeric (angka).
TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positifdan negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit).
SMALLINT
Penggunaan: digunakan untuk menyimpan data bilangan bulat positifdan negatif.
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
MEDIUMINT
Penggunaan: digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit).
INT (paling sering digunakan)
Penggunaan: digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan: -2.147.483.648 s/d 2.147.483.647
Ukuran: 4 byte (32 bit).
BIGINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif
dan negatif.
Jangkauan: ± 9,22 x 1018
Ukuran: 8 byte (64 bit).
FLOAT
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi tunggal.
Jangkauan : -3.402823466E+38 s/d -1.175494351E-38, 0, dan
1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit).
DOUBLE
Penggunaan: digunakan untuk menyimpan data bilangan pecahan
positif dan negatif presisi ganda.
Jangkauan: -1.79...E+308 s/d -2.22...E-308, 0, dan
2.22...E-308 s/d 1.79...E+308.
Ukuran: 8 byte (64 bit).
DECIMAL
Penggunaan : digunakan untuk menyimpan data bilangan pecahan
positif dan negatif.
Jangkauan : -1.79...E+308 s/d -2.22...E-308, 0, dan
2.22...E-308 s/d 1.79...E+308.
Ukuran : 8 byte (64 bit).
Tipe date and time
Digunakan untuk menyimpan data tanggal dan waktu.
DATE
Penggunaan: digunakan untuk menyimpan data tanggal.
Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)
Ukuran : 3 byte.
TIME
Penggunaan : digunakan untuk menyimpan data waktu.
Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)
Ukuran: 3 byte.
DATETIME
Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.
Jangkauan : '1000-01-01 00:00:00' s/d '9999-12-31 23:59:59'
Ukuran : 8 byte.
YEAR
Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan: 1900 s/d 2155
Ukuran : 1 byte.
Tipe string (text)
Digunakan untuk menyimpan data berupa tulisan atau sebuah artikel
CHAR
Penggunaan: digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter
VARCHAR(paling sering digunakan)
Penggunaan: digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
TINYTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
TEXT
Penggunaan: digunakan untuk menyimpan data text.
Jangkauan: 0 s/d 65.535 (216 - 1) karakter
MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan: 0 s/d 224 - 1 karakter
LONGTEXT
Penggunaan: digunakan untuk menyimpan data text.
Jangkauan: 0 s/d 232 - 1 karakter
Tipe BLOB (biner)
Digunakan untuk menyimpan data berupa kode biner.
BIT (sejak versi 5.0.3)
Penggunaan: digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
.TINYBLOB
Penggunaan: digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
MEDIUMBLOB
Penggunaan: digunakan untuk menyimpan data biner.
Jangkauan : 224 - 1 byte
LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 - 1 byte
Tipe data yang lain
Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipedata di MySQL mungkin akan terus bertambah seiring dengan perkembanganversi MySQL.
ENUM
Penggunaan : enumerasi (kumpulan data).
Jangkauan: sampai dengan 65535 string.
SET
Penggunaan: combination (himpunan data).
Jangkauan : sampai dengan 255 string anggotas.