Sabtu, 23 Oktober 2010

Robi nur husen.A2.0900912.TI-IIIB

1.DBMS Paradox dengan Delphi 7

Pengertian Database
Database dapat di artikan sebagai kumpulan data. Secara manual database dapat berupa lemari arsip, sedangkan secara komputerisasi database merupakan file archive. Secara umum database berkaitan dengan pengarsipan data secara komputerisasi sehingga memudahkan dalam pengaksesan data pada suatu waktu dengan cepat. Beberapa alasan perlunya dibuat database (khususnya secara komputerisasi) :
a. Efisiensi
b. Security
c. No redundancy
d. Integrated
e. Sharing
f. Transaction
g. Konsistensi

        Dalam pembuatan suatu database diperlukan suatu software yang khusus digunakan untuk pembuatan database. Software tersebut sering disebut sebagai Database Management System (DBMS). Ada berbagai jenis DBMS yang dapat digunakan untuk membuat database, antara lain : Ms. Acces, My-SQL, Postgre SQL, SQL Server, Paradox, Visual Foxpro, DB4O, db2, Oracle dan dbu. Kita dapat memilih salah satu dari berbagai macam DBMS yang ada. Untuk semakin mempermudah pengelolaan database biasanya DBMS di kombinasukan dengan suatu bahasa pemrograman tertentu, misalnya Paradox dengan Delphi, DB4O dengan Java dan lain sebagainya. Untuk kali ini akan dipaparkan mengenai salah satu dari DBMS yang telah disebutkan yaitu Paradox yang akan dikombinasikan dengan bahasa pemrograman visual yaitu Delphi.
Database Desktop Paradox
Database desktop merupakan suatu program “Add-Ins”, yaitu program terpisah yang langsung terdapat pada Borland Delphi. Pada database desktop terdapat beberapa DBMS yang terintegrasi di dalamnya antara lain Paradox 7, Paradox 4, Visual dBase, Foxpro, Ms. SQL, Oracle, Ms. Acces, db2 dan interbase. Dari beberapa DBMS tersebut kita akan memilih salah satu yaitu Paradox yang akan dibahas lebih lanjut, khususnya Paradox 7. Dalam Paradox 7 ini, pada 1 file database hanya mengizinkan 1 tabel, berbeda dengan DBMS lain yang mengizinkan beberapa tabel pada 1 file database seperti pada Ms. Acces.
Struktur field pada Paradox 7 :
1. Field Name
Field Name merupakan nama pengenal kolom pada suatu tabel. Terdapat beberapa aturan dalam penulisan field name antara lain :
• Panjang maksimum 25 karakter
• Tidak boleh diawai dengan spasi tapi boleh mengandung spasi
• Unik, artinya tidak ada nama kolom yang sama
• Tidak boleh menggunakan tanda koma (,), tanda pipe (|), dan tanda seru (!)
• Hindari kata-kata yang merupakan perintah SQL
2. Type
Digunakan untuk menetukan tipe data yang dapat ditampung dalam field. Macam-macam tipe data yang sering dipakai dalam Paradox adalah sebagai berikut :
3. Size
Merupakan ukuran dari panjang data yang diizinkan untuk suatu field.
4. Key
Dapat berupa primary key sebagai key yang membedakan untuk setiap baris kolom. Syarat untuk primary key adalah unik, artinya tidaka boleh ada data yang memiliki primary key yang sama.
Komponen Database
Dalam IDE (Integrated Development Environment), komponen database dapat dikelompokkan menjadi dua page pada component Palette, yaitu :
1. Page Data Access yang berisi non-visual data-access components
2. Page Data Control yang berisi data-aware visual components
3. Page BDE, hampir sama dengan Data Acces yang berisi komponen untuk mengakses data
Komponen Page Data Acces :
Komponen Page Data Control :
Komponen Page BDE :




 

2. MySQL


adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia
http://www.mysql.com


