这两个词都是表示限定,意思是 只能……。主要的区别有两个。

1.   
「しか」――→后接否定句
例: 私は日本語しか話せません。(我只能说日语)
  「だけ」――→后接肯定句
例: 私は日本語だけ話せます。(我只能说日语)

2.   
「しか」与其它的格助词并用时,应接在格助词的后面。
例:  このパソコンは日本でしか使えません。(这个电脑只能在日本使用)
  個人的なことは担任先生にしか相談しません。(个人的私事我只跟班主任老师商量)
  
「だけ」与其它的格助词并用时,词序可以互换,有时语意有所区别。
例:  このパソコンは日本だけで使えます。
   このパソコンは日本でだけ使えます。
   個人的なことは担任先生にだけ相談します。
   個人的なことは担任先生だけに相談します。