Left Outer Join atau Inner Join..
mana lebih cepatttt ??????????
Tampilkan postingan dengan label Database. Tampilkan semua postingan
Tampilkan postingan dengan label Database. Tampilkan semua postingan
Kamis, 05 Mei 2011
Jumat, 29 April 2011
Join Antar database Pada Firebird
Gateway for realtime data:
Ada sedikit kesulitan pada Firebird untuk dapat mengakses data dari database yg berbeda. Nah berikut ada salah satu cara buat ngambil datanya (dapet nyontek pula ini :) ).
Tapi ya tetep tidak secepat join database di SQL Server(Pastinyalah..... hehehehehehehhehe)
Create procedure belows:
begin
FOR EXECUTE STATEMENT
'select nama, alamat from data_karyawan
ON EXTERNAL DATA SOURCE '188.9.19.882:/path/database.fdb' AS USER 'username' PASSWORD 'password'
INTO :nama_karyawan,alamat_karyawan
do
suspend;
end^
Jadi dehhhh
Ada sedikit kesulitan pada Firebird untuk dapat mengakses data dari database yg berbeda. Nah berikut ada salah satu cara buat ngambil datanya (dapet nyontek pula ini :) ).
Tapi ya tetep tidak secepat join database di SQL Server(Pastinyalah..... hehehehehehehhehe)
Create procedure belows:
begin
FOR EXECUTE STATEMENT
'select nama, alamat from data_karyawan
ON EXTERNAL DATA SOURCE '188.9.19.882:/path/database.fdb' AS USER 'username' PASSWORD 'password'
INTO :nama_karyawan,alamat_karyawan
do
suspend;
end^
Jadi dehhhh
Kamis, 17 Februari 2011
SQL Server to Fireberd / Interbase Version 1
Migrasi dari MSSQL ke FB nihhhh..
ada beberapa catatan ni selama migrasi. cekedottt
dari segi script PHP
1. ubah mssql_ ke ibase_ (jangan lupa koneksinya diubah juga ya)
2. - pencarian data case sensitif
contoh : where em_emplname like 'Nende%'
tidak bisa where em_emplname like 'nend%'.
Maka untuk handelnya, setaip pencarian dikasih script berikut :
"where UPPER(em_emplname) like '". strttoupper($name)."%'";
3. Semua field object yang ditampilkan, jika memakai fungsi ibase_fetch_object , semuanya dirubah menjadi UPPER CASE
cat : field bisa tidak dirubah ke Upper Case jika saat create table di Firebird nama kolom dibuat didalam double quote.
contoh : create table TEST ("EmplName" varchar(50))
tetapi tetap object harus ditulis case sensitif sesuai nama kolom yang dibuat.
penulisan kolom di php, tidak berpengaruh.
Dari segi database
1. EXTRACT(MONTH FROM RB_DATE) buat pengganti script month(rb_date)
2. Top diganti First
3. Foreign Key on FB
for action delete or update
1.RESTRICT
2.NO ACTION
3.CASCADE
4.SET DEFAULT
5.SET NULL
Restrict = Data tidak bisa dirubah atau dihapus selama data tersebut masih ada relasi ke tabel lain
No Action = Hampir sama seperti Restrict perbedaanya hanya pada proses pengecekannya.
pada Restrict pengecekan dilakukan diawal sedangkan sebelum trasaksi dilakukan sedangkan No Action transaksi dicoba dijalankan dahulu, jika ternyata setelah dijalankan masih ada tabel2 terkait dengan data tersebut, maka tetap transaksi delete dan update tidak bisa dijalankan
Cascade : jika data diupate maka semua data yang relasi ke data tersebut akan dirubah. begitu pula jika data dihapus maka semua yang ref ke data tersebut akan dihapus
Set Default & SET NULL : semua data yang berhubungan akan di set ke fdefault atau null jika data headernya dirubah atau di delete.
- Pada SQL server jika data yang di insert panjang karakternya melebihi panjang karakter yang ditetapkan, proses insert / update masih bisa diproses dengan catatan data yang masuk akan dipotong sesuai karakter yg diperbolehkan.
- Pada Firebird proses akan error. jika data yang diinsert melebihi jumlah yg diperbolehkan
4. tipe data int kalo kosong musti diisi 0 atau NULL gak boleh ''
.. kerjaan belum selese.. ntar kalo nemuin hal2 lain lagi nyambung ceritanye yeeeee
ada beberapa catatan ni selama migrasi. cekedottt
dari segi script PHP
1. ubah mssql_ ke ibase_ (jangan lupa koneksinya diubah juga ya)
2. - pencarian data case sensitif
contoh : where em_emplname like 'Nende%'
tidak bisa where em_emplname like 'nend%'.
Maka untuk handelnya, setaip pencarian dikasih script berikut :
"where UPPER(em_emplname) like '". strttoupper($name)."%'";
3. Semua field object yang ditampilkan, jika memakai fungsi ibase_fetch_object , semuanya dirubah menjadi UPPER CASE
cat : field bisa tidak dirubah ke Upper Case jika saat create table di Firebird nama kolom dibuat didalam double quote.
contoh : create table TEST ("EmplName" varchar(50))
tetapi tetap object harus ditulis case sensitif sesuai nama kolom yang dibuat.
penulisan kolom di php, tidak berpengaruh.
Dari segi database
1. EXTRACT(MONTH FROM RB_DATE) buat pengganti script month(rb_date)
2. Top diganti First
3. Foreign Key on FB
for action delete or update
1.RESTRICT
2.NO ACTION
3.CASCADE
4.SET DEFAULT
5.SET NULL
Restrict = Data tidak bisa dirubah atau dihapus selama data tersebut masih ada relasi ke tabel lain
No Action = Hampir sama seperti Restrict perbedaanya hanya pada proses pengecekannya.
pada Restrict pengecekan dilakukan diawal sedangkan sebelum trasaksi dilakukan sedangkan No Action transaksi dicoba dijalankan dahulu, jika ternyata setelah dijalankan masih ada tabel2 terkait dengan data tersebut, maka tetap transaksi delete dan update tidak bisa dijalankan
Cascade : jika data diupate maka semua data yang relasi ke data tersebut akan dirubah. begitu pula jika data dihapus maka semua yang ref ke data tersebut akan dihapus
Set Default & SET NULL : semua data yang berhubungan akan di set ke fdefault atau null jika data headernya dirubah atau di delete.
- Pada SQL server jika data yang di insert panjang karakternya melebihi panjang karakter yang ditetapkan, proses insert / update masih bisa diproses dengan catatan data yang masuk akan dipotong sesuai karakter yg diperbolehkan.
- Pada Firebird proses akan error. jika data yang diinsert melebihi jumlah yg diperbolehkan
4. tipe data int kalo kosong musti diisi 0 atau NULL gak boleh ''
.. kerjaan belum selese.. ntar kalo nemuin hal2 lain lagi nyambung ceritanye yeeeee
Langganan:
Postingan (Atom)