Query optimisasi meurpakan sebuah proses memilih query plan yang plaing efisien dari banyak startegi pengaksesan query, khususnya untuk query yang kompleks. Dalam mendapatkan query plan yang efisien pemeriksaan dilakukan mulai dari epemeriksaaan akses path yang mungin (primary index akases, secondary indeks aksess, dan full file scan), dan juga variasi teknik join tabel relasional. Tujuan dari optimasisi adalah untuk mengurangi sebanyak mungkin tuple atau baris yang tidak dibutuhkan.
Jika kita sudah memiliki query, maka kita bisa mengoptimasi query dengan cara mentransform queyr tersebut. Untuk memeriksa apak$ah query yang dioptimasi hhasilnya sama dengan query yang biasa, ada beberapa rules equivalence. Rule equivalence ini juga bisa sebagai langkah awal untuk mentransform query sehingga lebih efisien. BErikut adalah beberap rule equivalence yang bisa digunakan:
1. Operasi seleksi konjungtif dapat didekonstruski menjadi sekumpulan seleksi individual
2. Operasi seleksi adalah komutatif
3. Hanya operasi final dari operasi sequence proyeksi yang dibutuhkan, yang lainnya dapat diabaikan
4. Seleksi dapat dikombinasikan dengan cartesian product dan theta join
5. Operasi Theta join komutatif
6. operasi Seleski daoat didistributsikan dinatara operasi union intersection dan set difference
7. Sekumpulan union dan intersection asosiatif
8. Operasi Join didistributsikan dinatara operasi union
By:Ogie
Powered by ScribeFire.
Diarsipkan di bawah: Eksplorasi DBMS
Data adalah fakta mengenai objek, orang, dan lain-lain. Informasi adalah hasil analisis dan sintesis terhadap data. Basis data adalah kumpulan data, yang dapat digambarkan sebagai aktifitas dari satu atau lebih organisasi yang berelasi.Data yang disimpan menggambarkan beberapa aspek dari suatu organisasi. Model data adalah himpunan deksripsi data level tinggi yang dikonstruksi untuk menyembunyikan beberapa detail dari penyimpanan level rendah. Beberapa manajemen basis data didasarkan pada model data relasional, model data hirarkis, atau model data jaringan.
1. Model Data Hirarkis
Model hirarkis biasa disebut model pohon. Model ini menggunakan pola hubungan orang tua-anak.
2. Model Data Jaringan
Model jaringan distandarisasi pda tahun 1971 oleh Data Base Task Group (DBTG). Itulah sebabnya disebut model DBTG. Model ini juga disebut model CODASYL (Conference on Data System Languages), karena DBTG adalah bagian dari CODASYL. Model ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa memilki lebih dari satu orang tua. Oleh karena sifatnya demikian, model ini bisa menyatakan hubungan 1:1 (satu orang tua punya satu anak), 1:M (satu orang tua punya banyak anak), maupun N:M (beberapa anak bisa mempunyai beberapa orangtua). Pada model jaringan, orang tua disebut pemilik dan anak disebut anggota.
3. Model Data Relasional
Model relasional adalah model data yang paling banyak digunakan saat ini. Pembahasan pokok pada model ini adalah relasi, yang dimisalkan sebagai himpunan dari record. Deskripsi data dalam istilah model data disebut skema. Pada model relasional, skema untuk relasi ditentukan oleh nama, nama dari tiap field (atau atribut atau kolom), dan tipe dari tiap field.
Diarsipkan di bawah: Eksplorasi DBMS
1. Data definition.
Fungsi ini menjelaskan:
* FILE-FILE
* MASUKAN STUKTUR
* NAMA, TIPE, dan UKURAN FIELD
* RELASI antara masukan dari tipe yang berbeda
* Informasi tambahan untuk efisiensi pencarian, cth: INDEX
2. Data entry and validation.
Validasi meliputi:
* PENGECEKAN TIPE
* PENGECEKAN RANGE
* POENGECEKAN KONSISTENSI
3. Updating.
Peng-update-an meliputi:
* Memasukkan data
* Memodifikasi
* Menghapus
4. Data retrieval on the basis of selection criteria.
Kebanyakan sistem menyediakan QUERY LANGUAGE dimana karakteristik
dari masukan yang diperlukan dispesifikasikan
5. Report definition.
Sebagian besar sistem menyediakan fasilitas untuk mendeskripsikan laporan.
Laporan tersebut meliputi:
* JUMLAH
* TOTAL
* RATA-RATA
* Nilai MAXIMUM dan MINIMUM
6. Security.
Diarsipkan di bawah: Eksplorasi DBMS
DBMS dikarakteristikan melalui model data yaitu perwakilan abstrak dari isi suatu database. Model data relasional mewakili semua yang disimpan di database. Tabel-tabel ini dinamakan hubungan. Tabel-tabel dalam database relasional memiliki 3 atribut:
- atribut kunci utama, yaitu sebuah atribut atau kombinasi dari beberapa atribut, yang secara unik mengidentifikasi baris tertentu dalam sebuah tabel.
- atribut kunci luar, yaitu atribut yang muncul dalam suatu tabel, yang juga merupakan kunci utama dalam tabel lainnya.
- atribut non kunci yang menyimpan informasi penting mengenai entitasnya.
Persyaratan dasar untuk model data relasional :
- setiap kolom dalam sebuah baris harus berlainan nilainya.
- kunci utama tidak boleh bernilai nol.
- kunci luar, juga tidak bernilai nol, harus memiliki nilai yang sesuai.
- seluruh atribut yang bukan merupakan kunci dalam sebuah tabel harus mendeskripsikan objek yang diidentifikasi oleh kunci utama.
Diarsipkan di bawah: Eksplorasi DBMS
Data Base Project Development.
Berikut ini adalah lingkaran kehidupan database project development
yang terdiri dari:
- ANALYSIS
Keluaran dari tahap ini adalah:
-> Konseptual model data : menjelaskan informasi yang digunakan.
-> Konseptual model proses: menjelaskan fungsi organisasi dan proses yang
harus dilakukan. - DESIGN
Tahap ini menghasilkan:
-> Logika model data: deskripsi data yang disimpan di dalam database
-> Spesifikasi sistem: menjelaskan beberapa rincian yang seharusnya dijalankan
oleh sistem - DEVELOPMENT
Pada tahap ini terjadi coding, testing, debugging, dan lain-lain. - IMPLEMENTATION
Tahap ini untuk melaksanakan ketiga tahap yang lalu kepada penggunaan
di kehidupan sehari-hari. - MAINTENANCE
Sistem yang sudah diimplementasikan kadang-kadang memerlukan perbaikan pada
kesalahan desain atau untuk menangani perubahan lainnya.
Diarsipkan di bawah: Eksplorasi DBMS
Skema mendeskripsikan struktur logis database. Skema ini dibagi menjadi tiga tingkatan yaitu:
a. Skema tingkat konseptual yaitu tampilan seluruh database pada tingkat organisasi. Skema ini mendaftar elemen-elemen data dan hubungan antar mereka.
b. Skema tingkat eksternal,skema ini terdiri dari suatu set tampilan individual bagai pemakai dari berb agai bagian dataabase, yang setiap bagiannya merupakan sub skema.
c. Skema tingkat internal, skema ini menyediakan tampilan tingkat rendah dari database.
Kamus data adalah salah satu komponen DBMS. Yang isinya setiap elemen data yang disimpan dalam database. Masukan untuk kamus data mencakup elemen data baru atau yang sudah dihapus , serta perubahan nama deskripsi atau penggunaan elemen data yang ada.Keluaran mencakup berbagai laporan yang berguna bagi programer, perancang database, dan pemakai sistem informasi.Bahasa-bahasa DBMS
- Bahasa definisi data. Bahasa ini digunakan untuk membangun kamus data, mengamati atau menciptakan database, memberikan batasan untuk keamanan field/ catatan pada database.
- Bahasa manipulasi data. Bahasa ini digunakan untuk menyelidiki database. Mengubah isi database.
- Bahasa permintaan data . Bahasa ini digunakan untuk menyelidiki database yang spesifik yaitu mengambil data, menyortir data, menyusun data, dan menyajikan suatu bagian dari database sebagai respons atas permintaan data.
Diarsipkan di bawah: Eksplorasi DBMS
- Menghapus baris
- Membatasi jumlah baris yang ditampilkan
- Mengurutkan data
- Menyaring data
- ukuran < 5000000
- deskripsi like “%pemrograman%”
Contoh ini digunakan untuk menampilkan data yang mempunyai nilai pada kolom ukuran kurang dari 5000000.
Contoh ini digunakan untuk menampilkan data yang mempunyai nilai pada kolom deskripsi mengandung string pemrograman. Tanda % berlaku seperti halnya tanda * pada sebagian besar fitur pencarian string, yakni menerima semua (sub)string yang dibaca.
- ukuran < 5000000
Pilih baris yang akan dihapus. Bisa satu atau lebih baris. Klik ikon ‘Delete selected rows.’ pada toolbar atau pilih ‘Edit’ > ‘Delete’ pada menu bar atau tekan ‘Delete’ pada keyboard.
Pilih nilai yang diinginkan pada limit bar — berbentuk scroll down menu.
Klik ikon ‘Sort/filter options.’ pada toolbar atau pilih ‘View’ > ‘Sort/filter…’ pada menu bar. Muncul dialog ‘View Data Options’ dengan dua tabbed pane, yakni ‘Data Sorting’ dan ‘Filter’. Karena kita hanya akan mengurutkan data, kita tinggalkan sejenak tab ‘Filter’. Sekarang kita dihadapkan pada tab ‘Data Sorting’.
Untuk contoh tabel perangkat_lunak yang telah dibuat pada materi yang lalu, dalam daftar ‘Selected Columns’ sudah terdapat ‘id’.Untuk menggantinya, klik ‘id’, klik ‘Remove’. Pada ‘Available Columns’ pilih ‘nama’ untuk mengurutkan data berdasarkan nama. Klik ‘Ascending’ untuk mengurutkan data secara menaik atau klik ‘Descending’ untuk mengurutkan data secara menurun. Klik ‘OK’.
Lakukan langkah seperti mengurutkan data hingga muncul dialog ‘View Data Options’. Klik tab ‘Filter’. Ada beberapa sintaks untuk melakukan penyaringan data, misalnya:
Diarsipkan di bawah: Eksplorasi DBMS
Kali ini saya bahas pengisian tabel di PostgreSQL melalui contoh juga melanjutkan tabel yang telah dibuat, perangkat_lunak.
Sambungkan ke server. Pilih melalui ‘Object browser’, ‘Databases’ > ‘catbasdat’ > ‘Schemas’ > ‘public’ > ‘Tables (1)’ > ‘perangkat_lunak’. Klik kanan pada ‘perangkat_lunak’, pilih ‘View Data’ > ‘View All Rows’. Muncul window baru, ‘pgAdmin III Edit Data – PostgreSQL Database Server 8.2 (localhost:5432) – catbasdat – perangkat_lunak’. Sekarang kita berhadapan dengan window baru ini untuk mengisi data.
- Mengisi id : 1
- Mengisi nama : Notepad++ v4.1.2
- Mengisi ukuran : 1608127
- Mengisi deskripsi : Source code editor yang mempunyai fitur unggulan text highlight berdasarkan bahasa pemrograman.
Diarsipkan di bawah: Eksplorasi DBMS
Setelah postingan yang lalu membahas pembuatan database, materi sekarang adalah pembuatan tabel.
Untuk membuat tabel, melalui ‘Object browser’ kita pilih database terlebih dulu. Kemudian pilih ‘Schemas’ > ‘Public’ > ‘Tables’. Klik kanan pada ‘Tables’, pilih ‘New Table…’. Seperti pada pembuatan database, di sini kita juga mendapat dialog yang serupa. Pada dialog ‘New Table’ ada lima tabbed pane, yaitu (akan saya bahas yang penting aja melalui sebuah contoh) :
- ‘Properties’
- ‘Columns’
- Menambahkan kolom id.
- Menambahkan kolom nama.
- Menambahkan kolom ukuran.
- Menambahkan kolom deskripsi.
Klik ‘Add’ untuk menambahkan sebuah kolom. Muncul dialog ‘New Column…’ dengan sebuah tabbed pane, ‘Properties’:
Isi ‘Name’ : id
Pilih ‘Data type’ : integer
Beri tanda centang pada ‘Not NULL’.
Klik ‘OK’.Klik ‘Add’ lagi. Muncul dialog ‘New Column…’:
Isi ‘Name’ : nama
Pilih ‘Data type’ : text
Beri tanda centang pada ‘Not NULL’.
Klik ‘OK”.Klik ‘Add’ lagi. Muncul dialog ‘New Column…’:
Isi ‘Name’ : ukuran
Pilih ‘Data type’ : integer
Klik ‘OK’.Klik ‘Add’ lagi. Muncul dialog ‘New Column…’:
Isi ‘Name’ : deskripsi
Pilih ‘Data type’ : text
Klik ‘OK’. - ‘Constraints’
- Privileges’
- ‘SQL’
Isi ‘Name’ : perangkat_lunak
Pilih ‘Owner’ : hafni
Pilih ‘Primary Key’ pada scroll down menu. Klik ‘Add’. Muncul dialog ‘New Primary Key…’:
Biarkan tab ‘Properties’ perawan. Klik tab ‘Columns’. Piliih id pada scroll down menu. Klik ‘Add’. Klik ‘OK’.
Biarkan perawan.
Lihat SQL yang dibangkitkan.
Klik ‘OK’.
Diarsipkan di bawah: Eksplorasi DBMS
query dalam basisdata berfungsi untuk memberikan hak kepada user untuk mengakses database secara interaktif, manganalisa data dan mengupdate sesuai dengan user privilege terhadap
data tersebut. query juga mengontrol kemanan database. keamanan data pada database mencegah user yang tidak terautentikasi untuk melihat atau mengupdate database.contohnya dengan menggunakan password user diperbolehkan mengakses keseluruhan database atau subset darinya. sebagai contoh sebuah database pegawai yang memiliki seluruh data para pekerja, tetapi sebuah grup hanya dapat mengakses data kesehatan pegawai saja atau data keluarga pegawai. Jika DBMS menyediakan cara secara interaktif untuk memasuki dan mengupdate database maka kemampunan ini memungkinkan kita untuk memanage database personal.