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

[Seri Oracle 11g] Menjalankan fitur SQL Developer di Oracle 11g (Part 1)

Fitur SQL Developer memungkinkan kita melakukan operasi database secara GUI (Graphical User Interface). Pada Oracle 11g Enterprise, fitur ini sudah tersedia alias built-in.

Oke, langsung saja, untuk menjalankan prosedur awal membuka SQL Developer, (pada windows) buka Start >  Oracle – OraDb11g_home2 > Application Development > SQL Developer.

Ketika kita baru pertama kali membuka aplikasi ini , maka akan muncul popup seperti ini

Itu artinya SQL Developer memerlukan konfigurasi path java (JRE) , yang perlu diingat, adalah konfigurasi java disini adalah java JDK yang sudah merupakan bawaan dari Oracle 11g. Untuk pathnya biasanya terdapat pada \app\Arfadia\product\11.2.0\dbhome_1\jdk\jre\bin

Error Unable to Find a Java Virtual Machine (SQL Developer)

Jika kita salah menentukan path berkali kali , maka akan muncul error seperti ini, yang menandakan jika oracle SQL Developer sudah terlanjur menyimpan path pada file konfigurasinya.

Maka untuk sebelum mengeset lokasi Path, kita harus menghapus path yang sudah terlanjur tersimpan di file konfigurasi. File nya terdapat di

Ubah file sqldeveloper.conf (as Administrator), kemudian hapus baris “SetJavaHome” seperti gambar yang di block di bawah.

Oke setelah itu jalankan kembali SQL Developer dan set ulang pathnya, jika tidak ada masalah, maka Oracle SQL Developer akan running normal

[Seri Oracle 11g] Menjalankan fitur Oracle Enterprise Manager (OEM) di Oracle 11g

Fitur Oracle Enterprise Manager (OEM) digunakan dalam rangka mempermudah kerja SYS Administrator dalam mengelola dan memonitoring kinerja databasenya.

Enterprise Manager yang disediakan berbasis web based console.
Untuk mengaktifkannya, perhatikan langkah berikut ini :

1. Asumsi bahwa kita telah menerapkan konfigurasi listener dan membuat instance dengan DBCA
2. Cek status enterprise manager melalui console

emctl status dbconsole

Jika menemukan pesan error seperti ini “Environment variable ORACLE_UNQNAME not defined. Please set ORACLE_UNQNAME to database unique name”, itu artinya anda tinggal selangkah lagi mengelola OEM Anda, yakni dengan mengupdate konfigurasi environment.

3. Untuk selanjutnya , lakukan setting variable environment (nama lokal komputer, database, dan sid) dengan mengetik perintah berikut melalui console

set ORACLE_HOSTNAME=Arfadia-PC
set ORACLE_UNQNAME=databaseku
set ORACLE_SID=databaseku

4. Jika sudah melakukan konfigurasi tersebut, cek status nya kembali menggunakan perintah

emctl status dbconsole

5. Jika muncul pesan seperti gambar dibawah,

berarti konfigurasi yang kita buat sudah sesuai, maka kita tinggal menjalankan control OEM degan perintah

emctl start

perlu diperhatikan bahwa pada pesan gambar diatas terdapat alamat URL dari Oracle Enterprise Manager (*saya marking), yang bisa kita copy paste ke browser kita. Sebagai contoh berikut adalah URL yang saya dapatkan ketika selesai melakukan konfigurasi

https://[nama_lokal_pc]:[port]/em/console

atau dalam hal ini alamat URL saya adalah

https://arfadia-pc:1158/em/console/logon/logon

selanjutnya kita tinggal memasukkan username dan password, jika sudah maka kita akan di redirect masuk ke halaman dashboard dari Oracle Enterprise Manager, yang lain waktu akan saya update tutorialnya.

Catatan Penting :

1. Muncul Pesan Error “OC4J Configuration issue OC4J_DBConsole_<HOSTNAME>_<DBNAME> not found
Jika kita melakukan konfigurasi variable dengan nilai yang salah, maka pesan error inilah yang akan muncul, artinya kita salah menginput (nama lokal/PC atau database atau SID nya).

Terus bagaimana kita mengetahui nilai variable yg benar?
Okey, bukalah path yang dimaksud, dalam contoh saya berada di path “C:\app\Arfadia\product\11.2.0\dbhome_1\oc4j\j2ee“, kemudian cek di baris folder ke 4 ada folder yang penamaan nya berdasarkan dengan nama lokal PC dan database yang benar, dengan structure sbb :

OC4J_DBConsole_[nama_lokal_pc]_[nama_database]

di contoh saya path nya adalah sbb :

OC4J_DBConsole_Arfadia-PC_databaseku


Silakan kita sesuaikan kembali nilai variable environtment tsb dengan nama PC kita dan database yang telah kita buat sebelumnya.

2. Mengetahui port yang digunakan pada alamat URL OEM

Untuk mengetahuinya cukup mudah kita cukup buka

%YOUR_ORACLE_PATH%\dbhome_1\install\portlist.ini

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