TUGAS 4

20 December 2012 16:14:24 Dibaca : 7

*NORMALISASI DATABASE RELASI*

Ketika kita merancang suatu basis data untuk suatu sistem relational, prioritas utama dalam mengembangkan model data logical adalah dengan merancang suatu representasi data yang tepat bagi relationship dan constrainnya (batasannya). Kita harus mengidentifikasi suatu set relasi yang cocok, demi mencapai tujuan di atas. Tehnik yang dapat kita gunakan untuk membantu mengidetifikasi relasi-relasi tersebut dianamakan Normalisasi.

Proses normalisasi pertama kali diperkenalkan oleh E.F.Codd pada tahun 1972. normalisasi sering dilakukan sebagai suatu uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi tersebut sudah baik atau masih melanggar aturan-aturan standar yang diperlakukan pada suatu relasi yang normal (sudah dapat dilakukan proses insert, update, delete, dan modify pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut).

Proses normalisasi merupakan metode yang formal/standar dalam mengidentifikasi dasar relasi bagi primary keynya (atau candidate key dalam kasus BCNF), dan dependensi fungsional diantara atribut-atribut dari relasi tersebut. Normalisasi akan membantu perancang basis data dengan menyediakan suatu uji coba yang berurut yang dapat diimplementasikan pada hubungnan individualshingga skema relasi dapat di normalisasi ke dalam bentuk yang lebih spesifik untuk menghindari terjadinya error atau inkonsistansi data, bila dilakuan update tehadap relasi tersebut dengan Anomaly.

BEBERAPA DEFINISI NORMALISASI

Normalisasi adalah suatu proses memperbaiki / membangun dengan model data relasional, dan secara umum lebih tepat dikoneksikan dengan model data logika

Normalisasi adalah proses pengelompokan data ke dalam bentuk tabel atau relasi atau file untuk menyatakan entitas dan hubungan mereka sehingga terwujud satu bentuk database yang mudah untuk dimodifikasi.

Normalisasi dapat berguna dalam menjawab 2 pertanyaan mendasar yaitu: “apa yang dimaksud dengan desain database logical?” dan “apa yang dimaksud dengan desain database fisikal yang baik? What is phisical good logical database design?”.

Normalisasi adalah suatu proses untuk mengidentifikasi “tabel” kelompok atribut yang memiliki ketergantungan yang sangat tinggi antara satu atribut dengan atrubut lainnya.

Normalisasi bisa disebut jga sebagai proses pengelompokan atribut-atribut dari suatu relasi sehingga membentuk WELL STRUCTURED RELATION.

WELL STRUCTURED RELATIONadalah sebuah relasi yang jumlah kerangkapan datanya sedikit (Minimum Amount Of Redundancy), serta memberikan kemungkinan bagi used untuk melakukan INSERT, DELETE, MODIFY, terhadap baris-baris data pada relasi tersebut, yang tidak berakibat terjadinya ERROR atau INKONSISTENSI DATA, yang disebabkan oleh operasi-operasi tersebut.

Contoh:

Terdapat sebuah relasi Mahasiswa, dengan ketentuan sebagai berikut.

Setiap Mahasiswa hanya boleh mengambil satu mata kuliah saja.Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada mahasiswa yang mengambil matakuliah tersebut).

(berhubung pada blog ini tidak dapat ditampilkan tabel yang telah saya unduh dari internet, maka disini saya hanya mengilustrasikan tabel tersebut lewat kata-kata saja)

Misalnya, terdapat 3 kolom yang masing-masingnya terdiri atas kolom NIM, kolom KODE-MTK, dan kolom BIAYA. Pada kolom pertama atau pada kolom NIM kita bisa menuliskan NIM dari si mahasiswa (mis: 921411026), kemudian pada kolom kedua atau pada kolom KODE-MTK kita bisa menuliskan kode mata kuliah yang diambil si mahasiswa (mis: CS-200), dan selanjutnya pada kolom terakhir atau pada kolom BIAYA kita bisa menuliskan jumlah biaya yang harus dibayarkan untuk setiap kode matakuliah tersebut (mis: 75.000)

Relasi Kuliah di atas merupakan sebuah relasi yang sederhana dan terdiri dari 3 kolom / atribut. Bila diteliti secara seksama, maka akan ditemukan redundancy pada datanya, dimana biaya kuliah selalu berulang pada setiap mahasiswa. Akibatnya besar kemungkinan terjadi error atau inkonsistensi data, bila dilakukan update terhadap relasi tersebut dengan Anomaly.

Anomaly merupakan penyimpangan-penyimpangan atau error atau inkonsistensi data yang terjadi pada saat dilakukan proses delete, insert ataupun modify dalam suatu basis data.

Dikutip dari :

http://bajay-x.blogspot.com/2010/05/normalisasi-database.html

TUGAS 3

20 December 2012 16:13:17 Dibaca : 17

DDL (Data Definition Language )

DDL ( Data Definition Language ) adalah sebuah perintah SQL yang berhubungan dengan pendefinisian suatu database dan tabel. Beberapa perintah dasar yang termasuk dalam DDL antara lain.

1. CREATE

Fungsi : Command CREATE ini berfungsi untuk membuat sebuah database ataupun membuat sebuah table yang berada di dalam database.

Syntax : CREATE database nama_database;

Parameter : -

Contoh : CREATE database apotik;

Penjelasan : perintah CREATE diatas akan membuat sebuah database dengan nama apotik.

2. SHOW

Fungsi : Command SHOW ini berfungsi untuk menampilkan database ataupun table yang telah kita buat sebelumnya.

Syntax : SHOW databases;

Parameter : -

