Syntax SQL
SQL adalah kependekan dari Structured Query Language, merupakan sebuah bahasa yang digunakan untuk mengakses data dalam basis data (database) relasional. SQL banyak diterapkan pada pemrograman berbasis client-server seperti PHP, ASP, Java J2EE, dan sebagainya.
Contoh software SQL yang terkenal adalah MySQL, MsSQL (Microsoft), Oracle SQL, Postgre SQL (open source).
Masing-masing software mempunyai keunggulan sendiri-sendiri, sejauh yang saya tahu Oracle SQL handal dalam hal keamanan dan ukuran database yang bisa mencapai tera byte, sedang MsSQL lebih banyak bermain di Memory untuk processing. Dari ketiga software ini, Oracle SQl bisa dikatakan sebagai pemegang pertama. Perintah dasar SQL pada dasarnya hampir sama baik MySQL, Postgre SQL, MsSQL atau Oracle SQL
1. Inner Join / Join : Operasi Join tipe ini akan hanya menampilkan tabel sisi kiri yang datanya sama dengan data di pasangan joinnya yg disisi kanan.
Contoh script inner join : select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p inner join carea d on p.area_id = d.area_id atau select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p, carea d where p.area_id = d.area_id
2.Left Outer Join / Left Join : Operasi Join tipe ini akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yg disisi kanan nilainya tidak sama ataupun bernilai null.
Contoh script left join(left outer join) select d.Area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p left outer join carea d on d.area_id=p.area_id Penjelasan : Operasi left join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null.
3. Right Outer Join / Right Join : Operasi Join tipe ini akan menampilkan semua isi tabel sisi Kanan, walaupun data di pasangan joinnya yg disisi kiri nilainya tidak sama ataupun bernilai null.
Contoh script right join(right outer join) select d.Area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p right outer join carea d on d.area_id=p.area_id
Penjelasan : Operasi right join akan menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri nilainya tidak sama ataupun berisi null.
4. Full Outer Join / Full Join : Operasi Join tipe ini akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yg disisi kanan nilainya null.dan sebaliknya.
Contoh script Full join select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p full join carea d on p.area_id = d.area_id Penjelasan : Operasi full join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya null dan sebaliknya.
5. Cross Join
Operasi Join tipe ini akan menampilkan semua isi tabel sisi Kiri akan memiliki pasangan semua data disisi kanan. Banyaknya Record Cross Join = jumlah record tabel pertama x jumlah record tabel kedua
Contoh script cross join select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_penduduk from cpenduduk p cross join carea d Penjelasan : Operasi cross join akan menampilkan semua isi tabel sisi sebelah kiri akan memiliki pasangan semua data sisi sebelah kanan. Banyaknya record cross join = jumlah record tabel pertama X jumlah record tabel kedua.
NORMALISASI DATABASE
NORMALISASI Database
NORMALISASI
Definisi
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.
Normalisasi pada database adalah proses pernormalan suatu database yang disusun agar menghindari terjadinya redudancy (kemubaziran data). Dalam melakukan normalisasi, ada beberapa tahap yang harus dilakukan,
1. Unnormalized
Pada tahap ini, kita mengambil seluruh data yang ada dan diperlukan dalam database itu sendiri. Misalnya pada contoh bon faktur di bawah ini,
Kita ambil data-data yang diperlukan pada database nantinya, sperti * Nama Supplier * Alamat Supplier * No. Telp. * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Quantity * Total * Subtotal * Pemberi * Penerima
2. Normal Satu
Pada tahap ini, kita bagi seluruh data yang diperlukan menjadi beberapa bagian berdasarkan jenis data tersebut,
Supplier * Nama Supplier * Alamat * No. Telp.
Transaksi * No. Nota * Kode Barang * Tanggal Transaksi * Nama Barang * Harga Barang * Satuan * Quantity * Total * Sub Total
3. Normal Dua
Pada tahap ini, kita bagi berdasarkan jenis dan memberikan primary key pada masing-masing tabel,
Supplier * Kode Supplier * Nama Supplier * Alamat * No. Telp.
Master Barang * Kode Barang * Nama Barang * Harga * Satuan
Transaksi * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Satuan * Quantity * Pemberi * Penerima
4. Normal Tiga
Pada tahap ini, kita bagi menjadi lebih terperinci untuk menghindari terjadinya redudancy,
Supplier * Tetap
Master Barang * Tetap
Transaksi Dibagi menjadi: Header Transaksi * No. Nota * Tanggal Transaksi * Kode Supplier * Pemberi * Penerimaan
Detail Transaksi * No. Nota * Kode Barang * Quantity
Ketergantungan Fungsional
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R.X —> R.Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.
Misal, terdapat skema database Pemasok-barang :
Pemasok (No-pem, Na-pem)
Tabel PEMASOK-BARANG
No-pem Na-pem
P01 Baharu
P02 Sinar
P03 Harapan
Ketergantungan fungsional dari tabel PEMASOK-BARANG adalah :
No-pem —> Na-pem
Ketergantungan Fungsional Penuh
Definisi :
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X ( bila X adalah key gabungan)
Contoh :
KIRIM-BARANG( No-pem, Na-pem, No-bar, Jumlah)
No-pem Na-pem No-bar Jumlah
P01 Baharu B01 1000
P01 Baharu B02 1500
P01 Baharu B03 2000
P02 Sinar B03 1000
P03 Harapan B02 2000
Ketergantungan fungsional :
No-pem –> Na-pem
No-bar, No-pem –> Jumlah (Tergantung penuh thd keynya)
Ketergantungan Transitif
Definisi :
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X , jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z , maka X Z )
Contoh :
No-pem Kode-kota Kota No-bar Jumlah
P01 1 Jakarta B01 1000
P01 1 Jakarta B02 1500
P01 1 Jakarta B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000
Ketergantungan fungsional :
No-pem Kode-kota
Kode-kota Kota , maka
No-pem Kota
Bentuk Normal Kesatu (1NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kesatu bila setiap data bersifat atomik yaitu setiap irisan baris dan kolom hanya mempunyai satu nilai data
Tabel KIRIM-1 (Unnormal)
No-pem Kode-kota Kota No-bar Jumlah
P01 1 Jakarta B01 1000
B02 1500
B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000
Tabel KIRIM-2 (1NF)
No-pem Kode-kota Kota No-bar Jumlah
P01 1 Jakarta B01 1000
P01 1 Jakarta B02 1500
P01 1 Jakarta B03 2000
P02 3 Bandung B03 1000
P03 2 Surabaya B02 2000
Diagram Ketergantungan Fungsional
Kode-kota
No-pem
Kota
Jumlah
No-bar
Bentuk Normal Kedua (2NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal Kedua bila relasi tersebut sudah memenuhi bentuk Normal kesatu, dan atribut yang bukan key sudah tergantung penuh terhadap keynya.
Tabel PEMASOK-1 (2NF)
No-pem Kode-kota Kota
P01 1 Jakarta
P02 3 Bandung
P03 2 Surabaya
Bentuk Normal Ketiga (3NF)
Suatu relasi dikatakan sudah memenuhi Bentuk Normal ketiga bila relasi tersebut sudah memenuhi bentuk Normal kedua dan atribut yang bukan key tidak tergantung transitif terhadap keynya.
Tabel KIRIM-3 (3NF)
No-pem No-bar Jumlah
P01 B01 1000
P01 B02 1500
P01 B03 2000
P02 B03 1000
P03 B02 2000
Tabel PEMASOK-2 (3NF) Tabel PEMASOK-3 (3NF)
No-pem Kode-kota Kode-kota Kota
P01 1 1 Jakarta
P02 3 2 Surabaya
P03 2 3 Bandung
Normalisasi pada database perkuliahan
Asumsi :
ï± Seorang mahasiswa dapat mengambil beberapa mata kuliah
ï± Satu mata kuliah dapat diambil oleh lebih dari satu mahasiswa
ï± Satu mata kuliah hanya diajarkan oleh satu dosen
ï± Satu dosen dapat mengajar beberapa mata kuliah
ï± Seorang mahasiswa pada mata kuliah tertentu hanya mempunyai satu nilai
Tabel MAHASISWA-1 ( Unnormal )
No-Mhs Nama- Mhs Jurusan Kode- MK Nama-MK Kode-Dosen Nama-Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
AKN201 Akuntansi Keuangan D310 Lia B
MKT300 Dasar Pemasaran B212 Lola A
Tabel MAHASISWA-2 ( 1NF )
No-Mhs Nama- Mhs Jurusan Kode-MK Nama-MK Kode-Dosen Nama- Dosen Nilai
2683 Welli MI MI350 Manajamen DB B104 Ati A
2683 Welli MI MI465 Analsis Prc. Sistem B317 Dita B
5432 Bakri Ak. MI350 Manajemen DB B104 Ati C
5432 Bakri Ak. AKN201 Akuntansi Keuangan D310 Lia B
5432 Bakri Ak. MKT300 Dasar Pemasaran B212 Lola A
Diagram Ketergantungan Fungsional
Nama_Mhs
No-Mhs Jurusan
Nilai
Nama-MK
Kode-MK Kode-Dosen
Nama-Dosen
Tabel KULIAH (2NF)
Kode-MK Nama-MK Kode-Dosen Nama-Dosen
MI350 Manajamen DB B104 Ati
MI465 Analsis Prc. Sistem B317 Dita
AKN201 Akuntansi Keuangan D310 Lia
MKT300 Dasar Pemasaran B212 Lola
Tabel MAHASISWA-3 (3NF)
No-Mhs Nama-Mhs Jurusan
2683 Welli MI
5432 Bakri Ak.
Tabel NILAI (3NF)
No-Mhs Kode MK Nilai
2683 MI350 A
2683 MI465 B
5432 MI350 C
5432 AKN201 B
5432 MKT300 A
Tabel MATAKULIAH (3NF)
Kode-MK Nama-MK Kode-Dosen
MI350 Manajamen DB B104
MI465 Analsis Prc. Sistem B317
AKN201 Akuntansi Keuangan D310
MKT300 DasarPemasaran B212
Tabel DOSEN (3NF)
Kode- Dosen Nama-Dosen
B104 Ati
B317 Dita
B310 Lia
B212 Lola
PERINTAH/BAHASA BASIS DATA
1. Bahasa Definisi Data (Data Definition Language/ DDL)
DDL adalah perintah-perintah yang biasa digunakan oleh administrator basis data (DBA) utnuk mendefinisikan skema ke DBMS. Skema adalah deskripsi lengkap tentang struktur medan, rekaman, dan hubungan data pada basis data Index merupakan suatu mekanisme yang lazim digunakan pada basis data, yang memungkinkan pengambilan data dapat dilakukan dengan cepat.
DDL Digunakan untuk mespesifikasikan struktur/skema basis data yang menggambarkan/mewakili desain basis data secara keseluruhan.
Hasil kompilasi perintah DDL adalah kamus data (File yang berisi metadata (data yang mendeskripsikan data sesungguhnya).
Struktur penyimpan dan metode akses yang digunakan oleh sistem basis data disebut dengan data storage and definition language.
Perintah-perintah yang termasuk dalam data Definition Language/ DDL):
•CREATE (untuk membentuk basis data, table atau index)•• DROP (untuk mengubah struktur table)
• ALTER (untuk menghapus basis data, table atau index)
• SELECT – mengambil data
• DELETE – menghapus data
• INSERT – menyisipkan data
• UPDATE – mengubah data
Data Manipulation laguage (DML)
DML adalah perintah-perintah yang digunakan untuk mengubah, manipulasi dan mengambil data pada basis data. Tindakan seperti menghapus, mengubah, dan mengambil data menjadi bagian dari DML.
DML pada dasarnya dibagi menjadi dua :
Prosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan dan bagaimana cara mendapatkannya.
- Nonprosedural, yang menuntut pengguna menentukan data apa saja yang diperlukan, tetapi tidak perlu menyebutkan cara mendapatkannya.
Perintah-perintah yang termasuk dalam data manipulation language adalah :
a) Insert: Merupakan perintah yang dilakukan untuk melakukan penyisipan. Umunya penyisipan dilakukan langsung ke base table yaitu tabel utama,tabel dasar atau fisik. Ada dua jenis penyisipan yaitu :
- Menambah anggota relasi langsung lewat base tables
- Menambah suatu relasi melalui suatu views sehingga mungkin menghasilkan penambahan lebih dari satu baris pada base tables
b) Update Merupakan perintah yang digunakan untukmengubah data yang memenuhikondisitertentu yang dideskripsikandengan where.Adaduajenis update yaitu :
- Memodifikasianggotalangsungdari base tables.
- Memodifikasianggotarelasimelaluisuatu views.
c) Delete: Merupakanperintah yang digunakan untuk menghapus data yang memenuhi kondisi tertentu yang dideskripsikan dengan:
- Menghapus anggota langsung dari base tables.
- Menghapus anggota relasi melalui suatu views.
d) Select: Merupakan perintah yang digunakan untuk melakukan operasi seleksi yang dinyatakan dalam bentuk suatu query dalam bahasa tertentu dengan operasi model data relasional.
e) Views: Merupakan perintah yang digunakan untuk memudahkan proses untuk dapat membuat tabel virtual ataumaya yang dapat merupakan kombinasi berbagai base tables yang dihubungkan dengan kesamaan kondisi tertentu.View adalah tabel semu yang berarti secara fisik data tidak tersimpan dalam basis data,tetapi secara lojik dapat berfungsi seolah-olah tabel.Pada dasarnya tabel virtual adalah :
- Merupakan hasil proses seleksi yang mewakili kacamata user tertentu.
- Dapat digunakan untuk melakukan retrieval,insert,delete dan update
- Data Control Language
Data Control Language (DCL)
Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya.
Perintah-perintah yang termasukdalam data control language adalah :
a) Commit: Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.
b) Rollback: Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.
c) Grand: Perintah ini digunakan untuk memberikan hak/ijin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.
d) Revoke : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.
DQL ( Data Query Language)
Query sesungguhnya berarti pertanyaan atau permintaan. Istilah ini tetap dipertahankan dalam bentuk asli, karena telah populer di kalangan pengguna DBMS di Indonesia.
Tipe Data pada Database Management System (DBMS)
Tipe Data Oracle
Varchar2(size) : string yang memiliki panjang karakter vaiable dengan panjang maxial sebesar size. Tipe data ini memperbolehkan penyimpanan semua karakter yang dapat dimasukkan melalui keyboad. Maksimum size yang dapat disimpan sebesar 4000 bytes (karakter). Tipe data ini juga memungkinkan untuk mneyimpan data numerik. Biasanya space akan langsung dieliminasi jika menggunakan tipe ini.
Char(size): string dengan panjan gkarakter tetap sebesar ukuran size. Tipe data ini mempunyai kemampuan yang hampir sama yakni menyimpan karakter, hanya saja maksimum size yang disimpan hanya sebesar 2000 bytes.
Number(p,s) : tipe data number memiliki presisi p dan s digit dibelakan koma jika kita abaikan p dan s berarti dianggap sebagai tipe number floating point. Tipe data ini menyimpan bilangan interger sampai maksimum dari digit integer tersebut. misal untuk spesifikasi (5,2) berarti 3 digit sebelum koma dan 2 digit dibelakang koma.
Long : data karakter dengan ukuran panjang bervariasi, hingga mencapai 2 GB.(tipe data seperti ini tidak dapat digunakan sebagai primary key).
Raw(size) : tipe data berupa binary data dengan ukuran maksimal 255 bytes
Long Raw : Tipe data berupa binary data dengan ukuran maksimal 2 GigaBytes tidak dikonversi oleh oracle (data mentah apa adanya, spasi dihitung 1 karakter).
Date : Tipe data ini menyimpan waktu dan tanggal dari sebuah informasi, dengan komponen waktu yang dibulatkan ke detik terdekat. Untuk menampilkannya dalam teks harus menggunakan fungsi to_char.
Timestamp : tipe ini mirip dengan date. Di dalam tipe ini terdapat komponen waktu yang dapat langsung ditampilkan tanpa harus mengubahnya terlebih dahulu dengan fungsi to_char.
Clob : Tipe data ini memperbolehkan penyimpanan objek dengan ukuran yang sangat besar sekitar 4 GB.Clob mirip sekali dengan varchar2 hanya saja tipe data ini mempunyai kapasitas maksimum yang lebih besar.
Blob : tipe ini memperbolehkan penyimpanan objek bbinary yang besar dan tidak terstruktur. Contoh dari tipe data blob adalah suara dan video.
TIPE DATA MySQL
1.Tipe data untuk bilangan
-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 : 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).
2. Tipe data untuk tanggal dan jam
-DATETIME : Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.
Ukuran 8 byte. Kombinasi tanggal dan jam
dengan jangkauan dari ‘1000-01-01 00:00:00’ sampai dengan ‘9999-12-31
23:59:59’
-DATE : Penggunaan : digunakan untuk menyimpan data tanggal.
Ukuran 8 byte. Kombinasi tanggal dan jam
dengan jangkauan dari ‘1000-01-01’ sampai dengan ‘9999-12-31 ’
-TIMESTAMP : Ukuran 4 byte. Kombinasi tanggal dan jam
dengan jangkauan dari ‘1970-01-01’ sampai dengan ‘2037 ’
-TIME : Penggunaan : digunakan untuk menyimpan data waktu.Ukuran 3 byte.waktu dengan jangkauan dari
-838:59:59 sampai dengan 838:59:59
-YEAR : Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Ukuran 1 byte. Data tahun antara 1901 sampai
dengan 2155
3. Tipe data untuk karakter dan lain-lain
-CHAR(M) : Ukuran M byte, 1<=M<=255. Data string
dengan panjang yang tetap. CHAR(1) cukup ditulis dengan CHAR.
-VARCHAR(M) : Ukuran L+1 byte dengan L<=M dan
1<=M<=255. Data string dengan panjang bervariasi tergantung datanya.
-TINYBLOB,
-ENUM(’nilai1’,’nilai2’,..) : Ukuran 1 atau 2 byte tergantungnilai
enumerasinya maks 65535 nilai
-SET(’nilai1’,’nilai2’,..) : Ukuran 1,2,3,4 atau 8 byte tergantung jumlah
anggota himpunan maks 64 anggota.
Database Management System (DBMS)
1. Pengertian management system
DBMS adalah perangkat lunak yang menangani semua akses terhadap database dan menyediakan user interface terhadap sistem database.
Basis data merupakan kumpulan data yang saling berhubungan satu dengan yang lainnya yang diaorganisasikan sesuai struktur tertentu dan disimpan dengan baik. Untuk mendapatkan informasi yang berguna dari kumpulan data maka diperlukan suatu perangkat lunak (software) untuk memanipulasi data sehingga mendapatkan informasi yang berguna. Database Manajement System (DBMS) merupakan software yang digunakan untuk membangun sebuah sistem basis data yang berbasis komputerisasi. DBMS membantu dalam pemeliharaan dan pengolahan kumpulan data dalam jumlah besar. Sehingga dengan menggunakan DBMS tidak menimbulkan kekacauan dan dapat digunakan oleh pengguna sesuai dengan kebutuhan.