Fitur-fitur MySQL
  • Termasuk RDBMS
  • Client-Server
  • Mengenal SQL Standar
  • SubSELECT
  • Views dan Trigers
  • Function dan Stored Procedure.
  • Replication
  • Free, Aman, dan Stabil
  • Dukungan dari komunitas




 Keterbatasan MySQL


 3.10.1 Keys, Tombol Primer, dan Indeks
 Sebagaimana dibahas sebelumnya dalam pendahuluan kami untuk SQL, setiap tabel harus memiliki definisi PRIMARY KEY sebagai bagian dari pernyataan CREATE TABLE. Kunci utama adalah atribut-atribut atau set-yang secara unik mengidentifikasi baris dalam sebuah tabel. Menyimpan dua baris dengan primary key yang sama tidak diperkenankan dan, memang, sebuah usaha untuk INSERT duplikat kunci primer menghasilkan kesalahan.


 Dalam MySQL, nilai atribut dari primary key disimpan dalam indeks memungkinkan akses cepat ke baris. Jenis indeks default MySQL adalah cepat untuk query yang menemukan baris tertentu, berbagai baris, untuk bergabung antara tabel, pengelompokan data, data pemesanan, dan nilai-nilai minimum dan maksimum menemukan. Indeks tidak memberikan peningkatan kecepatan untuk mengambil semua baris dalam tabel atau untuk jenis permintaan lainnya.


 Indeks juga berguna untuk akses cepat ke baris dengan nilai-nilai lain daripada yang berkaitan dengan atribut dalam kunci primer. Sebagai contoh, dalam tabel pelanggan, Anda mungkin mendefinisikan indeks dengan menambahkan klausa:


 KUNCI namecity (nama, Nama depan, kota)
 untuk pernyataan CREATE TABLE. Setelah Anda menetapkan indeks ini, beberapa permintaan yang pilih pelanggan tertentu melalui klausa WHERE yang bisa menggunakannya. Pertimbangkan contoh:


 SELECT * FROM pelanggan
 WHERE nama = "Marzalla 'DAN
 Nama depan = 'Dimitria' DAN
 kota = 'St Albans';
 Query ini dapat menggunakan indeks baru untuk mencari-in di baris paling disk mengakses beberapa-yang cocok dengan kriteria pencarian. Tanpa indeks, DBMS harus scan semua baris pada tabel pelanggan dan membandingkan setiap baris pada klausa WHERE. Ini mungkin agak lambat dan tentu saja membutuhkan akses disk lebih signifikan dibandingkan dengan pendekatan berbasis indeks (dengan asumsi tabel memiliki lebih dari beberapa baris).


 Sebuah fitur khusus dari DBMSs adalah bahwa mereka mengembangkan strategi evaluasi query dan mengoptimalkannya tanpa interaksi dari pengguna atau pemrogram. Jika indeks tersedia, dan masuk akal untuk menggunakannya dalam konteks pertanyaan diajukan, DBMS melakukan ini secara otomatis. Yang perlu Anda lakukan adalah mengidentifikasi permintaan yang umum, dan membuat indeks yang tersedia untuk pencarian yang umum dengan menambahkan klausa KUNCI pernyataan CREATE TABLE ALTER TABLE atau menggunakan di atas meja yang ada.


 Indeks desain Hati-hati adalah penting. Indeks namecity kita telah mendefinisikan juga dapat mempercepat pertanyaan lain daripada yang menyertakan nama lengkap, Nama depan, dan kota. Sebagai contoh, mempertimbangkan permintaan:


 SELECT * FROM pelanggan
 WHERE nama = 'Latrobe' DAN
 Nama depan = 'Anthony';
 Query ini juga dapat menggunakan namecity indeks, karena indeks izin akses ke baris dalam urutan pertama NamaDepan diurutkan abjad, kemudian, dan kemudian kota. Dengan pemilahan ini, semua "Latrobe, Anthony" entri indeks ini terkelompok bersama di indeks. Memang, indeks ini juga dapat digunakan untuk query:


 SELECT * FROM pelanggan
 WHERE nama LIKE '% Mar';
 Sekali lagi, semua nama keluarga diawali dengan "Mar" ini terkelompok bersama di indeks. Namun, indeks tidak dapat digunakan untuk permintaan seperti:


 SELECT * FROM pelanggan
 WHERE Nama depan = 'Dimitria' DAN
 kota = 'St Albans';
 Indeks tersebut tidak dapat digunakan karena atribut paling kiri disebut dalam indeks, nama keluarga, bukan bagian dari klausa WHERE. Dalam hal ini, seluruh baris pada tabel pelanggan harus dipindai dan query jauh lebih lambat (lagi asumsi ada lebih dari beberapa baris pada tabel pelanggan, dan dengan asumsi tidak ada indeks lain).


 Hati-hati dari pilihan urutan atribut dalam klausa KUNCI penting. Untuk indeks untuk digunakan dalam query, atribut paling kiri harus muncul dalam klausa WHERE.Ada kasus lain di mana indeks tidak dapat digunakan, seperti jika permintaan berisi OR yang tidak pada atribut diindeks:


 SELECT * FROM pelanggan
 WHERE nama = 'Marzalla' ATAU
 email = 'dimitria@lucaston.com';
 Sekali lagi, tabel pelanggan harus benar-benar scan, karena kondisi kedua, email dimitria@lucaston.com = '', mengharuskan semua baris yang akan diambil karena tidak ada indeks yang tersedia di email atribut. Juga, kasus di mana atribut ORed bukanlah atribut paling kiri di indeks membutuhkan scan lengkap dari tabel pelanggan. Contoh berikut memerlukan scan lengkap:


 SELECT * FROM pelanggan
 WHERE Nama depan = 'Dimitria' ATAU
 nama = 'Marzalla';
 Jika semua atribut dalam indeks yang digunakan dalam semua query, untuk mengoptimalkan ukuran indeks, atribut paling kiri dalam klausul harus KUNCI atribut dengan jumlah tertinggi entri ganda.


 Karena indeks mempercepat query, mengapa tidak membuat indeks pada semua atribut Anda mungkin dapat mencari pada? Jawabannya adalah bahwa sementara indeks akan cepat untuk mencari, mereka mengkonsumsi ruang dan memerlukan update setiap baris waktu ditambahkan atau dihapus, atau atribut kunci berubah. Jadi, jika sebagian besar database statis, indeks tambahan memiliki overhead yang rendah, tetapi jika perubahan database sering, setiap indeks tambahan memperlambat proses update secara signifikan. Dalam kedua kasus, indeks mengkonsumsi ruang tambahan, dan indeks yang tidak perlu harus dihindari.


 Salah satu cara untuk mengurangi ukuran indeks dan update kecepatan untuk membuat indeks pada awalan sebuah atribut. indeks namecity kami menggunakan ruang yang cukup besar: untuk tiap baris dalam tabel pelanggan, sebuah entri indeks sampai 120 karakter karena diciptakan dari nilai gabungan dari nama, Nama depan, dan atribut kota. [2] Untuk mengurangi ruang, Anda dapat menentukan indeks sebagai:


 [2] Ini bukan ruang benar-benar dibutuhkan oleh sebuah entri indeks, karena dikompresi data untuk penyimpanan. Namun, bahkan dengan kompresi, sedikit karakter diindeks, lebih kompak representasi, ruang lebih disimpan, dan tergantung pada kegunaan dari indeks-semakin cepat mencari dan pembaruan.


 KUNCI namecity (nama keluarga (10), Nama depan (3), kota (2));
 Ini hanya menggunakan 10 karakter pertama dari nama keluarga, 3 Nama depan, dan karakter 2 pertama kota untuk membedakan entri indeks. Hal ini cukup beralasan, karena 10 karakter dari nama belakang yang paling membedakan antara nama keluarga, dan penambahan dari beberapa karakter dari nama pertama dan awalan kota mereka harus cukup untuk secara unik mengidentifikasi hampir semua pelanggan. Memiliki indeks yang lebih kecil dengan sedikit informasi juga dapat berarti bahwa pertanyaan yang sebenarnya lebih cepat, karena informasi indeks lebih lanjut dapat diambil dari disk per detik, dan kecepatan pengambilan disk hampir selalu bottleneck dalam kinerja query.


 Penghematan ruang adalah signifikan dengan indeks berkurang. Sebuah entri indeks baru hanya membutuhkan 15 karakter, penghematan hingga 105 karakter, jadi indeks insert, penghapusan, dan modifikasi sekarang cenderung lebih cepat. Perhatikan bahwa untuk TEKS dan blob jenis atribut, prefiks harus diambil saat pengindeksan, karena pengindeksan seluruh atribut tidak praktis dan tidak diizinkan oleh DBMS MySQL.


 3.10.2 Tuning Sistem Database
 Hati-hati indeks desain adalah salah satu teknik yang meningkatkan kecepatan DBMS dan dapat mengurangi kebutuhan akan sumber daya dari database. Namun, tuning database yang komprehensif adalah sebuah topik yang rumit yang mengisi banyak buku. Kami termasuk dalam bagian ini hanya sedikit tambahan ide-ide praktis untuk mulai meningkatkan kinerja sistem database.


 Seperti telah dibahas sebelumnya, mengakses hard disk lambat dan biasanya merupakan hambatan dalam kinerja DBMS. Lebih khusus lagi, mencari-bergerak disk disk kepala untuk mendapatkan informasi dari lokasi lain-disk adalah komponen lambat dari akses disk. Oleh karena itu, teknik yang paling diuraikan dalam bagian ini juga teknik yang dapat meningkatkan performa dengan meminimalkan kebutuhan ruang disk. [3]


 [3] Mengurangi persyaratan ruang disk disk meningkatkan baik mencari dan membaca kinerja. Disk membaca kinerja ditingkatkan karena diperlukan sedikit data yang ditransfer, sementara mencari kinerja ditingkatkan karena disk kepala harus bergerak kurang pada rata-rata ketika secara acak mengakses file yang lebih kecil daripada ketika mengakses file yang lebih besar.


 Berikut adalah beberapa cara untuk meningkatkan kinerja DBMS:


 Hati-hati memilih jenis atribut dan panjang. Bila memungkinkan, gunakan varian kecil seperti SMALLINT atau MEDIUMINT bukan pilihan reguler INT. Bila menggunakan fixed-panjang atribut, seperti CHAR, tentukan panjang yang sesingkat praktis.


 Gunakan atribut panjang tetap, yaitu berusaha menghindari jenis seperti VARCHAR atau blob. Sementara tetap-panjang atribut teks mungkin sampah ruang, scanning baris tetap-panjang dalam query jauh lebih cepat daripada variabel-scanning baris panjang.


 Desain indeks dengan benar. Seperti dijelaskan dalam bagian terakhir, tetap primary key indeks sekecil mungkin, membuat indeks hanya yang dibutuhkan, dan prefiks penggunaan atribut di mana mungkin. Pastikan bahwa atribut paling kiri dalam indeks adalah yang paling sering digunakan dalam permintaan dan, jika semua atribut yang dipakai, pastikan atribut paling kiri adalah salah satu dengan jumlah tertinggi entri ganda.


 Buat tabel statistik jika fungsi agregat seperti COUNT () atau SUM () yang sering digunakan dalam permintaan pada tabel besar. Sebuah toko tabel statistik hanya satu baris yang diperbarui secara manual dengan nilai-nilai agregat dari meja lain. Sebagai contoh, jika tabel statistik mempertahankan jumlah baris dalam tabel nasabah yang besar, setiap kali berturut-turut dimasukkan atau dihapus pada tabel pelanggan, menghitung diperbarui pada tabel statistik. Untuk meja yang besar, hal ini seringkali lebih cepat daripada fungsi menghitung agregat dengan lambat built-in fungsi yang memerlukan pengolahan lengkap dari semua baris.


 Jika sejumlah besar baris dihapus dari meja, atau tabel yang berisi variabel-atribut panjang sering diubah, ruang disk mungkin sia-sia. MySQL menghapus biasanya tidak dihapus atau diubah data, hanya menandai lokasi sebagai tidak lagi digunakan. ruang Terbuang dapat mempengaruhi kecepatan akses.


 Untuk mengatur sebuah meja-dengan menyalin data ke lokasi sementara dan kembali lagi-MySQL menyediakan perintah TABLE MENGOPTIMASI, yang harus digunakan secara berkala. Sebagai contoh:


 MENGOPTIMASI TABLE pelanggan;
 Perintah MENGOPTIMASI harus dijalankan ketika DBMS sedang offline untuk pemeliharaan terjadwal. Perintah SQL standar.


 Hal ini dimungkinkan untuk membuat jenis tabel yang berbeda untuk tugas-tugas tertentu. Default di MySQL adalah jenis MyISAM, dan semua tabel yang dijelaskan sejauh ini jenis tabel. Untuk kecil, sementara, sering digunakan tabel lookup, tipe yang berbeda, tipe tabel menumpuk, dapat digunakan. Ada jenis lain, dan kita secara singkat membahas alternatif dalam Bab 6. keterangan lebih lanjut diberikan dalam Bagian 9,4 dari manual pengguna MySQL.


 Bagian 10,7 dari manual MySQL termasuk ide bagus lain untuk perbaikan kinerja sederhana.


 Aspek lain dari tuning database adalah mengoptimalkan kinerja dari DBMS itu sendiri. Termasuk dalam instalasi MySQL adalah alat mysqladmin untuk administrasi database. Rincian konfigurasi sistem dapat ditemukan dengan menjalankan perintah berikut dari shell Linux:


 % Mysqladmin-ppassword variabel
 Hal ini menunjukkan, di bagian, sistem yang dipilih parameter berikut:


 join_buffer nilai sekarang: 131072
 key_buffer nilai sekarang: 8388600
 net_buffer_length nilai sekarang: 16384
 record_buffer nilai sekarang: 131072
 sort_buffer nilai sekarang: 2097144
 table_cache nilai sekarang: 64
 Parameter yang penting adalah mereka yang menggunakan disk dampak. MySQL memiliki beberapa parameter buffer memori utama yang mengontrol berapa banyak data yang disimpan dalam memori untuk diproses. Ini termasuk:


 The record_buffer untuk pemindaian semua baris dalam tabel


 The sort_buffer untuk ORDER BY dan GROUP BY operasi


 The key_buffer untuk indeks menyimpan di memori utama


 The join_buffer untuk bergabung dengan yang tidak menggunakan indeks


 Secara umum, buffer yang lebih besar ini, semakin banyak data dari disk-cache atau disimpan di memori dan akses disk lebih sedikit diperlukan. Namun, jika jumlah parameter yang dekat melebihi ukuran memori yang terpasang di server, sistem operasi yang mendasari akan mulai untuk menukar data antara disk dan memori, dan DBMS akan lambat. Dalam hal apapun, hati-hati berdasarkan eksperimentasi aplikasi akan meningkatkan kinerja DBMS.


 Bagian 10.2.3 dari manual MySQL menyarankan pengaturan parameter saat menjalankan server MySQL. Pertama, untuk mesin dengan paling tidak 64 MB memori, meja besar di DBMS, dan sejumlah pengguna moderat, gunakan:


 safe_mysqld-O key_buffer = 16M table_cache-O = 128 \
 -O sort_buffer = 4M record_buffer-O = 1M &
 Kedua, jika ada kurang dari 64 MB memori yang tersedia, dan ada banyak pengguna, cobalah hal berikut:


 key_buffer safe_mysqld-O = 512K sort_buffer-O = 100k \
 -O record_buffer = 100k &
 Pengaturan berikut ini mungkin cocok untuk winestore, karena banyak pengguna yang diharapkan, permintaan sebagian besar berbasis indeks, dan database kecil:


 key_buffer safe_mysqld-O = 512K sort_buffer-O = 16K \
 -O table_cache = 32 record_buffer-O = 8k
 -O net_buffer = 1K &
 Bahkan pengaturan yang lebih konservatif juga mungkin dapat diterima.


 Ada dua parameter lain kita tidak dibahas. Parameter table_cache mengelola jumlah maksimum tabel terbuka per pengguna koneksi, sedangkan parameter net_buffer menentukan ukuran minimum buffer permintaan jaringan di mana permintaan masuk disimpan sebelum mereka dieksekusi.


 Utilitas mysqladmin dapat melaporkan status dari DBMS:


 % Mysqladmin-ppassword status
 output ini memiliki format berikut:


 Uptime: 5721024 Threads: 14 Pertanyaan: 7.874.982
 Lambat pertanyaan: 6 Membuka: 115136 tabel Flush: 1
 Buka tabel: 62
 Hal ini memberikan ringkasan point-dalam-waktu singkat DBMS status dan dapat membantu menemukan lebih lanjut tentang jumlah koneksi user, query, dan gunakan tabel. output yang sama dapat dihasilkan dengan menjalankan perintah SHOW STATUS dan SHOW VARIABEL melalui penerjemah perintah MySQL.


 Informasi kinerja tentang query bisa diperoleh dengan patokan () fungsi, yang dapat digunakan secara iteratif untuk tuning ketika mengubah tabel atau parameter desain sistem DBMS. Pernyataan berikut ini mengilustrasikan pembandingan:


 SELECT benchmark (10000, COUNT (*))
 DARI item;
 pernyataan ini laporan waktu yang diambil untuk mengevaluasi 10.000 panggilan ke COUNT () pada tabel item.


 3.10.3 Menambah dan Menghapus Pengguna
 Kami belum dibahas menambahkan dan menghapus pengguna dari DBMS MySQL. pemikiran kita dalam meninggalkan topik ini sampai bagian akhir ini adalah bahwa DBMS pengguna tidak sebagai penting dalam aplikasi basis web seperti dalam aplikasi lain. Karena akses ke database dan DBMS umumnya dikendalikan dalam logika aplikasi, tingkat menengah biasanya hanya satu atau dua DBMS pengguna diperlukan.


 Seorang pengguna, hugh, yang memiliki kontrol penuh atas semua aspek dari DBMS dan dapat mengakses DBMS dari mesin yang host DBMS, dapat dibuat dengan pernyataan:


 GRANT ALL PRIVILEGES ON *.* TO hugh @ localhost
 Diidentifikasi dengan 'password' DENGAN GRANT OPTION;
 Mengizinkan akses melalui jaringan dapat ditambahkan dengan:


 GRANT ALL PRIVILEGES ON *.* TO hugh @ "%"
 Diidentifikasi dengan 'password' DENGAN GRANT OPTION;
 Tidak perlu untuk memungkinkan akses jaringan untuk suatu aplikasi web database jika komponen tengah-tier-web server dan scripting engine-diinstal pada mesin yang sama dengan DBMS.


 Pengguna ini kemudian dapat terhubung ke database dari shell dengan perintah:


 % Mysql-ppassword-uhugh
 Informasi pengguna yang disimpan dalam database mysql di tabel user, yang dapat dieksplorasi dengan:


 USE mysql;
 SELECT * FROM user;
 Database mysql tabel user dan dapat dikelola dengan cara yang sama dengan database lainnya. Sebagai contoh, Anda dapat memperbarui sandi pengguna baru dengan pernyataan UPDATE:


 UPDATE pengguna
 SET password = password ('newpwd')
 WHERE user = 'hugh';
 Perhatikan penggunaan password () fungsi kita dijelaskan sebelumnya untuk mengenkripsi password untuk penyimpanan dalam tabel user.


 3.10.3.1 Perizinan
 Pengguna dapat ditambahkan ke sistem dengan tabel INSERT INTO user di database mysql atau, seperti yang digambarkan sebelumnya, Anda dapat menggunakan laporan GRANT. Selain itu, hak istimewa dapat disesuaikan dengan UPDATE, ditambah dengan GRANT, atau dihapus dengan REVOKE.


 Perhatikan contoh berikut:


 GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP
 ON winestore .*
 ATAS dave @ localhost
 Diidentifikasi dengan 'password';
 Dave ini menambahkan pengguna baru dan memungkinkan dia untuk hanya menggunakan pernyataan SQL yang terdaftar dalam database winestore. The parameter winestore .* berarti seluruh tabel dalam database winestore.


 Keistimewaan dapat dihilangkan dengan pernyataan REVOKE. Sebagai contoh:


 REVOKE DROP, CREATE ON winestore .* DARI dave @ localhost;
 Jika hak istimewa atau hak istimewa harus dicabut untuk semua database dalam DBMS, bukan hanya satu database, winestore .* dapat digantikan dengan *.*.


 Hak istimewa berikut ini dapat digunakan dalam GRANT dan laporan REVOKE:


 SEMUA PRIVILEGES, FILE, Reload, ALTER, INDEX, SELECT,
 CREATE, INSERT, shutdown, DELETE, PROSES, UPDATE,
 DROP, DAFTAR PUSTAKA, PENGGUNAAN
 3.10.4 Keterbatasan MySQL
 Keterbatasan paling penting dari MySQL adalah bahwa hal itu tidak mendukung nested query. Namun, dukungan direncanakan di MySQL Versi 4. Digabung query adalah mereka yang berisi permintaan lain. Pertimbangkan contoh nested query untuk menemukan anggur yang memiliki stok persediaan:


 PILIH DARI berbeda anggur wine_id
 WHERE IN wine_id
 (Wine_id SELECT dari persediaan);
 Permintaan mengembalikan nilai wine_id dari meja anggur yang ditemukan pada tabel persediaan. Digabung query menggunakan DI, TIDAK DI, ada, dan NOT operator ada.


 Dalam banyak kasus, permintaan nested dapat ditulis sebagai permintaan bergabung. Sebagai contoh, untuk menemukan anggur yang ada di saham, Anda dapat menggunakan query berikut bergabung:


 SELECT berbeda anggur DARI wine.wine_id, persediaan
 WHERE wine.wine_id = inventory.wine_id;
 Namun, beberapa permintaan bersarang tidak dapat ditulis ulang sebagai pertanyaan bergabung; untuk pertanyaan sulit, tabel sementara sering merupakan solusi yang bermanfaat.


 Sebuah keterbatasan DELETE dan UPDATE adalah bahwa hanya satu meja bisa ditetapkan dalam klausa FROM. Masalah ini khusus untuk MySQL dan terkait dengan kurangnya dukungan untuk query bersarang. Keterbatasan ini dapat membuat modifikasi data sulit. Misalnya, mencegah data yang dihapus atau diperbarui menggunakan properti dari meja lain. Solusi melibatkan data yang disalin ke tabel sementara menggunakan gabungan INSERT dan SELECT yang bergabung bersama data dari lebih dari satu tabel. Kemudian, data dapat dihapus atau diperbarui dalam tabel sementara dan kemudian ditransfer kembali ke meja asli. Pendekatan lain, dengan menggunakan penggabungan strings () fungsi string, dibahas dalam Bab 1.4.4.1 di manual MySQL.


 Untuk menghindari UPDATE dan DELETE masalah, pertimbangkan untuk menambahkan atribut tambahan untuk tabel pada saat desain. Misalnya, dalam winestore kita menambahkan atribut item DATE ke meja sehingga kereta belanja barang dapat dihilangkan dengan mudah jika mereka tidak dibeli dalam satu hari. Menghapus baris dari tabel item berdasarkan DATE pada tabel perintah sulit tanpa dukungan untuk permintaan bersarang.


 MySQL tidak mendukung disimpan prosedur atau pemicu. prosedur Tersimpan adalah query yang dikompilasi dan disimpan dalam DBMS. Mereka kemudian dipanggil oleh logika aplikasi tengah-tier, dengan manfaat yang diuraikan query hanya sekali dan ada overhead kurang komunikasi antara tengah dan tingkatan database. Pemicu mirip dengan prosedur yang tersimpan, tetapi dipanggil oleh DBMS ketika suatu kondisi terpenuhi. Disimpan-prosedur dukungan direncanakan untuk MySQL, tetapi dukungan memicu tidak.


 Tampilan tidak didukung di MySQL. Tampilan read-only akses untuk mengkonsolidasikan beberapa tabel berdasarkan kondisi bergabung. Misalnya, tampilan mungkin memudahkan user untuk menelusuri penjualan yang dilakukan sampai April tanpa perlu membuat tabel sementara, seperti yang kita lakukan pada contoh dalam Bagian 3.8. Lihat dukungan direncanakan untuk masa depan.


 Keterbatasan yang kita tidak membahas di sini termasuk kurangnya dukungan untuk kunci asing dan kursor. detail lebih lanjut mengenai keterbatasan MySQL dapat ditemukan dalam Bagian 1.4 dari manual didistribusikan dengan MySQL.

  1. Perintah-Perintah dasar MySQL