Contoh : SHOW databases;

Penjelasan : perintah SHOW diatas akan memperlihatkan semua database yang ada.

3. USE

Fungsi : Command USE ini berfungsi untuk membuka/mengaktifkan/memasuki database yang telah kita buat. Setelah kita masuk kedalam database yang telah kita buat, barulah kita bisa memanipulasi data yang ada, termasuk untuk membuat table didalam database tersebut.

Syntax : USE nama_database;

Parameter : -

Contoh : USE apotik;

penjelasan : perintah diatas akan mengaktifkan database dengan nama apotik sehingga kita dapat memanipulasi data yang ada.

4. ALTER

Fungsi : Command ALTER ini berfungsi untuk mengubah struktur dari suatu table. Mengubah disini tidak hanya memperbaharui struktur table yang ada, tetapi juga mengubah nama field, menambahkan primary key, mengubah tipe field, maupun menghapus field yang telah dibuat sebelumnya.

Syntax : ALTER TABLE nama_tabel parameter_option;

Parameter : add, modify, drop

Contoh : ALTER TABLE obat ADD harga int (6);

Penjelasan : perintah diatas akan menambahkan field harga kedalam tabel obat.

5. DROP

Fungsi: Command DROP ini berfungsi untuk menghapus, baik database, table, maupun field yang telah diinputkan ke dalam table.

Syntax : DROP TABLE nama_tabel;

Parameter : -

Contoh : DROP TABLE supplier;

Penjelasan : perintah diatas akan menghapus tabel supplier pada database apotik.

Data Manipulation Language (DML)

Data Manipulation Language (DML) digunakan dalam memanipulasi dan pengambilan data pada database.

Manipulasi data, dapat mencakup:

1.Pemanggilan data yang tersimpan dalam database (query).

2.Penyisipan/penambahan data baru ke database.

3.Penghapusan data dari database.

4.Pengubahan data pada database.

Beberapa perintah dasar yang termasuk dalam DDL antara lain.

1. SELECT

Fungsi : Command SELECT ini berfungsi untuk menampilkan sesuatu. Menampilkan disini tidak hanya menampilkan data dari sebuah table saja, tetapi juga untuk menampilkan suatu ekspresi. Seperti menampilkan hanya field yang memiliki kategori Suplement saja.

Syntax : SELECT * FROM nama_tabel;

Parameter : from, order by, where, dll

Contoh : SELECT * FROM obat;

Penjelasan : perintah diatas akan menampilkan semua isi pada tabel obat.

2. DESC

Fungsi : Command DESC ini berfungsi untuk menampilkan struktur tabel yang telah dibuat. Apa saja field yang telah dibuat, type data dari field tersebut, dan primary key akan terlihat disini.

Syntax : DESC nama_table;

Parameter : -

Contoh : DESC obat;

Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.

3. INSERT INTO

Fungsi : Command INSERT INTO ini berfungsi untuk menambahkan data/record dalam suatu tabel yang telah dibuat.

Syntax : INSERT INTO nama_tabel VALUES (‘isi_field1’ , ‘isi_field2’,……);

Parameter : values, set

Contoh : INSERT INTO obat VALUES (’CO012’,’Corsel’,’Suplement’,’13’,’183500’);

Penjelasan : perintah diatas akan membuat sebuah record baru dalam tabel obat dengan id_obat = CO012, nama_obat = Corsel, kategori = Suplement, jumlah = 13, dan harga = 183500.

4. UPDATE

Fungsi : Command UPDATE ini berfungsi untuk merubah/memperbaharui data yang telah ada di dalam tebel.

Syntax : UPDATE nama_tabel SET nama_field = ’nilai_baru’ WHERE nama_field = ’kondisi’ ;

Parameter : set, where

Contoh : UPDATE obat SET id_obat = ‘CE008’ WHERE nama_obat = ‘Cetoros’;

Penjelasan : perintah diatas akan mengubah id_obat BD019 menjadi CE008 pada tabel obat yang memiliki nama_obat Cetoros.

5. DELETE FROM

Fungsi : Command DELETE FROM ini berfungsi untuk menghapus record yang ada pada sebuah tabel.

Syntax : DELETE FROM nama_tabel WHERE nama_field =’option’;

Parameter : where

Contoh : DELETE FROM obat WHERE id_obat =’CO012’;

Penjelasan : perintah diatas akan menghapus record dari tabel obat yang memiliki id_obat CO012.

6. EXPLAIN

Fungsi : Command EXPLAIN ini memiliki fungsi yang sama seperti Desc yaitu berfungsi untuk menampilkan struktur tabel yang telah dibuat, seperti nama_field, type data dari field tersebut, dan primary key.

Syntax : EXPLAIN nama_table;

Parameter : -

Contoh : EXPLAIN obat;

Penjelasan : perintah diatas akan memperlihatkan stuktur dari tabel obat yang telah dibuat.

7. SELECT DESCENDING

Fungsi : Command SELECT DESCENDING ini berfungsi menampilkan semua data dari bawah ke atas berdasarkan field yang telah ditentukan.

Syntax : SELECT field1, field2, dan seterusnya FROM nama_tabel ORDER BY field yang jadi acuan DESC;

Parameter : from, order by, desc

Contoh : SELECT id_obat, nama_obat, jumlah FROM BY obat ORDER BY id_obat DESC;

Penjelasan : Perintah diatas akan menampilkan data pada id_obat, nama_obat dan jumlah pada tabel obat dan yang menjadi acuan pengurutan data dari bawah ke atas adalah id_obat.

8. SELECT COUNT

Fungsi : Command SELECT COUNT ini berfungsi menampilkan jumlah record yang ada dalam suatu tabel.

