Arsip: Belajar DB apa ya?

more 18 years ago
deLogic
yang nyleneh, versi 1.5:
- Role / Grup nya gak bisa bener2 apply, harus tricky: http://pascal-id.org/thread/unknown/1019/view-old-thread/
- View belom bisa pake klausul ORDER BY
- keterbatasan fungsi didalam klausul SELECT (misal pake fungsi ISNULL)
- Autoincrement: harus pake generator dan trigger
- edit struktur table gak akan berhasil bila ada view yg bergantung kepadanya (dependency), jadi view harus dihapus dulu sementara, gak tau ini pengaruh tool / manager yg saya gunakan atau memang di FB nya
- pernah drop key gagal terus karena dependecy yg gak jelas.
- dsb masih banyak lagi hal2 aneh dan nyleneh.

more 18 years ago
_lmz
@kaka-delphi: Fyuh .... ga banyak omong lagi dach .... klo sekarang Delphi-ID udah punya satu master database seperti bro _lmz Laughing Mohon bimbingannya dari bro _lmz yang sudah banyak pengalaman nya tentang dunia database ....Ampun kakak, itu cuma hasil browsing website Oracle. Saya tidak banyak pengalaman (cuma bercita-cita aja) makanya saya kagum. Saya waktu melihat website asktom itu pikirannya cuma "gila, orang ini bertapa berapa tahun sampai bisa jawab pertanyaan seperti itu". Coba kalo sudah banyak pengalaman pasti tidak tanya tanya lagi mau belajar apa :). Emang di kampus yang diajarkan menggunakan Oracle. Tapi temen-temen di kampus kalau udah lulus mata kuliahnya Oraclenya langsung di-uninstall, bikin berat komputer :)
@deLogic: Untuk MySQL, dokumentasinya cukup bagus dan fiturnya sudah semakin baik. MySQL itu ringan, ada versi embedded nya juga, multi-platform. tipe data beragam.Wah saya baru tahu kalau MySQL ada versi embeddednya. Bisa nggak digunakan dengan Delphi? Ada linknya?
@deLogic: untuk MS-SQL, tipe data sangat beragam, fitur cukup banyak, SQLManager yang sangat user friendly, support multi-proccessor (dan cluster?), integrasi dengan Windows sangat baik, namun sayang hanya di M$ Windows dan berbayar. SmileHmm. Bagaimana pendapat kakak deLogic tentang SQL Server Express 2005? Apakah bagus untuk dipakai belajar? Kebetulan saya ada installernya (bersama CD Visual Web Developer Express). [quote:6b1fbe8bed="herux"]yang nyleneh misalnya apa sich dari firebird ?? apa misalnya penambahan string pake ginian ya.. ||[/quote:6b1fbe8bed] Waduh kalau itu bukannya memang standard di SQL sendiri? Setahu saya cuma SQL Server yang menggunakan '+' untuk menyambung string. Yang nyeleneh menurut saya di Firebird: penggunaan library ib_udf. Tanpa library ini tidak akan ada fungsi lower(), trim() atau fungsi-fungsi matematika misalnya sin(), log() dst. Umumnya pada database lain sih fungsi semacam ini kan sudah jadi satu dengan servernya Sifat generator yang tidak "transaction-safe". Di sini maksudnya bukan "nilai generator tidak akan kembali ketika dirollback" (semua juga gitu) tapi maksudnya "sesudah mengambil satu nilai dari generator dalam transaction, pengambilan nilai generator oleh transaction lainnya dapat merubah nilai 'current' yang terlihat oleh transaction ini" sehingga apabila nilai generator dibutuhkan di lebih dari satu tempat solusinya adalah ambil dulu nilai generatornya, simpan dalam variabel dan gunakan nilai variabel itu. Tidak ada function bikinan user? cuma ada procedure? Yang keren dari firebird kolom pada tabel COMPUTED BY expr. Event. PostgreSQL juga punya ini dengan LISTEN/NOTIFY. Kan di forum ini kadang-kadang ditanyakan cara melakukan refresh Grid kalau data diupdate oleh aplikasi lain. Kalau mau gampang ya jawabnya "ganti dulu databasenya" :). Kecilnya itu lho. Oh ya, beberapa waktu lalu ada link ini di website IBPhoenix: http://www.computerworld.com.au/index.php?id=254355795&eid=-255 di situ diceritakan tentang koran yang memilih menggunakan Firebird daripada MySQL. Kutipan yang menarik :) : Weeks has also tried developing with PostgreSQL, but it "used all the memory and crashed the server". [/quote:6b1fbe8bed]

