Jumat, 09 September 2011

UML (Unified Modelling Language)

UML adalah sebuah "bahasa" yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem.

Dengan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walau demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).




Langkah-Langkah Penggunaan UML

Berikut ini adalah tips pengembangan piranti lunak dengan menggunakan UML:

1. Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul.

2. Petakan use case untuk tiap business process untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. Kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain.

3. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.

4. Definisikan requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.

5. Berdasarkan use case diagram, mulailah membuat activity diagram.

6. Definisikan objek-objek level atas (package atau domain) dan buatlah sequence dan/atau collaboration diagram untuk tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, buatlah satu diagram untuk masing-masing alir.

7. Buarlah rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.

8. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodanya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.

9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu buatlah component diagram pada tahap ini. Juga, definisikan tes integrasi untuk setiap komponen meyakinkan ia berinteraksi dengan baik.

10. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.

11. Mulailah membangun sistem. Ada dua pendekatan yang dapat digunakan :
• Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
• Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.

12. Lakukan uji modul dan uji integrasi serta perbaiki model berserta codenya. Model harus selalu sesuai dengan code yang aktual.

13. Piranti lunak siap dirilis.

Kamis, 02 Juni 2011

Database Connectivity


Database Connectivity

1. Koneksi database

adalah sebuah fasilitas dalam ilmu komputer yang memungkinkan perangkat lunak client untuk berkomunikasi dengan perangkat lunak database server. Sambungan diperlukan untuk mengirimkan perintah dan menerima jawaban.

Hal yang harus diperhatikan dalam Koneksi Database:
  • Knowing the business, not only technology 
  • Centralized or Distributed 
  • Thin client or fat client 
  • Database gateway 
  • Network Trafic 
  • Webbase or dekstop:
             * Need provider?
             * Availability?
             * Red use down time

2. Elemen – elemen dalam Database Connectivity

Database adalah repositori dimana data disimpan untuk perusahaan. Java EE mengakses aplikasi database relasional melalui API JDBC. Untuk prosedur administrasi. JDBC Connection Pool adalah sekelompok koneksi dapat digunakan kembali untuk database tertentu untuk prosedur administrasi.

3. Pooling Connection

Koneksi database yang terbatas dan mahal dapat memakan waktu yang tidak proposional dan lama untuk menciptakan relatif terhadap operasi yang dilakukan pada mereka. Hal ini sangat tidak efisien untuk sebuah aplikasi untuk membuat menutup koneksi database jika perlu untuk memperbaharui database.

4. ODBC (Open Database Connectivity)

Sebuah standar terbuka untuk konektivitas antar mesin basis data. Standar ini menyediakan API yang dapat digunakan untuk menjalankan dan mengoneksikan sebuah aplikasi dengan sbeuah sistem managemen basis data (SMBD). Pada Desainer ODBC membuatnya dengan tujuan agar ODBC terbebas dari penggunaan bahasa pemrograman tertentu, sistem manajemen basis data tertentu, dan sistem operasi tertentu.

5. Komponen utama ODBC
  • ODBC API : Sekumpulan panggilan fungsi kode – kode kesalahan dan sintaksis SQL yang mendefinisikan bagaimana data dalam sebuah DBMS diakses. 
  • Driver basis data ODBC : driver yang mampu memproses panggilan fungsi ODBC untuk sebuah DBMS tertentu. 
  • ODBC Driver Manager : yang bertugas untuk memuat driver basis data ODBC yang dibutuhkan oleh aplikasi. 
6. Jadi kesimpulannya terdapat beberapa hal yang penting yang harus diperhatikan, yaitu :
  • Knowing the business, not only technology [fokus terhadap pemahaman tentang bisnis] 
  • Centralized or distributed [memperhitungkan apakah menggunakan databse terpusat atau terdistribusi] 
  • Thin client fat client [melihat apakah client yang di layani dalam kapasitas kecil atau besar] 
  • Database gateway [melihat hubungan – hubungan (connect) dan pembatasanannya] 
  • Network trafic [kemampuan atau kinerja dalam trafic network] 
  • Database design [bagaimana disain dari database tersebut] 

Data Management and Distribution