Dasar mysql
Overview MySQL


MySQL merupakan Database Server yang bersifat :
• Open Source
• Multiplatform
• Berbasis database relasional
Bisa dipakai untuk database pribadi atau pada level korporat berskala kecil hingga besar
Selain bersifat free, ada juga yang bersifat komersial


Overview MySQL
Menggunakan SQL untuk mendukung pengaksesan data (query)


Dasar SQL
SQL = Structured Query Language
Digunakan untuk mengakses basis data relasional
Bersifat standar; bisa dipakai untuk basis data relasional lainnya
Perintah SQL dapat dibagi menjadi DDL dan DML


Perintah DDL
DDL = Definition Data Language
Digunakan untuk kepentingan penciptaan database, tabel, hingga penghapusan database atau tabel
Contoh:
• CREATE DATABASE
• CREATE TABLE
• DROP TABLE
• ALTER TABLE
Perintah DML
DML = Data Manipulation Language
Digunakan untuk memanipulasi data
Contoh:
• SELECT – mengambil data
• DELETE – menghapus data
• INSERT – menyisipkan data
• UPDATE – mengubah data
Persiapan Pemakaian MySQL
Lakukan instalasi MySQL terlebih dulu
MySQL memiliki sejumlah tool; salah satu di antaranya adalah:
• program mysql, yang dipakai untuk mengakses database dari sisi klien
• Program mysqladmin, untuk mengelola MySQL dari sisi administrator sistem


