tugas 6

10 December 2012 22:57:18 Dibaca : 448

CONTOH DIAGRAM BASIS DATA ER PADA POLIKLINIK

Studi Kasus-Poliklinik

Asumsi

n  Setiap pasien yang akan memeriksakan kesehatan terdaftar dalam data pasien

n  Setiap pasien memiliki catatan medik dari penyakit yang pernah diperiksakan, catatan medik juga menyimpan jenis penyakit dari pasien

n  Setiap dokter memiliki catatan medik dari pasien-pasien yang telah diperiksa

n  Poliklinik menangani transaksi pembelian obat dari pasien

Langkah langkah pembuatan E-R diagram

ü  Identifikasi entitas dan atribut key untuk masing-masing entitas

ü  Identifikasi seluruh relasi

ü  Identifikasi atribut non key (bukan kunci) pada   entitas dan relasi

ü  Identifikasi bilangan kardinalitas

Identifikasi entitas dan atribut key untuk masing-masing entitas

Entitas:

n  Pasien              : kode pasien,nama,alamat,telpon,tanggal lahir

n  Dokter             : kode dokter,nama ,alamat,spesialis

n  Catatan_medik            :kode medik,tanggal periksa,resep

n  Penyakit                      :kode penyakit,nama penyakit

n  Detail_penyakit           :kode detail penyakit,nama detail penyakit

n  Transaksi                     :kode transaksi,tanggal,jumlah,total

n  Obat                :kode obat,nama,tanggal,stok,harga

 

Identifikasi seluruh relasi

v  Pasien dengan catatan medik relasinya mempunyai

v  Catatan medik dengan dokter relasinya dimiliki

v  Pasien dengan transaksi relasinya melakukan

v  Catatan medik dengan detail penyakit relasinya mencatat

v  Detail penyakit dengan penyakit relasinya detail

v  Transaksi dengan obat relasinya transaksi

ERD-Poliklinik

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Identifikasi atribut non key (bukan kunci) pada   entitas dan relasi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Identifikasi Bilangan kardinalitas

v  Pasien dengan catatan medik: relationship : one to one

            Atribut Penghubung   : kode pasien,kode medik

v  Catatan medik dengan dokter: relationship : many to one

            Atribut Penghubung   : kode medik,kode dokter

v  Pasien dengan transaksi: relationship : one to one

            Atribut Penghubung   : kode pasien,kode transaksi

v  Catatan medik dengan detail penyakit: relationship : many to one

            Atribut Penghubung   : kode medik,kode detail penyakit

v  Detail penyakit dengan penyakit: relationship : many to one

            Atribut Penghubung   : kode detail penyakit,kode penyakit

v  Transaksi dengan obat relationship : many to one

            Atribut Penghubung   : kode transaksi,kode obat

 

tugas 4

26 November 2012 10:37:49 Dibaca : 183

Categories: 4.


model data relasional

I. Pengertian Model Relasional, Contoh Tabel, dan Keterhubungannya.

Sebuah database relasional terdiri dari koleksi dari tabel-tabel, yang masing-masing diberikan nama yang unik. Sebuah baris dalam tabel merepresentasikan sebuah keterhubungan/relationship dari beberapa nilai yang ada.

Contoh tabel dan keterhubungannya :

Contoh tabel relasi

II. Kelebihan Model Relasional

Model Relasional merupakan model data yang paling banyak digunakan saat ini. Hal ini disebabkan oleh bentuknya yang sederhana dibandingkan dengan model jaringan/network atau model hirarki. Bentuk yang sederhana ini membuat pekerjaan seorang programmer menjadi lebih mudah, yaitu dalam melakukan berbagai operasi data (query, insert, update, delete, dan lainnya).

III. Istilah-Istilah dalam Model Relasional

  • Relasi

berdasarkan definisi matematika, adalah sebuah himpunan bagian dari perkalian kartesian dari sekumpulan domain. Dalam model relasional, relasi dapat direpresentasikan dengan tabel.

  • Atribut

