Nama : Putri Asri Larasati
Kelas : TMJ 1 REG
NIM : 4312122020
Dosen : Achmad Bachris
DATABASE SYSTEM
Perbedaan Database Tersimpan dengan Metadata
Menurut Wikipedia, pengertian Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Database yang disimpan adalah database biasa yang mengandung sedikit informasi, berbeda dengan metadata.
Metadata merupakan sebuah informasi terstruktur yang menjadikan suatu informasi lebih mudah untuk ditemukan kembali yang kemudian dapat kita kelola. Metadata ini mengandung informasi mengenai isi dari suatu data untuk keperluan manajemen file / data dalam suatu basis data. Dengan penjelasan diatas berarti telah jelas bahwa ada perbedaan antara basis data yang disimpan dengan metadata dan yang tidak. Basis data yang disimpan dengan metadata lebih efisien karena informasi yang ditampilkan lebih lengkap sehingga dalam hal pencarian data pun kita akan lebih dimudahkan.
Untuk mempermudah pengertian kita, dapat dilihat dalam penerapan basis data dengan metadata pada kehidupan sehari-hari:
Contoh simpelnya bisa kita tengok ke dapur, coba carilah pot-pot penyimpanan bumbu masakan ibu. Jika pot-pot tersebut mempunyai motif sama dan tidak diberi label nama bumbu masakan tersebut, maka kita akan kesulitan mencarinya. Berbeda dengan pot-pot yang mempunyai motif berbeda-beda dan setiap pot diberi label, maka dengan mudah kita mencari bumbu yang kita butuhkan tanpa harus membuka pot tersebut satu-persatu.
Contoh yang lebih luas adalah metadata dalam basis data perbankan. Dalam basis data tersebut informasi tentang nasabah ditampilkan secara lengkap dan teratur. Jika basis data dalam perbankan tidak menggunakan metadata, maka bank tersebut akan kewalahan dalam mengelola kembali data tersebut.
Sumber:
Fungsi Define, Construct dan Manipulate
DBMS merupakan perangkat lunak yang bersifat general-purpose yang memiliki fasilitas proses define, construct dan manipulate basisdata untuk aplikasi yang bervariasi.
- Fungsi Define ialah fungsi untuk melakukan spesifikasi tipe data, struktur dan constraint data yang akan disimpan dalam basis data.
Struktur dari record per file dispesifikasikan dengan tipe elemen data yang berbeda untuk disimpan.
Ø File STUDENT terdiri dari StudentName, StudentNumber, Class dan Major. Tipe data untuk setiap elemen data dari record juga perlu dibuat.
Ø StudentName merupakan string dari karakter alphabet, StudentNumber dibuat menjadi integer, dst. Pengkodean juga dibuat, misalnya: Class dari STUDENT, 1 untuk freshman, 2 untuk sophomore, 3 untuk junior, 4 untik senior, dan 5 untuk graduated student.
- Fungsi Construct ialah fungsi untuk melakukan proses penyimpanan data ke dalam beberapa media penyimpanan yang dikontrol DBMS.
Data yang mewakili student, course, section, grade report dan prerequisite disimpan sebagai sebuah
record dalam masing-masing filenya. Ada beberapa record yang berelasi. Misalnya record “Smith” di
STUDENT berelasi dengan dua buah record di file GRADE_REPORT
- Fungsi Manipulate ialah fungsi untuk melakukan query atau memanggil data, update data dan menghasilkan laporan yang berasal dari basis data.
Mahasiswa nama table / file
Atribut / field : nim,nama_m,tpt_lhr_m,tgl_lhr_m,j_kelamin,alm_m,kota_m,aama_m dan
kode_jur
Data value / Isi data :
Pada record pertama : 01031417 adalah isi data untuk kolom nim, Mulyanti untuk kolom
nama_m dan seterusnya
Gambar 1.3. Contoh file, field, record dan data value
Pada contoh diatas yang merupakan table / file adalah Mahasiswa, yang merupakan field
adalah nim,nama_m,tpt_lhr_m,tgl_lhr_m,j_kelamin,alm_m,kota_m,aama_m dan kode_jur,
sedangkan untuk isi data pada record pertama adalah 01031417 (nim), Mulyanti (nama_m)
dan seterusnya. Pada tabel mahasiswa tersebut misalkan jumlah mahasiswanya adalah 2000
untuk berbagai jurusan, maka jumlah recordnya adalah 2000 juga dan kita dapat melakukan
manipulasi data pada tabel tersebut yaitu insert, update dan delete.
Sumber:
dewiar.staff.gunadarma.ac.id/.../files/.../M1+-+DB...
OLTP
OLTP (Online Transaction Processing) adalah sistem database yang mengatur aplikasi berorientasi pada transaksi namun terpisah dari data warehouse. Sistem ini dituntut untuk mampu melakukan respon dengan cepat terhadap permintaan user. Tujuan dari OLTP sendiri adalah untuk memelihara basis data dalam bentuk yang akurat dan terkini. OLTP mempunyai karakteristik sebagai berikut:
· Transaksi singkat dan sederhana
· Pemutakhiran relative sering dilakukan,dan
· Transaksi hanya mengases sebagian kecil basis data.
(dikutip dari Lewis dkk, 2002 hal 644)
Sistem OLTP contohnya digunakan dalam dunia perbankan seperti penarikan tunai pada ATM yang membutuhkan respon cepat dan langsung berkaitan dengan pengguna. Selain itu sebagai contoh lainnya adalah sistem pembelian minuman pada mesin penjual minuman dingin. Setelah memasukkan uang lembaran dan telah diterima identifikasinya sebagai input yang sah, maka pembeli akan menekan tombol minuman yang ia pilih dan sistem akan segera merespon dan mencari data dalam basis data tersebut sehingga minuman dapat keluar.
Sumber:
End User
End user atau user mum adalah pemakai yang melakukan interaksi dengan sistem basis data yang membutuhkan query, update dan generate laporan melalui panggilan satu program aplikasi permanen yang telah ditulis atau disediakan sebelumnya.End user sendiri dibagi menjadi beberapa kategori yaitu:
- Casual end user, pengguna yang mengakses basis data, tetapi mereka membutuhkan informasi yang berbeda setiap saat. Mereka menggunakan bahasa query basis data yang canggih untuk menspesifikasikan permintaan dan mereka adalah manajer tingkat tinggi atau menengah.
- Nave/ parametric end user, pengguna dengan fungsi pekerjaaan utama mereka adalah berkisar pada query dan update basis data yang disebut canned transaction.
- Sophisticated end users, kelompok pengguna mencakup ahli teknik, ilmuwan, analis bisnis, dan lainnya yang terbiasa dengan fasilitas dari DBMS untuk mengimplementasikan aplikasi sesuai kebutuhannya.
- Stand-alone end users, pengguna yang melakukan manajemen basis data personal dengan menggunakan paket program yang sudah jadi yang menyediakan menu yang easy user dan interface tab berbasis grafik.
http://amri166.blogdetik.com/2012/02/09/pengenalan-konsep-basis-data/
Query
Query merupakan bahasa untuk melakukan manipulasi terhadap database yang telah distandarkan dan lebih dikenal dengan nama Structured Query Language (SQL). Query memiliki kemampuan untuk menampilkan suatu data dari database yang ditulis dalam format tertentu dimana mengambil dari table-tabel yang ada di database, namun tabel tersebut tidak semua ditampilkan sesuai dengan yang kita inginkan.
Berhubung saya belum cukup banyak mendapatkan materi tentang database, pengertian saya terhadap query ini cukup terbatas. Sejauh yang saya pelajari, query itu merupakan perintah pada sistem basis data yang ditulis dalam bahasa query. Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada basis data. Contoh penggunaan bahasa query adalah: SELECT ALL WHERE kota=”Yogyakarta” AND umur<40. Query tersebut meminta semua record dari basis data yang sedang digunakan (misalkan basisdata konsumen) yang bertempat tinggal di Yogyakarta dan berumur lebih dari 40 tahun (kota dan umur adalah nama field yang telah didefinisikan). Standar bahasa query yang banyak digunakan adalah SQL (structured query language). Metode ini paling rumit tetapi paling fleksibel dibandingkan metode query yang lain, query dengan parameter yang telah tersedia dan query by example.
Nah penerapan query ini biasanya dalam program-program pengolah basis data seperti MySQL dan terbagi menjadi beberapa tipe.
Query dibedakan menjadi 2, yaitu
1. Untuk membuat/mendefinisikan obyek-obyek database seperti membuat tabel, relasi dan sebagainya. Biasanya disebut dengan Data Definition Language (DDL)
2. Untuk memanipulasi data, yang biasanya dikenal dengan Data Manipulation Language (DML). Manipulasi data bisa berupa:
a. Menambah, mengubah atau menghapus data.
b. Pengambilan informasi yang diperlukan dari database, yang mana datanya diambil dari tabel maupun dari query sebelumnya
Membuat dan Menggunakan Query
Terdapat tiga metode utama untuk membuat query:
1. Dengan memilih parameter yang telah disediakan pada menu. Metode ini paling mudah digunakan namun paling tidak fleksibel karena pengguna hanya dapat menggunakan pilihan parameter yang terbatas.
2. Query by example (QBE) adalah metode query yang disediakan sistem dalam bentuk record kosong dan pengguna dapat menentukan field dan nilai tertentu yang akan digunakan dalam query.
3. Bahasa query (query language) adalah bahasa khusus yang digunakan untuk melakukan query pada sebuah basisdata. Metode ini paling rumit tetapi paling fleksibel.
4. Anda dapat menggunakan query untuk melihat, mengubah, dan menganalisa data dalam berbagai cara. Anda juga dapat menggunakan query sebagai sumber untuk record-record yang digunakan pada form dan report.
Ada beberapa macam query yang terdapat dalam Access 2003, diantaranya adalah:
Select Query, merupakan jenis query yang paling umum. Select query mengambil data dari satu table atau lebih menggunakan suatu kriteria tertentu, kemudian manyampaikannya. Anda juga dapat menggunakan select query untuk mengelompokkan sejumlah record dan menghitung total, banyak data, serta rata-ratanya.
Parameter Query, adalah query yang jika dijalankan menampilkan kotak dialog yang menanyakan informasi yang akan digunakan sebagai kriteria untuk mengambil data atau suatu nilai yang Anda ingin sisipkan ke dalam suatu field. Parameter Query juga berguna sebagai basis bagi form dan report.
Crosstab Query, menampilkan nilai-nilai yang telah diolah (total, banyak data, rata-rata dan lain-lain) dari suatu field dalam tabel dan mengelompokkannya ke dalam suatu kelompok fakta yang didaftarkan pada bagian kiri dari datasheet dan kelompok fakta yang lain pada bagian atas dari datasheet.
Action Query, adalah query yang membuat perubahan terhadap satu atau beberapa record sekaligus. Ada 4 macam action query, yaitu delete query, update query, append query dan make-table query.
Delete Query, digunakan untuk menghapus sekumpulan record dalam satu tabel atau lebih berdasarkan kriteria tertentu.
Delete Query, digunakan untuk menghapus sekumpulan record dalam satu tabel atau lebih berdasarkan kriteria tertentu.
Update Query, digunakan untuk membuat perubahan umum/global terhadap sekumpulan record dalam satu tabel atau lebih berdasarkan criteria tertentu.
Append Query, digunakan untuk menambahkan sekelompok record dari satu atau lebih tabel ke dalam satu atau lebih tabel berdasarkan kriteria tertentu.
Make Table Query, digunakan untuk membuat tabel baru dari seluruh atau sebagian data dalam satu atau lebih tabel. Make tabel query juga berguna untuk membuat tabel untuk ditransfer pada database Access 2003 yang lain, membuat report yang menampilkan data mulai posisi tertentu, membuat backup atau salinan dari suatu tabel, membuat tabel history yang berisi record-record yang sudah lama.
SQL Query, adalah query yang dibuat menggunakan permyataan SQL. SQL query terdiri dari union query, pass-through query, data definition query.
Union, jenis query ini menggabungkan field (kolom) dari satu atau lebih tabel atau query ke dalam satu fiel atau kolom dalam query gasilnya
Pass-Through, jenis query ini mengirimkan perintah secara langsung ke database ODBC, seperti Microsoft SQL Server, menggunakan perintah yang dapat diterima oleh server.
Data Definition, jenis query ini membuat obyek database, seperti tabel
Berikut adalah beberapa contoh penerapan query pada program MySQL:
Cross Join:
Tipe ini akan menampilkan semua isi tabel pada sisi sebelah kiri dan yang akan memiliki pasangan semua data pada sisi kanan.
Banyaknya Record yang dihasilkan query Cross Join sama dengan jumlah record tabel pertama x jumlah record tabel kedua.
Banyaknya Record yang dihasilkan query Cross Join sama dengan jumlah record tabel pertama x jumlah record tabel kedua.
Coba jalankan query dibawah ini pada konsol mysql :
select d.wilayah_id, d.nama_wilayah, d.luas_wilayah, p.penduduk_id, p.nama_penduduk
from wilayah d
cross JOIN penduduk p
|
Query di atas akan menghasilkan :
WILAYAH_ID NAMA_WILAYAH LUAS_WILAYAH PENDUDUK_ID NAMA_PENDUDUK
——---- ——————– ———————- ———– ——————–
WYS01 Surabaya 1000 PDS01 Susanna
WYJ01 Jakarta 2000 PDS01 Susanna
WYS02 Solo 3000 PDS01 Susanna
WYY09 Yogya 4000 PDS01 Susanna
WYK01 Kediri PDS01 Susanna
WYS01 Surabaya 1000 PDJ01 Jocki Henry
WYJ01 Jakarta 2000 PDJ01 Jocki Henry
WYS02 Solo 3000 PDJ01 Jocki Henry
WYY09 Yogya 4000 PDJ01 Jocki Henry
WYK01 Kediri PDJ01 Jocki Henry
WYS01 Surabaya 1000 PDA01 Asrina Febyanti
WYJ01 Jakarta 2000 PDA01 Asrina Febyanti
WYS02 Solo 3000 PDA01 Asrina Febyanti
WYY09 Yogya 4000 PDA01 Asrina Febyanti
WYK01 Kediri PDA01 Asrina Febyanti
WYS01 Surabaya 1000 PDA02 Abi Anwari
WYJ01 Jakarta 2000 PDA02 Abi Anwari
WYS02 Solo 3000 PDA02 Abi Anwari
WYY09 Yogya 4000 PDA02 Abi Anwari
WYK01 Kediri PDA02 Abi Anwari
20 rows selected
|
Query JOIN ini akan menghasilkan data yang sama dengan query dibawah ini :
select * from wilayah d, penduduk p;
|
Full Outer Join / Full Join :
Query JOIN berikutnya adalah Full Outer Join, yang lebih sering disebut sebagai Full Join. Operasi Join tipe ini akan menampilkan semua isi pada tabel sisi sebelah kiri, walaupun data di pasangan joinnya yang ada disisi kanan nilainya null. Hal ini berlaku sebaliknya.
Query JOIN berikutnya adalah Full Outer Join, yang lebih sering disebut sebagai Full Join. Operasi Join tipe ini akan menampilkan semua isi pada tabel sisi sebelah kiri, walaupun data di pasangan joinnya yang ada disisi kanan nilainya null. Hal ini berlaku sebaliknya.
Mari kita coba dengan query sederhana berikut ini :
select d.wilayah_id, d.nama_wilayah, d.luas_wilayah, p.penduduk_id, p.nama_penduduk
from wilayah d
full join penduduk p on (d.wilayah_id=p.wilayah_id);
|
Query di atas akan menghasilkan :
WILAYAH_ID NAMA_WILAYAH LUAS_WILAYAH PENDUDUK_ID NAMA_PENDUDUK
——-------- ——————–----- ———————----- ———–------- ——————–------
WYS01 Surabaya 1000 PDS01 Susanna
WYJ01 Jakarta 2000 PDA01 Asrina Febyanti
WYY09 Yogya 4000
WYS02 Solo 3000
WYK01 Kediri
PDJ01 Jocki Henry
PDA02 Abi Anwari
7 rows selected
|
Kita coba lakukan dengan query yang lain, jalankan script sql berikut :
select d.willayah_id, d.nama_wilayah, d.luas_wilayah, p.penduduk_id, p.nama_penduduk
from penduduk p
full join wilayah d on (d.wilayah_id=p.wilayah_id);
|
yan akan menghasilkan :
WILAYAH_ID NAMA_WILAYAH LUAS_WILAYAH PENDUDUK_ID NAMA_PENDUDUK
——-------- ——————–----- ———————----- ———–------- ——————–------
WYS01 Surabaya 1000 PDS01 Susanna
PDJ01 Jocki Henry
WYJ01 Jakarta 2000 PDA01 Asrina Febyanti
PDA02 Abi Anwari
WYY09 Yogya 4000
WYS02 Solo 3000
WYK01 Kediri
7 rows selected
|
Sebagai catatan. kadang banyak yang lebih nyaman menggunakan query left outer join untuk menghasilkan data seperti yang dihasilkan perintah di inner join. Hal ini bisa dilakukan dengna beberapa perubahan pada query kita. Caranya adalah dengna memfilter data pada sisi kanan yang bernilai null.
Jalankan query di bawah ini :
select d.wilayah_id, d.nama_wilayah, d.luas_wilayah, p.penduduk_id, p.nama_penduduk
from wilayah d
left outer join penduduk p on (d.wilayah_id=p.wilayah_id)
where p.wilayah_id is not null;
|
Hasil dari query di atas adalah :
WILAYAH_ID NAMA_WILAYAH LUAS_WILAYAH PENDUDUK_ID NAMA_PENDUDUK
——-------- ——————–----- ———————----- ———–------- ——————–
WYS01 Surabaya 1000 PDS01 Susanna
WYJ01 Jakarta 2000 PDA01 Asrina Febyanti
2 rows selected
|
Right Outer Join:
select d.wilayah_id, d.nama_wilayah, d.luas_wilayah, p.penduduk_id, p.nama_penduduk
from area d
Right outer join penduduk p on (d.wilayah_id=p.wilayah_id)
where d.wilayah_id is not null;
|
Query di atas akan menghasilkan :
WILAYAH_ID NAMA_WILAYAH LUAS_WILAYAH PENDUDUK_ID NAMA_PENDUDUK
——----- ——————– ———————- ———– ——————–
WYS01 Surabaya 1000 PDS01 Susanna
WYJ01 Jakarta 2000 PDA01 Asrina Febyanti
|
Sumber:

0 comments:
Post a Comment