untuk masuk ke dalam terminal mongodb jalankan perintah berikut :
user@computer:$ ./mongodb-linux-x86_64-2.0.4/bin/mongo > db.foo.save( { a : 1 } ) > db.foo.find() { "_id" : ObjectId("4f981164f100d658971b1245"), "a" : 1 }
instalasi php driver mongodb :
user@computer:$ sudo pecl install mongo
kemudian tambahkan extension=mongo.so di file php.ini. contoh mudah koneksi, insert, query, dan tampilkan hasil query di php adalah sbb :
$m=new Mongo();$db=$m->comedy;$collection=$db->cartoons;$obj=array("title"=>"Calvin and Hobbes","author"=>"Bill Watterson");$collection->insert($obj);$obj=array("title"=>"XKCD","online"=>true);$collection->insert($obj);$cursor=$collection->find();foreach($cursoras$obj){echo$obj["title"]."\n";}
huff.. setelah sukses install vmware dan setting network dengan bridge connection dari komputer guest (yang diinstall di vmware) — atau diasumsikan sebagai server baru (dalam artikel ini server database)– sekarang aku akan coba replicate mysql. kita asumsikan ada 2 server yaitu master (computer host:192.168.22.15) dan slave (computer guest–vmware–:192.168.22.115).
master slave
syarat2 yang dibutuhkan untuk replicate mysql ini adalah :
SQL pertama diterapkan oleh System R IBM, pada tahun1970 an. SQL adalah standard query language untuk membuat dan memanipulasipada Relational Databases. Beberapa perbedaan kecil pada syntax, tetapi mayoritas SQL adalah standar misal pada MS Access, Oracle, Sybase, Informix, etc. SQL adalah suatu alat Perintah Baris atau dapat juga ditempelkan pada bahasa pemrograman seperti: Cobol, “C”, Pascal, etc. SQL adalah Bahasa distandarisasi yang dimonitor oleh American National Standards Institute (ANSI) sama halnya oleh National Institute of Standards (NIST).
ANSI 1990 – SQL 1 standard
ANSI 1992 – SQL 2 Standard (sometimes called SQL-92)
SQL 3 is in the works – adds some Object oriented concepts
Data Definition Language (DDL)
CREATE TABLE
DROP TABLE
CREATE INDEX
ALTER TABLE
CREATE VIEW
DROP VIEW
Data Manipulation Language (DML)
SELECT
UPDATE
INSERT
DELETE
Modification of the Database (Modifikasi basis data)
Contoh Sebuah Relasi :
Contoh Relasi
Struktur Dasar :
Secara formal, himpunan D1, D2, …. Dn sebuah relasi r adalah sebuah bagian dari himpunan D1 x D2 x … x Dn. Sehingga, sebuah relasi adalah sebuah himpunan dari n-tuples(row) (a1, a2, …, an) dimana setiap ai elemen Di.
Contoh: Jika
customer_name = {Agus,Budi,Cecep}
customer_street = {Jl. Cildug, Jl. Joglo, Jl. Ciputat}
customer_city = {Jaksel, Jakbar, Jaksel}
Maka r = { (Agus, Jl.Ciledug, Jaksel),
(Budi, Jl. Joglo, Jakbar),
(Cecep, Jl. Ciputat, Jaksel)}
adalah sebuah relasi yang berasal dari
customer_name x customer_street x customer_city
Tipe Atribut :
Setiap atribut dari sebuah relasi mempunyai sebuah nama
Setiap himpunan yang berisi nilai untuk setiap atribut disebut domain dari atribut
Secara normal, nilai atribut yang diperlukan haruslah atomic; artinya, indivisible
Catt: nilai multivalued attribute tidak atomic
Catt: nilai composite attribute tidak atomic
Setiap nilai null khusus adalah anggota dari setiap domain
Setiap nilai null menyebabkan komplikasi dalam pendefinisian pada banyak operations
Kita akan mengabaikan penyebab dari nilai null dalam presentasi ini dan mempertimbangkan penyebabnya di lain kali
Skema Relasi :
A1, A2, …, An adalah atribut-atribut
R = (A1, A2, …, An ) adalah sebuah relation schema (skema relasi)
Contoh:
Customer_schema = (customer_name, customer_street, customer_city)
r(R) adalah sebuah relation (relasi) pada relation schema R
Contoh:
customer (Customer_schema)
Sistem penyimpanan untuk database berorientasi object berbeda dengan sistem penyimpanan database dengan relasi. Karena database berorientasi object harus menangani data yang besar dan harus mendukung ketepatan pointer.
Teknik organisasi file seperti heap, sequential dan hashing dapat juga digunakan untuk menyimpan object pada database berorientasi object.
Pada database berorientasi objek memiliki kriteria :
Field dapat berupa sebuat set dari field. Misal : field alamat terdiri dari field nama jalan, no. Rumah, rt, rw, kelurahan
Object biasanya berupa data yang besar misal data gis dll
Pemetaan/penyimpanan object ke dalam stuktur file dilakukan dengan membuat beberapa modifikasi, antara lain :
Jika besar dari beberapa set field tersebut merupakan elemen yang kecil, maka digunakan stuktur data seperti link list
Jika besar dari beberapa set field tersebut merupakan elemen yang besar, maka set field tersebut diimplementasikan sebagai relasi dalam database. setiap relasi akan terdiri dari satu baris untuk tiap set field dari tiap object. tiap baris harus mempunyai object identifier dari object
Pada file indeks yang menggunakan primary indeks, semua file master telah diurutkan berdasarkan primary key. File indeks juga telah diurutkan berdasarkan primary key semua file yang ada di atas disebut file indeks sekuential. Record indeks terdiri dari search key dan pointer yang menunjuk pada satu atau lebih record. Pointer terdiri dari identifier dari blok tempat record berada dalam disk.
ADA 2 TIPE PENGURUTAN INDEKS YANG DIGUNAKAN
Dense index : Semua nilai dari search key muncul pada file index
Sparse index : Hanya sebagian dari nilai search key yang muncul pada file index
Organisasi File Index - Primary Indeks - Dense IndeksOrganisasi File Index - Primary Indeks - Sparse Indeks
KELEBIHAN DENSE INDEX
Mencari lokasi record lebih cepat dibanding sparse index
KEKURANGAN DENSE INDEX
Membutuhkan tempat indeks lebih besar dibanding sparse index
Jika file master berubah, maka file index juga harus dirubah (maintenace lebih sulit dibanding dengan sparse index))
KELEBIHAN SPARSE INDEX
Membutuhkan tempat indeks lebih kecil dibanding dense index
Maintenace lebih mudah dibanding dengan dense index
KEKURANGAN SPARSE INDEX
Mencari lokasi record lebih lambat dibanding dense index
File diorganisasi (disusun) berdasarkan urutan-urutan record-record. Record-record dipetakan ke dalam blok-blok dalam harddisk
blok berukuran tetap, 1 blok berisi lebih dari 1 record.
JENIS RECORD BERDASARKAN PANJANGNYA :
FIXED LENGTH RECORD
VARIABLE LENGTH RECORD
tabel 1
FIXED LENGTH RECORD : Record yang panjangnya tetap.
Misal : untuk membuat record mahasiswa
TYPE MAHASISWA = RECORD
NIM : CHAR(10);
NAMA : CHAR(40);
ALAMAT : CHAR(50);
END
Tiap karakter menyimpan 1 byte, maka record ke 1 untuk data mahasiswa di atas akan menyimpan 100 byte, kemudian 100 byte untuk record yang kedua dan seterusnya. Penempatan record pada blok disebut blocking. Metode blocking untuk record berukuran tetap adalah fixed length blocking.
Misal :
1 block dapat menyimpan 250 byte, jika 1 record panjangnya 100 byte maka BLOCKING SBB:
Organisasi File Blocking
Kelebihan fixed length record : mudah dalam pemrograman, karena untuk menyisipkan atau menghapus record mudah karena panjang recordnya sama.
Kekurangan fixed length record : boros tempat penyimpanan.
VARIABLE LENGTH RECORD : Record yang panjangnya tidak tetap.
Misal : untuk membuat record mahasiswa
TYPE MAHASISWA = RECORD
NIM : VARCHAR(10);
NAMA : VARCHAR(40);
ALAMAT : VARCHAR(50);
END
Panjang tiap record berbeda-beda tergantung dari isi dari masing-masing record. Penempatan record dalam blok tergantung dari panjang record. Metode blocking untuk record berukuran tidak tetap ada dua :
Variable length spanned blocking
Variable length unspanned blocking
Organisasi File Variable Length Record
Variable length spanned blocking : record ditempatkan dalam blok sesuai dengan ukurannya jika panjang record tidak dapat dimuat dalam 1 blok maka record dapat muat dalam blok terpisah (1 record dapat dipotong).
Misal : 1 blok dapat memuat 100 byte.
PANJANG RECORD 1 = 80 BYTE
PANJANG RECORD 2 = 40 BYTE
PANJANG RECORD 3 = 50 BYTE
Organisasi File Spanned Blocking
Variable length unspanned blocking : record ditempatkan dalam blok sesuai dengan ukurannya jika panjang record tidak dapat dimuat dalam 1 blok maka record dapat muat dalam blok terpisah (1 record tidak boleh dipotong).
Misal : 1 blok dapat memuat 100 byte.
PANJANG RECORD 1 = 80 BYTE
PANJANG RECORD 2 = 40 BYTE
PANJANG RECORD 3 = 50 BYTE
Organisasi File Unspanned Blocking
Kelebihan variable length record : hemat tempat penyimpanan.
Kekurangan variable length record : sulit digunakan dalam pemrograman, karena panjang record berbeda maka tiap akhir record digunakan symbol end of record yang menandakan record sudah berakhir.
Basis Data
Data Base Management System (DBMS) terdiri dari : sekumpulan data yang saling berhubungan dan suatu himpunan program yang melakukan akses terhadap data tersebut.
Tujuan DBMS yang paling utama adalah :
memelihara informasi
informasi tersedia pada saat yang dibutuhkan.
Data yang disimpan perlu diatur dalam Manajemen Data
Oleh karena itu perlu dipelajari :
struktur informasi
mekanisme dalam melakukan manipulasi terhadap informasi
Komponen Basis Data
DATA, data tersimpan secara terintegrasi dan dipakai secara bersama-sama
HARDWARE, perangkat keras yang digunakan dalam mengelola sistem database
SOFTWARE, perangkat lunak perantara antara pemakai dengan data fisik. perangkat lunak dapat berupa data base management system dan berbagai program aplikasi
USER, sebagai pemakai sistem
Data
Ciri-ciri data didalam database :
Data disimpan secara terintegrasi (integrated) : Database merupakan kumpulan dari berbagai macam file dari aplikasi-aplikasi yang berbeda, yang disusun dengan cara menghilangkan bagian-bagian yang rangkap (redundant)
Data dapat dipakai secara bersama-sama (shared) : Masing-masing bagian dari database dapat diakses oleh pemakai dalam waktu yang bersamaan, untuk aplikasi yang berbeda
Hardware
Terdiri dari semua peralatan perangkat keras komputer yang digunakan untuk pengelolaan sistem database berupa:
Peralatan untuk penyimpanan database, yaitu secondary storage (harddisk, disket, flash disk, CD)
Berfungsi sebagai perantara (interface) antara pemakai dengan data physik pada database. Software pada sistem database dapat berupa:
Database Management System (DBMS), yang menangani akses terhadap database, sehingga pemakai tidak perlu memikirkan proses penyimpanan dan pengelolaan data secara detail
Program-program aplikasi dan prosedur-prosedur
User
Pemakai database dibagi atas 3 klasifikasi, yaitu:
Database Administrator (DBA) : Orang/team yang bertugas mengelola sistem database secara keseluruhan
Programmer : Orang/team yang bertugas membuat program aplikasi yang mengakses database, dengan menggunakan bahasa pemrograman, seperti Clipper, VB, Oracle baik secara batch maupun online untuk berinteraksi dengan komputer
End-user : Orang yang mengakses database melalui terminal, dengan menggunakan query-language atau program aplikasi yang dibuatkan oleh programmer