Showing posts with label sql. Show all posts
Showing posts with label sql. Show all posts
Monday, 9 July 2012

#14. Query dengan data di server yang berbeda

Berikut adalah sampel melakukan query data dengan menggunakan query dengan data di server yang berbeda...

select a.approvalid, approvalname, tipe + ' - ' + name tipe,
a.approver1, b.position_name_en approvername1,
a.approver2, c.position_name_en approvername2,
a.approver3, d.position_name_en approvername3,
a.approver4, e.position_name_en approvername4,
a.approver5, f.position_name_en approvername5
from MApprovalCapex a
inner join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) b on (a.approver1=b.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) c on (a.approver2=c.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) d on (a.approver3=d.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) e on (a.approver4=e.position_id)
left join (SELECT position_id, position_name_en FROM OPENDATASOURCE('SQLOLEDB', 'Data Source=HRMSDB;User ID=developer;Password=d3v3l0p3r').namaserver.dbo.VW_POSITION where position_flag=3) f on (a.approver5=f.position_id)
inner join MApprovalCapexTipe g on (a.tipeid=g.id)

:)
Sunday, 18 March 2012

#13 Metode lain membuat tabel di mysql

Berikut adalah sedikit tip untuk membuat copy table dengan struktur yang sama .

CREATE table trcapa_detail_action_verification_history as
select * from trcapa_detail_action_verification
Monday, 12 March 2012

#11 Mematikan auto increment

Perintah berikut digunakan untuk mematikan function auto increment
set IDENTITY_INSERT nama_tabel off;

#10 Random

Berikut sedikit trik untuk merandom data yang akan diupdate. Misalnya saya punya table city seperti pada gambar 1 saya juga mempunyai table customer yang citynya masih blank. Saya ingin mengupdate data city yang ada di customer dengan table city yang saya punya secara random.

Query yang saya gunakan:

update x set cityid=y.cityid
from customers x
inner join (
    select id, CAST( RAND() * id / RAND() as int) cityid
    from customers a
    left join cities b on (a.cityid=b.cityid)
)y on (x.id=y.id)
where y.cityid>5 and y.cityid<482 and x.cityid is null

dengan 5 adalah id terendah dari city dan 482 adalah id tertinggi dari city



#9 Parsing data

Berikut adalah contoh memparsing data.


Sunday, 11 March 2012

#8 Menghitung umur dengan sql

Berikut script sederhana untuk menghitung umur dengan sql

create function [dbo].[umur](@tanggallahir datetime, @tipe as tinyint)
   RETURNS varchar(100)
   with ENCRYPTION
   --select dbo.umur('12/17/1982', 1)
AS
Begin
DECLARE @thisYearBirthDay datetime
DECLARE @years int, @months int, @days int
Declare @hasil as varchar(30)
   
    set @thisYearBirthDay = DATEADD(year, DATEDIFF(year, @tanggallahir, getdate()), @tanggallahir)
    set @years = DATEDIFF(year, @tanggallahir, getdate()) - (CASE WHEN @thisYearBirthDay > getdate() THEN 1 ELSE 0 END)
    set @months = MONTH(getdate() - @thisYearBirthDay) - 1
    set @days = DAY(getdate() - @thisYearBirthDay) - 1
   
    if @tipe=1--full
    begin       
        set @hasil = cast(@years as varchar(2)) + ' tahun, ' + cast(@months as varchar(2)) + ' bulan, ' + cast(@days as varchar(3)) + ' hari'
    end
    else if @tipe=2--Tahun bulan
    begin
        set @hasil = cast(@years as varchar(2)) + ' tahun, ' + cast(@months as varchar(2)) + ' bulan'
    end
    else if @tipe=3--Tahun aja
    begin
        set @hasil = cast(@years as varchar(2))
    end
    else if @tipe=4--bulan aja
    begin
        set @hasil = cast(@months as varchar(2))
    end
    else if @tipe=5--hari aja
    begin
        set @hasil = cast(@days as varchar(3))
    end
   
    return @hasil
end

untuk menjalankan hasilnya caranya sangat mudah yaitu:
select birthdate, dbo.umur(birthdate,1) umur from employees where birthdate is not null


Saturday, 10 March 2012

#6 Restore Data

Jika kita punya file sql dan ingin merestorenya sangat mudah. berikut caranya:
1. Login ke server
2. Klik kanan pada nama servernya, kemudian klik restore from sql dump kemudian klik excute :)
Friday, 9 March 2012