Masuk ke Direktori Program
Masuk ke prompt DOS
Ketik perintah:
cd c:\”Program Files”\MysQL\”MySQL Server 5.0”
Berikan perintah cd bin
Masuk ke prompt DOS
Berikan perintah:
mysql –uroot –p
Ketikkan password dan tekan Enter


C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -prahasia
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 5.0.15-nt


Type 'help;' or '\h' for help. Type '\c' to clear the buffer.


mysql>


Pembuatan Database dan Tabel
Tabel: Pekerjaan
Field:
- NIP
- Tgl_Masuk
- Kode_Bag
- Gaji


Tabel: Pribadi
Field:
- NIP
- Nama
- Tgl_Lahir
- Sex
- Alamat
- Kota
Tabel: Bagian
Field:
- Kode_Bag
- Nama_Bag




Membuat Tabel Pribadi
Berikan perintah:
CREATE TABLE Pribadi (
Nip CHAR(5) NOT NULL PRIMARY KEY,
Nama VARCHAR(35) NOT NULL,
Tgl_lahir DATE,
Sex ENUM('P','W'),
Alamat VARCHAR(35),
Kota VARCHAR(15));


Melihat Struktur Tabel
Gunakan perintah:
DESC nama_tabel
Contoh:
DESC Pribadi;
+-----------+---------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------+------+-----+---------+-------+
| Nip | char(5) | NO | PRI | | |
| Nama | varchar(35) | NO | | | |
| Tgl_lahir | date | YES | | NULL |
| Sex | enum('P','W') | YES | | NULL |
| Alamat | varchar(35) | YES | | NULL |
| kota | varchar(20) | YES | | NULL |
+-----------+---------------+------+-----+---------+-------+
6 rows in set (0.16 sec)