Data Movement
- Load adalah import->memasukkan data dari transaksi ke dalam tabel, berupa insert data baru/update.Isi database sesuai kebutuhan
- Unload adalah export->dari database ke data file
Export & Import
Memiliki kesamaan dengan load maupun unload akan tetapi berbeda fungsinya
Limit : membatasi berupa record yang kita tulis / pindahkan
Contoh: Limit 200
             Sample (20.5)
             when (salary>500)
When–>perpindahan data yang menggunakan syarat
* Masalah hak akses : pada load & unload harus ada ” grant “
                                  EXP_DATABASE
                                  IMP_DATABASE
Bulk Data Movement
ETL : merupakan software / teknologi lain yang disertakan untuk movement digunakan untuk membuat datawarehouse, misal pengkodean item
Replication propagation : sama-sama dari source database ke target database ( mencatat log )
ROW
Row size = Length (Col1) +……….+ Length (Coln)
PAGE
Row perpage= Storage Capacity/Row size
Table
Table size(kb) = (number of rows/row perpage)x capacity
Distributed Dbase
-Autonomi->Independent
-Isolation->Stand Alone
-Transparency->All User
Terpusat->mudah dimaintenance
Terpisah->harus jalan syncronisasi

Storage Management


Storage Management 
Oracle Instance
Oracle database selalu diasosiasikan dengan Oracle Instance. Saat database dijalankan pada database server, oracle mengalokasikan memory yang disebut System Global Area (SGA) dan menjalankan beberapa oracle background process. Kombinasi dari SGA dan Oracle processes disebut dengan Oracle Instance. Memory dan proses dari instance mengatur data dalam database secara efisien dan dapat melayani satu atau lebih user yang menggunakan basis data ini.
Memory Structure
Memory di Oracle digunakan untuk menyimpan:
  • Kode program yang akan dieksekusi
  • Informasi tentang session
  • Data yang akan dieksekusiInformasi yang di share dan dikomunikasi oleh proses yang lain. Misalnya locking information
  • Cache information

Dasar struktur memory yang berhubungan dengan oracle:
  • Software Code Area
  • System Global Area (SGA)
  • Program Global Area (PGA)
  • Sort area


Software Code Areas
Bagian dari memory yang digunakan untuk menyimpan kode program yang akan dieksekusi. Perintah/kode oracle disimpan di software code areas yang biasanya berada di tempat yang berbeda-beda sesuai dengan program dari user. Ukuran software codes areas statis, berubah jika dilakukan installasi ulang atau update.

System Global Area (SGA)

Memory Structure dasar yang berhubungan dengan Oracle instance adalah :
• System Global Area (SGA) : di-share oleh semua server dan background process
• Program Global area (PGA) : Private untuk masing-masing server dan background process. Satu PGA untuk masing-masing proses.

System Global Area (SGA) merupakan memory area yang meliputi data dan control informasi untuk instance.
Program Global Area (PGA) adalah memory yang terdiri dari data dan control information untuk masing-masing proses server.

Space Management
Automatic Storage Management (ASM) yang dimiliki oleh Oracle 10g ini dapat meningkatkan kemampuan dalam memanajemen dan menkonsolidasikan antar data dalam basis data/ database.


Fungsi dari Automatic Storage Management (ASM)
Melakukan manajemen penyimpanan data pada storage dengan mendefinisikan storage berdasarkan grup-grup tertentu untuk mengurangi adanya redundansi data, khususnya ketika seorang DBA melakukan penyimpanan data.

Automatic Storage Management (ASM) menyediakan fungsionalitas sebagai berikut:
  • Mengatur kelompok disk, disebut disk group.
  • Mengelola disk redundansi dalam suatu disk group.
  • Menyediakan dekat-optimal I / O menyeimbangkan tanpa tuning manual.
  • Memungkinkan manajemen objek database tanpa menyebutkan mount point dan nama file.
  • Mendukung file ukuran besar.


Tablespace
Tablespace merupakan bagian dari arsitektur logic database Oracle (secara sekilas, struktur logik database Oracle adalah tablespace, segment, extent, dan block).


Terdapat 4 jenis Tablespace
System tablespace
Menyimpan informasi operasional dan menentukan atribute dari data yang disimpan seperti tipe data, besar maksimum dari sebuah column, pemilik data dan lain-lain.

SYSAUX tablespace
Sebagian besar dari tool yang digunakan untuk menjalankan aktifitas database menyimpan object dan informasi di dalam tablespace ini. Ketika database dibentuk, tablespace ini wajib dibuat.