more 18 years ago
deLogic
@_lmz: Wah saya baru tahu kalau MySQL ada versi embeddednya. Bisa nggak digunakan dengan Delphi? Ada linknya?coba ke websitenya MySQL. kalo gak salah mulai versi 4 dah ada kok. Penggunaannya mirip dengan FB Embedded.
@_lmz: Hmm. Bagaimana pendapat kakak deLogic tentang SQL Server Express 2005? Apakah bagus untuk dipakai belajar? Kebetulan saya ada installernya (bersama CD Visual Web Developer Express).saya malah belom mencoba MSSQL Express 2005, soalnya lagi konsen ngelarin project. Mungkin kalo udah kelar mulai eksperimen.
@_lmz: Tidak ada function bikinan user? cuma ada procedure?bukannya bisa dibuat secara eksternal (UDF - User Defined Function)?
@_lmz: Yang keren dari firebird kolom pada tabel COMPUTED BY expr. Event. PostgreSQL juga punya ini dengan LISTEN/NOTIFY. Kan di forum ini kadang-kadang ditanyakan cara melakukan refresh Grid kalau data diupdate oleh aplikasi lain. Kalau mau gampang ya jawabnya "ganti dulu databasenya" :). Kecilnya itu lho.Setuju.. btw saya pernah konversi database dari DBase ke FB, dan saya bandingkan dengan DBase ke MySQL, dengan jumlah record mencapai puluhan ribu: - pada awal konversi Dbase ke FB, proses sangat cepat, tapi lambat laun performanya semakin turun, bahkan proses sampai saya hentikan karena lebih dari 3jam. - pada konversi Dbase ke MySQL, proses cuman 6 menit. saya tidak tahu salahnya dimana, apa dari tool konversinya atau dari DB-nya..

