Rabu, 27 Februari 2013

Normalisasi dan Denormalisasi


         1.    Normalisasi
A.     Teknik Normalisasi
Dengan normalisasi, kita ingin mendesain database relational yang terdiri dari tabel – tabel berikut.
·       Berisi data yang diperlukan
·       Memiliki sesedikit mungkin redudansi
·       Mengakomodasi banyak nilai untuk tipe data yang diperlukan
·       Mengefesiankan update
·       Menghindari kemungkinan hilangnya data secara tidak sengaja

     Alasan utama dari normalisasi database sampai ke bentuk normal ketiga  adalah menghilangkan kemungkinan adanya insertion anomalies, deletion anomalies, dan update anomalies. Tipe –tipe data tersebut sangat mungkin terjadi pada database yang tidak normal.

·       Insertion anomalies adalah sebuak kesalahan penempatan informasi entry data baru ke seluruh tempat  dalam database dimana informasi tersebut perlu disimpan.

·       Deletion anomalies adalah sebuah kesalahan dalam penghapusan informasi pada data base harus dilakukan dengan penghapusan informasi tersebut dari beberapa tempat di dalam database.

·       Sedangkan dalam melakukan update informasi, kesalahan juga dapat terjadi ketika kita melakukan update ke seluruh tempat yang menyimpan informasi tersebut. Kesalahan ini disebut update anomalies.

      Normalisasi merupakan cara pendekatan dalam membangun desain logika basis data yang relasional yang tidak secara langsung berkaitan dengan data, tetapi dengan menerapkan sejumlah aturan standar untuk menghasilkan struktur tabel yang normal. Beberapa kondisi yang diujikan pada proses normalisasi.

1.     Menambah data / insert
2.     Mengedit / mengupdate
3.     Menghapus / delete
4.     Membaca / retrieve


B.     Bentuk –Bentuk Normalisasi

     a.     Bentuk Tidak Normal
Bentuk ini merupakan kumpulan data yang direkam, tidak ada keharusan format tertentu, dapat saja tidak lengkap dan terduplikasi. Data dikumpulkan apa adanya sesuai kenyataan.

     b.     Bentuk Normal Tahap 1 (1 Normal Form)
Sebuah tabel dikatakan 1NF jika, tidak ada baris yang duplikat pada tabel tersebut dan masing – masing cell bernilai tunggal.
Contoh :
Tabel kuliah memiliki atribut : kode_kul, nama_kul, sks, semester, waktu, tempat, dan nama_dos

Tabel kuliah tersebut tidak memenuhi normalisasi pertama, karena terdapat atribut waktu yang tergolong dalam atribut bernilai banyak. Agar tabel tersebut bernilai 1NF, maka :
·       Tabel Kuliah ( kode_kul, nama_kul, sks, semester, nama_dos)
·       Tabel Jadwal ( kode_kul, waktu, ruang)

     c.      Bentuk Normal Tahap 2 (2 Normal Form)

      Bentuk Normal Tahap 2 terpenuhi jika pada sebuah tabel, semua atribut yang tidak termasuk primary key memiliki ketergantungan fungsional pada primary key secara utuh. Dan sebuah tabel dikatakan tidak memeuhi bentuk 2NF jika ketergantungan pada primary key hanya bersifat parsial ( hanya tergantung pada sebagian primary key )

Contoh :

Tabel Nilai tersiri dari atribut kode_kul, nim dan nilai. Jika pada tabel nilai, misalnya ditambahkan atribut yang bersifat redundan, yaitu nama_mhs, maka tabel ini dianggap melanggar 2NF.
Primary key tabel adalah kode_kul, nim.
Penambahan atribut baru (nama_mhs)mengakibatkan adanya ketergantungan fungsional yang baru yaitu nim -> nama_mhs. Karena atribut nama_mhs ini hanya memiliki ketergantungan parsial pada primary key secara utuh.

     d.     Bentuk Normal Tahap 3 (3 Normal Form)

Sebuah tabel dihatakan memenuhi 3NF jika untuk setiap ketergantungan fungsional dengan notasi X -> A, dimana A mewakili semua atribut tunggal di dalam tabel yang tidak ada di dalam X, maka :