adalah kepala/header dari setiap kolom yang ada dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, atribut yang ada adalah NPM, Nama, dan Alamat.

  • Tupel

adalah sebuah baris dalam tabel relasi. Berdasarkan contoh tabel MKUL sebelumnya, salah satu tupelnya adalah (KU122, Pancasila, 2).

  • Domain

adalah sekumpulan nilai yang valid untuk setiap atribut yang ada dalam tabel relasi. Berdasarkan contoh tabel NILAI sebelumnya, domain dari atribut FINAL adalah angka 0 sampai 100.

  • Derajat

adalah jumlah atribut yang ada dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, derajat dari relasinya adalah 3.

  • Kardinalitas

adalah jumlah tupel yang ada dalam tabel relasi. Berdasarkan contoh tabel MKUL sebelumnya, kardinalitas dari relasinya adalah 3.

IV. Relational Keys

  • Super Key

adalah sebuah atau sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi. Berdasarkan contoh tabel MHS sebelumnya, super key yang mungkin adalah (NPM), (NPM, Nama), (NPM, Alamat), (Nama, Alamat), dan (NPM, Nama, Alamat).

  • Candidate Key

adalah super key yang himpunan bagian yang sebenarnya tidak ada yang menjadi super key juga. Berdasarkan contoh super key sebelumnya, candidate key yang mungkin adalah (NPM) dan (Nama, Alamat). Atribut Nama dan Alamat dapat dijadikan candidate key jika kombinasi keduanya bisa menjadi pengidentifikasi yang unik untuk sebuah tabel relasi.   

  • Primary Key

adalah candidate key yang dipilih sebagai pengidentifikasi unik untuk sebuah tabel relasi. Berdasarkan contoh candidate key sebelumnya, primary key yang dipilih adalah (NPM), karena nilai NPM sangat unik dan tidak ada 2 mahasiswa yang memiliki NPM yang sama.

  • Alternate Key

adalah candidate key yang tidak dipilih sebagai primary key. Berdasarkan contoh candidate key sebelumnya, alternate key adalah (Nama, Alamat).

 

V. Relational Integrity Rules

  • NULL

adalah nilai sebuah atribut yang tidak diketahui atau tidak ada pada sebuah tupel dalam tabel relasi. Misalnya pada contoh tabel MHS sebelumnya, seorang mahasiswa tidak diketahui alamatnya sehingga pada tupel yang mengidentifikasi mahasiswa tersebut nilai dari atribut alamat diisi dengan NULL.

  • Entity Integrity

adalah sebuah peraturan integritas yang menyatakan bahwa setiap tabel relasi harus mempunyai sebuah primary key, dan atribut/sekumpulan atribut yang dipilih sebagai primary key harus mempunyai nilai dan nilai tersebut harus unik dan tidak NULL.

  • Referential Integrity

adalah sebuah peraturan integritas yang menyatakan bahwa setiap atribut sebuah tabel relasi yang menunjuk ke tabel relasi lainnya harus merupakan hubungan yang valid. Berdasarkan contoh tabel MKUL dan NILAI sebelumnya, nilai atribut KDMK pada tabel NILAI harus merupakan data yang ada dan valid pada tabel MKUL yang ditunjuknya.

tugas 7

26 November 2012 10:35:29 Dibaca : 242

NORMALISASI DATABASE

Normalisasi merupakan sebuah upaya untuk memperoleh sebuah database dengan struktur yang baik dengan cara menerapkan sejumlah aturan pada setiap tabel agar ruang penyimpanan efisien. Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapat database yang optimal

Istilah penting dalam teknik normalisasi

1.     Field / atribut kunci. Setiap file selalu terdapat kunci dari file berupa satu field atau satu field yang dapat mewakili record.

2.    Candidate key. Kumpulan atribut minimal yang secara unik mengidentifikasi sebuah baris fungsinya sebagai calon primary key.

3.    Composite key. Kunci kandidat yang berisi lebih dari satu atribut

4.    Primary key. Candidate key yang dipilih untuk mengidentifikasi baris secara unik

5.    Alternate key. Candidate key yang tidak dipilih sebagai primary key