Mengganti Nama Field
Perintah yang digunakan adalah ALTER TABLE
Contoh:
ALTER TABLE Pribadi
CHANGE sex kelamin ENUM('P','W');


Cek struktur tabel setelah Anda melakukan perintah di atas


Mengganti Ukuran/Tipe Field
Perintah yang digunakan adalah ALTER TABLE
Contoh:
ALTER TABLE Pribadi
CHANGE kota kota VARCHAR(20);


Cek struktur tabel setelah Anda melakukan perintah di atas


Menambahkan DEFAULT
DEFAULT pada struktur tabel digunakan untuk memberikan nilai bawaan pada suatu field kalau nilai bersangkutan tidak dimasukkan
Contoh:
ALTER TABLE Pribadi CHANGE kelamin kelamin ENUM('P','W') DEFAULT 'P';


Menambahkan DEFAULT
(Lanjutan…)
Sekarang cobalah berikan perintah:
INSERT INTO Pribadi(Nip, Nama)
VALUES (‘12370’, ‘Fahmi Idris’);


PERHATIKAN, apa isi field Kelamin untuk NIP 12370’?




Pengubahan Data
Perintah yang digunakan adalah UPDATE
Bentuk dasar:


UPDATE nama_tabel SET nama_field = nilai, nama_field = nilai, … WHERE nama_field = nilai


