Konsep Singkat Database

Setiap organisasi memiliki informasi yang harus di simpan dan di atur sesuai kebutuhannya, misalnya sebuah perusahaan mengumpulkan informasi data karyawannya. Informasi tersebut harus tersedia ketika dibutuhkan, IT sistem secara formal kemudian akan menyimpan dan memproses informasi tersebut.

Pengertian DBMS

DBMS adalah sebuah software yang digunakan untuk mengontrol storage (penyimpanan). organisasi, dan pengambilan data. Sederhananya DBMS terdiri dari 3 elemen berikut :

  • 1. Kernel Code,
    Kode ini akan memanage memori dan storage untuk DBMS
  • 2. Repository Of Metadata
    Repository ini disebut juga sebagai kamus data (Data Dictionary)
  • 3. Query Language
    Adalah bahasa yang akan digunakan aplikasi dalam mengakses data

Database Application
merupakan program perangkat lunak yang berinteraksi dengan database untuk mengakses dan memanipulasi data.
Generasi pertama DBMS mencakup jenis sebagai berikut :

  • 1. Hierarchical
    Database hirarki mengatur data dalam struktur pohon (tree). Setiap Data Induk memiliki satu atau lebih data anak, mirip dengan struktur data anak
  • 2. Network
    Database Network/Jaringan mirip dengan database hirarki kecuali data yang memiliki hubungan many-to many daripada one to many

Relational Model
Dalam makalahnya yang berjudul “A Relational Model of Data for Large Shared Data Banks” E. F. Codd mendefinisikan model relasional berdasarkan teori set matematika. Saat ini, model database yang paling banyak diterima adalah model relasional.

Database relasional adalah database yang sesuai dengan model relasional. Model relasional memiliki aspek utama sebagai berikut:

  1. Struktur
    Objek yang terdefinisi dengan baik menyimpan atau mengakses data dari database.
  2. Operasi
    Tindakan yang didefinisikan dengan jelas memungkinkan aplikasi memanipulasi data dan struktur database.
  3. Aturan integritas

Aturan integritas mengatur operasi pada data dan struktur database.

Database relasional menyimpan data dalam serangkaian hubungan sederhana. Sebuah relasi adalah satu set tupel. Sebuah tuple adalah himpunan nilai atribut yang tidak berurutan.

Tabel adalah representasi dua dimensi dari sebuah relasi dalam bentuk baris (tupel) dan kolom (atribut). Setiap baris dalam tabel memiliki kumpulan kolom yang sama. Database relasional adalah database yang menyimpan data dalam relasi (tabel). Misalnya, database relasional dapat menyimpan informasi tentang karyawan perusahaan di meja karyawan, meja departemen, dan tabel gaji.

Schema Objects

Salah satu karakteristik RDBMS adalah independensi penyimpanan data fisik dari struktur data logis. Di Oracle Database, skema database adalah kumpulan struktur data logis, atau objek skema. Skema database dimiliki oleh pengguna basis data dan memiliki nama yang sama dengan nama pengguna.

Objek skema adalah struktur buatan pengguna yang secara langsung merujuk ke data dalam database. Database mendukung banyak jenis objek skema, yang terpenting adalah tabel dan indeks.

Objek skema adalah salah satu jenis objek database. Beberapa objek database, seperti profil dan peran, tidak berada dalam skema.

  1. Table
    Tabel menggambarkan entitas seperti karyawan. Anda mendefinisikan sebuah tabel dengan nama tabel, seperti karyawan, dan kumpulan kolom. Secara umum, Anda memberi setiap kolom nama, tipe data, dan lebar saat Anda membuat tabel.Table adalah seperangkat baris. Kolom mengidentifikasi atribut entitas yang dijelaskan oleh tabel, sedangkan sebuah baris mengidentifikasi sebuah instance dari entitas. Misalnya, atribut entitas karyawan sesuai dengan kolom untuk ID karyawan dan nama belakang. Baris mengidentifikasi karyawan tertentu.Anda dapat secara opsional menentukan aturan untuk setiap kolom tabel. Aturan ini disebut batasan integritas (integrity constraint). Salah satu contohnya adalah batasan integritas NOT NULL. Kendala ini memaksa kolom berisi nilai di setiap baris.
  2. Indexes

    Indeks adalah struktur data opsional yang dapat Anda buat pada satu atau beberapa kolom tabel. Indeks dapat meningkatkan kinerja pengambilan data. Saat memproses permintaan, database dapat menggunakan indeks yang tersedia untuk menemukan baris yang diminta secara efisien. Indeks berguna saat aplikasi sering menautkan baris atau rentang baris tertentu.

    Indeks secara logis dan fisik tidak bergantung pada data. Dengan demikian, Anda bisa drop dan membuat indeks tanpa efek pada tabel atau indeks lainnya. Semua aplikasi terus berfungsi setelah Anda menghapus indeks.

 