6.    Foreign key. Key di tabel lain yang terhubung dengan primary key pada sebuah tabel

 

 

 

 

 

 

Keterangan :

1.     Atribut kunci      -> NIS 

2.    Candidate key   -> NIS dan Nama 

3.    Composit key    -> Nama bisa dibagi menjadi nama depan dan nama belakang. Alamat bisa dibagi menjadi jalan, kota, propinsi 

4.    Primary key        -> NIS 

5.    Alternate key    -> Nama 

6.    Foreign key        -> NIS pada tabel nilai merupakan foreign key

Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb:

Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya  harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel-tabel baru tersebut bisa menghasilkan tabel semula dengan sama persis. 

Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation).

Tidak melanggar Boyce-Code Normal Form (BCNF) (-akan dijelaskan kemudian-)

Boyce-Code Normal Form (BCNF)

Jika kriteria ketiga (BCNF) tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal  tahap ketiga (3rd Normal Form / 3NF).

FUNCTIONAL DEPENDENCY (FD)

Notasi: A à B    

 A dan B adalah atribut dari sebuah tabel. Berarti secara fungsional A menentukan B atau B tergantung pada A, jika dan hanya jika ada 2 baris data dengan nilai A yang sama, maka nilai B juga sama

Notasi:    A  –> B         atau      A   x –> B

Adalah kebalikan dari notasi sebelumnya 

Aturan normalisasi

1.      Bentuk Normal Tahap Pertama (1st Normal Form / 1NF)

·         Mendefinisikan atribut kunci 

·         Tidak adanya group berulang 

·         Setiap atribut dalam tabel tersebut harus bernilai atomic (tidak dapat dibagi-bagi lagi)  

2.     Bentuk Normal Tahap Kedua (2nd Normal Form / 2NF) 

·         Sudah memenuhi dalam bentuk normal kesatu 

·         Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.

3.     Bentuk Normal Tahap (3rd Normal Form / 3NF) 

·         Sudah berada dalam bentuk normal kedua

·         Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).

4.     Boyce-Code Normal Form (BCNF) 

·         Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk:               X à Y 

·         tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi 

·         Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X à A, BCNF tidak membolehkan A sebagai bagian dari primary key.

5.     Bentuk Normal Tahap (4th Normal Form / 4NF) 

·         Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute 

·         Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies 

6.     Bentuk Normal Tahap (5th Normal Form / 5NF) 

·         Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil. 

·         Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula 

Contoh Kasus

Perancangan Basis data pengolahan nilai Mahasiswa S

Bentuk Unnormalized Form

 

 

 

 

 

 

Bentuk First Normal Form (1NF)

 

 

 

 

 

 

 

Bentuk Second Normal Form (2NF)

Tabel 1

 

 

 

 

 

 

Tabel 2

 

 

 

 

Tabel 3

 

 

 

 

 

 

 

 

 

 

 

Pada bentuk 1NF, masih terdapat ketidaktergantungan terhadap beberapa kolom (misal TTL tidak bergantung pada kode_matkul), sehingga tabel dipecah menjadi 3 bagian agar tabel-tabel tersebut dapat memiliki ketergantungan terhadapat kolom-kolomnya (misal NIM bergantung pada nama_mhs dan ttl).

Bentuk Third Normal Form (3NF)

Tabel 1 dan 2 sudah memenuhi criteria bantuk 3NF, namun tidak untuk tabel 3, karena bila kita ingin merubah value bobot dari nilai, maka kita akan melakukan perubahan pada banyak record/baris yang lainnya. Sehingga pada bentuk 3NF, tabel 3 dapat dipecah lagi menjadi 2 tabel agar memenuhi kriteria bentuk 3NF.

Tabel 3a

 

 

 

 

 

 

 

Tabel 3b

 

 

 

 

 

 

 

 

 

Bentuk Boyce-Codd Normal Form (BNF)

Dalam kasus ini, sebenarnya pada bentuk 3NF sudah memenuhi criteria sebagai tabel relasional yang dapat diimplementasikan pada RDBMS, tidak harus dalam bentuk BNF. Jadi bentuk BNF pun tidak mutlak dijadikan sebagai bentuk dalam RDBMS.

