Jumat, 07 Januari 2011

Software Database Desktop Paradox

Database desktop merupakan suatu program “Add-Ins”, yaitu program terpisah yang langsung terdapat pada Borland Delphi. Pada database desktop terdapat beberapa DBMS yang terintegrasi di dalamnya antara lain Paradox 7, Paradox 4, Visual dBase, Foxpro, Ms. SQL, Oracle, Ms. Acces, db2 dan interbase. Dari beberapa DBMS tersebut kita akan memilih salah satu yaitu Paradox yang akan dibahas lebih lanjut, khususnya Paradox 7. Dalam Paradox 7 ini, pada 1 file database hanya mengizinkan 1 tabel, berbeda dengan DBMS lain yang mengizinkan beberapa tabel pada 1 file database seperti pada Ms. Acces.

Struktur field pada Paradox 7 :
1.    Field Name
Field Name merupakan nama pengenal kolom pada suatu tabel. Terdapat beberapa aturan dalam penulisan field name antara lain :
  • Panjang maksimum 25 karakter
  • Tidak boleh diawai dengan spasi tapi boleh mengandung spasi
  • Unik, artinya tidak ada nama kolom yang sama
  • Tidak boleh menggunakan tanda koma (,), tanda pipe (|), dan tanda seru (!)
• Hindari kata-kata yang merupakan perintah SQL

2.   Type
Digunakan untuk menetukan tipe data yang dapat ditampung dalam field. Macam-macam tipe data yang sering dipakai dalam Paradox adalah sebagai berikut :

3. Size
            Merupakan ukuran dari panjang data yang diizinkan untuk suatu field.
4. Key
Dapat berupa primary key sebagai key yang membedakan untuk setiap baris kolom. Syarat untuk primary key adalah unik, artinya tidaka boleh ada data yang memiliki primary key yang sama.

software firebirh