Contoh mengubah Udin menjadi Udinsah:


UPDATE Pribadi SET Nama= 'Udinsah'
WHERE NIP = '12346';


Ujilah dengan SELECT untuk melihat hasil perubahan




Penghapusan Data
Perintah DELETE
Bentuk dasar:
DELETE FROM nama_tabel WHERE nama_field = nilai


Contoh:
DELETE FROM Pribadi
WHERE Nip = '12355';


Ujilah dengan SELECT untuk melihat efek perintah di atas


Penghapusan Tabel
Gunakan DROP TABLE
Untuk mempraktekkan, buatlah sebuah table bernama RIWAYAT, dengan isi berupa sebuah field (misalnya Nip bertipe CHAR(5))
Kemudian, lihatlah daftar tabel dengan memberikan perintah:
SHOW TABLES;

Selasa, 19 Oktober 2010

hiburan (horoscop)

Horoscop jangan terlalu percaya...takutnya mendatangkan kemusyrikan...
tapi buat iseng,hiburan mh gak papa lahh.....saya VIRGO...cari akhh...


Bintang Aries
    kelahiran : 21 Maret - 20 April
    Pengaruh : Planet Mars
    Lambang : Biri-biri Jantan
    Perilakunya : Berwatak kuat kepribadiannya serta pikirannya cerdas. Bisa menjadi sahabat yang baik dan setia. Untuk mencapai tujuan yang luhur dan maksud yang mulia itu, harus berusaha dengan dengan sungguh-sungguh dan rajin.
    Pasangannya : Zodiak Leo dan Sagitarius
    Permatanya : Kecubung asihan, Intan, Berlian
