Jumat, 07 Januari 2011

Software Navicat Lite

Navicat Lite mempunyai kelebihan yaitu bisa mengatur Administrasi database dari berbagai database yang ada. Misalnya kita bisa melakukan administrasi untuk database oracle, MySQL, SqlLIte, dan PostgreSQL. Admin edukita merasa sangat mudah dalam menggunakan Navicat Lite ketika membuat database. Disediakan juga tempat simulasi untuk query yang bisa digunakan seperti aslinya.
Query ini juga bisa disimpan untuk keperluan selanjutnya. Navicat Lite juga kompatibel dengan berbagai OS, misalnya Linux, Windows dan Mac OS. Ada juga fasilitas Query Builder yang nantinya dapat digunakan untuk menyusun query tanpa mengetik syntax query, tapi ini khusus yang Full version ya...

Database Desktop Paradox

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.

Microsoft Acces

Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.

Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC. Para pengguna/programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat bantu pemrograman berorientasi objek.

Sejarah

Microsoft merilis Microsoft Access 1.0 pada bulan November 1992 dan dilanjutkan dengan merilis versi 2.0 pada tahun 1993. Microsoft menentukan spesifikasi minimum untuk menjalankan Microsoft Access 2.0 adalah sebuah komputer dengan sistem operasi Microsoft Windows 3.0, RAM berkapasitas 4 megabyte (6 megabyte lebih disarankan) dan ruangan kosong hard disk yang dibutuhkan 8 megabyte (14 megabyte lebih disarankan). Versi 2.0 dari Microsoft Access ini datang dengan tujuh buah disket floppy 3½ inci berukuran 1.44 megabyte.

Perangkat lunak tersebut bekerja dengan sangat baik pada sebuah basis data dengan banyak record tapi terdapat beberapa kasus di mana data mengalami kerusakan. Sebagai contoh, pada ukuran basis data melebihi 700 megabyte sering mengalami masalah seperti ini (pada saat itu, memang hard disk yang beredar masih berada di bawah 700 megabyte). Buku manual yang dibawanya memperingatkan bahwa beberapa kasus tersebut disebabkan oleh driver perangkat yang kuno atau konfigurasi yang tidak benar.

Nama kode (codename) yang digunakan oleh Access pertama kali adalah Cirrus yang dikembangkan sebelum Microsoft mengembangkan Microsoft Visual Basic, sementara mesin pembuat form antarmuka yang digunakannya dinamakan dengan Ruby. Bill Gates melihat purwarupa (prototype) tersebut dan memutuskan bahwa komponen bahasa pemrograman BASIC harus dikembangkan secara bersama-sama sebagai sebuah aplikasi terpisah tapi dapat diperluas. Proyek ini dinamakan dengan Thunder. Kedua proyek tersebut dikembangkan secara terpisah, dan mesin pembuat form yang digunakan oleh keduanya tidak saling cocok satu sama lainnya. Hal tersebut berakhir saat Microsoft merilis Visual Basic for Applications (VBA).
[sunting] Versi
Tanggal Nama versi Nomor versi Sistem operasi yang didukung Versi Microsoft Office
1992 Microsoft Access 1.1 1 Microsoft Windows T/A
1993 Microsoft Access 2.0 2 Microsoft Windows Microsoft Office 4.3 Professional
1995 Microsoft Access for Windows 95 7 Microsoft Windows 95 dan Windows NT 3.51 Microsoft Office 95 Professional
1997 Microsoft Access 97 8 Microsoft Windows 95/98 dan Windows NT 3.51/NT 4.0 Microsoft Office 97 Professional
1999 Microsoft Access 2000 9 Microsoft Windows 98/Me, Windows NT 4.0/2000 Microsoft Office 2000 Premium dan Office 2000 Professional
2001 Microsoft Access 2002 10 Microsoft Windows 98/Me, Windows NT/2000/XP Microsoft Office XP Professional
2003 Microsoft Access 2003 11 Microsoft Windows 2000 (Service Pack 3 ke atas)/XP (Service Pack 1 ke atas)/Server 2003 Microsoft Office System 2003
2007 Microsoft Access 2007 12 Microsoft Windows XP (Service Pack 2)/Server 2003/Vista/Server 2008 (Beta 2 ke atas) Microsoft Office System 2007
2010 Microsoft Access 2010 14 Microsoft Windows XP (Service Pack 3)/Windows Server 2003 R2(32-bit)/Windows Server 2008(32-bit atau 64-bit)/Windows Vista (Service Pack 1)/Windows 7 Microsoft Office Professional 2010
[sunting] Penggunaan