Syntax : SELECT COUNT(*)FROM nama_tabel;

Parameter : count, from

Contoh : SELECT COUNT(*)FROM obat;

Penjelasan : Perintah diatas menampilkan jumlah record yang ada pada tabel obat.

9. SELECT MAX

Fungsi : Command SELECT MAX ini berfungsi untuk mencari nilai tertinggi pada sebuah field di tabel.

Syntax : SELECT MAX(nama_field) FROM nama_tabel;

Parameter : max, from

Contoh : SELECT MAX(jumlah) FROM obat;

Penjelasan : Perintah diatas akan menampilkan nilai tertinggi dari field jumlah pada tabel obat.

10. SELECT MIN

Fungsi : Command SELECT MIN ini berfungsi untuk mencari nilai terendah pada sebuah field di tabel.

Syntax : SELECT MIN(nama_field) FROM nama_tabel;

Parameter : min, from

Contoh : SELECT MIN(jumlah) FROM obat;

Penjelasan : Perintah diatas akan menampilkan nilai terendah dari field jumlah pada tabel obat.

DCL atau Data Control Language

DCL atau Data Control Language

DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :

1. GRANT : Perintah ini digunakan untuk memberikan hak / izin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapsu (DELETE), mengubah (UPDATE) dan hak khusus berkenaan dengan sistem databasenya.

SINTAKS : GRANT privileges ON tbname TO user

CONTOH : grant select, update, insert, delete on perpustakaan.buku to 'ali'@'localhost';

2. REVOKE : perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

SINTAKS : REVOKE privileges ON tbname FROM user

CONTOH : revoke select, update, insert, delete on perpustakaan.buku from 'ali'@'localhost';

DQL (Data Query Language)

Berikuti ini contoh Query dalam SQL untuk select sederhana,

$data_user = "SELECT * FROM user";

artinya untuk mengambil semua field data pada table user. Dalam Query Doctrine kita bisa menuliskan seperti berikut ini,

$this->data_user = Doctrine::getTable('User')->findAll();

Perhatikan susunan penulisannya. Ada getTable dan element yang mau dicari adalah semua, findAll. Perubahan mendasar dalam penulisan script SQL adalah menggunakan method dengan penamaan yang lebih “manusiawi”. Kalau di SQL biasa dengan tanda bintang asterik “*“, kalau di Doctrine menggunakan method findAll(). Kalau di SQL memanggil nama table nya (misal. user), kalau di Doctrine memanggil nama Model nya (misal. User). Dalam Doctrine (symfony), penulisan nama Model selalu di awali huruf besar, jadi agak sedikit berbeda dengan nama table di database nya.

*Perhatikan susunan penulisannya, karena kita akan sering menemui hal-hal seperti itu nantinya..

Query Select untuk Primary Key tertentu

Percobaan selanjutnya kita akan menggunakan Query select sederhana untuk mengambil data dengan Primary Key tertentu. Misal Table user memiliki primary key pada field id, dan kita akan menampilkan data yang id nya ’1′. maka SQL nya adalah seperti berikut ini,

$data_user = "SELECT * FROM user WHERE (id = '1')";

Maka dalam Query Doctrine kita dapat menuliskan seperti ini,

$this->data_user = Doctrine::getTable('User')->find(1);

Method find() dalam Doctrine digunakan untuk menemukan record berdasarkan primary key nya. Dalam kasus ini, kita tidak perlu memberi tahu Doctrine “siapa yang menjadi primary key“. Pokok nya kalau kita gunakan method find(), maka pasti akan mencari untuk primary key nya saja, yaitu field id.

Query Select mencari field tertentu

Dan ini yang lebih menarik lagi. Yaitu jika kita ingin mencari data dengan syarat field tertentu. Misal, saya ingin mencari record yang field ‘name’ pada table tersebut berisi ‘sule’. Dalam SQL kita biasa menuliskan seperti ini,

$data_user = "SELECT * FROM user u WHERE (u.name = 'sule')";

pada contoh diatas kita menggunakan alias ‘u‘ untuk table user, dan kemudian menambahkan syarat bahwa field name harus terisi oleh ‘sule‘. Dalam Doctrine, penulisannya semakin mudah.

$this->data_user = Doctrine::getTable('User')->findByName('sule');

Gunakan method findBy… yg penulisannya ditambahkan dengan nama field yang akan kita cari. Dalam contoh diatas field yang akan dicari ada lah field ‘name‘, maka method yang digunakan findByName(). Perhatikan penulisan huruf besar kecil, sebagai penanda kata.

Query Select dengan beragam Syarat

Tingkatan lebih lanjut, kita akan mencoba melakukan Query untuk beragam syarat. Seperti yang telah Anda ketahui, syarat dalam Query dapat kita gunakana dengan menambahkan “WHERE“. Untuk referensi nya dapat dilihat di dokumen symfony tentang query.

Berikut ini contoh pengunaan syarat yang lumayan kompleks,

$this->data_user = Doctrine_Query::create()

->from('User u')

->where('u.name = "sule" ')

->execute();atau bisa dengan cara ini,

$this->data_user = Doctrine_Core::getTable('User')

-createQuery('u')

->where('u.name = "sule" ')

->execute();atau dengan cara ini juga bisa,

$this->data_user = Doctrine::getTable('User')

->createQuery('u')

->where('u.name = "sule" '

->execute();Ketiga cara diatas adalah sama, akan menghasilkan Query seperti ini,

$data_user = "SELECT * FROM user u WHERE (u.name = "sule")";

Jadi jangan bingung dengan penggunaan syntax Doctrine, karena akan ada banyak cara menggunakannya, tergantung kebutuhan.

TUGAS 2

21 September 2012 19:18:38 Dibaca : 11

1) my SQL:

1.NUMERIC (M, D) [ZEROFILL]

Sama Artikel Baru DECIMAL.

2.DATE

Sebuah tanggal. MySQL menampilkan tanggal Illustrasi format 'YYYY-MM-DD'. Jangkauan nilainya adalah '1000-01-01 'hingga '9999-12-31'.

3.DATETIME

Sebuah Kombinasi Bahasa Dari waktu (jam) Dan tanggal. MySQL menampilkan waktu Dan tanggal Illustrasi format 'YYYY-MM-DD HH: MM: SS'. Jangkauan nilainya adalah '1000-01-01 'hingga '9999-12-31 23:59:59' 00:00:00.

4.TIMESTAMP [(M)]

Sebuah timestamp. Jangkauannya adalah Bahasa Dari '1970-01-01 00:00:00 'hingga suatu waktu di years 2037. MySQL menampilkan tipe data yang TIMESTAMP format YYYYMMDDHHMMSS Illustrasi, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD, Tergantung bahasa Dari Diskonto M, apakah 14 (atau tidak ditulis), 12, 8, atau 6.

5.TIME

Tipe Data waktu. Jangkauannya adalah '-838:59:59' hingga '838: 59:59 '. MySQL menampilkan WAKTU Illustrasi format 'HH: MM: SS'.

6.YEAR [(2 | 4)]

Angka years, Illustrasi format 2 - atau 4-digit (default adalah 4-digit). Diskonto Yang mungkin adalah 1.901 hingga 2.155, 0000 PADA Format 4-digit, Dan 1.970-2.069 PADA format 2-digit (70-69).

7.CHAR (M) [BINARY]

String Yang memiliki Lebar Tetap. Diskonto M adalah bahasa Dari 1 hingga 255 Karakter. Acute ADA Sisa, Sisa Maka nihil diisi Artikel Baru spasi (misalnya Diskonto M adalah 10, TAPI Data Yang disimpan hanya memiliki 7 Karakter, Maka 3 Karakter sisanya diisi Artikel Baru spasi). Spasi inisial Akan dihilangkan apabila data yang dipanggil. Diskonto Bahasa Dari CHAR Akan disortir Dan diperbandingkan secara case-insensitive * Menurut set karakter default Yang tersedia, kecuali Bila atribut BINARY disertakan.

8.VARCHAR (M) [BINARY]

String Artikel Baru Lebar bervariasi Cara. Diskonto M adalah bahasa Dari 1 hingga 255 Karakter. Acute Diskonto M adalah 10 sedangkan data yang disimpan hanya terdiri Yang bahasa Dari 5 Karakter, Maka Lebar data yang nihil hanya 5 Karakter Saja, tidak ADA tambahan spasi.

2.Oracle:

1. Baku (ukuran): tipe data yang berupa data biner Artikel Baru ukuran Maksimal 255 byte


2. Panjang Baku: Tipe Data berupa data biner Artikel Baru ukuran Maksimal 2 gigabyte tidak dikonversi oleh oracle (data mentah apa adanya, spasi dihitung 1 Karakter).

3. Tanggal: Tipe Data inisial menyimpan waktu Dan tanggal bahasa Dari sebuah INFORMASI, Artikel Baru komponen waktu Yang dibulatkan Ke Detik terdekat. Untuk menampilkannya Illustrasi TEKS harus menggunakan fungsi to_char.

4. Timestamp: tipe inisial mirip Artikel Baru tanggal. Di Dalam, tipe inisial terdapat komponen waktu Yang dapat ditampilkan Langsung Tanpa harus mengubahnya terlebih PT KARYA CIPTA PUTRA Artikel Baru fungsi to_char.

5. CLOB: Tipe Data inisial memperbolehkan penyimpanan objek Artikel Baru ukuran Yang Ulasan Sangat Besar sekitar 4 GB. CLOB mirip Sekali Artikel Baru Saja VARCHAR2 hanya tipe data yang inisial mempunyai kapasitas maksimumnya Yang lebih Besar.
 

6. Blob: tipe inisial memperbolehkan penyimpanan objek bbinary Yang Besar Dan tidak terstruktur. Contoh Bahasa Dari tipe data blob adalah Suara Dan video.

3. PostgreSQL

1.Format Tipe Data Fungsi

Fungsi PostgreSQL format menyediakan satu set alat yang kuat untuk mengubah berbagai jenis data (tanggal / waktu, integer, floating point, angka) ke string diformat dan untuk mengkonversi dari string diformat untuk tipe data tertentu. Tabel 9-20 mendaftarnya. Fungsi-fungsi semua mengikuti konvensi pemanggilan umum: argumen pertama adalah nilai yang akan diformat dan argumen kedua adalah template yang mendefinisikan format output atau input.


    
*Teks biasa diperbolehkan dalam template to_char dan akan menjadi output harfiah. Anda dapat menempatkan substring dalam tanda kutip ganda untuk memaksa untuk ditafsirkan sebagai teks literal bahkan jika itu berisi kata-kata kunci pola. Misalnya, dalam '"Hello Year" YYYY', yang YYYY akan digantikan oleh data tahun, tetapi Y tunggal di Tahun tidak akan.

2.Karakter Jenis