Bintang Taurus
    Kelahiran : 21 April - 20 Mei
    Pengaruh : Planet Venus
    Lambang : Lembu Jantan
    Perilakunya : Berwatak agak keras kepala. Jalan pikirannya sering bercabang, tetapi pandai bergaul serta bersikap jujur terhadap sahabatnya. Agar sukses dalam kehidupan, harus berpendirian tetap dan berpandangan luas.
    Pasangannya : Zodiak Virgo dan Capricorn
    Permatanya : Jamrud, Blusapir
Bintang Gemini
    Kelahiran : 21 Mei - 20 Juni
    Pengaruh : Planet Merkurius
    Lambang : Orang Kembar
    Perilakunya : Berwatak gemar sekali dengan keindahan, namun tujuan hidupnya kadang-kadang tidak tetap. Oleh sebab itu anda harus memantapkan tujuan serta maksud hidup anda dengan membiasakan berlaku sabar tanpa rasa bosan.
    Pasangannya : Zodiak Libra, Aquarius, Sagitarius
    Permatanya : Biru laut, Jamrud
Bintang Cancer
    Kelahiran : 21 Juni - 20 Juli
    Pengaruh : Bulan
    Lambang : Kepiting
    Perilakunya : Berwatak teguh mantap dalam pendirian maupun sikapnya. Suka berlaku hati-hati. Agar lebih maju anda harus memperluas wawasan pergaulan dalam masyarakat. Anda sangat peka, tidak mudah melakukan segala peristiwa.
    Pasangannya : Zodiak Scorpio, Pisces
    Permatanya : Jamrud hitam dan sejenisnya
Bintang Leo
    Kelahiran : 21 Juli - 21 Agustus
    Pengaruh : Matahari
    Lambang : Singa
    Perilakunya : Berwatak lebih bersifat emosional dibandingkan menggunakan pikiran sehingga seringkali terlibat problem percintaan. Anda harus berpikir lebih dahulu sebelum bertindak agar kehidupan bertambah cemerlang.
    Pasangannya : Zodiak Aries, Sagitarius, Aquarius
    Permatanya : Berlian, Mirah
Bintang Virgo   
    Kelahiran : 22 Agustus - 22 September
    Pengaruh : Planet Merkurius
    Lambang : Anak Gadis
    Perilakunya : Berwatak agak kurang merasa kasihan. Pembawaannya cerewet tetapi senang dengan hal-hal yang bersifat penyelidikan. Harus lebih banyak mengasihi agar dalam pergaulan merasa gembira.
    Pasangannya : Zodiak Libra, Scorpio, Capricorn
    Permatanya : Kecubung asihan, Intan, Berlian
Bintang Libra
    Kelahiran : 23 September - 23 Oktober
    Pengaruh : Planet Venus
    Lambang : Neraca
    Perilakunya : Berwatak mudah bergaul, ramah dan cinta perdamaian. Namun sangat gemar berfoya-foya. Anda harus memilih pekerjaan yang cocok dengan hobi anda sehingga kehidupan anda benar-benar bermanfaat lahir dan batin.
    Pasangannya : Zodiak Aries, Aquarius, Gemini
   Permatanya : Berlian, Mirah, Opal berwarna kuning