more 18 years ago
simba
Ikutan ah... :)
Berdasarkan pengalaman ngoprek database, sejauh ini yg udah pernah aku coba adalah MS Acces (tentu saja :D), mySQL, Interbase, Firebird, PostgreSQL, IBM DB2, dan beberapa engine lain yg gak terlalu populer (seperti AdvantageDB, FlashFiler, DBISAM, dlsb). Sayangnya, masih belom punya kesempatan untuk nyobain Oracle. Dan akhirnya secara pribadi lebih prefer Firebird, walaupun secara profesional juga pake database lain, terutama mySQL dan DB2.
Kalo ada org yg bilang Firebird nyleneh biasanya dia awal belajarnya dari mySQL (sebelum v.5.x) atau MS Access. Karena gak sama dgn yg dipelajari sebelumnya jadi terkesan nyleneh. Kalo ada org yg bilang dokumentasi Firebird minim, berarti dia gak tau sejarah Firebird yg diawali dari Interbase. Kalo ada yg bilang administration tool untuk Firebird minim, berarti kurang googling. Artinya, Firebird secara umum sebenarnya gak jauh berbeda dgn database2 lainnya. Kalo detil sih pasti ada perbedaan, dan itu wajar aja.
Beberapa hal yg aku sukai dari Firebird, antara lain:
- small and compact but still fast and powerful,
- highly integrated with Delphi,
- consistent API,
- natively multiplatform,
- almost zero maintenance,
- truly freeware open source.
Beberapa hal yg gak aku sukai dari Firebird, antara lain:
- dokumentasi walaupun lengkap, tapi masih berasal dari induknya, yaitu Interbase 6.0. Dokumentasi selanjutnya hanya berupa Release Notes. Tapi kalo mau modal dikit, beli aja Firebird Book, dijamin puas deh!
- belum support sub-select (select from select), setidaknya sampe v.1.5.3. Di v.2.0 udah support tapi belom rilis. :(
- belum support FTS (fast text search), padahal untuk beberapa jenis aplikasi, fitur ini cukup penting.
- belum support database clustering, tapi ini hanya dibutuhkan untuk enterprise scale system. Sistem kelas menengah ke bawah belum terlalu butuh fitur ini.
- role management-nya rada ribet. Tapi aku kebetulan gak butuh fitur ini, soalnya udah punya sistem khusus untuk penanganan login yg gak terikat ke role di database. :)
- kurangnya monitoring tool dan OLAP untuk memantau aktivitas database (live transaction, remote client, dlsb). Selain karena mungkin karena masih kurang populernya Firebird, support dari API-nya sendiri memang belum cukup memenuhi. :)
Kalo aku bandingkan dgn database lain, memang Firebird -tentu saja- juga punya banyak kelemahan. Tapi dari sudut pandang aku sendiri, tetep aku prefer Firebird. Misal...
Yg gak aku sukai dari mySQL:
- API-nya gak konsisten dan gak backward kompatibel. Jadi kalo keluar rilis baru, hampir bisa dipastikan kita harus menyesuaikan lagi aplikasi client kita. :(
- multi and confusing licenses, gak jelas. Dan trend-nya semakin lama tambah strict aja. Udah mulai nyari duit dari produk nih kayaknya si mySQL-AB. Kan jadi mikir juga kalo mau deploy aplikasi komersil, drpd gak halal coba. :P
- dgn engine myISAM, kecepatan mySQL TOP BGT dah, tapi konsekuensi-nya data kita gak bisa konsisten karena gak ada pengecekan data constraint secara internal. Kalo pake engine InnoDB, kecepatannya jadi biasa2 aja, tapi data lebih konsisten karena udah built-in pengecekan data constraint.
Yg gak aku suka dari PostgreSQL:
- bloated... berat dan lambat, tapi memang powerful. Versi Windows-nya belom stabil. :(
- susah dan ribet konfigurasinya, salah2 bukannya performance tambah baik, malah ngedrop. Dari 2 alasan pertama ini, wajar kalo Weeks milih Firebird. :)
- dan beberapa hal lain yg aku lupa detilnya, soalnya udah keburu gak suka. :D
Saran untuk yg baru mau belajar database, kayaknya MS Access tetep yg paling enak krn mudahnya itu. Tapi hati2 nanti kalo udah mau upgrade ilmu, soalnya banyak konsep2 database yg gak nampak di MS Access sbg akibat dari "kemudahan"nya sendiri. Ini pengalaman pribadi. :D

more 18 years ago
simba
@_lmz:
penggunaan library ib_udf. Tanpa library ini tidak akan ada fungsi lower(), trim() atau fungsi-fungsi matematika misalnya sin(), log() dst. Umumnya pada database lain sih fungsi semacam ini kan sudah jadi satu dengan servernya.Kalo aku melihat ini malah sbg kelebihan drpd kekurangan. Soalnya, kita bisa nambah atau enhance fungsi sendiri, pake Delphi juga bisa. Jadi, kita gak tergantung ama development db itu sendiri, kalo butuh fungsi tertentu yg belom tersedia, tinggal bikin aja sendiri. @deLogic:
- Role / Grup nya gak bisa bener2 apply, harus tricky:Betul. :)
- View belom bisa pake klausul ORDER BYKalo dalam view-nya itu sendiri emang belom bisa. Tapi view kan bisa di-select seperti table biasa, order by dari select-nya itu aja.
- keterbatasan fungsi didalam klausul SELECT (misal pake fungsi ISNULL)Beberapa keterbatasan dalam SQL syntax udah banyak diperbaiki di v.2.0. Mudah2-an cepet rilis. :(
- Autoincrement: harus pake generator dan triggerIni juga lebih aku lihat sebagai kelebihan drpd kekurangan, kita bisa lebih fleksibel ngatur increment-nya. Bahkan kalo dikombinasi pake SP, kita bisa bikin gabungan teks dan nomor misal buat id kwitansi.
- edit struktur table gak akan berhasil bila ada view yg bergantung kepadanya (dependency), jadi view harus dihapus dulu sementara, gak tau ini pengaruh tool / manager yg saya gunakan atau memang di FB nyaYa ini jelas seharusnya begitu. Object yg sedang digunakan object lain seharusnya emang gak bisa di-ubah2 krn bisa bikin data kacau.
- pernah drop key gagal terus karena dependecy yg gak jelas.Sama dgn alasan di atas.
- dsb masih banyak lagi hal2 aneh dan nyleneh.Bisa sharing disini? Soalnya bisa jadi masukan berharga buat aku juga nih, selama ini pake Firebird (v.1.5.3) perasaan lancar2 aja tuh.
btw saya pernah konversi database dari DBase ke FB, dan saya bandingkan dengan DBase ke MySQL, dengan jumlah record mencapai puluhan ribu: - pada awal konversi Dbase ke FB, proses sangat cepat, tapi lambat laun performanya semakin turun, bahkan proses sampai saya hentikan karena lebih dari 3jam. - pada konversi Dbase ke MySQL, proses cuman 6 menit. saya tidak tahu salahnya dimana, apa dari tool konversinya atau dari DB-nya.Kayaknya ini masalahnya di tool-nya deh. Jgn lupa Firebird itu transaction-based. Kalo ada banyak insert/update tapi gak segera di-commit/rollback maka datanya masih belum bener2 kesimpan. Jgn samakan dgn mySQL yg gak transaction-based. Aku migrasi2 data seperti ini juga sering, tapi lancar2 aja tuh, baik dari DBase ke FB, Excel ke FB, mySQL ke FB. Tapi, jgn lupa untuk commit setiap interval beberapa kali insert/update supaya gak nyantol, biasanya aku set setiap 1000 insert/update aku commit. Pernah migrasi data sekitar 300 ribuan, cuman butuh waktu 12 menit. :)