Bentuk BNF memiliki syarat harus memenuhi syarat ketergantungan fungsional dan ketergantungan transitif.

tgs III, 1.DML, 2.DDL

08 October 2012 09:57:11 Dibaca : 321

Tugas III

 

1.DML

 

Sebuah manipulasi data bahasa (DML) adalah keluarga dari elemen sintaks mirip dengan bahasa pemrograman komputer yang digunakan untuk memasukkan, menghapus dan memperbarui data dalam database. Pertunjukan read-only query data kadang-kadang juga dianggap sebagai komponen DML.

Sebuah bahasa manipulasi data populer adalah bahwa dari Structured Query Language (SQL), yang digunakan untuk mengambil dan memanipulasi data dalam database relasional. Bentuk lain dari DML adalah yang digunakan oleh database IMS / DLI, CODASYL, seperti IDMS dan lain.

Bahasa manipulasi data terdiri dari laporan data perubahan SQL, yang memodifikasi data yang disimpan tetapi tidak skema atau database objek. Manipulasi objek database persisten, misalnya, meja atau disimpan prosedur, melalui pernyataan skema SQL,, bukan data yang tersimpan dalam diri mereka, dianggap sebagai bagian dari bahasa definisi data terpisah. Dalam SQL kedua kategori serupa dalam sintaks rinci mereka, tipe data, ekspresi dll, namun berbeda dalam fungsi mereka secara keseluruhan.

Bahasa manipulasi data memiliki kemampuan fungsional mereka diselenggarakan oleh kata awal dalam sebuah pernyataan, yang hampir selalu kata kerja. Dalam kasus SQL, verba ini adalah:

    
SELECT ... DARI ... MANA ...
    
INSERT INTO ... NILAI ...
    
UPDATE ... SET ... MANA ...
    
DELETE FROM ... MANA ...

The murni read-only SELECT query digolongkan dengan laporan 'SQL-data' dan karena itu dianggap oleh standar berada di luar DML. SELECT ... INTO form dianggap DML karena memanipulasi (yaitu memodifikasi) data. Dalam praktek umum meskipun, pembedaan ini tidak dibuat dan SELECT secara luasdianggapsebagaibagiandariDML.

 

Implementasi database yang paling SQL SQL memperluas kemampuan mereka dengan menyediakan penting, yaitu, prosedural, bahasa. Contoh ini adalah Oracle PL / SQL dan DB2 SQL PL.
Bahasa manipulasi data cenderung memiliki rasa yang berbeda dan kemampuan antara vendor database.
Ada beberapa standar yang ditetapkan untuk SQL oleh ANSI, tapi vendor masih menyediakan ekstensi standar mereka sendiri untuk sementara tidak menerapkan standar keseluruhan.
Bahasa manipulasi data dibagi menjadi dua jenis, pemrograman prosedural dan pemrograman deklaratif.
Setiap pernyataan SQL DML adalah perintah deklaratif. The SQL individu pernyataan yang deklaratif, sebagai lawan penting, dalam arti bahwa mereka menggambarkan tujuan program, ketimbang menjelaskanproseduruntukmewujudkantargettersebut.
Bahasa manipulasi data yang awalnya hanya digunakan dalam program komputer, tetapi dengan munculnya SQL telah datang untuk digunakan secara interaktif oleh database administrator.

 

2.DDL

 

Definisi data bahasa atau bahasa deskripsi data (DDL) adalah sintaks mirip dengan bahasa pemrograman komputer untuk mendefinisikan struktur data, terutama skema database.

 

Definisi data bahasa konsep dan nama pertama kali diperkenalkan dalam kaitannya dengan model database CODASYL, di mana skema database ditulis dalam sintaks bahasa menggambarkan catatan, ladang, dan set model data pengguna. Kemudian digunakan untuk merujuk kepada subset dari Structured Query Language (SQL) untuk membuat tabel dan kendala. SQL-92 memperkenalkan bahasa skema manipulasi dan tabel skema informasi untuk skema permintaan. Tabel ini informasi yang ditetapkan sebagai SQL / Skema di SQL: 2003. DDL Istilah ini juga digunakan dalam pengertian generik untuk merujuk ke bahasa formal untuk menggambarkan data atau struktur informasi.

 