Sejarah Firebird
Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya adalah perusahaan Borland yang sekitar tahun 2000 mengeluarkan versi beta dari aplikasi database-nya InterBase 6.0 dengan sifat open source. Namun entah kenapa tiba-tiba Borland tidak lagi mengeluarkan versi InterBase secara open source, justru kembali ke pola komersial software. Tapi pada saat yang bersamaan programmer-progammer yang tertarik dengan source code InterBase 6.0 tersebut lalu membuat suatu team untuk mengembangkan source code database ini dan kemudian akhirnya diberinama Firebird.
Pengembangan codebase Firebird 2 dimulai pada awal pengembangan Firebird 1, dengan memporting kode Firebird 1 berbasis C ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Pengembangan ini merupakan satu kemajuan signifikan bagi para developer dan seluruh tim dalam project Firebird, namun tentu ini bukan akhir dari tujuan. Dengan dirilisnya Firebird 1.5, pengembangan lebih lanjut difokuskan pada Firebird versi 2.
Pada bulan April 2003, Yayasan Mozilla memutuskan mengganti nama web browser mereka dari ”Phoenix” menjadi ”Firebird”. Keputusan ini ditanggapi dengan serius oleh proyek Firebird Database dengan asumsi bahwa hal tersebut bisa membingungkan user karena dua produk berbeda menggunakan nama yang identik. Protes atas hal ini berlanjut hingga para pengembang Mozilla membuat satu pernyataan yang jelas bahwa nama Firebird dalam kenyataannya adalah ”Mozilla Firebird”. Pernyataan ini juga membuat memperjelas bahwa nama Mozilla Firebird merupakan sebuah ”codename” atas proyek web browser yang tengah dikerjakan oleh Mozilla. Pada tanggal 9 Februari 2004, Mozilla akhirnya mengganti kembali nama browser mereka sebagai Mozilla Firefox, Dengan demikian hal tersebut secara otomatis menghilangkan kebingungan para pengguna.
Firebird dan Interbase. Firebird (juga disebut FirebirdSQL) adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix. Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland.
Namun dalam perkembangannya, Interbase yang komersial di-bundle oleh Borland menjadi Phoenix, sedangkan Firebird adalah interbase yang dikembangkan oleh komunitas Open Source, sehingga menjadikannya sebagai produk Database Server yang FREE. Kalau dikaitkan dengan support, tentunya jelas beda karena produk komersial dan free. Dalam konsep teknik programmingnya, ada banyak yang sama, namun pengayaan Firebird lebih banyak dan menjadikannya lebih luwes, terutama dalam koneksi client-server (port) dan integritasnya. Modul-modul kode baru ditambahkan pada Firebird dan berlisensi di bawah Initial Developer’s Public License (IDPL), sementara modul-modul aslinya dirilis oleh Inprise berlisensi di bawah InterBase Public License 1.0. Kedua lisensi tersebut merupakan versi modifikasi dari Mozilla Public License 1.1.
Pengguna Firebird
Open source DBMS ini dimotori oleh para developer Interbase 6.x open-source. Jika pernah menggunakan produk-produk RDBMS, seperti Ms-SQL Server, Oracle, DB2, Informix, dan lain-lain, kita tidak akan kesulitan dalam mengenal Firebird. Mengapa Firebird? banyak orang menggunakan produk RDBMS yang sudah populer, dan harganya pun sangat mahal, sehingga banyak yang ingin belajar harus mencari versi ‘bajakan’ dari produk tersebut untuk bisa belajar. Alasannya sederhana, ingin belajar RDBMS berkelas enterprise tetapi tidak usah membayar.
Kalangan-kalangan seperti inilah yang seringkali memanfaatkan Firebird. Produk ini gratis dan berkelas enterprise. Selain itu Firebird juga digunakan para pelaku bisnis, mereka ingin solusi sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur, kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan yang lebih penting Firebird is totally Free.
Kalau memang Firebird Hebat, berkelas, dan gratis, mengapa Firebird kurang populer saat ini? jawabannya sederhana, Firebird mempunyai developer yang tangguh, support yang tangguh, tetapi Firebird tidak mempunyai marketing yang tangguh.
Kemampuan dan Kelebihan Firebird
Kita bisa melihat berbagai macam aktivitas dan kemampuan Firebird pada situs officialnya yang beralamat di www.firebirdsql.org. Banyak sekali fasilitas menarik yang ditawarkan oleh Firebird (ini bisa dibandingkan dengan fasilitas yang ditawarkan oleh MySQL). Firebird memiliki rata-rata fasilitas yang dimiliki oleh sebuah komersial database misalnya seperti stored procedure, trigger, sistem backup, replikasi dan tools sql yang lengkap. Firebird juga support dengan ANSI SQL yang berarti akan semakin memudahkan Anda dalam proses migrasi antar database platform.
Beberapa kemampuan dari open source DBMS ini antara lain: (1) Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Bahkan Firebird support dengan savepoint pada suatu transaksi dan kita bisa melakukan rollback kembali ke savepoint yang kita tentukan tadi (ini mirip seperti fasilitas pada Oracle).(2) Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.(3) Firebird support row level locks, secara default Firebird menggunakan apa yang disebut dengan multi-version concurrency system.
Ini artinya bahwa semua session pada database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam database. Sebagai alternative untuk locking juga bisa digunakan perintah select… for update with lock.(4) Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi Anda yang ingin belajar. Triggers pada Firebird mirip seperti yang dijumpai dalam Oracle yaitu menggunakan before atau after insert, update atau delete. Ini berbeda dengan sistem trigger pada Sybase atau MS SQL Server yang menggunakan tabel virtual inserted dan deleted.(5) Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu memonitor adanya operasi insert, update atau delete ke dalam database. (6) Firebird support dengan multiple data file, ya, Firebird bisa menggunakan lebih dari satu file sebagai single logic database. Ini sangat berguna bagi para DBA (Database Administrator) untuk mengadministrasi database. (7) Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql, FBManager, Marathon dan banyak lagi yang lainnya. Aplikasi tersebut ada yang komersial atau bahkan ada yang open source. (8) Library connection untuk Firebird yang sudah tersedia ada banyak, ada driver untuk ODBC, JDBC bahkan .NET database provider. Bahkan dari PHP juga sudah disediakan library untuk koneksi ke database Firebird ini. (9) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah programmer Delphi. Kalau di luar negeri sudah sangat banyak sekali komunitasnya, mulai dari komunitas developer, Firebird architect, Firebird test dan lain sebagainya. Anda bisa mencarinya di Yahoo! Groups  www.yahoogroups.com) dengan kata kunci Firebird.

Paradox DOS

Paradox DOS adalah sistem manajemen database relasional aslinya ditulis oleh Richard Schwartz dan Robert Shostak, dan dirilis oleh perusahaan mereka Ansa Software pada tahun 1985. Pada bulan September 1987, Borland dibeli Ansa Software, termasuk / mereka software DOS Paradox 2.0. versi klasik terkenal adalah 3,5 dan 4,5. Versi sampai 3.5 adalah evolusi dari 1,0. Versi 4.0 dan 4,5 telah retooled di Borland C + + windowing toolkit dan menggunakan skema akses memori yang berbeda diperpanjang.

Paradoks / DOS adalah database berbasis DOS sukses akhir tahun delapan puluhan dan awal tahun sembilan puluhan. Pada waktu itu, dBase dan klon xBase nya (FOxPro, Clipper) mendominasi pasar. pesaing terkenal lainnya adalah Clarion, DataEase, R: Base, dan DataFlex.

Fitur yang membedakan Paradox / DOS adalah:

* Sebuah Query visual dengan implementasi Contoh yang didukung oleh mesin AI.
* Efektif penggunaan memori (konvensional serta diperpanjang / diperluas) – tabel data caching dan terutama, indeks yang menyebabkan Paradox untuk melaksanakan tugas-tugas yang sangat cepat dalam kontras dengan keterampilan eksplisit diperlukan untuk optimasi kinerja xBase. [1]
* Sebuah bahasa pemrograman inovatif Paradox Aplikasi Bahasa (PAL) yang dibaca, kuat, dan dapat direkam dari tindakan keyboard (bukan seperti perekaman makro Lotus 1-2-3).
* Lotus menu seperti teks dan jendela yang merupakan antarmuka asli (kontras dengan dBase yang memiliki antarmuka baris perintah dengan menu berlapis di atas).
* Khususnya di Paradox 1.0, dan 2.0 pengguna dan manual pemrograman memenangkan penghargaan dibaca [rujukan?] – Deras diilustrasikan mereka, baik meletakkan dan penjelasan ditulis dalam bahasa Inggris umum.

SQL 2000

SQL Server adalah server basisdata yang secara fungsional adalah proses atau aplikasi yang menyediakan layanan basisdata. Client berinteraksi dengan layanan basisdata melalui antar muka komunikasi tertentu yang bertujuan untuk pengendalian dan keamanan. Client tidak mempunya akses langsung kedata, tetapi selalu berkomunikasi dengan server basisdata. (Marcus Teddy.2004). SQL Server menggunakan tipe dari database yang disebut database relasional. Database relasional adalah database yang digunakan sebuah data untuk mengatur atau mengorganisasikan kedalam tabel.
Tabel-tabel adalah alat bantu untuk mengatur atau mengelompokan data mengenai subyek yang sama dan mengandung informasi dan kolom dan baris. Tabel-tabel saling berhubungan dengan mesin database ketika dibutuhkan.
SQL Server mendukung beberapa tipe data yang berbeda, termasuk untuk karakter, angga, tanggal (datetime) dan uang (money), SQL Server digunakan untuk menggambarkan model dan implementasi pada database.
Keuntungan menggunakan SQL Server dapat didefinisikan menjadi dua bagian yaitu satu bagian untuk menjalankan pada server dan bagian lain untuk client.

o   Keuntungan Client:
Ø  Mudah digunakan.
Ø  Mendukung berbagai perangka keras.
Ø  Mendukung berbagai aplikasi perangkat lunak.
Ø  Biasa untuk digunakan

o   Keuntungan Server:
Ø  Dapat diandalkan (Reliable).
Ø  Toleransi kesalahan (Fault Tolerant).
Ø  Konkurensi (Concurrent)
Ø  Pengendalian terpusat (Centralized Control).

INFORMIX

IBM Informix adalah keluarga sistem manajemen database relasional (RDBMS) yang dikembangkan oleh IBM. Hal ini diposisikan sebagai data server utama IBM untuk memproses transaksi online (OLTP) serta solusi terpadu. IBM mengakuisisi teknologi Informix pada tahun 2001.

Sejarah singkat informix

Informix Software Anak Perusahaan Jenis
Didirikan 1980 (sebagai Sistem Basis Data Relasional)
Tokoh penting Roger Sippl, Laura King (pendiri)
Pemilik (s) IBM

Roger Sippl dan Laura King bekerja di Cromemco, sebuah perusahaan S-100/CP/M awal, di mana mereka mengembangkan sebuah database relasional kecil yang didasarkan pada teknik ISAM, sebagai bagian dari paket perangkat lunak laporan-penulis.
Sippl dan Raja kiri Cromemco untuk menemukan Relational Database System (RDS) pada tahun 1980. Produk pertama mereka, Marathon, pada dasarnya merupakan versi 16-bit ISAM kerja mereka sebelumnya, terlebih dahulu tersedia di C8000 dari Onyx Systems.

Pada RDS, mereka mengalihkan perhatian mereka ke pasar RDBMS muncul dan merilis produk mereka sendiri sebagai Informix (informasi pada Unix) pada tahun 1981. Ini termasuk bahasa Informer mereka. Ini menampilkan ACE penulis laporan, digunakan untuk mengambil data dari database dan menyajikannya kepada pengguna untuk membaca mudah. Hal ini juga menampilkan bentuk tool layar PERFORM, yang memungkinkan user untuk secara interaktif query dan mengedit data dalam database. Rilis terakhir dari produk ini adalah versi 3,30 pada awal 1986.

Pada tahun 1985, mereka memperkenalkan mesin baru SQL query berbasis sebagai bagian dari Informix-SQL (atau ISQL) versi 1.10 (versi 1.00 tidak pernah dirilis). Produk ini juga termasuk varian SQL ACE dan PERFORM. Perbedaan paling signifikan antara ISQL dan produk Informix sebelumnya adalah pemisahan kode akses database ke dalam sebuah proses mesin (sqlexec), daripada embedding secara langsung pada klien - sehingga pengaturan panggung untuk komputasi client-server dengan database yang berjalan di mesin yang terpisah dari mesin pengguna. The ISAM berbasis mesin penyimpanan file yang mendasari dikenal sebagai C-ISAM.

