Simple Attribute adalah atribut yang terdiri dari komponen tunggal dengan keberadaan independent.
Atribut sederhana tidak dapat dibagi lagi menjadi komponen yang lebih kecil. Sedangkan composite
attribute adalah atribut terdiri dari beberapa komponen, masing-masing dengan keberadaan
independent. Beberapa atribut dapat dibagi lagi untuk menghasilkan komponen yang lebih kecil dengan
keberadaan independen mereka sendiri.
Simple attribute & Composite attribute dari table/entitias STAFF tersebut adalah :
Simple attribute :
- StaffNo
- Gender
- Position
- Salary
Composite attribute :
- Name, dapat dibagi menjadi komponen yang lebih kecil lagi yaitu nama_depan dan
nama_belakang.
- Address, dapat dibagi menjadi komponen yang lebih kecil lagi yaitu jalan, kota dan
kode_pos
Manfaat DBMS adalah :
Referensi :
Untuk menjalankan DBMS, dibutuhkan beberapa komponen yang mendukungnya agar menjadi satu
kesatuan di dalam sistem. Kelompok "Hardware & Software" dengan kelompok "Procedures &
People" adalah komponen yang mendukung agar DBMS itu sendiri berjalan dengan baik.
DBMS dan aplikasi memerlukan perangkat keras untuk menjalankan agar sistem dapat berjalan dengan
baik. Sedangkan komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program
aplikasi, bersama dengan sistem operasi, termasuk perangkat lunak jaringan jika DBMS digunakan
melalui jaringan. Biasanya, program aplikasi ditulis dalam bahasa pemrograman generasi ketiga (3GL).
Prosedur merupakan instruksi dan aturan yang diberikan dalam merancang basis data. Hal ini bertujuan
untuk mengelola basis data untuk dijalankan pada sistem. Sedangkan People adalah orang yang dapat
mempengaruhi sistem yang berjalan.
Conceptual Design
Fase pertama dalam desain basis data yang melibatkan pembuatan model data konseptual dari
bagian perusahaan yang akan digunakan dalam pemodelan. Model data dibangun menggunakan
informasi yang didokumentasikan dalam spesifikasi persyaratan pengguna. Desain basis data
konseptual sepenuhnya independen dari rincian implementasi seperti perangkat lunak target
DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, atau pertimbangan
fisik lainnya. Sepanjang proses pengembangan model data konseptual, model diuji dan divalidasi
terhadap persyaratan pengguna. Model data konseptual perusahaan adalah sumber informasi
untuk tahap selanjutnya, yaitu desain basis data logis.
Logical Design.
Desain basis data logis adalah fase kedua dari desain basis data yang menghasilkan penciptaan
model data logis dari bagian perusahaan yang kita minati dalam pemodelan. Pada tahap ini,
proses membangun model data yang digunakan dalam suatu perusahaan berdasarkan pada
model data tertentu, tetapi tidak tergantung pada DBMS tertentu dan pertimbangan fisik
lainnya.
Physical Design.
Perancangan basis data fisik adalah fase ketiga dan terakhir dari proses perancangan basis data,
di mana perancang memutuskan bagaimana basis data akan diimplementasikan. Fase ini
merupakan proses untuk menghasilkan deskripsi implementasi database pada penyimpanan
sekunder, itu menggambarkan hubungan dasar, organisasi file, dan indeks yang digunakan untuk
mencapai akses efisien ke data, dan segala kendala integritas terkait dan langkah-langkah
keamanan.
Secara umum, pendekatan ini lebih disukai ketika ada tumpang tindih yang signifikan
dalam persyaratan untuk setiap tampilan pengguna dan sistem database tidak terlalu
rumit.
2. Pendekatan integrasi tampilan (View Integration Approach)
Persyaratan untuk setiap tampilan pengguna tetap sebagai daftar yang terpisah. Model
data yang mewakili setiap tampilan pengguna dibuat dan kemudian digabungkan
kemudian selama tahap desain basis data. Pendekatan integrasi tampilan melibatkan
membiarkan persyaratan untuk setiap tampilan pengguna sebagai daftar persyaratan yang
terpisah.
Secara umum, pendekatan ini lebih disukai ketika ada perbedaan yang signifikan antara
pandangan pengguna dan sistem database yang cukup kompleks untuk membenarkan
membagi pekerjaan menjadi bagian-bagian yang lebih mudah dikelola.
--------------------------
Entity Intregrity
Entity Intregrity adalah aturan integritas pertama yang berlaku untuk kunci utama dari relasi
dasar. Entity Integrity adalah dalam relasi dasar, tidak ada atribut kunci primer yang bernilai
null. Kunci utama adalah pengidentifikasi minimal yang digunakan untuk mengidentifikasi tuple
secara unik. Ini berarti bahwa tidak ada bagian dari kunci utama adalah cukup untuk memberikan
identifikasi unik tupel. Jika dibiarkan null untuk setiap bagian dari kunci utama, menyiratkan
bahwa tidak semua atribut yang diperlukan untuk membedakan antara tupel, yang bertentangan
dengan definisi dari kunci primer.
Referential Intregrity
Aturan kedua adalah foreign key. Jika foreign key ada dalam relasi, baik nilai foreign key harus
sesuai dengan nilai candidate key dari beberapa tupel di relasinya atau nilai foreign key harus
sepenuhnya null.
Union
R ∪ S Persatuan dua relasi r dan S mendefinisikan relasi yang berisi semua tupel r, atau S, atau keduanya
r dan S, tuple duplikat yang dihilangkan. r dan S harus kompatibel. Jika r dan S memiliki I dan J tuples,
masing-masing, persatuan mereka diperoleh dengan menggabungkannya ke dalam satu relasi dengan
tuple maksimum (I + J).
Intersection (irisan)
R ∩ S mendefinisikan hubungan yang terdiri dari himpunan semua tupel yang berada di kedua r dan S. r
dan S harus union-kompatible.
Set Differences
R - S mendefinisikan relasi yang terdiri dari tupel yang berada dalam relasi r, tetapi tidak dalam S. r dan
S harus kompatibel.
Student
id name date_of_birth
1211 Siti 01/01/2000
1212 Afiyah 02/01/2000
1213 May 06/07/2003
Library_Member
id name date_of_birth
1212 Afiyah 02/01/2000
1213 May 06/07/2003
1. Participation constraint
Menentukan apakah setiap anggota dalam superclass harus berpartisipasi sebagai anggota
subkelas. Participation constraint mungkin bersifat wajib atau opsional. Hubungan
superclass/subclass dengan partisipasi wajib menentukan bahwa setiap anggota dalam
superclass juga harus menjadi anggota subclass. Untuk mewakili partisipasi wajib, "Wajib"
ditempatkan dalam kurung keriting di bawah segitiga yang mengarah ke superclass.
2. Disjoint constraint
Menjelaskan hubungan antara anggota subclass dan menunjukkan apakah mungkin bagi
anggota superclass untuk menjadi anggota dari satu, atau lebih dari satu, subkelas. Disjoint
constraint hanya berlaku ketika superclass memiliki lebih dari satu subclass. Jika subkelas
terpisah, maka suatu entitas hanya dapat menjadi anggota dari satu subkelas. Untuk mewakili
disjoint superclass/subclass relationship, “Or” ditempatkan di sebelah participation constraint
dalam kurung keriting.
Jika subclass dari spesialisasi / generalisasi tidak disjoint (disebut nondisjoint), maka kejadian entitas
dapat menjadi anggota lebih dari satu subclass. Untuk mewakili hubungan superclass / subclass
nondisjoint, "AND" ditempatkan di sebelah batasan partisipasi dalam kurung keriting
Degree of Relationship yaitu jumlah entitas yang berpartisipasi dalam suatu relationship. Degree
of Relationship terdiri dari :
1. Binary Relationship, yaitu keterhubungan antar dua tipe entitas. Contoh Binary
Relationship antara PrivateOwner dengan PropertyForRent yang disebut Powns
2. Ternary Relationship, yaitu keterhubungan antar tiga tipe entitas. Contoh Ternary
Relationship yang dinamakan Registers. Relasi ini melibatkan tiga tipe entiti,
yaitu Staff, Branch dan Client.Relationship ini menggambarkan Staff
mendaftarkan client pada branch.
3. Quaternary Relationship, yaitu keterhubungan antar empat tipe entitas. Contoh
Quaternary Relationship yang dinamakan Arranges. Relasi ini melibatkan empat entity
yaitu Buyer, Solicitor, Financial Institution, dan Bid. Relasi ini
menggambarkan Buyer, diberi masukkan oleh Solicitor, dan didukung oleh Financial
Institution, melakukan penawaran (Bid).
4. Unary Relationship, yaitu keterhubungan antar satu tipe entitas, dimana tipe entitas
tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Kadang disebut
juga recursive relationship. Relationship dapat diberikan role names untuk
mengidentifikasikan keterkaitan tipe entitas dalam relationship. Contoh entitas Staff yang
berperan menjadi Supervisor dan Staff yang di-supervisor-i.
Menurut Connolly dan Begg (2010:416), normalisasi adalah sebuah teknik untuk
menghasilkan sebuah set relasi dengan property yang diinginkan, dengan diberikan
data perusahaan yang dibutuhkan teknik desain database, yang dimulai dengan
memeriksa hubungan (disebut dependensi fungsional) antara atribut.
Referensi :
Lecture Notes
http://library.binus.ac.id/eColls/eThesisdoc/Bab2HTML/2013101013IFBab2001/body
.html
http://library.binus.ac.id/eColls/eThesisdoc/Bab2HTML/2010100172IFBAB2/page19.
html
Penyisipan (insertion) : error atau kesalahan yang terjadi sebagai akibat operasi
menyisipkan tuple/record pada sebuah relasi.
penghapusan (deletion) : error atau kesalahan yang terjadi sebagai akibat operasi
penghapusan terhadap tuple/record dari sebuah relasi.
modifikasi (modification) : error atau kesalahan yang terjadi sebagai akibat operasi
perubahan tuple/record dari sebuah relasi.
Referensi :
Lecture Notes
http://feripribadi.blogspot.com/2012/12/macam-macam-penyimpangan-anomali.html
https://www.slideshare.net/derinaellya/materi-basis-data-anomali-dan-normalisasi
SQL merupakan contoh bahasa transform-oriented atau bahasa yang dirancang untuk mengubah
inputan menjadi output yang dibutuhkan oleh pengguna. Bahasa SQL juga merupakan bahasa yang
mudah dipelajari, karena :
SQL merupakan bahasa non-prosedural : Anda menentukan informasi apa yang Anda butuhkan,
daripada bagaimana mendapatkannya. Dengan kata lain, SQL tidak mengharuskan Anda
menentukan metode akses ke data.
SQL seperti kebanyakan bahasa modern, SQL pada dasarnya adalah format bebas, yang berarti
bahwa bagian pernyataan tidak harus diketik di lokasi tertentu pada layar.
Struktur perintah pada SQL sendiri terdiri dari kata-kata bahasa Inggris standar seperti CREATE
TABLE, INSERT, SELECT.
SQL dapat digunakan oleh berbagai pengguna termasuk Administrator Database (DBA), personel
manajemen, pengembang aplikasi, dan banyak jenis pengguna akhir lainnya.
Referensi :
Thomas Connolly. (2015). Database Systems A Practical Approach to Design, Implementation, and
Management 06th Edition. Pearson. ISBN 9781292061184.
Create Tabel :
CREATE TABLE `user` (
`id` bigint(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`password` varchar(250) DEFAULT NULL,
`role_id` bigint(11) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`employee_data_id` bigint(20) NOT NULL,
`email` varchar(100) DEFAULT NULL,
`phone` varchar(50) DEFAULT NULL,
`mobile` varchar(50) DEFAULT NULL,
`status` varchar(10) DEFAULT NULL,
`last_access_time` datetime DEFAULT NULL,
`last_ip_address` varchar(50) DEFAULT NULL,
`created_on` datetime DEFAULT NULL,
`created_by` varchar(50) DEFAULT NULL,
`updated_on` datetime DEFAULT NULL,
`updated_by` varchar(50) DEFAULT NULL
);
Alter Tabel :
Standar ISO menyediakan pernyataan ALTER TABLE untuk mengubah struktur tabel setelah pembuatan
tabel. Definisi pernyataan ALTER TABLE dalam standar ISO terdiri dari enam opsi yaitu:
Klausa ADD COLUMN serupa dengan definisi kolom dalam pernyataan CREATE TABLE. Klausa DROP
COLUMN menentukan nama kolom yang akan dihapus dari definisi tabel, dan memiliki kualifikasi
opsional yang menentukan apakah tindakan DROP adalah kaskade atau tidak.
Standar ISO mendefinisikan 5 fungsi operasi matematika:
1. COUNT berfungsi untuk menghitung jumlah nilai dari kolom yang ditentukan.
SELECT COUNT(*) AS jum_rec FROM buku WHERE tahun = 2000;
3. AVG berfungsi untuk menghitung nilai rata-rata dari kolom yang ditentukan.
SELECT AVG(harga) AS harga_ratarata FROM buku;
4. MIN berfungsi untuk mencari nilai terkecil dari kolom yang ditentukan.
SELECT MIN(harga) AS harga_terendah FROM buku;
5. MAX berfungsi untuk mencari nilai terbesar dari kolom yang ditentukan.
SELECT MAX(harga) AS harga_tertinggi FROM buku WHERE tahun = 2000;
Referensi :
Lecture Notes Week 7 - SQL: Data Manipulation
Sebagian besar dokumen di web saat ini disimpan dan dikirim dalam HTML. Salah satu
kekuatan dari HTML adalah kesederhanaannya yang memungkinkan digunakan oleh berbagai
macam pengguna. Namun, kesederhanaannya juga menjadi salah satu kelemahannya karena
meningkatnya kebutuhan dari pengguna yang menginginkan tag untuk menyederhanakan
beberapa tugas dan membuat dokumen HTML lebih menarik dan dinamis.
Dalam upaya untuk memenuhi permintaan tersebut, vendor telah memperkenalkan beberapa tag
HTML khusus browser. Namun, ini menyulitkan untuk mengembangkan dokumen Web yang
canggih dan dapat dilihat secara luas. Untuk mencegah perpecahan ini, W3C menghasilkan
standar yang disebut eXtensible Markup Language (XML). Berikut adalah keuntungan
menggunakan XML :
Simplicity. XML adalah standar yang relatif sederhana, sekitar 65 halaman. Ini dirancang
sebagai bahasa berbasis teks yang dapat dibaca manusia dan cukup jelas.
Open standard dan platform/vendor-independen. XML adalah platform independen
dan vendor-independen, dan bentuk terbatas SGML, standar ISO. Hal ini juga didasarkan
pada ISO 10646, set karakter Unicode, dan juga memiliki dukungan built-in untuk teks di
semua alfabet dunia, termasuk metode untuk menunjukkan bahasa dan pengkodean mana
yang digunakan.
Extensible. Tidak seperti HTML, XML adalah extensible yang memungkinkan pengguna
untuk menentukan tag mereka sendiri untuk memenuhi persyaratan aplikasi khusus
mereka sendiri.
Reuse. Extensibility juga memungkinkan pustaka dari tag XML untuk dibangun sekali
dan digunakan kembali oleh banyak aplikasi.
Pemisahan konten dan presentasi. XML memisahkan isi dokumen dari bagaimana
dokumen akan disajikan (seperti di dalam browser). Ini memfasilitasi tampilan data yang
disesuaikan, data dapat dikirimkan ke pengguna melalui browser yang dapat disajikan
dengan cara yang disesuaikan, mungkin berdasarkan faktor-faktor seperti
preferensi atau konfigurasi pengguna.
Improved load balancing. Data dapat dikirim ke browser pada desktop untuk komputasi
lokal, komputasi offloading dari server dan dengan demikian mencapai load balancing
yang lebih baik.
Dukungan untuk integrasi data dari berbagai sumber. XML memungkinkan data dari
berbagai sumber digabungkan dengan lebih mudah. Agen perangkat lunak dapat
digunakan untuk mengintegrasikan data dari database backend dan aplikasi lain, yang
kemudian dapat dikirimkan ke klien atau server lain untuk diproses lebih lanjut atau
presentasi.
Kemampuan untuk mendeskripsikan data dari berbagai macam aplikasi. Karena
XML dapat dikembangkan, XML dapat digunakan untuk mendeskripsikan data yang
terdapat dalam berbagai macam aplikasi. Selain itu, karena XML membuat data yang
menggambarkan dirinya sendiri, data dapat diterima dan diproses tanpa perlu deskripsi
data yang sudah ada di dalamnya.
Mesin pencari yang lebih canggih. Saat ini, mesin pencari bekerja pada informasi yang
terkandung dalam metatag HTML atau pada kedekatan satu kata kunci dengan kata kunci
lainnya. Dengan XML, mesin pencari hanya akan dapat menguraikan tag-tag deskripsi.
Kesempatan baru. Mungkin salah satu keuntungan besar XML adalah kekayaan
peluang yang kini disajikan oleh teknologi baru.
Referensi :
Lecture Notes Week 8 - Web Technologies and DBMS
Object Exchange Model (OEM) adalah salah satu cara untuk menggambarkan data semi
tersetruktur di dalam object oriented database dan ditampilkan menggunakan beberapa tipe graph
berlabel.
OEM menggunakan konsep child & parent serta tree dalam desain graphnya. Selain itu OEM
mengidentifikasi satu sama lain menggunakan labels yang mana adalah mandatory. Objek OEM
berisi pengidentifikasi objek, label tekstual deskriptif, tipe dan nilai.
Dalam kebanyakan kasus pengidentifikasi objek hanya digunakan dalam implementasi sistem
dan tetap tersembunyi dari pengguna akhir. Nilai - nilai OEM atomik dapat berupa bilangan
bulat, real, string, gambar, klip video, klip suara, kueri, program, atau nilai data lainnya yang
harus dianggap tidak dapat dibagi oleh database. Tipe selalu dikaitkan dengan nilai atom, tetapi
tipe yang berbeda tidak spesifik untuk OEM. Nilai OEM yang kompleks, di sisi lain, adalah
kumpulan 0 atau lebih objek OEM.
Objek OEM kompleks dapat dianggap sebagai induk dari sejumlah objek anak OEM. Satu objek
OEM memungkinkan memiliki beberapa objek induk. Dengan definisi rekursif yang sederhana
ini, pengguna dapat membangun jaringan OEM yang kompleks untuk memodelkan hubungan
antar data.
Referensi :
http://keccikun.blogspot.com/2019/01/oem-object-exchange-model-pengertian.html
Hal-hal penting yang harus diperhatikan dalam memitigasi ancaman terhadap keamanan basis
data :
Authorization
Otorisasi adalah pemberian ijin terhadap hak istimewa yang memungkinkan subyek
untuk mengakses legitimasi kepada sistem atau obyek sistem. Proses otorisasi
melibatkan otentikasi dari subyek yang meminta akses pada suatu obyek. Otentikasi
adalah mekanisme yang menentukan apakah hak akses pengguna tersebut.
Access controls
Cara paling umum untuk memberikan akses kendali terhadap sistem basis data adalah
berdasarkan pada memberikan dan mencabut hak istimewa. Hak istimewa (privilege)
memungkinkan pengguna untuk membuat atau mengakses (membaca, menulis, atau
memodifikasi) beberapa obyek basis data (relasi, view, indeks) atau untuk menjalankan
keperluan DBMS tertentu.
Views
Metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai
dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak
digunakan atau tidak perlu dilihat oleh pengguna.
Integrity
Batasan integritas juga mengkontribusikan untuk menjaga sistem basis data yang
terlindungi dengan cara menjaga data menjadi tidak benar, dan karenanya memberikan
hasil yang salah.
Enkripsi
Enkripsi adalah pengkodean data dengan algoritma khusus sehingga data tidak dapat
dibaca oleh program tanpa kunci deskripsi. Untuk mengirimkan data secara aman pada
jaringan yang tidak aman membutuhkan cryptosystem, yang termasuk :
1. kunci enkripsi untuk mengenkripsikan data;
2. algoritmanenkripsi, dengan kunci enkripsi, mengubah tulisan biasa
menjadi chipertext;
3. kunci dekripsi untuk mendekripsikan chipertext;
4. algoritma dekripsi, dengan kunci dekripsi, mengubah chipertext menjadi tulisan
biasa.
Berorientasi pada subjek, karena warehouse diatur berdasarkan subjek utama perusahaan
(seperti pelanggan, produk, dan penjualan) daripada bidang aplikasi utama (seperti faktur
pelanggan, kontrol stok, dan penjualan produk). Ini tercermin dalam kebutuhan untuk
menyimpan data pendukung keputusan daripada data yang diorientasikan.
Terintegrasi, karena penyatuan sumber data dari berbagai sistem aplikasi di seluruh
perusahaan. Sumber data sering tidak konsisten, misalnya, menggunakan format yang berbeda.
Sumber data terintegrasi harus dibuat konsisten untuk menyajikan pandangan terpadu data
kepada pengguna.
Variasi Waktu, karena data di warehaouse akurat dan valid hanya pada titik waktu tertentu atau
lebih dari interval waktu tertentu. Varians waktu dari data warehouse juga ditunjukkan dalam
waktu yang diperpanjang bahwa data tersebut disimpan, asosiasi waktu implisit atau eksplisit
dengan semua data, dan fakta bahwa data tersebut mewakili serangkaian snapshot.
Nonvolatile, karena data tidak diperbarui secara real time tetapi diperbarui dari sistem
operasional secara teratur. Data baru selalu ditambahkan sebagai suplemen ke dalam basis
data, bukan sebagai pengganti. Basis data secara terus-menerus menyerap data baru ini, secara
bertahap mengintegrasikannya dengan data sebelumnya.
Referensi :
Lecture Notes 10 - Data Warehousing Concept And Data Mining
Pemodelan prediktif dapat digunakan untuk menganalisis database yang ada untuk
menentukan beberapa karakteristik penting (model) tentang kumpulan data. Model ini
dikembangkan menggunakan pendekatan pembelajaran terawasi, yang memiliki dua fase:
pelatihan dan pengujian.
Ada dua teknik yang terkait dengan pemodelan prediktif: klasifikasi dan prediksi nilai,
yang dibedakan berdasarkan sifat variabel yang diprediksi.
Tujuan dari segmentasi basis data adalah untuk mempartisi basis data ke dalam sejumlah
segmen yang tidak diketahui, atau kelompok, dari catatan yang serupa, yaitu catatan yang
berbagi sejumlah properti dan karenanya dianggap homogen. Pendekatan ini menggunakan
pembelajaran tanpa pengawasan untuk menemukan subpopulasi homogen dalam database untuk
meningkatkan akurasi profil.
Aplikasi segmentasi basis data meliputi profil pelanggan, pemasaran langsung, dan cross-
selling.
Link Analysis
Tujuan dari link analysis adalah untuk membuat tautan, yang disebut asosiasi, antara
catatan individu atau kumpulan catatan dalam database. Ada tiga spesialisasi link analysis :
Aplikasi analisis tautan meliputi analisis afinitas produk, pemasaran langsung, dan pergerakan
harga saham.
Deteksi Penyimpangan
Deteksi penyimpangan adalah teknik yang relatif baru dalam hal alat data mining yang
tersedia secara komersial. Namun, deteksi deviasi sering menjadi sumber penemuan sejati,
karena mengidentifikasi outlier, yang mengekspresikan penyimpangan dari beberapa harapan
dan norma yang sebelumnya diketahui. Operasi ini dapat dilakukan dengan menggunakan
statistik dan teknik visualisasi atau sebagai produk sampingan dari data mining.
Aplikasi deteksi penyimpangan meliputi deteksi penipuan dalam penggunaan kartu kredit
dan klaim asuransi, kontrol kualitas, dan pelacakan cacat.
Referensi :