SQL
Tidak seperti bahasa deskripsi data banyak
, SQL menggunakan koleksi verba imperatif yang berpengaruh adalah untuk memodifikasi skema database dengan menambahkan, mengubah, atau menghapus definisi tabel atau benda lainnya. Laporan dapat secara bebas dicampur dengan pernyataan SQL lainnya, sehingga DDL tidak benar-benar bahasa yang terpisah.

 

pernyataan CREATE

Buat - Untuk membuat database baru, tabel, indeks, atau query disimpan Sebuah pernyataan CREATE SQL di dalam menciptakan objek dari suatu sistem manajemen database relasional (RDBMS). Jenis-jenis benda yang dapat dibuat tergantung pada RDBMS sedang digunakan, tetapi sebagian besar mendukung terciptanya tabel, indeks, pengguna [mengklarifikasi], sinonim, dan database. Beberapa sistem (seperti PostgreSQL) memungkinkan CREATE, dan perintah DDL lainnya, dalam transaksi dan dengan demikian mereka dapat digulung kembali.

 

Pernyataan CREATE TABLE

Perintah MENCIPTAKAN umum digunakan adalah perintah CREATE TABLE. Penggunaan khas adalah:

CREATE TABLE [SEMENTARA] [nama tabel] ([definisi kolom]) [parameter table].

kolom definisi: Sebuah daftar comma-separated yang terdiri dari salah satu dari berikut

     Definisi kolom: [nama kolom] [tipe data] {NULL | NOT NULL} {} pilihan kolom
     Primary key Definisi: PRIMARY KEY ([koma daftar kolom dipisahkan])
     Kendala: {} CONSTRAINT [definisi kendala]
     RDBMS spesifik fungsi

Misalnya, perintah untuk membuat tabel bernama karyawan dengan kolom beberapa sampel akan menjadi:

MENCIPTAKAN karyawan TABLE (
     id INTEGER PRIMARY KEY,
     first_name VARCHAR (50) NULL,
     last_name VARCHAR (75) NOT NULL,
     DateOfBirth NULL DATE
);

Perhatikan bahwa beberapa bentuk CREATE TABLE DDL dapat menggabungkan DML (data bahasa manipulasi)-seperti konstruksi juga, seperti CREATE TABLE AS SELECT (CTAS) sintaks SQL.

 

DROP pernyataan

Drop - Untuk menghancurkan database yang sudah ada, tabel, indeks, atau melihat.

Sebuah pernyataan DROP di SQL menghapus obyek dari sistem manajemen database relasional (RDBMS). Jenis-jenis benda yang bisa dijatuhkan tergantung pada RDBMS sedang digunakan, tetapi sebagian besar mendukung menjatuhkan tabel, pengguna, dan database. Beberapa sistem (seperti PostgreSQL) memungkinkan DROP dan perintah DDL lainnya terjadi dalam transaksi dan dengan demikian akan digulung kembali. Penggunaan yang khas hanya:

DROP objectname objecttype.

Misalnya, perintah untuk menjatuhkan tabel bernama karyawan akan menjadi:

DROP TABLE pegawai;

Pernyataan DROP berbeda dari DELETE dan pernyataan truncate, dalam DELETE dan truncate tidak menghapus tabel itu sendiri. Misalnya, pernyataan DELETE mungkin menghapus beberapa (atau semua) data dari tabel sementara meninggalkan meja itu sendiri dalam database, sedangkan pernyataan DROP akan menghapus seluruh tabel dari database.

 

ALTER pernyataan

Alter - Untuk memodifikasi objek database yang sudah ada.