Default temporary tablespace
Berguna untuk penampungan sementara dari hasil output resultset atau untuk mendukung aktifitas seperti sorting. Sangat berguna jika memory yang ada tidak cukup untuk menjalankan sebuah operasi.

Undo tablespace
Berguna untuk menyimpan row yang diubah namun belum dicommit atau diroll back.

Datafiles
Sebuah tablespace di database Oracle terdiri dari satu atau lebih datafiles fisik. Suatu datafile dapat dikaitkan dengan hanya satu tablespace dan hanya satu database.

Redo Logs
Redo Log File merupakan jenis berkas yang sangat penting. Berkas Redo Log File yang rusak kadang membuat database sama sekali tidak bisa dibuka. Redo Log Files ini pada umumnya memuat transaksi transaksi, namun dalam jangka waktu yang tidak terlalu lama.
Rollback Segment
Rollback segment dipakai untuk menyimpan data sebelum transaksi. Sehingga selama transaksi itu belum di commit, session lain masih dapat melihat data yang original. Hal ini untuk menjaga consistency.

Disaster recovery planning


Disaster recovery planning

Disaster (bencana) didefinisikan sebagai kejadian yang waktu terjadinya tidak dapat diprediksi dan bersifat sangat merusak. Pengertian ini mengidentifikasikan sebuah kejadian yang tiba-tiba, tidak diharapkan, bersifat sangat merusak, dan kurang perencanaan. Bencana terjadi dengan frekuensi yang tidak menentu dan akibat yang ditimbulkannya meningkat bagi mereka yang tidak mempersiapkan diri terhadap kemungkinan-kemungkinan timbulnya bencana. Berbagai bencana yang mungkin terjadi antara lain adalah:
  1. Bencana alam disebabkan oleh kondisi geografis dan geologis dari lokasi
  2. Kebakaran disebabkan oleh faktor lingkungan dan pengaturan sistem elektrik yang dapat menyebabkan korsleting
  3. Kerusakan pada jaringan listrik disebabkan oleh sistem elektrik
  4. Serangan teroris disebabkan oleh lemahnya keamanan fisik dan non fisik data center
  5. Sistem atau perangkat yang rusak terkait dengan kesalahan manajemen pengawasan perangkat
  6. Kesalahan operasional akibat ulah manusia
  7. Virus misalkan disebabkan oleh kesalahan pemilihan anti virus yang digunakan
Dengan kata lain  Disaster Recovery Planning merupakan serangkaian kegiatan yang bertujuan untuk mengurangi dan membatasi resiko – resiko buruk (bencana) dan nantinya membuat kerugian – kerugian pada proses bisnis yang ada. Dapat dikatakan bahwa proses ini adalah sebuah proses penanggulangan – penganggulangan atau rencana untuk menanggulangi suatu bencana pada proses bisnis.
Beberapa Keuntungan dari Disaster Recovery Planning
  • Memperbaiki system proteksi terhadapat setiap aset – aset penting yang dimiliki oleh perusahan tersebut.
  • Membuat system proteksi infomasi atau data – data perusahaan lebih efektif.
  • Mengurangi resiko bencana akibat kesalahan manusia
  • Memperbaiki manajemen perusahaan
Hal- hal yang perlu diperhatikan dalam menyusun Informasi Disaster Recovery Plan dalam sebuah Perusahaan Adalah :
  • Memastikan keamanan para pekerja dan pengunjung pada lokasi di mana mereka berada
  • Melindungu record dan informasi penting
  • Memastikan keamanan fasilitas dan lokasi-lokasi bisnis
  • Memastikan ketersediaan material, perlengkapan dan peralatan
  • Mengurangi resiko bencana yang diakibatkan oleh kesalahan manusia atau kegagalan peralatan yang digunakan
  • Data-data dan fasilitas penting lainnya telah ditata dengan baik sehingga memudahkan proses pemulihan ketika bencana alam terjadi
Jenis-jenis Recovery
  1. User-Managed Recovery
  2. RMAN Recovery
  • Proses Restoration and Datafile Media Recovery dengan RMAN
  • Menggunakan RMAN untuk recover database di mode ARCHIVELOG
  • Menggunakan RMAN untuk mengembalikan datafile ke lokasi yang baru. Langkah-langkahnya yaitu:
  •  Menggunakan RMAN untuk recover tablespace
  • Menggunakan RMAN untuk relocate tablespace