SQL mendefinisikan dua jenis karakter utama: karakter yang bervariasi (n) dan karakter (n), dimana n adalah bilangan bulat positif. Kedua jenis dapat menyimpan string hingga karakter n (tidak bytes) panjangnya. Sebuah usaha untuk menyimpan string lagi ke dalam kolom jenis akan menghasilkan kesalahan, kecuali kelebihan karakter semua ruang, dalam hal ini string akan dipotong dengan panjang maksimum. (. Ini kecuali agak aneh diperlukan oleh standar SQL) Jika string untuk disimpan lebih pendek dari panjang menyatakan, nilai-nilai karakter jenis akan ruang-empuk, nilai-nilai yang bervariasi tipe karakter hanya akan menyimpan string pendek.

Jika seseorang secara eksplisit melemparkan nilai karakter yang bervariasi (n) atau karakter (n), maka nilai over-panjang akan dipotong ke karakter n tanpa meningkatkan kesalahan. (Hal ini juga diperlukan oleh standar SQL.)

The varchar notations (n) dan char (n) adalah alias untuk karakter yang bervariasi (n) dan karakter (n), masing-masing. karakter tanpa specifier panjang setara dengan karakter (1). Jika yang bervariasi karakter digunakan tanpa specifier panjang, jenis menerima string dari berbagai ukuran. Yang terakhir adalah ekstensi PostgreSQL.

Selain itu, PostgreSQL menyediakan jenis teks, yang menyimpan string dari setiap panjang. Meskipun jenis teks tidak dalam standar SQL, beberapa sistem manajemen database lain SQL memilikinya juga.

Nilai karakter jenis secara fisik diisi dengan spasi ke n lebar tertentu, dan disimpan dan ditampilkan dengan cara itu. Namun, ruang bantalan diperlakukan sebagai semantik signifikan. Spasi diabaikan ketika membandingkan dua nilai karakter jenis, dan mereka akan dihapus ketika mengubah nilai karakter ke salah satu jenis string lain. Perhatikan bahwa spasi tambahan semantik signifikan dalam yang bervariasi karakter dan nilai-nilai teks.

Kebutuhan penyimpanan untuk string pendek (sampai dengan 126 byte) adalah 1 byte ditambah string yang sebenarnya, yang mencakup padding ruang dalam kasus karakter. String lagi memiliki 4 byte overhead bukannya 1. String panjang yang dikompresi oleh sistem otomatis, sehingga kebutuhan fisik pada disk mungkin kurang. Nilai-nilai yang sangat panjang juga disimpan dalam tabel latar belakang sehingga mereka tidak mengganggu akses cepat ke nilai kolom pendek. Dalam kasus apapun, karakter string terpanjang mungkin yang dapat disimpan adalah sekitar 1 GB. (Nilai maksimum yang akan diizinkan untuk n dalam deklarasi tipe data kurang dari itu Ia tidak akan berguna untuk mengubah ini karena dengan pengkodean karakter multibyte jumlah karakter dan byte bisa sangat berbeda.. Jika Anda ingin menyimpan string panjang tanpa batas atas tertentu, menggunakan teks atau karakter yang berbeda-beda tanpa specifier panjang, daripada membuat sebuah batas panjang sewenang-wenang.)

    
Tip: Tidak ada perbedaan kinerja antara ketiga jenis, selain ruang penyimpanan meningkat ketika menggunakan tipe kosong-empuk, dan siklus CPU beberapa tambahan untuk memeriksa panjang ketika menyimpan ke dalam kolom panjang-dibatasi. Sementara karakter (n) memiliki keunggulan kinerja dalam beberapa sistem database lain, tidak ada keuntungan seperti di PostgreSQL, dalam karakter fakta (n) biasanya paling lambat dari tiga karena biaya tambahan yang penyimpanan. Dalam kebanyakan situasi teks atau karakter yang berbeda-beda harus digunakan sebagai gantinya.

Lihat Bagian 4.1.2.1 untuk informasi tentang sintaks dari string literal, dan Bab 9 untuk informasi tentang operator yang tersedia dan fungsi. Karakter set database menentukan set karakter yang digunakan untuk menyimpan nilai-nilai tekstual, untuk informasi lebih lanjut mengenai dukungan set karakter.

Ada dua jenis karakter lain tetap-panjang dalam PostgreSQL, ditunjukkan pada Tabel 8-5. Jenis Nama ada hanya untuk penyimpanan pengenal dalam katalog sistem internal dan tidak dimaksudkan untuk digunakan oleh pengguna umum. Panjangnya saat ini didefinisikan sebagai 64 byte (63 karakter yang dapat digunakan ditambah terminator) tetapi harus dirujuk menggunakan NAMEDATALEN konstan dalam kode sumber C. Panjang ditetapkan pada waktu kompilasi (dan karena itu disesuaikan untuk penggunaan khusus), panjang maksimum default mungkin berubah di masa mendatang. Jenis "char" (perhatikan tanda kutip) berbeda dari char (1) dalam hal itu hanya menggunakan satu byte penyimpanan. Hal ini digunakan secara internal dalam katalog sistem sebagai jenis pencacahan sederhana.

Tabel 8-5. Khusus Karakter Jenis
Nama Penyimpanan Ukuran Deskripsi
"Char" 1 byte tipe single-byte internal yang
Nama 64 byte tipe internal untuk nama objek

3.Biner Tipe Data

Jenis bytea data memungkinkan penyimpanan string biner, lihat Tabel 8-6.

Tabel 8-6. Biner Tipe Data
Nama Penyimpanan Ukuran Deskripsi
bytea 1 atau 4 bytes ditambah string biner yang sebenarnya variabel-panjang string biner

