Senin, 03 Oktober 2011

About SQL & ANSI



1.     Sejarah SQL S/ ANSI  SQL  ?
SQL dikembangkan di IBM oleh Donald D. Chamberlin dan Raymond F. Boyce pada awal tahun 1970. Versi ini, awalnya disebut sekuel, dirancang untuk memanipulasi dan mengambil data yang tersimpan dalam produk database relasional asli IBM, Sistem.R.

Selama tahun 1970-an, sebuah kelompok di IBM San Jose Penelitian Laboratorium Sistem R. mengembangkan sistem manajemen database relasional. Donald D. Chamberlin dan Raymond F. Boyce IBM kemudian menciptakan Inggris Structured Query Language (sekuel atau SEQL) untuk mengelola data yang disimpan dalam Sistem R. akronim sekuel kemudian diubah ke SQL karena "sekuel" merupakan merek dagang dari yang Hawker Siddeley Inggris yang berbasis perusahaan pesawat.

Yang pertama Relational Database Management System (RDBMS) adalah RDMS, dikembangkan di MIT pada awal tahun 1970, segera diikuti oleh Ingres, yang dikembangkan pada tahun 1974 di UC Berkeley. Ingres menerapkan bahasa query yang dikenal sebagai Quel, yang kemudian digantikan di pasar dengan SQL.
Pada akhir 1970-an, Relational Software, Inc (sekarang Oracle Corporation) melihat potensi konsep-konsep yang dijelaskan oleh Codd, Chamberlin, dan Boyce dan dikembangkan sendiri RDBMS berbasis SQL dengan aspirasi menjualnya ke Angkatan Laut AS, Central Intelligence Agency , dan badan-badan pemerintah AS lainnya.

Pada musim panas 1979, Relational Software, Inc memperkenalkan implementasi komersial pertama yang tersedia SQL, Oracle V2 (Version2) untuk komputer VAX. Oracle V2 mengalahkan rilis IBM tentang System/38 RDBMS ke pasar oleh beberapa minggu. Setelah pengujian SQL di lokasi uji pelanggan untuk menentukan kegunaan dan kepraktisan sistem, IBM mulai mengembangkan produk komersial didasarkan pada Sistem R prototipe termasuk System/38, SQL / DS dan DB2, yang tersedia secara komersial pada tahun 1979, 1981, dan 1983.

Kritik umum dari SQL termasuk kurangnya portabilitas cross-platform antara vendor, penanganan yang tidak tepat data hilang dan tidak perlu kompleks dan kadang-kadang ambigu tata bahasa dan semantik . Hal ini juga tidak memiliki kekakuan bahasa yang lebih formal.

2.     Jelaskan pengertian Client & Server  ?
Server adalah komputer yang dapat memberikan service ke client, sedangkan client adalah komputer yang mengakses beberapa service yang ada di server. Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan menggunakan Socket.

1.Karakteristik Server
a.Pasif
b.Menunggu request
c.Menerima request,memproses mereka dan mengirimkan balasan berupa service.

2. Karakteristik Client
a. Aktif
b. Mengirim request
c. Menunggu dan menerima balasan dari server.

Client-Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server. Sistem client server didefinisikan sebagai atau informasi dari server. Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik yaitu:
1.     Servis, server sebagai provider dan client sebagai konsumen.
2.     Sharing Resources, mampu untuk melayani client & meregulasi akses untuk berbagi sumber daya secara konsisten.
3.     Asymmetrical Protocol, client menginisiasikan dialog melalui permintaan sedangkan server menunggu request dari client.
4.     Transparansi Lokasi, Lokasi server harus mudah diakses dari client.
5.     Mix & Match, perbedaan server client platforms.
6.     Pesan berbasiskan komunikasi, interaksi server & client melalui pesan yang menyertakan permintaan dan jawaban.
7.     Pemisahan interface & implementasi, server bisa diupgrade tanpa mempengaruhi client selama interface pesan yang terbitkan tidak berubah .
Perbedaan tipe client server sebagai berikut :
1.File Servers
   - File server vendors mengklaim bahwa mereka pertama menemukan istilah client-server.
   - Untuk sharing file melalui jaringan
2.Database Servers
   - Client mengirimkan SQL requests sebagai pesan pada database server,selanjutnya hasil perintah SQL dikembalikan
   - Server menggunakan kekuatan proses yang diinginkan untuk menemukan data yang diminta dan kemudian semua record dikembalikan pada client.

3.Transaction Servers (Transaksi Server)
   - Client meminta remote procedures yang terletak pada server dengan sebuah SQL database engine.
   - Remote procedures ini mengeksekusi sebuah grup dari SQL statement
   - Hanya satu permintaan / jawaban yang dibutuhkan untuk melakukan transaksi

