RESUME 9
KONSEP DATABASE
Definisi Data dan Informasi
Definisi: Database
Kumpulan data yang disimpan di dalam komputer
secara sistematik sehingga kelak dapat dengan mudah digunakan kembali.
Hirarki Data
Database vs Table vs Field vs Record
v Dalam
satu database bisa berisi satu atau lebih tabel (entitas)
v Data
dalam database disimpan berdasarkan subjectnya pada file / tabel
v File
=> kolom (field) dan baris (record).
v Field
=> meta data (nama, umur, jenis_kelamin)
v Record
=> nilai dari data (Hafid, 31, Pria)
Contoh Database
Contoh Penggunaan Database
q BANK:
Pengelolaan data nasabah, akunting, transaksi perbankan
q TRANSPORTASI/TRAVEL:
pemesanan tiket, pembayaran
q PENDIDIKAN:
registrasi, e-learning, pembayaran
q SOCIAL
MEDIA: registrasi, pengelolaan user, pengelolaan komentar
q PENJUALAN:
Pengelolaan data pelanggan, produk, penjualan
q PEMERINTAHAN:
Pengelolaan data penduduk, data wilayah,
Tujuan Database
q Kecepatan
& Kemudahan
q Mengurangi
Redudansi Data & Efisiensi Media Penyimpanan
q Akurasi
& Konsistensi Data
q Ketersediaan
& Integritas Data
q Sharebility
& Concurency
q Keamanan
Data
Komponen Sistem Database
- Hardware
(Computer)
- Software
(Operating System & DBMS software)
- Data
(yang disimpan)
- Procedure
(guide to manage DBMS)
- People (pengguna database)
Software: DBMS (Database Management System)
Perangkat lunak/aplikasi untuk berinteraksi dengan
database.
Contoh Software DBMS
Ranking Software DBMS
Model Database :
1. Hierarchical Database
Menggambarkan kumpulan record yang dihubungkan satu sama
lain melalui hubungan berdasarkan pointer yang membentuk struktur pohon.
2. Network Database
Merupakan database yang terdiri atas kumpulan record yang
dihubungkan melalui pointer yang membentuk relasi antar record dalam bentuk
ring.
Model ini punya banyak kelemahan, yaitu tidak
memungkinkannya relasi many to many. Fleksibiltas dalam menambah atau
menyisipkan record sangat rendah dan kompleks.
3. Relational Database (RDB)
Kumpulan data terstruktur yang disimpan dalam
bentuk tabel-tabel, dimana tabel-tabel tersebut dapat saling berhubungan
(relasi)
Fokus pada konsep ACID:
- Atomicity:
Suatu proses selesai secara menyeluruh/tidak.
- Consistency:
Semua proses (transaction) yang terjadi di database harus memiliki state
yang jelas. Setiap data yang disimpan harus memenuhi semua constraint, Cascades,
dan triggers.
- Isolation:
Sebuah proses tidak boleh mempengaruhi proses lain.
- Durability:
Proses yang telah selesai harus bersifat permanen, walau aplikasinya
di restart.
Contoh DBMS: MySQL, Ms SQL Server, Ms Access, Oracle dll
4. Object Oriented Database (OODB)
q Sebuah
model basisdata dimana informasi disimpan dalam bentuk object. Object yang
dimaksud tersebut digunakan dalam OOP (object oriented progamming, misalnya:
Java, C++,dll )
q Mengintegrasikan
kemampuan basis data (DBMS) dengan OOP. Misal: data yang persistent secara
transparan, kontrol konkurensi, recovery data, query asosiatif dsb
q Mendukung
data yang compleks seperti vidio, suara, gambar, dll secara native
q Contoh:
Db4o
5. NoSQL Database
q Database
yang mempunyai tipe penyimpanan data selain yang
berwujud tabular,
q Contoh:
Document (e.g. MongoDB, CouchDB), Key-Value (e.g. Redis), Graph (e.g. Neo4J,
OrientDb), dsb.
Istilah Populer: Big Data
Istilah yang menggambarkan volume data yang besar, baik data
yang terstruktur maupun data yang tidak terstruktur.
3 hal penting (3V)
• Volume -
jumlah data sangat besar dari berbagai sumber, termasuk transaksi bisnis, media
sosial dan informasi dari sensor atau mesin.
• Velocity -
pertumbuhan data sangat cepat.
• Variety -
bentuk dan format data yang berbeda beda, baik data tertsruktur maupun tidak
terstruktur, teks, database, excel, audio, video, dsb
People: Pengguna Database
q Database
Administrator (DBA)
q Database
Designer
q Application
Developers (Programmer)
q End
Users
v Pemakai
Umum (Naïve User, use application program)
v Pemakai
Khusus (Specialized/Sophisticated User, use SQL)
Arsitektur Database
Arsitektur Database: Level Eksternal
• Tujuan: memberikan kemudahan bagi user dlm mengakses
database tanpa harus mengetahui mekanisme pengaksesan secara rinci
• Pengguna hanya dapat mengakses
bagian tertentu dari database untuk alasan perlindungan dan keamanan data
Arsitektur Database: Level Konseptual
• Menggambarkan database secara
keseluruhan yg merupakan gabungan informasi dari berbagai sudut pandang
pengguna terhadap database
• Dalam bentuk Entity
Relationship Diagram,
meliputi:
– Semua entitas (tabel), atribut dan relasi
– batasan-batasan data
– Integritas dan keamanan data
– Informasi semantik tentang data
Arsitektur Database: Level Internal
• Menggambarkan bagaimana data
disimpan dalam media penyimpanan komputer secara fisik, yaitu:
– Alokasi ruang media penyimpanan utk
data & indeks
– Deskripsi ukuran record yang
disimpan
– Penempatan record
– Kompresi & enkripsi data
• Mekanisme pengaksesan biasanya
diatur oleh sistem operasi & DBMS
Database Language
Bahasa atau perintah yang digunakan untuk berinteraksi
dengan database disebut dengan Query
Query dikelompokkan menjadi:
• Data
Definition Language (DDL)
– Mengedit
struktur tabel, membuat database/tabel, menghapus database/tabel
• Data
Manipulation Language (DML)
– Menampilkan,
menambah, mengedit, dan menghapus record (baris) data
• Data
Control Language
– Mengatur
hak akses pengguna terhadap database
Skema SQL
Database Design
• Proses pembuatan desain untuk
database yang sesuai dengan visi, misi dan tujuan organisasi untuk
kebutuhan sistem database.
• Fase
awal dari desain database adalah membuat pemodelan data dengan tujuan :
– untuk membantu dalam memahami makna
(semantik) data;
– untuk memfasilitasi komunikasi
tentang informasi requirement.
• Data model harus dapat
menjelaskan tentang entities,
relationships, and attributes.
• Ada
3 fase dalam desain database:
– Conceptual database design
– Logical database design
– Physical database design.
Conceptual database design
• Proses membangun model data yang
digunakan dalam suatu organisasi, terlepas dari semua pertimbangan fisik.
• Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user.
• Model data konseptual merupakan
sumber informasi untuk tahap desain logis
Logical database
design
• Proses pembuatan model data yang
digunakan dalam organisasi berdasarkan model data spesifik (misalnya relasional), namun tidak
bergantung pada DBMS tertentu dan pertimbangan fisik lainnya.
• Model data konseptual disempurnakan
dan dipetakan ke model data logis.
Physical
database design
• Proses pembuatan deskripsi
implementasi database pada media penyimpan.
• Menggambarkan hubungan dasar,
organisasi file, dan indeks yang digunakan untuk mencapai akses data yang
efisien. Juga menjelaskan batasan integritas terkait dan tindakan pengamanan.
Disesuaikan
dengan sistem DBMS tertentu
Database Design Approach
Bottom-up Approach
• Bottom-up: represented by
normalization process
• Dimulai dari level atribut-atribut
dasar (yaitu entitas, properti dan relationship), dimana dengan analisa dari
asosiasi diantara atribut-atribut tsb, atribut dikelompokkan menjadi tabel-tabel
yang merepresentasikan tipe entitas dan hubungan diantara entitas
• Cocok
untuk perancangan database yang sederhana dengan jumlah
atribut yang relatif sedikit
Top-Down Approach
• Top-Down: illustrated by the ER
model concepts
• Dimulai dari pengembangan data model
yang berisikan beberapa high-level entitas dan relationship, dan kemudian
mengaplikasikan top-down refinement secara berturut-turut untuk
mengidentifikasi entitas dengan level yang lebih rendah, relationship dan
atribut-atribut yang terasosiasi
• Cocok
untuk perancangan database yang kompleks
• Tentang
ERD : https://www.smartdraw.com/entity-relationship-diagram/
• Sumber
data: Kebutuhan akan data pegawai berdasarkan unit kerjanya, dimana data
pegawai itu bisa di CRUD oleh admin, di Update oleh pegawai itu sendiri dan di
Read oleh pegawai lain. Pimpinan bisa melihat pegawai berdasarkan unit
kerjanya. dst (hasil dari analisis requirement sistem)
Conceptual database design
• Proses membangun model data untuk setiap spesifik view yang
digunakan dalam suatu organisasi, terlepas dari semua pertimbangan fisik.
• Model data dibangun dengan
menggunakan informasi dalam spesifikasi kebutuhan user.
• Model
data konseptual digambarkan dengan diagram Entity Relationship (ERD)
• Model
data konseptual terdiri
dari :
– Entity
– Relationship
– Attribute
– Attribute
domain
Definisi Relationship
Entity Relationship Diagram (ERD)
Multiple
Relationship & Relationship with Attributes
Definisi Attribute
• Attribute:
karakteristik dari suatu entity atau relasi, setiap attribute
diperbolehkan untuk memiliki nilai yang disebut dengan domain.
• Attribute
domains: kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau
lebih attribute.
• Type
of attribute:
– Simple
attribute
– Composite
attribute
– Single-valued
attribute
– Multi-valued
attribute
– Derived
attribute
– Key
attribute
Simple & Composite Attribute
• Simple
attribute adalah attribute yang terdiri dari komponen
tunggal dimana attribute tersebut tidak dapat dipisahkan lagi,
– Contoh:
name pada entity product
• Composite attribute adalah attribute yang
masih dapat dipisahkan menjadi beberapa bagian.
– Contoh:
address pada entity staff, karena dalam atribut address bisa
dibagi menjadi bagian atribut street, pos_code dan city
Single-valued & Multi-valued attribute
• Single-valued
attribute adalah attribute yang memiliki satu nilai
pada setiap entity,
– Contoh:
NIP, name, birth_day pada entity staff
– Multi-valued
attribute adalah attribute yang mempunyai beberapa
nilai pada setiap entity.
– Contoh:
hobby pada entity staff
Derived attribute
• Derived
attribute merupakan attribute yang nilai-nilainya
diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute lain
yang berhubungan.
– Contoh: attribute age
pada entity staff dimana attribute tersebut
diturunkan dari attribute birth_day dan date_now.
Key attribute
• Candidate Key
• kumpulan attribute minimal
yang unik untuk mengidentifikasikan suatu entity. Satu entity bisa
memiliki satu atau lebih candidate key
• contoh:
•
Employee entity (nip, id_card, name,
birth_day, email)
•
Candidate key : nip, id_card, email
• Primary Key (PK)
• Candidate key yang dipilih
secara unik untuk mengidentifikasi suatu entity.
• PK
harus merupakan
atribut yang benar-benar unik dan tidak boleh ada nilai NULL.
• 3 kriteria pemilihan PK pada
candidate key sbb:
•
Kunci tersebut
lebih natural untuk dijadikan acuan
•
Kunci tersebut
lebih sederhana
•
Kunci tersebut
cukup unik
• contoh:
I select nip form employee as PK, instead of id_card and email
• Alternate
Key (PK)
– Candidate key yang tidak
terpilih menjadi PK
– contoh:
Jika nip jadi PK, maka alternate key adalah id_card dan email
• Foreign
Key (FK)
• Jika
sebuah PK terhubungan ke tabel lain, maka keberadaan PK pada tersebut disebut
sebagai FK.
• FK
adalah sebuah kumpulan atribut dalam satu relasi yang digunakan untuk me“refer”
(menunjuk) ke suatu baris (tuple) pada relasi yang lain (harus berkorespondensi
dengan PK pada relasi yang kedua), seperti: ‘logical pointer’.
• Sedangkan
hubungan antara keduanya (PK & FK) di jelaskan sebagai berikut:
– PK
adalah atribut kunci dari suatu tabel yang menunjukkan bahwa atribut tersebut
tidak bisa diisi dengan data yang sama, atau dengan kata lain PK menjadikan
setiap record memiliki identitas sendiri-sendiri yang membedakan satu sama
lainnya (unik).
– FK
adalah atribut yang melengkapi satu relationship yang menunjukan ke induknya,
dengan kata lain keduanya saling berkaitan.
Primary vs Foreign Key Example
Composite Key
• Key
yang terdiri dari 2 atau lebih atribut yang secara unik mengidentifikasi suatu
entity
• Contoh
pada kasus entity Rent(client_id, car_id) maka field cient_id dan car_id secara
bersama-sama menjadi composite key
Contoh
ERD
Contoh
0 komentar:
Posting Komentar