Melalui Informix awal 1980-an tetap menjadi pemain kecil, tetapi sebagai Unix dan SQL tumbuh di popularitas pada pertengahan 1980-an, nasib mereka berubah. Pada 1986 mereka telah menjadi cukup besar untuk mengapung IPO yang sukses, dan mengubah nama perusahaan untuk Informix Software. Produk termasuk Informix-SQL versi 2,00 dan Informix-4GL 1,00, keduanya termasuk mesin database serta alat-alat pengembangan (I4GL untuk programmer, ISQL untuk non-programmer).

Pada tahun 1988, Informix dibeli Inovatif Perangkat Lunak, Pembuat DOS dan sistem perkantoran berbasis Unix yang disebut SmartWare dan WingZ, program spreadsheet untuk Macintosh Apple.

WingZ menyediakan antarmuka pengguna grafis, didukung lebih besar, 32768x32768 spreadsheet dimensi, dan menawarkan pemrograman dalam bahasa HyperCard seperti yang dikenal sebagai HyperScript. Rilis asli terbukti berhasil, menjadi nomor dua spreadsheet, Di belakang Microsoft Excel. Pada tahun 1990, pelabuhan WingZ mulai muncul untuk beberapa platform lainnya, sebagian besar varian Unix. Selama periode ini, banyak lembaga keuangan mulai berinvestasi di workstation Unix sebagai rute untuk meningkatkan "mendengus" desktop yang diperlukan untuk menjalankan model keuangan besar. Untuk periode yang singkat, Wingz berhasil dipasarkan ke ceruk ini. Namun itu menderita kekurangan sumber daya pengembangan dan pemasaran. Pada awal 1990-an WingZ telah menjadi tidak kompetitif, dan Informix akhirnya menjualnya pada tahun 1995. Informix juga menjual lisensi untuk Claris, yang dikombinasikan dengan GUI yang agak diperbarui Claris Putuskan. Dynamic Scalable Arsitektur

Dengan kegagalan dalam produk-produk otomatisasi kantor, Informix memfokuskan kembali di pasar database server berkembang. Pada tahun 1994, sebagai bagian dari kerjasama dengan Sistem Komputer Sekuen, Informix merilis versi 6,00 database server, yang menampilkan baru Dynamic Scalable Arsitektur, DSA.

DSA melibatkan ulang utama mesin inti dari produk, yang mendukung baik paralelisme horisontal dan vertikal paralelisme, dan berdasarkan inti multi-threaded cocok terhadap sistem multiprocessing simetris yang Sekuen dirintis dan vendor besar seperti Sun Microsystems dan Hewlett-Packard akhirnya akan menindaklanjuti. Kedua bentuk paralelisme membuat produk yang mampu tingkat pasar terkemuka skalabilitas, baik untuk OLTP dan data pergudangan.

Sekarang dikenal sebagai Informix Dynamic Server (setelah sebentar menghibur nama Obsidian dan kemudian bernama Informix OnLine Dynamic Server), Versi 7 menghantam pasar pada tahun 1994. Versi 7 konsisten memenangkan tolok ukur kinerja.

Bangunan pada keberhasilan Versi 7, Informix split inti database investasi pembangunan menjadi dua usaha. Salah satu upaya, pertama dikenal sebagai XMP (untuk eXtended Multi-Processing), menjadi garis Versi 8 produk, juga dikenal sebagai XPS (untuk Server Paralel eXtended). Upaya ini difokuskan pada perangkat tambahan pada data pergudangan dan paralelisme dalam platform high-end, termasuk platform shared-tidak seperti IBM RS-6000/SP.

Fokus kedua, yang diikuti pembelian akhir 1995 dari ilustrasi, terkonsentrasi pada objek-relasional (OR) teknologi database. Ilustrasi, ditulis oleh mantan anggota tim Postgres dan dipimpin oleh database pelopor Michael Stonebraker, mencakup berbagai fitur yang memungkinkan untuk kembali sepenuhnya terbentuk objek langsung dari database, fitur yang secara signifikan dapat mengurangi waktu pemrograman dalam banyak proyek. Ilustrasi juga termasuk fitur yang dikenal sebagai DataBlades yang memungkinkan tipe data baru dan fitur yang akan dimasukkan dalam server dasar sebagai pilihan. Ini termasuk solusi untuk sejumlah masalah SQL berduri, yaitu time series, spasial dan data multimedia. Informix terintegrasi ilustrasi's pemetaan OR dan DataBlades ke dalam produk OnLine 7.x, sehingga Informix Universal Server (IU), atau lebih umum, Versi 9.

Kedua versi baru, V8 (XPS) dan V9 (IU), muncul di pasaran pada tahun 1996, membuat Informix pertama dari "tiga besar" perusahaan database (yang lainnya adalah Oracle dan Sybase) untuk menawarkan built-in mendukung ATAU. Komentator perhatian khusus pada DataBlades, yang segera menjadi sangat populer: puluhan muncul dalam waktu satu tahun, porting ke arsitektur baru setelah kemitraan dengan ilustrasi. Ini vendor lainnya meninggalkan scrambling, dengan Oracle memperkenalkan "dicangkokkan pada" paket untuk dukungan time-series pada tahun 1997, dan Sybase beralih ke pihak ketiga untuk paket eksternal yang masih merupakan solusi tidak meyakinkan.