more 18 years ago
ZeAL
Gue mo pake database yang text based aja ah... Pake CVS (comma value seperated) trus gue encrypt...
bwehehehe... Asoy banget dah ah... Ada yang udah nyoba..??? :D :D :D
Selain itu gue pake MySQL sama Ms. SQL Server aje kali yee.. :D

more 18 years ago
kaka-delphi
Gue mo pake database yang text based aja ah... Pake CVS (comma value seperated) trus gue encrypt..Wakakakakkaa....... :D :D :D Seep .. :P Dari meongan bro _lmz, nyit-nyitan deLogic, gaungan simba, dan nguk .. nguk nya ZeAL xixixixiiiiii ...... :D akhirnya, pergulatan dalam dunia database memang ga ada hentinya .. sama halnya dengan manusia, punya kelebihan dan punya kekurangan juga. Suatu database pasti bagus apabila kita menggunakannya dengan maksimal, Suatu database pasti kurang bagus apabila kita tidak maksimal dalam menggunakannya. Dan mungkin bagi rekan2 yang akan belajar database, jangan bingung harus memilih database yang mana. Silahkan anda memilih database yang sesuai dengan selera anda, dan disarankan klo untuk belajar sama halnya seperti kita ( Mulai dari bayi , merangkak, berdiri sampai lari) , blajar dari yang ringan dulu selanjutnya ke level yang tinggi hingga kita bisa menggunakan dan memaksimal kan kemampuan yang ada. Selamat Belajar .... CMIIW Tetep Semangat ... !!!