·       X haruslah superkey pada tabel tersebut
·       Atau A merupakan bagian dari primary key pada tabel tersebut

     Misalkan pada tabel mahasiswa, atribut alamat_mhs dipecah ke dalam alamat_jln, alamat_kota dan kode_pos. Bentuk ini tidak memenuhi 3NF karena terdapat ketergantungan fungsional baru yang muncul pada tabel tersebut, yaitu :

             Alamat_jln nama_kota -> kode_pos

       Dalam hal ini (alamat_jln nama_kota) bukan superkey, sementara kode_pos juga bukan primary key dari tabel mahasiswa. Jika tabel mahasiswa didekomposisi menjadi tabel mahasiswa dan tabel alamat maka telah memenuhi 3NF. Hal itu dapat dibuktikan dengan memeriksa dua ketergantungan fungsional pada tabel tersebut, yaitu :

            Alamat_jln nama_kota -> kode_pos
            Kode_pos -> nama kota

      Ketergantungan pertama tidak melanggar 3NF karena (alamat_jln nama_kota) merupakan superkey dari tabel alamat tersebut. Demikian juga dengan ketergantungan fungsional kedua, meskipun (kode_pos) bukan merupakan superkey, tetapi nama_kota merupakan bagian dari primary key dari tabel alamat.

       e.     Bentuk Normal Tahap Keempat dan Kelima
Bentuk normal keempat berkaitan dengan sifat ketergantungan banyak nilai pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional. Adapun bentuk normal kelima merupakan nama lain dari Project Join Normal Form (PJNF).

       f.       Boyce Code Normal Form (BCNF)
·       Memenuhi 1 NF
·       Relasi harus bergantung fungsi pada atribut superkey.

CONTOH KASUS


                        Kelemahan :
              1.     Insert : Ingin memasukkan supplier tanpa transaksi?
              2.     Delete : Menghapus transaksi -> supplier terhapus
              3.     Update : Mengganti satu nama supplier -> lainnya menjadi tidak benar
              4.     Redudancy : Jumlah ß hasil perhitungan qty*harga

             Bentuk 2NF :

                  KdFaktur                                  à Tgl. Jempo, KodeSup, NamaSup
                  KdFaktur, KodeBrg                  à NamaBrg, Qty, Harga

             Bentuk BCNF

                  KdFaktur                                  à Tgl, Jtempo, KodeSup
                  KdSup                                      à NamaSup
                  KdFaktur, KodeBrg                  à Qty, Harga
                  KodeBrg                                   à NamaBrg

       2.    Denormalisasi

Berikut ini adalah bentuk – bentuk denormalisasi : 

v Atribut yang tidak terderivasi -> nilai pada atribut ini dapat diolah dari nilai yang sudah ada pada atribut lain.
v Atribut yang berlebihan :
ü  Atribut terkodekan
ü  Atribut gabungan
ü  Atribut tumpang tindih
ü  Atribut bermakna ganda
v Tabel Rekapitulasi







Komponen Sistem Basis Data dan Abstraksi Data


         1.     Entitas (Entity)
Menurut kamus besar Bahasa Indonesia, Entitas adalah satuan yang berwujud. Dalam ilmu komputer entitas (entity) seperti tabel (table), berkas (data file), penyimpan data (data store), dan sebagainya. Menurut Fathansyah, Entitas Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain
Contoh entitas :
Objek yang dipakai
      1  .     Petugas
      2  .     Pasien
      3  .     Dokter
      4  .     Ruang

            Penetuan entitas
         
       1 .   Petugas   : menyimpan informasi identitas dari petugas jaga
       2 .   Pasien     : menyimpan informasi identitas dari pasien 
       3 .   Dokter    : menyimpan informasi identitas dari dokter
       4.    Ruang      : menyimpan informasi identitas dari ruang



         2.     Record / Tuple
Tuple (Record) adalah : Kumpulan elemen – elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap, dan satu tuple (record) mewakili satu data atau informasi.
Contoh : Record entry mahasiswa adalah kumpulan data field nama, jurusan, dan alamat. Dalam tabel record disebut juga baris.

   3.     Field/atribut