Meskipun Informix mengambil teknologi memimpin di pasar perangkat lunak database, rilis produk mulai jatuh di belakang jadwal pada tahun 1996 akhir. Terganggu dengan masalah teknis dan pemasaran, pengembangan produk aplikasi baru, Informix-NewEra, segera dibayangi oleh bahasa pemrograman Java muncul. Michael Stonebraker telah berjanji bahwa teknologi ilustrasi akan diintegrasikan dalam waktu satu tahun setelah akuisisi akhir 1995, tetapi karena Gartner Group telah diramalkan, integrasi yang dibutuhkan lebih dari 2 tahun. Tidak senang dengan arah baru dari perusahaan, XPS memimpin Kelley arsitek Gary tiba-tiba mengundurkan diri dan bergabung dengan arch-rival Oracle Corporation di awal 1997, dengan 11 pengembang dengan dia Informix. Akhirnya digugat Oracle untuk mencegah hilangnya rahasia dagang.

Kegagalan dalam pemasaran dan kepemimpinan tidak menguntungkan di misgovernance perusahaan dibayangi keberhasilan teknis Informix's. Pada tanggal 1 April 1997, Informix, mengumumkan bahwa pendapatan kuartal pertama jatuh pendek dari harapan sebesar $ 100 juta. CEO Phillip Putih menyalahkan kekurangan pada hilangnya fokus pada bisnis inti database sementara mengerahkan sumber daya terlalu banyak untuk teknologi object-relational kerugian operasi besar dan PHK diikuti.. Informix-lain pendapatan kembali dari tahun 1994 sampai 1996. Sebuah jumlah yang signifikan dari pendapatan dari pertengahan 1990-an penjualan perangkat lunak yang terlibat lisensi kepada mitra yang tidak menjual melalui ke pelanggan pengguna akhir, ini dan lainnya irregularies menyebabkan melebih-lebihkan pendapatan dengan lebih dari $ 200 juta. Bahkan setelah keberangkatan White pada bulan Juli 1997, perusahaan terus berjuang dengan praktek akuntansi, kembali menyatakan laba lagi pada awal 1998.

PL SQL DENGAN SQL PLUS

PENDAHULUAN PL SQL
PL/SQL (Procedural Language/Structured Query Language) merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax.
PL/SQL adalah fasilitas yang disediakan Oracle sehingga pengguna dapat memanfaatkan konsep pemrograman. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang ada dalam database Oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data.

Beberapa kelebihan PL/SQL dalam database Oracle :
  • PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses didalam server.
  • Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
  • PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan
  • program aplikasi.

Apa Itu PL/SQL Package?
Package adalah sebuah schema object yang mengelompokkan PL/SQL types, items, dan subprograms, yang terkait secara logikal. Packages biasanya memiliki dua bagian, sebuah specification dan sebuah body, meskipun kadangkala body tersebut tidak diperlukan. Specification (atau spec) merupakan antarmuka terhadap aplikasi-aplikasi kita; ia mendeklarasikan types, variables, constants, exceptions, cursors, dan subprograms yang tersedia untuk digunakan. Body secara penuh mendefinisikan cursors dan subprograms, dan juga mengimplementasikan spec.
Seperti ditunjukkan oleh Gambar 9-1, kita dapat memikirkan sebuah spec sebagai sebuah antarmuka operasional dan body sebagai sebuah “kotak hitam (black box)”. Kita dapat men-debug, meningkatkan, atau menimpa sebuah package body tanpa mengubah antarmuka (package spec) ke package tersebut.

Contoh Sebuah PL/SQL Package
Dalam contoh di bawah ini, kita mem-package sebuah record type, sebuah cursor, dan dua procedure kepegawaian. Perlu diingat bahwa procedure hire_employee menggunakan database sequence empno_seq dan function SYSDATE untuk menambahkan sebuah employee number baru dan hire date.
CREATE OR REPLACE PACKAGE emp_actions AS -- spec
TYPE EmpRecTyp IS RECORD (emp_id INT, salary REAL);
CURSOR desc_salary RETURN EmpRecTyp;
PROCEDURE hire_employee (
ename VARCHAR2,
job VARCHAR2,
mgr NUMBER,
sal NUMBER,
comm NUMBER,
deptno NUMBER);
PROCEDURE fire_employee (emp_id NUMBER);
END emp_actions;
CREATE OR REPLACE PACKAGE BODY emp_actions AS -- body
CURSOR desc_salary RETURN EmpRecTyp IS
SELECT empno, sal FROM emp ORDER BY sal DESC;
PROCEDURE hire_employee (
ename VARCHAR2,
job VARCHAR2,
mgr NUMBER,
sal NUMBER,
comm NUMBER,
deptno NUMBER) IS
BEGIN
  INSERT INTO emp VALUES (empno_seq.NEXTVAL, ename, job, mgr,
  SYSDATE, sal, comm, deptno);