more 18 years ago
_lmz
Wah kelihatannya kakak simba ini sudah mahir sekali dengan Firebird. Bisa ditanyai nih kalau lagi bingung :)
@simba: ...tentang penggunaan ib_udf... Kalo aku melihat ini malah sbg kelebihan drpd kekurangan. Soalnya, kita bisa nambah atau enhance fungsi sendiri, pake Delphi juga bisa. Jadi, kita gak tergantung ama development db itu sendiri, kalo butuh fungsi tertentu yg belom tersedia, tinggal bikin aja sendiri.Memang betul bahwa kemampuan UDF itu bagus, dan fleksibel. tapi yang perlu diingat bahwa tidak hanya Firebird saja yang mampu loading UDF dari DLL, PostgreSQL dan MySQL juga punya kemampuan seperti itu (meskipun saya kurang tahu apakah fungsinya bisa ditulis dengan Delphi). Cuma masalah saya adalah fungsi-fungsi itu saya anggap 'dasar', tapi kenapa tidak disertakan dalam servernya langsung.
@simba: Yg gak aku suka dari PostgreSQL: - bloated... berat dan lambat, tapi memang powerful. Versi Windows-nya belom stabil. Sad - susah dan ribet konfigurasinya, salah2 bukannya performance tambah baik, malah ngedrop. Dari 2 alasan pertama ini, wajar kalo Weeks milih Firebird.Apakah kak simba bisa memperjelas lagi tentang 2 poin di atas. Buat referensi saja sebelum terlalu jauh "tercebur"... :)
@simba: Saran untuk yg baru mau belajar database, kayaknya MS Access tetep yg paling enak krn mudahnya itu. Tapi hati2 nanti kalo udah mau upgrade ilmu, soalnya banyak konsep2 database yg gak nampak di MS Access sbg akibat dari "kemudahan"nya sendiri. Ini pengalaman pribadi.Ini memang betul (perkara mudahnya). Saya sudah kapok kena Access karena saya mengalami bahwa ada Query yang saya buat dalam GUI Access (untuk testing), kalau saya copy teks querynya, masukkan ke ADOQuery lalu dipanggil hasilnya malah jadi lain. Karena dalam proses pembuatan query itu butuh waktu cukup lama ya jadinya emosi deh, karena gagalnya gak jelas gitu. Jadi saran saya bagi yang sudah cukup mahir dalam "berpikir secara SQL", segeralah cari database lain sebelum nanti frustrasi sendiri hehehe.