Entiti mempunyai elemen yang disebut atribut, dan berfungsi mendeskripsikan karakter entiti. Misalnya atribut nama pekerja dari entiti pekerja. Setiap E-R bisa terdapat lebih dari satu atribut. Entiti digambarkan dalam bentuk ellips.

Nominal Atribut adalah tipe data diskrit yang tidak mengenal tata urutan, contohnya :
Warna : Hitam,Putih,kuning
Bentuk : Segitiga,bulat,Kotak
Bahan : Besi,Plastik,Kayu
Jenis : penggaris,alat tulis,penghapus
Merek :Snowman,Kenko,Faber castell

4.    Relasi
Definisi: Himpunan asosiasi (hubungan) antar entitas yang dapat diidentifikasi dan bermakna.Relasi dinyatakan dengan nama yang menunjukkan fungsinya,contoh Memiliki yang menghubungkan antara KantorCabang dan Staf.
Representasi Relasi
Relasi digambarkan dalam bentuk garis yang menghubungkan entitas-entitas yang berelasi, dengan label yang menunjukkan nama relasi. Nama relasi umumnya berupa kata kerja. Huruf pertama setiap kata label relasi ditulis dengan huruf kapital. Nama relasi harus unik dalam satu diagram ER.
Relasi bersifat satu arah, karena umumnya makna relasi hanya ‘masuk akal’ pada satu arah tertentu, misal: Kantor Cabang memiliki Staf lebih ‘masuk akal’ daripada Staf memiliki Kantor Cabang. Untuk itu, nama relasi disertai dengan anak panah yang menunjukkan arah relasi;
contoh:

Derajat relasi menunjukkan jumlah entitas yang terhubung dalam suatu relasi. Entitas-entitas yang terhubung dalam suatu relasi disebut partisipan.
Relasi berderajat dua dinamakan relasi biner, contoh:
a. relasi Memiliki yang menghubungkan entitas Kantor Cabang dengan Staf.
b. relasi Mengambil dengan dua entitas yang berpartisipasi, yaitu Mahasiswa dan
Matakuliah.

Relasi berderajat tiga dinamakan relasi terner. Terdapat tiga entitas yang berpartisipasi dalam relasi terner, contoh: relasi Mendaftar yang menghubungkan entitas Staf, KantorCabang, dan Klien. Relasi ini menyatakan seorang staf mendaftar klien di suatu kantor cabang.
Relasi yang menghubungkan lebih dari dua entitas dinamakan relasi kompleks. Dimungkinkan terdapat kasus suatu relasi berderajat empat dinamakan relasi quaterner. Relasi kompleks sangat jarang terjadi.

sumber :

Fathansyah.1999. Basis Data. Informatika Bandung, Bandung.

Pengertian Tuple , http://coklat18.blogspot.com/2010/04/pengertian-tuple-record.html , Diakses pada 05 Februari 2013

Kadir, Abdul., 2003, Pengenalan Sistem Informasi

Kusrini., 2007, Strategi Perancangan dan Pengolahan Basis Data




Rabu, 13 Februari 2013

Komponen Sistem Basis Data dan Abstraksi Data


           Sistem

Istilah sistem bukanlah hal yang asing bagi kebanyakan orang. Sering kali sistem mengacu pada computer seperti IBM PC atau Macintosh, tetapi juga bisa kearah yang lebih luas seperti sistem tatasurya atau bahkan ke hal-hal yang lebih spesifik seperti sistem respirasi mamalia.

Pada dasarnya, sistem adalah sekumpulan elemen yang saling terkait atau terpadu yang dimaksudkan untuk mencapai suatu tujuan. Sebagai gambaran, jika dalam sebuah sistem terdapat elemen yang tidak memberikan manfaat dalam mencapai tujuan yang sama, maka elemen tersebut dapat dipastikan bukanlah bagian dari system.