Langkah-langkah recovery incomplete database dengan menggunakan RMAN ialah sebagai berikut:
1. Mount database.
2. Alokasi multiple channel untuk paralelisasi.
3. Restore semua datafile.
4. Recover database dengan menggunakan using UNTIL TIME, UNTIL SEQUENCE, atau UNTIL SCN
5. Buka database dengan menggunakan RESETLOGS.
6. Lakukan backup untuk semua database.

APPLICATION PERFORMANCE AND DATABASE SECURITY


APPLICATION PERFORMANCE AND DATABASE SECURITY
  • Application Performance
  1. Pengertian
Optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.
  1. Perbandingan Antara Dua Database :
    a. My SQL
    Merupakan sebuah system manajemen database. Database adalah sekumpulan
   data yang terstruktur. Untuk menambah, mengakses dan memproses data yang
tersimpan pada database komputer, kita membutuhkan manajemen database seperti
MySQL.
MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah                      untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu,                    source  programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah         untuk dipahami dan tidak rumit  serta pengaksesan database dapat dilakukan dengan                         mudah  dan cepat.
v  Kelebihan My SQL:
1.  Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows,                               MacOS dl.
2. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
3. Memiliki lebih banyak type data seperti : signed/unsigned integer yang                                         memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR,                                  VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP,                                        YEAR, SET dan tipe ENUM.
4. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY.                                      Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG (                     ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
5. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak                                 ODBC.
6. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi                                ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access                                     untuk connect ke MySQL server.
7. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
8. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam                                 query yang sama.
9. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang                                      sangat jauh berbeda.
10. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan                                      ‘Host-Based’ Verifikasi.
v  Kekurangan My SQL :
Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan                                   foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca                          harus sesuai dengan koneksi dari program visual tersebut, dan ini yang                                        menyebabkan mysql jarang dipakai dalam program visual.
Data yang ditangani belum begitu besar.
b. Oracle
            Database Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan      database oracle juga meyediakan yang gratisan versi home edition untuk sekedar yang ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. Untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix, windows, atau yang lainnya.
Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance      oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda           harus menyediakan space harddisk yang cukup besar. Untuk backup oracle mempunyai          extensi sendiri namanya file DMP.
v  Kelebihan Oracle :
1. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati                              misalnya maka data yang sudah kita simpan tidak rusak/hilang.
2. Database Clusters, dengan menggunakan teknologi Real Application Clusters                                (RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap                                 kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah                                 satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal                             ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa                                   database server menjadi seolah-olah satu database server, sehingga apabila ada                                 database server yang down, kinerja database server tersebut akan di-take over                                oleh server-server yang lain.
3. Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table-                                    level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi                              sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam                                      suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
4. Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu                               tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk                                   dalam melakukan manajemen data.
5. Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki                                        fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database)                                  yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak                                      memerlukan database lain selain Oracle itu sendiri.
6. Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas                                 jaminan security sampai pada row-level security. Hal ini akan membuat                                              aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui                                Internet.
7. Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses                                     database tuning dan database manajemen menjadi lebih mudah.
8. Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita                                   mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga                                  apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat                                                melakukan koreksi tanpa harus melakukan database recovery.
9. Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan                                    bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang                                        bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi                                       perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data                                                 Mining.
  • Security Database
Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.
Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database.

APPLICATION PERFORMANCE AND DATABASE SECURITY


APPLICATION PERFORMANCE AND DATABASE SECURITY
  • Application Performance
  1. Pengertian
Optimalisasi penggunaan sumber daya untuk meminimalkan pertentangan, memungkinkan beban kerja kemungkinan terbesar untuk diproses.
  1. Perbandingan Antara Dua Database :
    a. My SQL
    Merupakan sebuah system manajemen database. Database adalah sekumpulan
   data yang terstruktur. Untuk menambah, mengakses dan memproses data yang
tersimpan pada database komputer, kita membutuhkan manajemen database seperti
MySQL.
MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source  programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit  serta pengaksesan database dapat dilakukan dengan mudah  dan cepat.
v  Kelebihan My SQL:
1.  Dapat bekerja di beberapa platform yang berbeda, seperti LINUX, Windows,MacOS dl.
2. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
3. Memiliki lebih banyak type data seperti : signed/unsigned integer yang  memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR,  VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
4. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG (  ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
5. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak  ODBC.
6. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
7. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
8. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
9. Ditulis dengan menggunakan bahasa C dan C++. Diuji oleh compiler yang sangat jauh berbeda.
10. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan  ‘Host-Based’ Verifikasi.
v  Kekurangan My SQL :
Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca  harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.
Data yang ditangani belum begitu besar.
b. Oracle
            Database Storage Engine ini bisa menyimpan data sampai ukuran tera byte, dan      database oracle juga meyediakan yang gratisan versi home edition untuk sekedar yang ingin belajar oracle aja sedangkan untuk versi enterprisenya kita harus bayar. Untuk bagian query-nya oracle tetap menggunakan standard bahasa SQL. Oralce bisa digunakan diberbagai platform seperti unix, windows, atau yang lainnya.
Untuk masalah keamanan oracle bisa dibilang baik. Untuk masalah perfomance oracle kebanyakan bermain di harddisk jadi kalau anda ingin menggunakan oracle anda harus menyediakan space harddisk yang cukup besar. Untuk backup oracle mempunyai extensi sendiri namanya file DMP.
v  Kelebihan Oracle :
1. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati  misalnya maka data yang sudah kita simpan tidak rusak/hilang.
2. Database Clusters, dengan menggunakan teknologi Real Application Clusters(RAC). Salah satu fungsi dari RAC adalah memberikan perlindungan terhadap kelangsungan data dalam perusahaan sehingga apabila terjadi crash pada salah satu server database, maka tidak akan mempengaruhi kinerja perusahaan. Hal ini disebabkan karena teknologi RAC memungkinkan untuk membuat beberapa database server menjadi seolah-olah satu database server, sehingga apabila ada database server yang down, kinerja database server tersebut akan di-take over oleh server-server yang lain.
3. Row-Level Locking, fitur ini dapat melakukan lock tidak hanya pada table- level saha, akan tetapi dimungkinkan untuk melakukan lock lebih jauh lagi sampai pada row-level. Sehingga user-user dapat melakukan akses data dalam suatu tabel secara bersamaan, lebih cepat dan lebih akurat.
4. Data Partitioning, Oracle memungkinkan kita untuk melakukan partisi ke suatu tabel maupun indeks. Hal ini akan dapat meningkatkan kemampuan kita untuk dalam melakukan manajemen data.
5. Oracle OLAP (Integrated Online Analytical Processing), Oracle memiliki  fungsi OLAP (yang sebelumnya hanya dapat kita temui pada OLAP database)  yang terintegrasi dengan baik ke dalam relational database, sehingga kita tidak memerlukan database lain selain Oracle itu sendiri.
6. Virtual Private Database, fitur ini memberikan dan meningkatkan fleksibilitas jaminan security sampai pada row-level security. Hal ini akan membuat aplikasi kita menjadi semakin aman sewaktu kita melakukan transaksi melalui Internet.
7. Intelegent Self-Managing, untuk para DBA, fitur ini akan membuat proses  database tuning dan database manajemen menjadi lebih mudah.
8. Flashback Query, fitur ini memungkinkan kita untuk melihat status data kita  mundur beberapa waktu (flash back) sampai batas yang kita tentukan, sehingga  apabila terjadi kesalahaan data pada waktu yang lalu, maka kita dapat melakukan koreksi tanpa harus melakukan database recovery.
9. Oracle Data Mining & Data Warehousing, fitur ini memberikan kemudahan bagi perusahaan yang ingin men-develop aplikasi Business Intellegent yang  bertujuan untuk membantu eksekutif perusahaan dalam menentuksan strategi  perusahaan berdasarkan analisis data yang di-generate oleh Oracle Data Mining.
  • Security Database
Keamanan database adalah suatu cara untuk melindungi database dari ancaman, baik dalam bentuk kesengajaan atau pun bukan. Ancaman adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap perusahaan/organisasi yang memiliki system database. Keamanan database tidak hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi bagian lain dari system database, yang tentunya dapat mempengaruhi database tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat lunak, orang dan data.
Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database.