Dokumen tersebut membahas tentang normalisasi data dan perancangan basis data. Secara ringkas, normalisasi data bertujuan untuk menghilangkan redundansi data, mengurangi kompleksitas, dan mempermudah modifikasi data dengan memecah tabel menjadi beberapa tabel yang lebih sederhana. Perancangan basis data meliputi tahap perencanaan, analisis kebutuhan, desain konseptual, dan desain logis dan fisik untuk mendukung integritas dan efisiensi data.
SIM, Gagas Bintang, Hapzi Ali, Sistem manajemen database, Universitas Mercu B...
Database design
1. Goal :
Pengambilan informasi untuk mendukung pengambilan keputusandari key people dan group dari
suatu organisasi.
NORMALISASI
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi
kebutuhan pemakai di dalam suatu organisasi.
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.
Database Design
Pondasi dari sistem informasi yang sukses
Integritas data
Data tidak redundan
Efisien
Anomali
Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan (
misalnyamenyebabkanketidakonsistenandataataumembuatsuatudata menjadi hilangketikadata
dihapus)
Database Lifecycle
1. Planning & Analysis
Discover :
Bagaimana perusahaan tsb bekerja dan apa objectifnya, struktur organisasi
Identifikasi masalah yg selama ini dialami
Definisikan database (objectives, scope, boundaries)
2. Design
Buat model database (memenuhi system dan user requirement)
Data requirements(datastructure,dataaccess,datato informationtransformation)
Subphases (conceptual design, DBMS software selection, logical design, physical
design)
Physical design=sudahberbentuktabel denganstrukturnyadan storagenya
Logical design = nama tabel apa saja
Conceptual design=bahasanyalebihke proses.Konsepdari prosesyangakan
dibuat
2. Conceptual Design
Definisi
Business flow secara konsep.
Semua data yang dibutuhkan harus dimasukkan ke dalammodel dan semua
data di dalam model tersebut harus dibutuhkan.
Contoh : use case
Tahapan :
Analysis & Requirements
Cari data yang dapat diubah menjadi informasi yang dibutuhkan
Memahami data perusahaan (menjadi DFD)
Sumber data (Interview, observasi langsung, Business Rules)
Entity Relationship (E-R) Modeling
1. Identify analyze refine the business rule
2. Identifikasi main entities
3. Relasi antar entity
4. Definisikan atribut, PK, FK untuk setiap entity
5. Buat initial E-R diagram
6. Normalisasi entity
7. Verifikasi model dan modifikasi E-R diagram terus menerus
Data Dictionary :
Mendefinisikan semua objek (entity, atribut, relasi, dst)
Digunakan bersamaan dengan normalisasi
E-R Model Verification
E-R model diverifikasi terhadap proses sistem
Mungkin dapat menambah tambahan entity dan detail atribut
Proses verifikasi secara iteratif / terus menerus
DBMS Selection
Sudah ditentukan dari client
Sudah ditentukan saat meeting pertama berdasarkan pertimbangan
Akan diset saat project berjalan
Logical Design
Belum masuk ke perancangan database
Mencakup pendefinisian nama entitas, relasi, atribut, PK, FK
3. Diagram di atas kertas
Physical Design
Diimplementasikan ke database
Menampilkan semua struktur tabel, termasuk tipe, constraint
3. Implementation
4. Maintenance
Database Design Strategies
Top down vs Bottom up
Top down design (untuk enterprise)
1. Identifikasi entity/data set
2. Definisikan atribut untuk setiap entity
Bottom-up
1. Identifikasi atribut
2. Kelompokkan atribut untuk mendefinisikan suatu entity
Centralized vs Decentralized (ke cara kerjanya, apakah besar atau kecil)
Centralized
Objek dan prosedur skala kecil
Single design process
Decentralized
Entity dalam skala besar dengan relasi dan proses yang kompleks
DB Design
1. Planning
2. Analysis
Requirement analysis
Pengujian database environment yang ada (hardware dan software yg dibutuhkan,
files/record apa yang dipakai, apa saja yg sedang dikembangkan)
Dari Information Needke Database Requirement (tipe informasi yg dibutuhkan,apa
yg dapat dilakukan sistem database untuk memenuhi kebutuhan informasi, kenapa
didesain dan apa yg akan ditingkatkan?)
Feasibility Analysis :
o Technological
hardware dan software yg dibutuhkan, apa yg tersedia dan apa yg yg harus
dibeli, bagaimana cara integrasi sistem baru
o Operational
4. Siapaygmendesainsistem,siapaygmemaintainsistem,siapaygmemberikan
help-desk support, apakah pegawai yg tersedia dapat menyediakan waktu
atau harus mengambil pegawai baru
o Economical
Overall cost, cost lain2, kapan bisa mendatangkan keuntungan
3. Design
Conceptual Design
Map organisasi, use case, event table, dll
Data Modeling
Adalah representasi dari realita yang mempertahankan detail esensial yang dipilih
secara hati-hati. Selain itu juga merupakan organisasi logis data untuk ekstraksi
informasi dan manipulasi data optimal.
Data modeling meliputi identifikasi entity, atribut dan relasi.
5. Entity Relationship (E-R Model)
DesainnyadisebutERD(EntityRelationshipDiagram) yangnantinyaakandikonversike dalambentuk
relasi database.
Entity, entity set (kumpulan entity), atribut, relasi
Saat membuatERD,janganberpikirdulubahwaentitynanti akanmenjadisebuahtabel. Pikirkandulu
prosesnya dan buat ERD.
Representing multiplicity
Many to one = satu anak panah di salah satu entity
One to one = anak panah di kedua entity
Manufacturermempunyaisatuataubeberapabest-sellercandy,dan1candybestsellerhanya
mempunyai satu manufacturer
Price adalahatributdari kedua entity,Store danCandy,bukansalahsatusaja.Jikamemikirkan
bahwa entity adalah tabel, maka price tidak terpikir untuk ditaruh di relasi Sells.
Key
Penggunaan key merupakancarauntukmembedakansuatuentitasdidalamhimpunanentitasdengan
entitas lain. Key dipilih karena unik, untuk setiap entitas sehingga bisa di bedakan dari entitas yang
lain. Kita bisa mendefinisikan key sebagai satu atau gabungan dari beberapa atribut yang dapat
membedakan semua row dalam relasi secara unik.
2 key dapat digunakan secara bersamaan pada entity yang berbeda jika 1 key yang sendirian tidak
akan menjadi unik.Contoh: nama pada entity “pemain”baskettidakakan menjadi unik,dan nomor
pada entity “tim” tidak akan menjadi jika sendiri-sendiri. Namun jika nama dan nomor dihubungkan
dengan relasi “Bermain Pada”, maka akan menjadi unik. Relasi “Bermain Pada harus menggunakan
double diamond.Entitypemainjugamenggunakandouble rectanglekarenamerupakanweakentity.
Manufacturer CandyBest-
seller
Store CandySells
price
6. Normalisasi
Adalah proses untuk mengurangi redundansi dengan cara decomposing database.
Denormalisasi adalah proses melakukan suatu redundansi untuk menambah performa query.
Decomposing dengan cara membuat satu relasi antar entity yang kemudian dapat dibuat menjadi
lebih dari 1 relasi. 1NF, 2NF, 3NF, BCNF.
1NF is the most basic of normal forms - each cell in a table must contain only one piece of
information, and there can be no duplicate rows.
2NF and 3NF are all about beingdependentonthe primarykey.Recall thataprimarykeycan
be made up of multiple columns. As Chris said in his response:
The data depends on the key [1NF], the whole key [2NF] and nothing but the key [3NF]
7. Modul Data Model Design Bu Hellena
Foreignkeybisake semuarelasi,tidakhanyaone tomanytetapi biasanyaone tomany,denganmany
merujuk ke tabel yang mempunyai foreign key(FK).
Dalam hubungan many to many relation, biasanya akan ada entity pihak ketiga yang akan
menyebabkan adanya 2 relasi one to many relationship dengan many ke entity ketiga, dan one ke
entity pertama dan kedua. Many to many relationship itu juga dilarang dalam erd.
Jikasebuahobjecthanyaakanmempunyai memori sementara,makabukanentity.Entityadalahyang
seharusnya mempunyai database sendiri.
Satu entity dengan entity lainnya bisa mempunyai relasi tidak langsung dengan pembuatan entity
ketiga.