Sistem juga dapat diartikan sebuah tatanan yang terdiri atas sejumlah komponen fungsional (dengan tugas/fungsi khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu.

Sebagai contoh, sistem kendaraan terdiri dari komponen starter, komponen pengapian, komponen penggerak, komponen pengerem, komponen kelistrikan – speedometer, lampu dan lain-lain. Contoh lain yaitu sistem perguruan tinggi, yang terdiri dari dosen, mahasiswa, kurikulum, dan lain-lain. sistem ini bertujuan untuk menghasilkan mahasiswa-mahasiswa yang memiliki kemampuan di bidang ilmunya.


        Sistem Basis Data

Sistem Basis Data adalah suatu sistem penyusunan dan pengelolaan record-record dengan menggunakan komputer, dengan tujuan untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi/perusahaan, sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk kepentingan proses pengambilan keputusan.



2.         1.   Komponen Sistem Basis Data

          Komponen-komponen Sistem Basis Data meliputi :

-        Perangkat Keras (hardware)
Perangkat keras sebagai pendukung operasi pengolahan data. Perangkat keras komputer adalah semua bagian fisik computer.
Contohnya mouse, keyboard, monitor, cpu, memori, dan lain-lain.

-        Data
Data adalah komponen yang akan diolah sehingga bernilai informasi dan dapat dijadikan sebagai bahan pengambilan keputusan.

-        Perangkat Lunak (software) untuk mengolah basis data
Perangkat lunak digunakan untuk mengolah basis data. contohnya :

a.      Sistem Operasi (Operation System) atau perangkat lunak untuk mengolah basis data. Sistem operasi merupakan suatu software sistem yang bertugas untuk melakukan kontrol dan manajemen hardware serta operasi-operasi dasar sistem, termasuk menjalankan software plikasi seperti program-program pengolah kata dan browser web. Secara umum, sistem operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sementara software-software lainnya dijalankan setelah sistem operasi berjalan, dan sistem operasi akan melakukan layanan inti umum untuk software-software itu. Contoh sistem operasi : Windows 7, Linux, Macinthos, dan lain-lain

b.     Database management system (DBMS). DBMS adalah software yang menangani semua akses ke basis data. Secara konsep apa yang terjadi adalah sebagai berikut :
Ø  User melakukan pengaksesan basis data untuk informasi yang diperlukan menggunakan suatu bahasa manipulasi data, biasanya disebut SQL.
Ø  DBMS menerima request dari user dan menganalisa request tersebut
Ø  DBMS mengeksekusi operasi-operasi yang diperlukan untuk memenuhi permintaan user
Contoh dari DBMS ini yaitu : Microsoft SQL server 2000, oracle, mysql, Microsoft acess, dan lain-lain.

-        Pemakai (user)
Pengguna atau user ini dibagi menjadi 3 bagian yaitu,
1.    Database Manager
Modul program menyediakan antar muka ( Interves ) antara penyimpanan data tingkat rendah dalam databasedengan program aplikasi dan query yang diajukan system database.

2.    Database administrator ( DBA)
Orang yang mempunyai kekuasaan sebagai pusat pengontrol terhadap seluruh system baik data maupun program yang  mengakses data.

3.    Database User
Pemakai database berdasarkan cara berinteraksi terhadap system.
database user ini juga dibagi menjadi  beberapa macam yaitu :

        Program Aplikasi 
Seorang prefesional computer  yang berinteraksi terhadap system Database dengan penulis program dan menggunakan Data Manipulation Language ( DML ) yang dibuat bahasa pemrograman seperti , bahasa c, pascal cobol, dll. Program – program yang dibuatnya disebut dengan program aplikasi.

        User Mahir 
Pemakai yang berinterkasi  terhadap system database menggunkan fasilitas query yang telah disediakan  oleh DBMS dan telah mahir mengggunakannya.

        User Umum
Pemakai yang tidak berpengalaman, berinteraksi dengan system database tanpa menulis program dan query, tapi hanya menjalankan program- program aplikasi yang dibuat oleh Programer Aplikasi.

        User Khusus
Pemakai yang menulis aplikasi data secara traditional, tetapi untuk keprluan khusus, sperti untuk aplikasi Artificial Intelegen, system pakar, pengolahan dll
-        Aplikasi lain
Aplikasi lain merupakan software yang dibuat untuk memberikan interface kepada user sehingga lebih mudah dan terkontrol dalam mengakses basis data. Aplikasi lain ini merupakan komponen tambahan dalam sistem basis data yang sifatnya opsional.

         Abstraksi Data

 Salah satu tujuan dari DBMS adalah untuk menyediakan fasilitas/antarmuka (interface) kepada   user.untuk itu system tersebut akan menyembunyikan detail tentang bagaimana data disimpan dan dipelihara, sehingga data yang terlihatoleh user sebenarnya berbeda dengan yang tersimpan secara fisik.

Abstraksi data merupakan tingkatan-tingkatan pengguna dalam memandang bagaimana sebenarnya data diolah dalam sebuah sistem database sehingga menyerupai kondisi yang sebenarnya dihadapi oleh pengguna sehari-hari.. Sebuah DBMS seringkali menyembunyikan detail tentang bagaimana sebuah data disimpan dan dipelihara (diolah) dalam sebuah sistem database, dengan tujuan untuk memudahkan pengguna dalam menggunakan DBMS tersebut. Karena itu seringkali data yang terlihat oleh pemakai sebelumnya berbeda dengan yang tersimpan secara fisik.

          1.   Penyusun Abstraksi Data

Terdapat 3 level abstraksi :
1.     Level Fisik (Physical Level)
Lapis fisik merupakan lapis terendah, lapis ini menjelaskan bagaimana (how) data sesungguhnya disimpan. Pada lapis inilah struktur data dijabarkan secara rinci.
2.     Level Logik / Konseptual (Conceptual Level)
Lapis konseptual lebih tinggi dari lapis fisik. Lapis ini menjabarkan data apa (what) saja yang sesungguhnya disimpan pada basisdata, dan juga menjabarkan hubungan-hubungan antardata secara keseluruhan. Seorang pengguna dalam level ini dapat mengetahui bahwa data mahasiswa disimpan pada tabel mahasiswa, tabel krs, tabel transkrip dan lain sebagainya. Level ini biasa dipakai oleh DBA.
3.     Level Penampakan/pandangan (View Level)
Lapis pandangan merupakan lapis tertinggi pada abstraksi data. Pada lapis ini pengguna hanya mengenal struktur data yang sederhana, yang berorientasi pada kebutuhan pengguna. Data yang dikenal oleh masing-masing pengguna bisa berbeda-beda dan barangkali hanya mencakup sebagian dari basis data.
Misalnya: Bagian keuangan hanya membutuhkan data keuangan, jadi yang digambarkan hanya pandangan terhadap data keuangan saja, begitu juga dengan bagian akuntansi, hanya membutuhkan data akuntansi saja. Jadi tidak semua pengguna database membutuhkan seluruh informasi yang terdapat dalam database tersebut.

Sebagai gambaran , misalnya terdapat struktur data bertipe record seperti berikut :

                                                Pegawai = RECORD
Nama = STRING;
Alamat = STRING;
Bagian = STRING;
Gaji = LongInt;
End:

Pada contoh ini record pegawai berisi 4 buah field (nama, alamat, bagian, gaji ). Setiap field memiliki nama, dan setiap nama memiliki tipe data.
Pada level fisik, pegawai dapat dijabarkan sebagai blok data yang terletak pada lokasi berurutan (satuan byte). Pada lapis konseptual masing-masing record dijabarkan dengan definisi tipe data . pada lapis view, user tertentu hanya boleh mengakses data tertentu, contohnya, seorang yang menangani penggajian berhak mengetahui gaji seseorang bahkan mengubahnya, tetapi orang yang bekerja di bagian lain tentu tidak boleh melihatnya.


     2.   Hubungan Penyusun Abstraksi Data

1.          Level Fisik (Physical Level)
Merupakan level terendah dalam abstraksi data, yang menunjukkan bagaimana sesungguhnya suatu data disimpan. Melalui level ni, pemakai dapat melihat gambaran struktur datanya secara terperinci.Pada level ini, pemakai melihat data sebagai gabungan dari struktur dan datanya sendiri.
Pemakai juga kompeten dalam mengetahui bagaimana representasi fisik dari penyimpanan/pengorganisasian data. Pada level ini kita berurusan dengan data sebagai teks, sebagai angka atau bahkan himpunan bit data.

2.          Level Lojik/Konseptual (Conseptual Level
Merupakan level berikutnya yang menggambarkan data yang disimpan dalam basis data serta hubungan anatar data. Pada level ini pemakai dapat mengetahui misalnya data pegawai yang disimpan atau direpresentasikan dalam beberapa file/tabel, seperti file pribadi, file pendidikan, file pekerjaan.

3.          Level View (View Level
Merupakan level tertinggi dari abstraksi data yang hanya menunjukkan sebagian dari basis data. Para user umumnya hanya membutuhkan sebagian data/informasi dalam basis data yang kemunculannya di mata user (pemakai) diatur oleh aplikasi end-user. Kegunaan level ini adlah untuk menyederhanakan interaksi antara pemakai (user) dengan sistem

            Manfaat SBD

         Banyak manfaat yang dapat kita peroleh dengan menggunakan system basis data antaranya adalah :

1.     Kecepatan dan kemudahan (speed)
Dengan menggunakan basis data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan dalam mengelompokan, mengurutkan bahkan perhitungan dengan metematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.

2.     Kebersamaan pemakai
Sebuah basis data dapat digunakan oleh banyak user san banyak aplikasi. Untuk data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu dilakukan pencatatan dimasing-masing bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalnya data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semua bagian ini memiliki catatan dan semua bagian bisa mengakses data tersebut sesuai dengan keperluannya.

3.     Pemusatan control data
karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan terhadap data juga cukup dilakuan di satu tempat saja. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis data.

4.     Efesiensi ruang penyimpanan (space)
Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh sebuah organisasi. Dengan teknik perancangan basis data yang benar, kita akan menyederhanakan penyimpanan sehingga tidak semua data harus disimpan.

5.     Keakuratan (Accuracy)
Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antara data, dan lain-lain, dapat menekan keakuratan dalam pemasukan/penyimpanan data.

6.     Ketersediaan (availability)
Dengan basis data kita dapat mem-backup data, memilah-milah data mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan media penyimpanan yang semakin besar.

7.     Keamanan (Security)
Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna diberikan hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Basis data bisa diberikan passwordnya untuk membatasi orang yang mengaksesnya.

8.     Kemudahan dalam pembuatan program aplikasi baru
Pengguna basis data merupakan bagian dari perkembangan teknologi. Dengan adanya basis data pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur interface untuk pengguna.

9.     Pemakaian secara langsung
Basis data memiliki fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke table ataupun menggunakan query. Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator.

10.  Kebebasan data (Data Independence)
Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan basis data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali program aplikasinya.


11.  User view
Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak dibidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian gudang, bagian akutansi dan manajer. 
Tidak semua data boleh diakses oleh semua pengguna. Misalnya kasir dia hanya boleh berhak melihat informasi nama barang dan harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan . berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan harga jual tetapi tidak berhak memasukan atau merubah data. Sementara itu bagian akutansi berhak melihat keuntungan dari tiap-tiap barang untuk menganalisa data akutansinya.Basis data mampu memberikan layanan organisasi seperti



sumber :


Abstraksi Data , http://asihwinantu.wordpress.com/2008/11/10/abstraksi-data/ , Diakses pada 29 Januari 2013

Herdiana, Yudi., 20012, Abstraksi Data, http://materibasisdata.blogspot.com /2012/09/abstraksi-data.html. Diakses pada 29 Januari 2013

Kadir, Abdul., 2003, Pengenalan Sistem Informasi

Komponen Utama Database , http://dunia-programming.blogspot.com /2009/10/ komponen-utama-database.html, Diakses pada 29 Januari 2013

Kusrini., 2007, Strategi Perancangan dan Pengolahan Basis Data

Manfaat Sistem Basis Data , http://vhiecupied28.blogspot.com/2011/09/ manfaat-sistem-basis-data.html , Diakses pada 29 Januari 2013

Nico , Basis Data , http://basisdata121v.blogspot.com/2008/12/definisi-sistem-basis-data_19.html , Diakses pada 29 Januari 2013

SyarifudinZ., 2012, http://syarifz.blogspot.com/2012/09/alasan-menggunakan -sistem-basis-data.html, Diakses pada 29 Januari 2014