4.Groupsware Servers
   - Dikenal sebagai Computer-supported cooperative working
   - Manajemen semi-struktur informasi seperti teks, image, , bulletin boards dan aliaran kerja
   - Data diatur sebagai dokumen

5.Object Application Servers
   - Aplikasi client/server ditulis sebagai satu set objek komunikasi
   - Client objects berkomunikasi dengan server objects melalui Object Request Broker (ORB)
   - Client meminta sebuah method pada remote object

6.Web Application Servers (Aplikasi Web Servers)
   - World Wide Web adalah aplikasi client server yang pertama yang digunakan untuk web.
   - Client dan servers berkomunikasi menggunakan RPC seperti protokol yang disebut HTTP.
3.     Sebutkan & jelaskan arsitektur database terpusat  ?                            
Sistem basis data terpusat adalah system basis data yang dikontrol secara tersentralisasi atau bias juga di katakan hanya ada satu pengontrol. System tersebut berjalan pada system computer tunggal dan tidak berinteraksi dengan computer yang lain.

Ciri-ciri arsitektur basis data terpusat:
  • Berjalan pada sistem komputer tunggal dan tidak berinteraksi dengan sistem komputer yang lain.
  • Sistem komputer multi-guna: satu ke banyak CPU dan beberapa alat pengendali yang terhubung melalui sebuah bus yang memungkinkan akses pembagian memori.
  • Sistem single-user (mis., PC atau workstation): unit desk-top, single user, biasanya hanya terdiri satu CPU dengan satu atau dua hard disk; SO hanya mendukung untuk satu user.
  • Sistem Multi-user : lebih banyak penyimpan, memori lebih besar, multiple CPU, dan menggunakan SO multi-user. Melayanai banyak pengguna yang terhubung dengan sistem melalui terminal. Biasa disebut sistem server.
Kelebihan dari sistem basis data terpusat: 
  • Data dapat distandarkan dengan data dictionary :  dangan keadaan ini dapat di mungkinkan pertukaran data antar sistem.
  • Kontrol security dapat dilakukan DBA dapat mengatur kewengan penggunaan database (update, retrieve, delete dan sebagainya).
  • Integritas dapat dipertahankan Hal ini adalah sebagai akibat dari penghindaran non konsistensi dan pengontrolan sekuriti.
  • Pertentangan kebutuhan antar user dapat diatasi : Database dibangun dengan prioritas kepentingan seluruh enterprise.
  • Redundansi dapat dikurangi : Redundansi yaitu duplikasi field yang sama pada beberapa file. Redundansi dapat direduksi tetapi tidak dapat dihilangkan sama sekali (misal untuk kepentingan field kunci).
Kekurangan dari sistem basis data terpusat
  • Data terpusat berarti data adalah milik umum, hal ini menyebabkan rasa memiliki dan tanggung jawab pada data dari masing-masing user menjadi berkurang
  • Kemampuan pembagian data menyebabkan terjadinya pelanggaran wewenang dan sekuriti data
  • Kedua hal diatas dapat diatasi dengan tambahan suatu sistem sekuriti dan hal ini berarti penambahan biaya pada sistem.

4.     Sebutkan & jelaskan arsitektur Multiuser  ?       
DBMS (Database Management System) adalah kumpulan perangkat lunak yang digunakan untuk menangani semua pengaksesan ke database. Mempunyai fasilitas membuat, mengakses, memanipulasi, dan memelihara database. Bertujuan untuk efisiensi dan kenyamanan dalam memperoleh & menyimpan informasi dalam database.                
DBMS sendiri digolongkan menjadi 2 bagian menurut penggunanya :
1.DBMS Single User : DBMS ini berdiri sendiri, tanpa adanya link atau integritas terhadap database yang lain.
2.DBMS Multi User : DBMS yang bersifat client/server, dimana sang client bisa mengakses kedalam database yang sudah diset oleh sang admin.
 
Arsitektur DBMS Multi User  sebagai berikut :
Teleprocessing : Arsitektur tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini.

File-Server : Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network).

Client Server : Untuk mengatasi kelemahan arsitektur-arsitektur di atas maka dikembangkan arsitektur client-server. Client-server menunjukkan cara komponen software berinteraksi dalam bentuk sistem.

Data Dictionary :tempat penyimpanan informasi yang menggambarkan data dalam basis data. Data dictionary biasa disebut juga dengan metadata atau data mengenai data.




5.     Perbedaan antara SQL dan ANSI  SQL  ?
Banyak orang yang telah mengetahui apa itu Structured Query Language (SQL). Pengertian Structured Query Language (SQL) adalah sebuah bahasa tinggi, berorientasi pada group data (tabel) dan non prosedur untuk database relasional. Kenapa dikatakan bahasa tingkat tinggi? karena SQL ini menggunakan bahasa Inggris, kenapa dikatakan berorientasi pada group tabel? karena berbeda dengan bahasa lain yang hanya mempunyai kapabilitas untuk record saja. Dan kenapa bersifat non prosedural? karena memberikan apa yang kita cari.