Sebuah string biner adalah urutan oktet (atau byte). String biner dibedakan dari string karakter dalam dua cara: Pertama, string biner khusus memungkinkan oktet menyimpan nilai nol dan lainnya "non-printable" octets (biasanya, oktet luar kisaran 32-126). Karakter string melarang nol oktet, dan juga melarang setiap nilai oktet lainnya dan urutan nilai oktet yang valid sesuai dengan encoding set yang dipilih dalam database karakter. Kedua, operasi pada string biner memproses byte yang sebenarnya, sedangkan pengolahan string karakter tergantung pada pengaturan lokal. Singkatnya, string biner yang tepat untuk menyimpan data yang programmer berpikir sebagai "byte mentah", sedangkan string karakter yang sesuai untuk menyimpan teks.

Ketika memasukkan nilai bytea, oktet nilai tertentu harus lolos (tapi semua nilai oktet dapat lolos) bila digunakan sebagai bagian dari string literal dalam sebuah pernyataan SQL. Secara umum, untuk menghindari oktet, mengubahnya menjadi tiga digit nilai oktal dan mendahuluinya oleh dua backslashes. Tabel 8-7 menunjukkan karakter yang harus melarikan diri, dan memberikan escape sequence alternatif mana yang berlaku.


Persyaratan untuk melarikan diri non-printable oktet bervariasi tergantung pada pengaturan lokal. Dalam beberapa kasus Anda dapat pergi dengan meninggalkan mereka unescaped. Perhatikan bahwa hasil di masing-masing contoh pada Tabel 8-7 adalah tepat satu oktet panjang, meskipun representasi output kadang-kadang lebih dari satu karakter.

Alasan backslashes beberapa diperlukan, seperti yang ditunjukkan pada Tabel 8-7, adalah bahwa input string ditulis sebagai string literal harus melewati dua tahap parse di server PostgreSQL. Backslash pertama masing-masing pasangan ditafsirkan sebagai karakter escape oleh parser string literal (dengan asumsi melarikan diri sintaks string digunakan) dan karena itu dikonsumsi, meninggalkan backslash kedua pasangan. (Dollar-dikutip string dapat digunakan untuk menghindari tingkat melarikan diri.) The backslash tersisa kemudian diakui oleh fungsi masukan bytea sebagai awal baik nilai tiga digit oktal atau melarikan diri backslash lain. Sebagai contoh, string literal dikirimkan ke server sebagai E '\ \ 001' menjadi \ 001 setelah melewati parser string yang melarikan diri. The 001 \ kemudian dikirim ke fungsi input bytea, di mana ia dikonversi ke oktet tunggal dengan nilai desimal dari 1. Perhatikan bahwa karakter single-quote tidak diperlakukan khusus oleh bytea, sehingga mengikuti aturan normal untuk string literal. (Lihat juga Bagian 4.1.2.1.)

Octets Bytea kadang-kadang lolos ketika output. Secara umum, masing-masing "non-printable" oktet dikonversi menjadi setara nilainya tiga digit oktal dan didahului oleh satu backslash. Kebanyakan "dicetak" oktet diwakili oleh representasi standar mereka dalam set karakter klien. Oktet dengan nilai desimal 92 (backslash) adalah dua kali lipat dalam output. Rincian pada Tabel 8-8.


Tergantung pada front end untuk PostgreSQL yang Anda gunakan, Anda mungkin memiliki pekerjaan tambahan untuk lakukan dalam hal melarikan diri dan unescaping string bytea. Sebagai contoh, Anda mungkin juga harus melarikan diri kembali garis feed dan kereta jika antarmuka Anda secara otomatis menerjemahkan ini.

Standar SQL mendefinisikan tipe string biner yang berbeda, yang disebut BLOB atau OBYEK BESAR BINARY. Format masukan berbeda dari bytea, tetapi fungsi yang disediakan dan operator yang sebagian besar sama

4. boolean Type

PostgreSQL menyediakan boolean SQL tipe standar. boolean dapat memiliki salah satu dari hanya dua negara: "true" atau "palsu". Sebuah negara ketiga, "tidak diketahui", diwakili oleh nilai null SQL.

Memimpin atau trailing spasi diabaikan, dan kasus tidak masalah. Kata-kata kunci TRUE dan FALSE adalah penggunaan (SQL-compliant) disukai.

Contoh 8-2. Menggunakan tipe boolean

CREATE TABLE test1 (a, b boolean teks);
INSERT INTO test1 VALUES (TRUE, 'sic est');
INSERT INTO test1 VALUES (FALSE, 'est non');
SELECT * FROM test1;
  a | b
--- + ---------
  t | sic est
  f | non est

SELECT * FROM test1 MANA a;
  a | b
--- + ---------
  t | sic est

Contoh 8-2 menunjukkan bahwa nilai-nilai boolean adalah output menggunakan huruf t dan f.

boolean menggunakan 1 byte penyimpanan.

5. UUID Type

Uuid tipe data menyimpan Universally Unique Identifier (UUID) seperti yang didefinisikan oleh RFC 4122, ISO / IEC 9834-8:2005, dan standar terkait. (Beberapa sistem mengacu pada tipe data ini sebagai pengenal global yang unik, atau GUID, sebagai gantinya.) Identifier ini adalah kuantitas 128-bit yang dihasilkan oleh algoritma dipilih untuk membuatnya sangat mungkin bahwa identifier yang sama akan dihasilkan oleh orang lain di alam semesta yang dikenal dengan menggunakan algoritma yang sama. Oleh karena itu, untuk sistem terdistribusi, pengidentifikasi ini memberikan jaminan keunikan baik dari generator urutan, yang hanya unik dalam database tunggal.