END hire_employee;
PROCEDURE fire_employee (emp_id NUMBER) IS
BEGIN
  DELETE FROM emp WHERE empno = emp_id;
END fire_employee;
END emp_actions;
Hanya deklarasi di dalam package yang terlihat dan dapat dikses terhadap aplikasi. Detil implementasi di dalam package body disembunyikan dan tidak dapat diakses. Jadi, kita dapat mengubah body (implementation) tanpa harus meng-compile ulang program-program yang memanggilnya.

Keuntungan-keuntungan dari PL/SQL Packages
Packages menawarkan beberapa keuntungan: modularitas, desain aplikasi yang lebih mudah, penyembunyian informasi, tambahan fungsionalitas, dan performa yang lebih baik.
Modularity
Packages mengijinkan kita untuk mengenkapsulasi secara logikal types, items, dan subprograms yang berhubungan di dalam sebuah PL/SQL module yang memiliki nama. Setiap package mudah dipahami, dan antarmuka antara packages adalah sederhana, jelas, dan didefinisikan dengan baik. Hal ini membantu pembangunan aplikasi.
Easier Application Design
Ketika mendesain sebuah aplikasi, seluruh yang kita butuhkan awalnya adalah informasi antarmuka di dalam package specs tersebut. Kita dapat mengkodekan dan meng-compile sebuah spec tanpa body-nya. Kemudian, stored subprograms yang mereferensi kepada package tersebut dapat di-compile juga. Kita tidak perlu mendefinisikan package bodies secara penuh sampai kita siap untuk menyelesaikan aplikasi.
Information Hiding
Dengan packages, kita dapat menentukan types, items, dan subprograms mana saja yang bersifat public (terlihat dan dapat diakses) atau yang private (tersembunyi dan tidak dapat diakses). Sebagai contoh, jika sebuah package mengandung empat subprograms, yang tiga mungkin public dan yang satu private. Package menyembunyikan implementasi dari private subprogram sehingga hanya package tersebut (bukan aplikasi kita) yang terpengaruh jika implementasi diubah. Hal ini memudahkan pemeliharaan dan peningkatan. Juga, dengan menyembunyikan detil implementasi dari pengguna, kita dapat melindungi integritas dari package tersebut.
Added Functionality
Variable-variable dan cursor-cursor public ter-package tetap ada selama satu session. Sehingga, mereka dapat digunakan secara bersama-sama oleh subprograms yang berjalan dalam environment tersebut. Juga, mereka memperbolehkan kita memelihara data melalui transaksi-transaksi tanpa harus menyimpannya di dalam database.
Better Performance
Ketika kita memanggil sebuah subprogram terpackage untuk pertama kali, seluruh package di-load ke memory. Sehingga, pemanggilan-pemanggilan berikutnya terhadap subprogram-subprogram terkait dengan di dalam package tersebut tidak memerlukan disk I/O. Juga, packages berhenti mengaitkan ketergantungan dan dengan demikian tidak memerlukan re-compile ulang yang tidak perlu. Sebagai contoh, jika kita mengubah implementasi dari sebuah function ter-package, Oracle tidak perlu meng-compile ulang subprogram-subprogram yang memanggilnya karena mereka tidak bergantung kepada package body.

STRUKTUR PL/SQL

Struktur PL/SQL mirip dengan struktur bahasa pascal atau delphi yang menggunakan struktur blok, sehingga akan mempermudah pengertian dalam pemrograman dengan PL/SQL. Struktur Blok berisi perintah SQL dengan kondisi yang berbeda. Perintah PL/SQL dapat menangani kesalahan saat dijalankan. Setiap pengetikan dengan menggunakan PL/SQL dalam SQL*Plus selalu diakhiri dengan tanda /(slash). Sintaks penggunaan PL/SQL adalah sebagai berikut :

Declare
   Begin
      Exception
End
Struktur diatas dapat dijelaskan sebagai berikut :

1. Bagian Judul (Header)
Bagian ini hanya digunakan jika PL/SQL diberikan nama,misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok,daftar parameter, dan pengembalian hasil (return) jika blok adalahfungsi.
2. Bagian Deklarasi (declaration)
Bagian ini untuk membuat deklarasi mengenai semua variable dan konstanta yang direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan, bersifat optional.
3. Bagian Eksekusi (Execution).
Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.
4. Bagian Perkecualian (Exception)
Bagian ini memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL, bersifat optional. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik koma(;) dan semua program PL/SQL harus diakhiri dengan perintah END.

Bentuk Umum Struktur PL/SQL

DECLARE
            variabel tipe_data;
            konstanta CONSTANT tipe_data := nilai;
            ...