#5 Backup data

Backup data merupakan hal yang penting dalam mengolah database. Berikut sedikit trik untuk membackup database yang kita buat. Saya menggunakan tools sqlyog untuk memback up data. Berikut caranya:

1. Login ke server
 2. Setelah berhasil login klik kanan database yang ingin kita backup pilih back-up atau export > Back Up database as sql dump

3. Pilih lokasi dan nama file yang akan kita backup. Kita bisa memilih apa yang ingin kita backup (table, view, store proc, function atau triger. Kita juga bisa memilih apakah yang kita export datanya saja, strukturnya saja atau keduanya.
4. Jika sudah benar kita bisa lihat hasil dari export kita dengan membukanya di editor seperti notepad

Demikan sedikit info dari saya, semoga bermanfaat :)
Monday, 27 February 2012

#3 Bermain-main dengan MySQL

Sekarang kita akan coba bermain-main dengan mysql. Langkah yang pertama dilakukan adalah dengan mendownload mysql. Silahkan download mysql di xampp. Cara installnya cukup mudah, sama seperti program-program windows lainnya.
Saya anggap kalian telah download dan install. Langkah berikutnya adalah login ke MySQL console. Caranya klik Start > Run > ketik cmd
Langkah selanjutnya silahkan lihat gambar-gambar dibawah

 Gambar 1

 Gambar 2
Perintah diatas digunakan untuk menghidupkan server database
 

Gambar 3
Perintah diatas digunakan  untuk login ke database

Gambar 4
Untuk melihat database yang ada dapat dilakukan dengan cara mengetikan perintah di atas

Gambar 5
Perintah diatas digunakan untuk memilih database yang akan kita gunakan

Gambar 6
 Gambar 7

Perintah di atas digunakan untuk melihat tabel-tabel atau view-view yang ada di dalam di database

Gambar 8
Perintah di atas digunakan untuk menampilkan structure table

Gambar 9
Perintah diatas digunakan untuk melihat structure index

Gambar 10
Silahkan dicoba sendiri :D
Saturday, 25 February 2012

#2 Software-software Database

SOFTWARE DATABASE

Ada banyak sekali software database yang beredar dipasaran. Berikut yang saya tau:

  1. Dbase
  2. Microsoft Access
  3. MySQL
  4. Sql Server
  5. Oracle
  6. Postgree
  7. Foxpro
Selain software-software diatas ada beberapa tools yang menurut saya sangat bermanfaat dalam mengoperasikan database, antara lain:
  1. PHPMyadmin
  2. EMS SQL Management Studio
  3. SqlYog
  4. TOAD
  5. MySQL Connector
  6. Workbench
  7. Navicat
  8. Sequel Pro
  9. HeidiSQL
  10. SQLWave
Friday, 24 February 2012

#1 Pengenalan Database

KONSEP DATABASE

Database adalah suatu koleksi data komputer yang terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan pengambilan kembali. Integrasi lagis dari record-record dalam banyak file ini disebut konsep database yang bertujuan untuk meminimumkan pengulangan data (duplikasi data artinya data yang sama disimpan dalam beberapa file) dan mencapai independensi data (kemampuan untuk membuat perubahan dalam struktur data tanpa membuat perubahan pada program yang memproses data).

Independensi data diperoleh dengan menempatkan spesifikasi data dalam tabel data dan kamus yang terpisah secara fisik dari program. Program mengacu pada tabel untuk mengakses data.

Hirarkhi data dalam konsep system database yaitu Database, File, Record, dan Elemen Data.

SOFTWARE DATABASE

Ada banyak sekali software database yang beredar dipasaran. Antara lain:
  1. Dbase
  2. Microsoft Access
  3. MySQL
  4. Sql Server
  5. Oracle
  6. Postgree
  7. Foxpro
Keuntungan DBMS
  • Mengurangi pengulangan data.
  • Mencapai independensi data.
  • Mengintegrasikan data dari beberapa file.
  • Mengambil data dan informasi secara cepat.
  • Meningkatkan keamanan.
Kerugian DBMS
  • Memperoleh perangkat lunak yang mahal.
  • Memperoleh konfigurasi perangkat keras yang besar.
  • Mempekerjakan dan mempertahankan staf DBA.