Bintang Scorpio
    Kelahiran : 24 Oktober - 22 November
    Pengaruh : Planet Mars dan Pluto
   Lambang : Kalajengking
    Perilakunya : Berwatak memiliki kepribadian yang berpengaruh. Dalam kehidupan bisa memiliki tingkat yang paling tinggi, namun sebaliknya bisa pula jatuh ke tempat yang paling rendah. Gemar urusan sosial, ulet, dan rajin.
    Pasangannya : Zodiak Pisces, Cancer, Virgo
   Permatanya : Cempaka, Kalimaya, Opal
Bintang Sagitarius
    Kelahiran : 23 November - 20 Desember
    Pengaruh : Planet Yupiter
    Lambang : Orang Berkuda Sedang Memanah
    Perilakunya : Berwatak keras dalam pendiriannya. Tidak mudah putus asa. Dalam hidupnya tidak mengenal istilah gagal, sekali gagal akan coba lagi. Anda memiliki bakat dalam ilmu kebatinan.
    Pasangannya : Zodiak Aries, Leo, Libra
    Permatanya : Nilam, Intan, Pirus, Cempaka
Bintang Capricorn
    Kelahiran : 21 Desember - 19 Januari
    Pengaruh : Planet Saturnus
    Lambang : Kambing Pegunungan
    Perilakunya : Berwatak suka dengan kebesaran, kekuasaan, dan memerintah. Anda seorang genius, pandai, berpandangan luas. Harus ulet dalam melaksanakan tujuan untuk mencapai cita-cita yang tinggi dan mulia itu.
    Pasangannya : Zodiak Taurus, Virgo
    Permatanya : Pirus warna biru
Bintang Aquarius
   Kelahiran : 20 Januari - 18 Februari
   Pengaruh : Planet Uranus
   Lambang : Orang Mencurahkan Air
    Perilakunya : Berwatak jujur, kata-katanya bisa dipercaya. Patut dijadikan sahabat tauladan. Untuk mencapai cita-cita yang luhur itu harus berlaku rajin, justru karena sifat anda yang ramah dan ringan tangan.
    Pasangannya : Zodiak Gemini, Libra
   Permatanya : Blusapir, Kecubung asihan
Bintang Pisces
    Kelahiran : 19 Februari - 20 Maret
    Pengaruh : Planet Yupiter dan Neptunus
    Lambang : Dua Ekor Ikan Berenang Berlawanan Arah
   Perilakunya : Berwatak ramah dan tidak egoistis, namun kadang-kadang hati nuraninya sendiri timbul pertentangan untuk mengejar kemajuan pesat anda harus cepat mengambil keputusan yang seimbang.
   Pasangannya : Zodiak Cancer, Scorpio
   Permatanya : Mirah kuning, Mirah hati, Blusapir

Senin, 18 Oktober 2010

info

  Berita hangat,,,oo my idolll.... Benarkah,   
Aktor dan penyanyi Korea, Rain sedang diguncang isu tak sedap. Rain dikabarkan sedang terlibat masalah hukum. Ia dituding terlibat utang dan uang itu digunakan untuk berjudi. Benarkah?

Ribut-ribut soal kasus ini ramai ketika seorang bernama Andrew Kim menuntut
Rain . Menurut Kim, RainRain meminjam uang itu untuk bermain judi bakarat di Hotel Bellagio, Las Vegas. Tetapi, Kim mengaku sampai saat ini, Rain belum juga membayar utang tersebut. "Tiga tahun sudah berlalu dan dia belum membayar saya," kata Kim seperti dikutip dari Allkpop , Senin 18 Oktober 2010. meminjam uang sebesar US$150 ribu darinya pada 2007 lalu.
Lebih lanjut Kim mengatakan jika bintang serial 'Full House' itu memang senang berjudi. Ia menggunakan uang itu untuk bertaruh di berbagai hotel mewah di Las Vegas.

Menurut informasi,
Rain dan Kim memiliki hubungan yang dekat. Mereka menjadi teman dekat sejak pertama kali bertemu di Las Vegas pada Desember 2006 silam. Kim juga pernah membantu pria bernama asli Jung Ji Hoon itu saat tampil di Los Angeles pada 2007 lalu. Hubungan mereka yang awalnya sebagai teman meningkat menjadi rekan bisnis.

Pada saat itu, Kim adalah seorang pebisnis yang kaya raya yang berkecimpung dalam dunia IT. Sedangkan
Rain baru mulai go internasional dengan kariernya tersebut.  Keduanya sering bertemu dan membahas masa depan mereka bersama.

"Aku seorang ahli IT dan
Rain adalah seorang bintang. Kami berdua memiliki mimpi untuk membuat bisnis baru dengan kombinasi IT dan hiburan," ucap Kim lagi.

Tetapi, semakin mengenal aktor kelahiran 25 Juni 1982 itu, Kim menyadari jika teman sekaligus rekan bisnisnya itu memiliki kebiasaan buruk, yakni gemar berjudi.


"Setiap datang mengunjungi saya ia pasti meminta untuk ke Las Vegas," ucapnya.


Tetapi, tudingan itu dibantah dengan tegas oleh manajeman artis tersebut. Ia mengatakan gugatan itu hanya fiktif. Mereka juga membantah jika bintang kebanggaan mereka itu gemar berjudi.
Robibilov.