Sebuah UUID ditulis sebagai urutan huruf digit heksadesimal, dalam beberapa kelompok dipisahkan oleh tanda hubung, khususnya sekelompok 8 digit diikuti oleh tiga kelompok 4 digit diikuti oleh sekelompok 12 digit, dengan total 32 angka yang mewakili 128 bit. Contoh dari UUID dalam bentuk standar:

a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11

PostgreSQL juga menerima bentuk-bentuk alternatif berikut untuk masukan: penggunaan huruf digit, format standar dikelilingi oleh kawat gigi, menghilangkan beberapa atau semua tanda hubung, menambahkan tanda hubung setelah setiap kelompok empat digit. Contohnya adalah:

A0EEBC99-9C0B-4EF8-BB6D-6BB9BD380A11
{a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11}
a0eebc999c0b4ef8bb6d6bb9bd380a11
a0ee-bc99-9c0b-4ef8-bb6d-6bb9-bd38-0a11
{a0eebc99-9c0b4ef8-bb6d6bb9-bd380a11}

Output selalu dalam bentuk standar.

PostgreSQL menyediakan penyimpanan dan fungsi perbandingan untuk UUIDs, tetapi database inti tidak termasuk fungsi untuk menghasilkan UUIDs, karena tidak ada algoritma tunggal cocok untuk setiap aplikasi. Modul contrib contrib / uuid-ossp menyediakan fungsi yang menerapkan algoritma beberapa standar. Atau, UUIDs dapat dihasilkan oleh aplikasi klien atau perpustakaan lain dipanggil melalui fungsi server-side.

4.DB2

1. DB2 Everyplace
Versi ini merupakan versi DB2 yang terkecil, berukurang hanya sekitar 350kb. Versi ini dibuat untuk para pengguna handheld seperti PDA, smartphone

2. DB2 Express
Versi ini merupakan entry level data server yang didesign untuk komputer yang memiliki hingga 2 CPU dan memory hingga 4GB dan memiliki sistem operasi Linux, Solaris atau Windows. Ada beberapa fitur penting di versi ini yaitu
- pureXML : menyediakan akses yang sederhana dan efisien ke data XML dengan keamanan dan integritas yang sama dengan relational data.
- High Availability : menyediakan ketahanan 24 x 7 pada DB2 data server. 3 bagian yang menyusun fitur ini adalah HADR, Online Reorganization, dan IBM TSA MP.
- Workload Management : fitur ini aktif memonitoring penggunaan query dan mengaturnya agar berjalan secara efisien.
- Performance Optimization : fitur ini mengkombinasikan 3 modul yaitu MQT, MDC dan Query Parallelism.
- DB2 Homogenous Federation Feature : fitur ini menyediakan kemampuan untuk mengatur dan mengakses multiple data server.

3. DB2 Express-C
Versi ini merupakan entry level data server yang didesign untuk komputer yang memiliki hingga 2 CPU dan memory hingga 4GB dan memiliki sistem operasi Linux, atau Windows. Versi ini dapat digunakan untuk tujuan evaluasi dan dapat digunakan secara gratis. Ada beberapa fitur penting di versi ini yaitu
- Spatial Extender Client and samples
- Microsoft Cluster Server support
- Informix Data Source support
- Replication Data Capture
- DB2 Web Tools
- Global Secure Toolkit
- APPC and NetBios support

4. DB2 Personal Edition
Merupakan DBMS untuk single user yang ideal untuk desktop ataupun laptop. Dapat digunakan untuk create, modifikasi dan mengatur banyak database lokal.

5. DB2 Workgroup Server Edition
Versi ini merupakan DBMS untuk multi user, client/ server yang didesign untuk komputer yang memiliki hingga 4 CPU dan memory hingga 16GB dan memiliki sistem operasi Linux, Windows, Solaris, Linux, AIX dll. Memiliki fitur yang sama dengan DB2 Express namun dengan skala yang lebih besar

6. DB2 Enterprise Server Edition
Versi ini merupakan DBMS untuk multi user, web enabled client/ server yang dapat menangani transaksi besar, multi terabyte data warehouse. Dapat berjalan di server dari 1 hingga ratusan CPU dengan sistem operasi Linux, Windows, Solaris, Linux, AIX dll. Mempunyai fitur seperti DB2 workgroup dengan tambahan
• High Availability Disaster Recovery (HADR)
• Table (range) partitioning
• Online reorganization
• Materialized Query Tables
• Multi-dimensional data clustering
• Full intra-query parallelism
• Connection Concentrator
• The DB2 Governor
• Tivoli System Automation for Multiplatforms (TSA MP)

7. DB2 Data Warehouse Edition
Merupakan versi yang digunakan untuk data warehouse dinamis. Merupakan gabungan dari DB2 enterprise server ditambah fitur DB2 data partitioning.

8. DB2 Personal Developer’s Edition
Versi ini dapat digunakan pengembang untuk membuat aplikasi yang berinteraksi dengan database yang berada dalam kontrol DB2 personal edition. Dengan menggunakan versi ini, pengembang dapat membuat aplikasi yang berinteraksi dengan DB2 9 dengan metode seperti SQL, SQLJ, .NET, JDBC dll.

Tugas 1

14 September 2012 17:42:39 Dibaca : 13

database adalah :

1.kumpulan informasi yang disimpan dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.

Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu pada tujuan tertentu pula. 2. Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu dalam komputer sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh para pengguna

Original from: http://www.ombar.net/2009/09/konsep-dasar-database-pengertian.html
Visit Us

2.merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu dan pada tujuan tertentu pula.

3.Susunan record data opersional lengkap dari suatu organsasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu dalam komputer sehingga mampu memenuhi informasi yang optimal yang di butuhkan oleh para pengguna.

 

Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu pada tujuan tertentu pula. 2. Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu dalam komputer sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh para pengguna