BEGIN
            statement_1;
            statement_2;
            ...
EXCEPTION
            WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;
            ...
END;

Contoh Program (tanpa exception)

SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1  NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;
/
Contoh Program (dengan exception)
SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := ‘Belajar Oracle’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai’);
END;
/

DBMS_OUTPUT merupakan paket yang disediakan oleh Oracle PL / SQL dan PUT_LINE merupakan salah satu prosedur yang dikemas. Menampilkan nilai-nilai pada SQL Plus * terminal yang harus diaktifkan dengan SERVEROUTPUT SET ON terlebih dahulu. Untuk menjalankan kode sampel ini, login ke SQL * Plus. PL / SQL blok diakhiri dengan tanda garis miring / atau garis byitself.


PENDAHULUAN SQL PLUS
SQL adalah kependekan dari Structured Query Language, digunakan untuk berkomunikasi dengan Oracle sehingga kita dapat memerintahkan informasi apa yang ingin kita SELECT, INSERT, UPDATE atau DELETE. Keempat kata yang saya tulis dengan huruf besar tersebut merupakan kata inti yang digunakan untuk memerintahkan Oracle. Apa sih SQL*Plus itu dan apa perannya dalam database Oracle? Secara sederhana kita dapat mengatakan bahwa SQL*Plus itu seperti assisten pribadi kita saat bekerja dengan Oracle. Melalui SQ*Plus inilah kita memberikan perintah kepada Oracle dan kita dapat melihat hasilnya.


Keistimewaan sql plus
  • menerima tambahan masukan perintah
  • menerima input SQL dari file file
  • tersedia line ditor untuk memidifikasi perintah SQL
  • terdapat seting untuk penanganan yang berhubungan dengan lingkungan
  • hasil query d buat dalam sebuah laporn standart
  • mengakses data base secara lokal dan remote