Tutorial diambil dan diubah dari Oracle 11g Documentation
download.oracle.com/docs/cds/E11882_01.zip

Advertisements

Apa itu Normalisasi Database ?

Normalisasi database bagi saya merupakan suatu bentuk pengaplikasian / cara dalam memetakan suatu informasi data menjadi beberapa bagian / entitas agar menjadi lebih mudah dalam pengelolaan data.

Hubungan tiap entitas tersebutlah yang dimaksud sebagai sebuah normalisasi, biasanya normalisasi database terbagi menjadi beberapa tingkatan bergantung dengan seberapa kompleksnya data tersebut, seperti bentuk normalisasi pertama (1NF) , normalisasi kedua (2NF), 3NF dan BCNF. Sebelum melangkah lebih jauh, saya ingin menjelaskan bahwa dalam konteks RDBMS istilah-istilah normalisasi tersebut merujuk kepada:

  • Entitas , yakni sebuah table, hubungan antar entitas berarti hubungan antara tiap table
  • Atribut, yakni kelengkapan sebuah table, dalam database hal ini berarti adalah sebuah field yang tentu saja beragam
  • Identifier, yakni atribut pengidentifikasian setiap entitas, dalam Bahasa mudahnya kita mengenalnya sebagai ID
  • Relasi/Hubungan tiap table yang menjadi sebuah nilai foreign key

Oke langsung saja pada prakteknya (dalam hal ini saya menggunakan database MySQL) kita memiliki sebuah data sebagai berikut :

Data diatas masih berupa bentuk Normal Data, yang tentunya dapat membuat fungsi DML (Data Manipulation Language) tidak berjalan sempurna, karena adanya redudansi/duplikasi data. Sehingga misalkan saya ingin mengubah salah satu buku berdasakan jenis buku IT, maka ada 2 row yang akan terupdate.

Bentuk 1NF (First Normal Form)

Sehingga kita perlu mengubahnya dalam bentuk 1NF (First Normal Form), yakni memetakan data redudansi tersebut menjadi beberapa entitas. Berikut hasil 1NF nya :

Table Normalisasi Database - 1NF

 

Dapat kita lihat data normal form sebelumnya dapat kita pecah menjadi 3 entitas baru beserta atributnya. Dan perlu diperhatikan bahwa setiap entitas memiliki identifier / ID masing, masing sehingga menghindarkan lagi terjadinya redudancy data.

Bentuk 2NF (Second Normal Form)

Jika data sudah bisa dibentuk dalam bentuk 1NF, jika kita perlu melakukan hubungan/relasi antara entitas tersebut, (pada contoh nyata : membuat table transaksi untuk menyimpan order) nah bentuk 2NF ini sudah mengakomodir hal tersebut berdasarkan identifier dari masing-masing entitas. Lihat table 2NF nya sebagai berikut :

contoh Table Normalisasi database 2NF

Bentuk 3NF (Third Normal Form)

Bentuk ini adalah pengembangan dari 2NF, Hal ini yakni dengan membuang field/atribut yang tidak bergantung pada identifier / Primary key ID. Itu artinya kita masih bisa menambahkan field jika itu sesuai/berhubungan dengan primary key  Misalkan sebagai berikut :

Demikian penjelasan singkat tentang normalisasi sampai bentuk 3 tingkat, insya allah di trit saya berikutnya saya akan menjelaskan lebih detail. Okay

by: adji hendrawan