Sebuah pernyataan ALTER di SQL mengubah sifat dari obyek dalam sebuah sistem manajemen database relasional (RDBMS). Jenis-jenis benda yang dapat diubah tergantung pada RDBMS sedang digunakan. Penggunaan khas adalah:

ALTER parameter objecttype objectname.

Misalnya, perintah untuk menambahkan (kemudian hapus) kolom bernama gelembung untuk tabel yang ada bernama wastafel akan menjadi:

ALTER TABLE ADD wastafel INTEGER gelembung;
ALTER TABLE DROP gelembung wastafel KOLOM;

 

tgs II, 1.mysql, 2.sql

08 October 2012 09:32:04 Dibaca : 196

Tgs II

 

1.MYSQL

 

 MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.

 

Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.

 

Sistem manajemen basis data relasional

 

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

 

Kehandalan suatu sistem basisdata (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai peladen basis data, MySQL mendukung operasi basisdata transaksional maupun operasi basisdata non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basisdata kompetitor lainnya. Namun demikian pada modus non-transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basisdata transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non-transaksional.

 

Keistimewaan MySQL

 

MySQL memiliki beberapa keistimewaan, antara lain :

 

  1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
  2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis.
  3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
  4. 'Performance tuning', MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
  5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
  6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
  7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
  8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
  9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
  10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya.
  11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool)yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
  13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.

 

2.SQL

 

SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.

 

Sejarah

 

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).

 

Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.

 

Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.

 

Standarisasi

 

Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.

 

Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.

 

Pemakaian dasar

 

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[3], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

 

Data Definition Language

 

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

 

CREATE

 

CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:

 

CREATE DATABASE nama_basis_data

 

CREATE DATABASE membuat sebuah basis data baru.

 

CREATE TABLE nama_tabel

 

CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk

 

CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)

 

atau

 

CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field constraints]
)

 

dengan:

 

nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.

 

tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.

 

constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).

 

Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.

 

Contoh:

 

CREATE TABLE user
(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);

 

akan membuat tabel user seperti berikut:

 

username

passwd

tanggal_lahir

 

Data Manipulation Language

 

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:

 

  • SELECT untuk menampilkan data
  • INSERT untuk menambahkan data baru
  • UPDATE untuk mengubah data yang sudah ada
  • DELETE untuk menghapus data

 

SELECT

 

SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.

 

SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]

 

dengan:

 

  • kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
  • kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.

 

Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.

 

Contoh:

 

Diasumsikan terdapat tabel user yang berisi data sebagai berikut.

 

username

passwd

tanggal_lahir

jml_transaksi

total_transaksi

Aris

6487AD5EF

09-09-1987

6

10.000

Budi

97AD4erD

01-01-1994

0

0

Charlie

548794654

06-12-1965

24

312.150

Daniel

FLKH947HF

24-04-1980

3

0

Erik

94RER54

17-08-1945

34

50.000

 

Contoh 1: Tampilkan seluruh data.

 

SELECT *
FROM user

 

Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.

 

SELECT *
FROM user
WHERE total_transaksi = 0

 

Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.

 

SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000

 

Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.

 

SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user

 

Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.

 

SELECT *
FROM user
ORDER BY jml_transaksi DESC

 

Fungsi aggregat

 

Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:

 

  • SUM untuk menghitung total nominal data
  • COUNT untuk menghitung jumlah kemunculan data
  • AVG untuk menghitung rata-rata sekelompok data
  • MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.

 

Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.

 

Subquery

 

Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:

 

Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.

 

SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT MAX(jml_transaksi)
FROM user
)

 

INSERT

 

Untuk menyimpan data dalam tabel digunakan sintaks:

 

INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])

 

Contoh:

 

INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');

 

UPDATE

 

Untuk mengubah data menggunakan sintax:

 

UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]

 

Contoh:

 

UPDATE Msuser set password="123456" where username="abc"

 

DELETE

 

Untuk menghapus data dipergunakan sintaks:

 

DELETE FROM [nama_table] Where [KONDISI]

 

Contoh:

 

DELETE FROM TEST WHERE NAMA='test';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Kategori

  • Masih Kosong

Blogroll

  • Masih Kosong