Microsoft Access digunakan kebanyakan oleh bisnis-bisnis kecil dan menengah, di dalam sebuah organisasi yang kecil bahkan mungkin juga digunakan oleh perusahaan yang cukup besar, dan juga para programmer untuk membuat sebuah sistem buatan sendiri untuk menangani pembuatan dan manipulasi data. Access juga dapat digunakan sebagai sebuah basis data untuk aplikasi Web dasar yang disimpan di dalam server yang menjalankan Microsoft Internet Information Services (IIS) dan menggunakan Microsoft Active Server Pages (ASP). Meskipun demikian, penggunaan Access kurang disarankan, mengingat telah ada Microsoft SQL Server yang memiliki kemampuan yang lebih tinggi.

Beberapa pengembang aplikasi profesional menggunakan Microsoft Access untuk mengembangkan aplikasi secara cepat (digunakan sebagai Rapid Application Development/RAD tool), khususnya untuk pembuatan purwarupa untuk sebuah program yang lebih besar dan aplikasi yang berdiri sendiri untuk para salesman.

Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifat klien/server. Meskipun demikian, tampilan muka Access (form, report, query, dan kode Visual Basic) yang dimilikinya dapat digunakan untuk menangani basis data yang sebenarnya diproses oleh sistem manajemen basis data lainnya, seperti halnya Microsoft Jet Database Engine (yang secara default digunakan oleh Microsoft Access), Microsoft SQL Server, Oracle Database, dan beberapa produk lainnya yang mendukung ODBC.
[sunting] Fitur

Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL); query dapat dilihat dan disunting sebagai statemen-statemen SQL, dan statemen SQL dapat digunakan secara langsung di dalam Macro dan VBA Module untuk secara langsung memanipulasi tabel data dalam Access. Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek.

Microsoft SQL Server Desktop Engine (MSDE) 2000, yang merupakan sebuah versi mini dari Microsoft SQL Server 2000, dimasukkan ke dalam Office XP Developer Edition dan dapat digunakan oleh Microsoft Access sebagai alternatif dari Microsoft Jet Database Engine.