Original from: http://www.ombar.net/2009/09/konsep-dasar-database-pengertian.html
Visit Us
Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu pada tujuan tertentu pula. 2. Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu dalam komputer sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh para pengguna

Original from: http://www.ombar.net/2009/09/konsep-dasar-database-pengertian.html
Visit Us

DBMS (Database Management System) adalah suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna.

 

contoh DBMS (Database Management System) adalah :

1. MICROSOFT ACCESS
Developer : Microsoft

Microsoft Access atau Microsoft Office Access adalah program aplikasi dari Microsoft yang ditujukan untuk kalangan rumahan atau perusahaan kecil menengah karena kapasitas datanya sangat terbatas. Microsoft Access menggunakan mesin basis data Microsoft Jet Database Access Engine. Untuk instalasinya membutuhkan space di hardisk yang lumayan besar. Engine ini hanya bisa dijalankan di lingkup sistem operasi Windows saja. Untuk keamananya tidak begitu bisa dihandalkan walaupun sudah mengenal konsep relationship.
Kelebihan dan Kekurangan :
• 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 atau server.
• Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL). 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.

2. MICROSOFT SQL SERVER
Developer : Microsoft
Link :www.microsoft.com/sql
Macam Edisi : SQL Server Compact Edition (SQL CE), SQL Server Express Edition, SQL Server Workgroup Edition, SQL Server Standart Edition, SQL Server Enterprise Edition, SQL Server Developer Edition.

Microsoft SQL Server adalah program Sistem Manajemen Dasis Data Relasional. Susunan dari Microsoft SQL Server dibagi menjadi tiga komponen. SQL OS yang melakukan layanan utama pada SQL Server, misalnya mengatur aktifitas, pengaturan memori, dan pengaturan Input/Output. Relational Engine yang bekerja sebagai penghubung komponen database, tabel, query, dan perintah tersimpan dan Protocol Layer yang mengatur fungsi-fungsi SQL Server.
Kekurangan :
• Hanya dapat diimpelementasikan pada 1 unit server, jika terdapat tambahan server maka hanya akan berfungsi sebagai pasif / standby server (tidak memiliki kemampuan Technology Cluster Server seperti halnya pada DMBS Oracle).
• Hanya bisa berjalan pada satu platform system operasi yaitu Microsoft Windows.
• Merupakan software berlisensi dan berharga mahal untuk perusahaan skala kecil dan menengah.
Kelebihan :
• Cocok untuk perusahaan dengan skala kecil, menengah, dan besar sehingga mampu untuk mengolah data dengan jumlah yang besar.
• Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
• Untuk diterapkan pada pembangunan suatu program aplikasi, akan mudah dalam melakukan koneksi dengan computer client yang pembangunan aplikasinya menggunakan software yang sama platform dengan MS-SQL, misalnya Microsoft Visual Basic.
• Memiliki tingkat pengamanan / security data yang baik.
• Memiliki kemampuan untuk back-up data, rollback data, dan recovery data.
• Memiliki kemampuan untuk membuat database mirroring dan clustering.

3. ORACLE
Developer : Oracle Corporation

Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:
• Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
• Menangani manajemen space dan basis data yang besar
• Mendukung akses data secara simultan
• Performansi pemrosesan transaksi yang tinggi
• Menjamin ketersediaan yang terkontrol
• Lingkungan yang tereplikasi
Kekurangan:
• Merupakan software DMBS yang paling mahal, paling rumit, dan paling sulit untuk dipelajari.
• Membutuhkan spesifikasi hardware yang tinggi untuk dapat menjalankan software DMBS Oracle supaya berjalan dengan stabil.
• Hanya diperuntukan bagi perusahaan berukuran besar, dan tidak cocok untuk perusahaan kecil maupun menengah.
Kelebihan :
• Merupakan software DBMS yang handal dan memiliki kemampuan yang tinggi.
• Dapat menangani jumlah data dalam ukuran yang besar.
• Dapat mengolah data dalam ukuran besar dan mengolahnya dengan cepat sehingga didapatkan informasi yang akurat sesuai permintaan pengguna/user.
• Memiliki kemampuan akan fleksibilitas dan skalabilitas yang dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus-menerus bertambah besar.
• Memiliki kemampuan Technology Cluster Server, dimana jika terdapat lebih dari satu unit server misalnya 100 unit server maka Oracle dapat menjadikan 100 unit server tersebut aktif bekerja bersama sebagai 100 aktif server.
• Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
• Bisa berjalan pada lebih dari satu platform system operasi.

4. MySQL
Developer : MySQL AB
Versi Terakhir : 5.0.41 (Mei 2007)
Link :www.mysql.com

My SQL adalah perangkat lunak sistem manajemen basis data yang diciptkan untuk dapat dilakukan instalasi secara gratis (open source). Hingga saat ini MySQL telah lebih dari 6 juta instalasi.
Kekurangan :
• Tidak cocok untuk menangani data dengan jumlah yang besar, baik untuk menyimpan data maupun untuk memproses data.
• Memiliki keterbatasan kemampuan kinerja pada server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.
Kelebihan :
• Free (bebas didownload)
• Stabil dan tangguh
• Fleksibel dengan berbagai pemrograman
• Security yang baik
• Dukungan dari banyak komunitas
• Kemudahan management database
• Mendukung transaksi
• Perkembangan software yang cukup cepat.

semua tentang kita

14 September 2012 09:51:02 Dibaca : 8

dalam hidupku aku merasa bahagia sejak mengenalmu, bagi ku kau lah segalanya bagiku.. kau adalah semangat hidup ku.. yg selalu memberikan motivasi bagiku..