Structured Query Language (SQL) dibuat tahun 1970an oleh IBM di San Jose Research Laboratories. Standarisasi SQL dimulai pada tahun 1986 dari American National Standards Institute (ANSI) dan pada tahun 1987 oleh International Standard Organization (ISO).
Bahasa SQL dibuat untuk mendefinisikan dan memanipulasi objek-objek dan data pada database (basis  data). SQL menjadi sesuatu yang penting karena bersifat portabel yang bisa langsung digunakan di PC meskipun dibuat di minikomputer. Prosedur  bahasa database yang dibuat di PC, bisa dipakai untuk mengambil data di mini komputer karena bahasanya sama.
Berikut adalah Kelebihan dan Kekurangan SQL (Structured Query Language) tersebut:
A.     Kelebihan SQL
  • Karena secara interaktif dan secara embedded dalam program tidak jauh berbeda, maka selain mudah bagi user, bagi programmer mudah melakukan pelacakan kesalahan program (debugging)
  • Memudahkan komunikasi antar user, programmer dan DBA. Selain itu, embedded SQL untuk berbagai host language (cobol, fortran, PL/I) hamper sama
  • Karena SQL di-compile, maka runtime nya jauh lebih cepat dari pada yang interaktif
B.    Kekurangannya SQL
Bentuk bahasa yang jauh berbeda dengan host language yang ada sehingga menyulitkan programmer dalam menuliskan kodingnya.

6.     Sebutkan & jelaskan arsitektur client & server ?
Client-Server adalah arsitektur jaringan yang memisahkan client (biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server. Sistem client server didefinisikan sebagai sistem terdistribusi, tetapi ada beberapa perbedaan karakteristik sebagaimana penjelasan pada soal nomor 2.

Apa itu ADO.NET ?


ADO.NET merupakan teknologi akses data terakhir dan terbaru yang disediakan oleh Microsoft.  Objek ADO.NET ini berfungsi menyediakan antar muka pengrograman pada project kita dengan berbagai sumber data. Dengan kata lain pengolahan data pada database dilakukan melalui kode-kode ADO.NET ini, lalu ditampilkan pada aplikasi kita.
Pada umumnya aplikasi-aplikasi memerlukan beberapa bentuk pengakses data. Microsoft ADO.NET adalah teknologi Microsoft yang dapat menyediakan antarmuka pemrograman antara aplikasi yang kita buat dengan berbagai sumber data. Model Objek ADO.NET menyediakan objek-objek, properti dan methode untuk membuat aplikasi yang dapat mengakses dan memanipulasi data.
Objek ADO.NET menyediakan kemudahan dan kecepatan akses pada semua jenis data.
*    Objek Connection membuat hubungan antara aplikasi windows kita dan sumber data luar, seperti SQL Server atau Data MS-Access. Objek ini juga menyediakan mekanisme untuk mengadakan hubungan, melakukan pencarian dan melakukan transaksi. Ini adalah objek yang paling tinggi levelnya pada model Objek ADO.NET. Digunakan untuk menampung koneksi ke database.
*    Objek Command dipergunakan untuk melakukan pencarian, termasuk parameter khsus yang dimasukkan oleh pemakai, mengakses rekaman dati sumber data. Pada umumnya, rekaman-rekaman ini dikembalikan dalam bentuk Objek Table. Objek command dibuat dari tabel basis data, query yang tersimpan atau Query Bahasa Pencarian Terstruktur/Structured Query Language (SQL). Digunakan untuk menampung perintah untuk mengakses database.

*    DataAdapter
Melalui DataAdapter ini kita dapat mengambil data rekaman dengan langsung memberikan perintah SQL maupun melalui objek Command.
*    DataSet
Setelah record (rekaman) di hasilkan melalui DataAdapter lalu record tersebut diisikan ke dalam Dataset. Di dalam dataset sebenartnya bisa dimuat lebih dari satu table. Untuk kemudahan kita hanya mengisi DataSet dengan satu buah tabel saja.
*    Table
Objek Recordset tidak dipergunakan lagi pada ADO.NET sebagai gantinya kita akan memakai object Table yang terdapat di dalam Dataset untuk mengakses rekaman-rekaman yang dikembalikan dari query SQL. Anda mempergunakan Objek Table untuk menyajikan data kepada pemakai.
Objek Table ini berisi rekaman (record) yang dapat langsung dipergunakan untuk megisi gridview atau textbox.
Objek table ini terdapat di dalam dataset.