more 18 years ago
deLogic
@simba: Kalo ada org yg bilang Firebird nyleneh biasanya dia awal belajarnya dari mySQL (sebelum v.5.x) atau MS Access. Karena gak sama dgn yg dipelajari sebelumnya jadi terkesan nyleneh.saya dari MS SQL, gak pernah menyentuh MS Access secara serius, paling buka GUI untuk lihat file mdb aja, hehe tapih ampir sama kali ya krn sama2 M$ :)
@simba: Kalo ada org yg bilang dokumentasi Firebird minim, berarti dia gak tau sejarah Firebird yg diawali dari Interbase.saya punya semua dokumentasi dari Interbase, termasuk ReleaseNote dari FB, saya juga punya dokumentasi dari MS SQL dan MySQL, tapi setelah saya baca2 sepertinya masih minim, jadi harus lebih rajin googling.
@simba: Kalo ada yg bilang administration tool untuk Firebird minim, berarti kurang googling.administration tool bukan minim, tapi yang bener2 powerful itulah yang terbatas. saya pernah coba dari EMS SQL Manager, FlameRobin, IBView, IBExpert, IBSQL, IBEasy, yang paling komplit dan mudah menurut saya adalah dari EMS.
@simba: Ya ini jelas seharusnya begitu. Object yg sedang digunakan object lain seharusnya emang gak bisa di-ubah2 krn bisa bikin data kacau.lebih enak kalo object2 lain langsung ter-update, mungkin fitur ini sebaiknya ada di Administration Tool. :) soalnya akan ribet ketika harus drop dulu semua dependency-nya, update object dan re-create / modify dependecies. Apalagi kalo banyak...
@ZeAL: Gue mo pake database yang text based aja ah... Pake CVS (comma value seperated) trus gue encrypt... bwehehehe... Asoy banget dah ah... Ada yang udah nyoba..??? Very Happycoba baca post nya bro simba: http://pascal-id.org/dpr/index.php?name=PNphpBB2&file=viewtopic&p=7615&highlight=#7615
@_lmz: Memang betul bahwa kemampuan UDF itu bagus, dan fleksibel. tapi yang perlu diingat bahwa tidak hanya Firebird saja yang mampu loading UDF dari DLL, PostgreSQL dan MySQL juga punya kemampuan seperti itu (meskipun saya kurang tahu apakah fungsinya bisa ditulis dengan Delphi). Cuma masalah saya adalah fungsi-fungsi itu saya anggap 'dasar', tapi kenapa tidak disertakan dalam servernya langsung.yup, seharusnya fungsi dasar memang disertakan langsung, tapi mungkin developer FB ada pertimbangan lain, misalnya ingin menghemat resource sehingga fungsi2 'dasar' tersebut di split ke external library.
@_lmz: Ini memang betul (perkara mudahnya). Saya sudah kapok kena Access karena saya mengalami bahwa ada Query yang saya buat dalam GUI Access (untuk testing), kalau saya copy teks querynya, masukkan ke ADOQuery lalu dipanggil hasilnya malah jadi lain. Karena dalam proses pembuatan query itu butuh waktu cukup lama ya jadinya emosi deh, karena gagalnya gak jelas gitu.heheheh... sampai segitunya ya.. untung saya gak pernah pake GUI Access untuk build/execute query.. :)

more 18 years ago
simba
lebih enak kalo object2 lain langsung ter-update, mungkin fitur ini sebaiknya ada di Administration Tool. Smile soalnya akan ribet ketika harus drop dulu semua dependency-nya, update object dan re-create / modify dependecies.Firebird juga support ini kok, tanpa tool pun juga bisa. Coba baca sintak untuk deklarasi relation, disitu ada ON UPDATE dan ON DELETE. Tapi ini bekerjanya di row-level. Kalo sampe drop table, memang gak bisa kalo masih ada yg bergantung ke table tsb. Mungkin kalo udah gitu, harusnya tool yg bisa bantu. :) Kalo aku sih, kalo masih dalam tahap development, relation2-nya belom aku pasang, biar gak ribet kalo ada perubahan struktur database. Tapi kalo udah di tahap production, relation2 harus dipasang supaya datanya lebih terjaga.
more ...
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Bikin Library buat perintah dasar aplikasi berbasis DB
by silueack in Enginering more 19 years ago - hide maximize button ????
by r_rie in Form Enhancement & Graphical Controls more 16 years ago - Surga dunia neraka akhirat
by DelphiExpert in OOT more 15 years ago - [ASK] Tentang Count
by j3free in MySQL more 16 years ago - [Ask]User login ID and password
by vahnkrist in Bedah Kasus more 12 years ago - Error Message "Lost Connections During Query"
by 3m8ooo in MySQL more 16 years ago - Aplikasi tetap jalan saat form menu utama ditutup
by hendrahongdexin in Hal umum tentang Pascal Indonesia more 14 years ago - Form Geser
by nda1312 in Hal umum tentang Pascal Indonesia more 18 years ago - tanya reporting
by ygmarta in Tip n Trik Pemrograman more 13 years ago - insert ke table lain
by javaman in Hal umum tentang Pascal Indonesia more 18 years ago