SQL *PLUS dipergunakan untuk mengakses Oracle Database Server. Untuk mengakses server dibuat sebuah service yang mengarahkan client ke server terlebih dahulu (Database Alias). Tahapan untuk membuat service tersebut sebagai berikut :
1. Pada dialog diatas diberi service name TPRAKTIKUM. Klik next
2. Pilih protocol yang menghubungkan antara client dengan server. Pada kesempatan ini untuk menghunbungkan client ke server mempergunakan protocol TCP/IP. Berikutnya klik Next.
3. Pada field Host Name masukkan nama host name atau alamat IP address server ORACLE, misalnya nt5. Klik Next
4. Pada menu field Database SID, pada layar System IDentifier, masukkan nama database SID, misalnya lab4. Berikunya klik Next.
5. Untuk mencoba service name yang sudah dibuat, perlu dilakukan testing. Klik tombol Test Service, dan akan menuju layar testing.
6. Pada layar Conection Test masukkan username dan password. Silahkan masukkan Username scott dan Password tiger, klik tombol test, maka akan ditampilkan respon server. Jika sukses akan ada komentar ….successful..
jika gagal akan muncul komentar bahwa service yang dibuat gagal.
Setelah Service Name dibuat, kini masuk kedalam SQL *PLUS untuk mengakses database server.
Buka SQL *PLUS dari menu Start��Program��Oralce-OraHome81��
Aplication Development��SQL PLUS.
Akan muncul dialog SQL plus sebagai berikut :
Masukkan pada User Name system, password manager dan Host String dengan service name yang sudah dibuat tadi (TPRAKTIKUM).
Jika Login berhasil maka akan muncul Oracle SQL *PLUS sebagai berikut :
TABLESPACE
Untuk menyimpan obyek-obyek database dibutuhkan suatu ruang memori yang disebut TABLESPACE. Untuk mengakses tablespace dibutuhkan sebuah account user. Berikut ini perintah SQL untuk membuat tablespace, user dan perintah untuk manipulasi tabel.
1. Melihat tablespace
select * from user_free_space;
2. Membuat tablespace
SQL>Create tablespace nama-tablespace datafile ‘nama-datafile.dat’ size 1M
autoextend on next 500K maxsize 2M;
3. Mengubah ukuran tablespace
SQL>alter database datafile ‘nama-datafile.dat’ resize 2M;
4. Menambah ukuran tablespace dengan cara menambahkan data file baru
SQL>alter tablespace dataku add datafile ‘nama-datafile.dat’ size 2M;
5. Menghapus table space
SQL>drop tablespace nama-tablespace including contents;
Setelah Tablespace siap, maka langkah selanjutnya membuat account baru.
Account ini akan anda pergunakan selama praktikum. Account yang sudah ada ketika instalasi selesai adalah SYS, SYSTEM dan SCOTT. Untuk membuat account baru kita mempergunakan user SYS dan SYSTEM. Pergunakan tablespace yang tadi telah anda buat untuk menyimpan data anda selama praktikum.
1. Membuat user baru dan dengan tablespace yang dipakai misalnya dtpraktek.
SQL>create user nama_user identified by password-user default
tablespace dtpraktek;
Parameter nama_user adalah nama login, dan password-user adalah password user yang dipilih. Misalnya dipilih untuk nama_user user01.
2. Berikan hak akses user pada database. Misalnya hak akses grant dan resource.
SQL> grant connect to user01;
SQL> grant resource to user01;
3. Langkah berikutnya, lakukan sambungan dengan server dengan mempergunakan user_name yang sudah dibuat tadi.
SQL> connect user01
Enter password: ******
Connected.
4. Saat ini sudah tersambung dengan server dengan mempergunakan user01.
Buat tabel mahasiswa yang memiliki struktur nim varchar(5), nama
varchar(25), alamat varcahr(30).
SQL> create table mahasiswa (nim varchar(5), nama varchar(25), alamat
varchar(30));
5. Untuk melihat tabel yang ada dalam tablespace mempergunakan perintah :
SQL> select * from tab;
6. Untuk melihat struktur tabel dapat dilakukan dengan mempergunakan
perintah :
SQL>describe mahasiswa;
7. Perintah alter berguna untuk melakukan perubahan tabel diantaranya merubah tipe field, menambah field baru dan merubah nama tabel.
Merubah tipe field tabel :
SQL>alter table mahasiswa modify (nim number(5));
Menambah field tabel :
SQL>alter table mahasiswa add (usia number(2));
Mengganti nama tabel :
SQL>alter table mahasiswa rename to mhs;
8. Untuk menambahkan data kedalam tabel, pergunakan perintah insert
SQL>insert into mahasiswa values(1,’Sumanto’,’Sleman’);
9. Data yang sudah disimpan dalam tabel dapat diedit dengan memperguanakan perintah update.
SQL>update mahasiswa set nama = ‘Sumanto’ where nim=1;
10. Untuk keperluan penghapusan data, pergunakan perintah :
SQL>delete from mahasiswa where nim=1;
CONSTRAINT
Constraint (konstrain) adalah aturan yang diberikan pada suatu tabel supaya data yang dimasukkan lebih terjamin validitasnya.
1. Memberi konstrain pada saat membuat tabel :
SQL>create table mahasiswa(nim char(5) constraint pnim primary key, nama
char(20) constraint nnama not null, alamat char(30));
2. Memberi konstrain pada tabel yang sudah ada :
SQL>alter table mahasiswa add constraint pnim primary key (nim);
SQL>alter table mahasiswa modify (nama char(20) constraint nnama not null);
3. Menghapus konstrain :
SQL>alter table mahasiswa drop constraint nnama;
ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data yang di-query. Klausa ORDER BY diikuti dengan nama kolom atau kolom alias kemudian diikuti klausa jenis urutan yang kita inginkan. Jenis urutan bisa ASC (ascending) atau DESC (descending). Sebagai ilustrasi, tampilkan semua data dengan cara diurutkan ascending berdasarkan nama mahasiswa.
SQL> select * from mahasiswa order by nama;
SQL> select * from mahasiswa order by nama desc;
WHERE
Klausa LIKE WHERE digunakan untuk membatasi query menurut criteria tertentu. Kriteria ini didefinisikan menggunakan bentuk perbandingan. Sebagai ilustrasi, tampilkan data mahasiswa yang berasal dari Jogjakarta.
SQL> select * from mahasiswa where alamat = ‘Jogjakarta’;
LIKE
Klausa LIKE digunakan untuk membatasi query menurut nilai tertentu. Nilai ini merupakan sebagian dari nilai suatu field. Sebagai ilustrasi, akan ditampilkan data mahasiswa yang memiliki nama yang nama akhirnya mengandung huruf “ni”.
SQL> select * from mahasiswa where nama like ‘%ni’;

table karyawan

Table karyawan
NIP
Nama
Alamat
Golongan
4547991763
Wizi
Jakarta
2 A
4547934710
Dina
Surabaya
1 B
4547991534
Egy
Bekasi
2 B
4547932017
Eric
Bandung
1 A
4547901438
Fiska
Cikarang
2 A
4547930118
Doni
Jakarta
2 B
4547956509
Santi
Bogor
1 B
4547932816
Wina
Surabaya
1 A
4547991527
Rizky
Bekasi
2 B
4547936171
Roy
Depok
2 A












Table gaji karyawan
No
Nama
Jabatan
Golongan
Gaji
1
Wizi
Office
2 A
Rp 1500000;
2
Dina
Programmer
1 B
Rp 2500000;
3
Egy
Office
2 B
Rp 1500000;
4
Eric
Sekretaris
1 A
Rp 3500000;
5
Fiska
Office
2 A
Rp 1500000;
6
Doni
Office
2 B
Rp 1500000;
7
Santi
Programmer
1 B
Rp 2500000;
8
Wina
Sekretaris
1 A
Rp 3500000;
9
Rizky
Office
2 B
Rp 1500000;
10
Roy
Office
2 A
Rp 1500000;