Tidak seperti sebuah sistem manajemen basis data relasional yang komplit, Microsoft JET Database Engine tidak memiliki fitur trigger dan stored procedure. Dimulai dari Microsoft Access 2000 yang menggunakan Microsoft Jet Database Engine versi 4.0, ada sebuah sintaksis yang mengizinkan pembuatan kueri dengan beberapa parameter, dengan sebuah cara seperi halnya sebuah stored procedure, meskipun prosesur tersebut dibatasi hanya untuk sebuah pernyataan tiap prosedurnya. Access juga mengizinkan form untuk mengandung kode yang dapat dieksekusi ketika terjadi sebuah perubahan terhadap tabel basis data, seperti halnya trigger, selama modifikasi dilakukan hanya dengan menggunakan form tersebut, dan merupakan sesuatu hal yang umum untuk menggunakan kueri yang akan diteruskan (pass-through dan teknik lainnya di dalam Access untuk menjalankan stored procedure di dalam RDBMS yang mendukungnya.

Dalam berkas Access Database Project (ADP) yang didukung oleh Microsoft Access 2000 dan yang selanjutnya, fitur-fitur yang berkaitan dengan basis data berbeda dari versi format/struktur data yang digunakan Access (*.MDB), karena jenis berkas ini dapat membuat koneksi ke sebuah basis data MSDE atau Microsoft SQL Server, ketimbang menggunakan Microsoft JET Database Engine. Sehingga, dengan menggunakan ADP, adalah mungkin untuk membuat hampur semua objek di dalam server yang menjalankan mesin basis data tersebut (tabel basis data dengan constraints dan trigger, view, stored procedure, dan UDF). Meskipun demikian, yang disimpan di dalam berkas ADP hanyalah form, report, macro, dan modul, sementara untuk tabel dan objek lainnya disimpan di dalam server basis data yang membelakangi program tersebut.
[sunting] Pengembangan dengan Access

Access mengizinkan pengembangan yang relatif cepat karena semua tabel basis data, kueri, form, dan report disimpan di dalam berkas basis data miliknya (*.MDB). Untuk membuat Query, Access menggunakan Query Design Grid, sebuah program berbasis grafis yang mengizinkan para penggunanya untuk membuat query tanpa harus mengetahui bahasa pemrograman SQL. DI dalam Query Design Grid, para pengguna dapat memperlihatkan tabel basis data sumber dari query, dan memilih field-field mana yang hendak dikembalikan oleh proses dengan mengklik dan menyeretnya ke dalam grid. Join juga dapat dibuat dengan cara mengklik dan menyeret field-field dalam tabel ke dalam field dalam tabel lainnya. Access juga mengizinkan pengguna untuk melihat dan memanipulasi kode SQL jika memang diperlukan.

Bahasa pemrograman yang tersedia di dalam Access adalah Microsoft Visual Basic for Applications (VBA), seperti halnya dalam beberapa aplikasi Microsoft Office. Dua buah pustaka komponen Component Object Model (COM) untuk mengakses basis data pun disediakan, yakni Data Access Object (DAO), yang hanya terdapat di dalam Access 97, dan ActiveX Data Objects (ADO) yang tersedia dalam versi-versi Access terbaru.

Informix

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.

Model ER

Konsep Model ER
Model ER adalah kumpulan konsep dari entitas, atribut, relationship serta konstrain lainnya yang menggambar kan struktur basis data dan transaksi pada basis data.
1. Entitas : Objek dalam bentuk fisik maupun konsep yang dapat dibedakan dengan objek lainnya.
2. Atribut : karakteristik atau properti dari suatu entitas.
3. Relationship : Hubungan yang terjadi antara satu entitas atau lebih.


MAHASISWA -------- MENGAKSES -------- DATA

Diagram ER untuk relationship MENGAKSES
Hasil dari relasi :
a. One To One ( 1 : 1 )
b. One To Many ( 1 : M )
c. Many To One ( M : 1 )
d. Many To Many ( M : M)

Penjelasan dari Relasi :
a. One To One ( 1 : 1 )
- Satu Mahasiswa Mengakses Satu Data
- Satu Data Diakses Satu Mahasiswa

b. One To Many ( 1 : M )
- Satu Mahasiswa Mengakses Semua Data
- Semua Data Diakses Satu Mahasiswa

c. Many To One ( M : 1 )
- Semua Mahasiswa Mengakses Satu Data
- Satu Data Diakses Semua Mahasiswa

d. Many To Many ( M : M )
- Semua Mahasiswa Mengakses Semua Data
- Semua Data Diakses Semua Mahasiswa

Penjelasan tentang PL/SQL plus

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.


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.

Aljabar Rasional

ALJABAR RASIONAL

Ø SELECT
Memperoleh tupel – tupel dari suatu relasi yang memenuhi predikat tertentu
Simbol : δ (sigma)
Operasi SELECT akan melibatkan :
Operand : konstanta / bilangan
Operator aritmatika : <, =, >, ≥, ≠, ≤
Operator logika : Λ (and), ν (or), ┐(not)
Contoh Queri :
Skema relasi mahasiswa (npm, nama, alamat, kota, jkel)
Dicari informasi mengenai mahasiswa yang mempunyai NPM = ‘50100333’
δ npm=’50100333’ (MAHASISWA)


Ø PROJECT
Memperoleh atribut – atribut tertentu dari suatu relasi
Simbol : π (pi)
Contoh Queri :
Skema relasi MAHASISWA (npm, nama, alamat, kota, jkel)
Dicari informasi mengenai nama dan kota mahasiswa
Π nama,kota (MAHASISWA)


Ø CARTESIAN PRODUCT
Membentuk suatu relasi dari dua relasi yang terdiri dari kombinasi tupelo-tupel yang
mungkin
Simbol : X (cros)
Ilustrasi :
R S R X S
a 1 a 1
b 2 a 2
3 a 3
b 1
b 2
b 3
Contoh Queri :
Skema relasi MHS (npm, nama, alamat, tgl_lahir)
Skema relasi MTKULIAH (kd_mk, nama_mk, sks)
MHS X MTKULIAH


Ø UNION
Membentuk suatu relasi yang terdiri dari tupel – tupelo yang berada pada salah satu
relasi atau pada kedua relasi, dengan syarat :
Misalnya ada relasi R dan S, maka jumlah atribut relasi R dan S harus sama
Domain dari atribut ke i dari R harus sama dengan domain dari atribut ke i dari S
Simbol : (union)
Contoh Queri :
Skema relasi MHS (npm, nama, alamat, tgl_lahir)
Skema relasi MTKULIAH (kd_mk, nama_mk, sks)
Gabungkan data dari relasi MHS dengan data dari relasi MTKULIAH
MHS MTKULIAH


Ø SET DIFFERENCE
Membentuk suatu relasi yang terdiri dari tupel – tupel yang berada pada relasi pertama
dan tidak berada pada relasi kedua atau kedua-duanya
Simbol : - (minus)
Contoh Queri :
Skema relasi MTKULIAH ( kd_mk, nama_mk, sks)
Skema relasi NILAI (npm, kd_mk, nil_mid, nil_uas)
Dicari kode mata kuliah yang bersks 2 dan nilai mid untuk kode mata kuliah tersebut
dibawah 50
Π kd_mk (δ sks = 2
(MTKULIAH)) - Π kd_mk (δ nil_mid > 50