Showing posts with label Sistem Basis Data. Show all posts
Showing posts with label Sistem Basis Data. Show all posts

Saturday, October 23, 2010

Tipe Data SQL 2003



Langkah pertama sebelum merancang sebuah tabel adalah menentukan tipe data pada setiap field yang akan digunakan. Tipe data digunakan untuk menjamin integritas data karena ada perubahan atau penambahan data yang harus disamakan dengan tipe data dari tabel.

Pada SQL Server ada beberapa obyek yang mempunyai tipe data, antara lain:

  • Field-field dalam suatu table atau view.
  • Parameter dalam stored procedure.
  • Variabel
  • Function pada Transact SQL.
  • Stored Procedure yang memberikan hasil dengan tipe integer.




Dengan menentukan tipe data dari suatu obyek berarti mendefinisikan empat atribut dari obyek tersebut, yaitu:
Jenis data
Jenis data yang ada di salam suatu obyek harus jelas. Apakahdata berbentuk integer, string atau biner.
Ukuran data
Ukuran dari tipe data string dan Unicode didefinisikan dalam satuan karakter. Ukuran dari tipe data numeric dihitung termasuk banyaknya digit desimal yang digunakan. Ukuran tipe data image, binary dan varbinary adalah byte.
Presisi bilangan
Yang dimaksud dengan presisi adalah banyaknya digit dari sebuah bilangan. Misalnya obyek yang bertipe data SmallInt dapat berisi lima digit sehingga presisinya adalah lima.
Skala bilangan
Skala adalah banyaknya digit yang disimpan di sebelah kanan titik decimal. Oleh karenanya skala ini hanya dipakai untuk data numeric. Misalnya, obyek dengan tipe data interger tidak dapat menerima titik decimal dan skalanya NOL.

SQL Server menyediakan macam-macam tipe data yang dikelompokkan menjadi beberapa bagian:
Kelompok tipe data Numeric
Interger
Mendefinisikan bilangan bulat positif dan negative.
* BigInt
Mendefinisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -2^63 [-9223372036854775808] sampai 2^63-1 [9223372036854775807].


* Int
Mendefinisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -2^31 [-2,147,483,648] sampai 2^31 – 1 [2,147,483,647].


*SmallInt
Mendefinisikan nilai integer yaitu bilangan bulat dengan batasan nilai antara -2^15 [-32,768] sampai 2^15 – [32,767].


* TinyInt
Mendefinisikan nilai integer yaitu bilangan dengan batasan nilai antara 0 sampai 255.

Bit
Nebdefinisikan bilangan bulat dengan nilai 0 atau 1.

Decimal dan Numeric
Mendefinisikan bilangan numerik yang disimpan dengan nilai tepat, tanpa pendekatan.
* Decimal (n.p)
Mendefinisikan bilangan pecahan, baik fixed decimal atau floating point. Nilai n adalah jumlah byte total dengan panjang antara 1 sampai 38. Sedangkan p adalah jumlah digit bilangan dibelakang titik decimal (dibelakang koma).
* Numeric (n.p)
Fungsinya sama dengan tipe data Decimal.

Monetary
Mendefinisikan jumlah uang dalam bentuk positif atau negative.
* Money
Mendefinisikan nilai uang dengan jangkauan mulai -2^63 [-922,337,203,685,477.5808] sampai 2^63 – 1 [922,337,203,685,477.5807] dan berukuran 8 byte.
* SmallMoney
Mendefinisikan nilai uang, jangkauannya mulai dari -214,748.3648 sampai 214,748.3647.

Floating point
Mendefinisikan bilangan numeric dengan nilai pendekatan.
* Float
Mendefinisikan bilangan floating point dengan jangkauan -1.79E + 308 sampai 1.79E + 308.
* Real
Mendefinisikan bilangan mulai -3.40E + 38 sampai 3. 40E + 38.

Data dan time
Mendefinisikan nilai yang berisi kombinasi data tanggal dan waktu.
* Datetime
Mendefinisikan data tanggal dan jam (waktu) mulai 1 Januari 1753 sampai dengan 31 Desember 9999 dengan akurasi sampai 3,33 milidetik.
* Smalldatetime
Mendefinisikan data tanggal dan jam (waktu) mulai 1 Januari 1900 sampai 6 Juni 2079 dengan ketelitian sampai 1 menit.

Kelompok tipe data String
Character
Mendefinisikan nilai yang berisi karakter-karakter alfanumerik dan symbol.
* Char (n)
Mendefinisikan nilai string sepanjang n karakter sampai dengan batas maksimal sebesar 8000 byte. Jika nilai n tidak disebutkan maka panjang karakternya adalah 1.
* Varchar (n)
Mendefinisikan nilai string sepanjang n karakter sampai dengan batas maksimal sebesar 8000 byte.
* Text
Mendefinisikan semua jenis data yang berupa text seperti memo, dokumen, listing program dimana ukurannya dapat mencapai 2^31 – 1 [2.147.483.647 byte]

Kelompok tipe data Unicode Character String
Unicode
Unicode adalah karakter internasional yang menampung 16 bit per karakter. Unicode digunakan oleh bahasa non latin seperti Jepang, Jerman, Cina dan sebagainya. SQL Server menyiapkan ruang 16 bit per karakter.
* Nchar
Karakter Unicode mempunyai ukuran tetap hingga 4000 byte.
* Nvarchar
Karakter Unicode mempunyai ukuran yang bervariasi hingga 4000 byte.
* Ntext
Karakter Unicode mempunyai ukuran hingga 1000.073.741.823 byt atau 2^30 – 1.
Kelompok tipe data Binary String


Binary
Mendefinisikan bilangan dengan ukuran tetap hingga 8000 byte.

Varbinary
Mendefinisikan bilangan dengan ukuran bervariasi hingga 8000 byte.

Image
Mendefinisikan binary data untuk menyimpan image (.gif, .jpg, .tif) dengan ukuran yang bervariasi hingga 2.147.483.647 byte atau 2^31 – 1.

Kelompok tipe data lainnya
Special
Mendefinisikan nilai yang berisi data khusus yang tidak dapat dimasukkan ke dalam katagori lain.
* Cursor
Merupakan referensi ke kursor.
* Timestamp
Merupakan nilai urutan waktu yang dibuat oleh SQL Server pada saat Insert atau Update suatu field. Nilai ini selalu unik dalam satu database dan selalu lebih besar dari nilai sebelumnya.
* Uniqueidentifier
Merupakan bilangan hexadecimal dengan ukuran 16 byte yang menyatakan Global Unique Identifier (GUID). GUID digunakan jika sebuah baris harus berbeda (unik) dari baris lain.
* SQL Variant
Berisi semua data yang diperbolehkan oleh SQL Server kecuali text, ntext, timestamp, image dan SQL variant.
* Table
Tipe data ini dipakai untuk menyimpan hasil table yang digunakan untuk pemrosesan selanjutnya.

[1]   Yuswanto & Subari, Mengolah Database dengan SQL SERVER 2000, Prestasi Pustaka, 2005

Wednesday, September 1, 2010

Object-oriented Database


Dedicated to Dosen Evi.


Database Berorientasi Objek



Model ini menggunakan objek sebagai perangkat lunak yang ditulis dalam potongan kecil yang dapat digunakan kembali sebagai elemen dalam file database. Database berorientasi objek adalah sebuah database multimedia yang bisa menyimpan lebih banyak tipe data dibanding database relasional.

Salah satu model database berorientasi objek adalah database hypertext atau database web, yang memuat teks dan dihubungkan ke dokumen lain.  Model lainnya adalah database hypermedia, yang memuat link dan juga grafis, suara, dan video.

Contoh: database DB2, Cloudscape, Oracle9i dan sebagainya



Object-oriented database merupakan salah satu jenis database dimana data direpresentasikan dalam bentuk object.

Pendekatan ini sangat dipengaruhi oleh bahasa pemrograman object-oriented dan dapat dipahami sebagai usaha untuk menambah fungsionalitas DBMS pada lingkup bahasa pemrograman.


Fitur Utama

Database Berorientasi Objek umumnya menyediakan penyimpanan persisten untuk benda (object). Selain itu, mereka dapat menyediakan satu atau lebih hal berikut: sebuah bahasa query; pengindeksan; pendukung transaksi dengan rollback dan komit, kemungkinan mendistribusikan objek transparan di banyak server. Fitur-fitur ini dijelaskan dalam bagian berikut. Beberapa vendor database mungkin akan mengenakan biaya terpisah untuk beberapa fitur.

Beberapa Berorientasi Objek Database juga datang dengan alat tambahan seperti skema desainer visual, Integrated Development Environment dan debugger.


Object Data Model

Salah satu cara pemodelan object-oriented database yaitu menggunakan UML (Unified Modelling Language).

UML telah menjadi standard sebuah industri untuk merepresentasikan design untuk object-oriented. Memodelkan aplikasi berbasis object-oriented merupakan hal yang kompleks, namun UML menyediakan kemampuan untuk menggambarkan relasi yang terjadi dalam sebuah sistem object-oriented.

Konsep diagram class dalam UML merepresentasikan tipe dari objek dan relasi antar objek dimana sering digunakan untuk konsep pemodelan database.


Object

Objek merupakan kesatuan entitas (baik), baik yang berwujud nyata ataupun hanya satu sistem yang memodelkan dunia nyata. Setiap object diidentifikasi oleh object  identifier(OID), dan juga memiliki state dan behavior. State terdiri dari nilai object properties. Properti dari sebuah object dapat berupa atribut atau relasi antar object. Sedangkan behavior dispesifikasikan oleh operasi atau method yang dapat dieksekusi oleh sebuah object melalui propertinya.

Object Identity

Hal yang paling penting dari properti sebuah object yaitu memiliki identity.
Object Identifier (OID) biasanya tidak terlihat secara langsung dan tidak dapat diakses oleh database user.

OID direpresentasikan dengan sebuah nama yang unik atau lebih. Berbeda dengan primary key pada relational database, OID bersifat independent dari nilai yang dihasilkan object state.

OID yang digunakan pada object-oriented database digunakan untuk mengidentifikasi object dan mensupport hubungan antar object melalui nilai object properties.


Object State

Pada object-oriented database , nilai dari sebuah object terdiri dari nilai dari beberapa atribut dan relasi antar object. Nilai dari suatu atribut dapat bersifat kompleks, jadi sebuah atribut dapat dibentuk dari object lain atau menggunakan tipe data yang telah tersedia.

Relasi merupakan hubungan antara dua object atau lebih. Object model hanya mendukung binary relationship, relasi antar dua object.

Sedangkan untuk mengimplementasikan hubungan satu ke banyak atau banyak ke banyak dapat menggunakan set atau list.

Object Behavior

Object dalam object-oriented database dimanipulasi melalui methods. Method adalah prosedur atau fungsi yang dimiliki oleh sebuah object dimana sebuah method akan mengolah/mengubah data yang terdapat didalam object sesuai dengan operasi yang telah ditentukan.


Class

Class merupakan pemodelan dari sebuah object yang berisi informasi (aturan) tentang sifat karakteristik (data) dan behavior (method) yang dimiliki oleh object tersebut.


Object types

Object types dapat digunakan untuk membuat object tables. Dalam object tables, setiap instance dari tuples memiliki object identifier.

Object types yang digunakan untuk membuat object tables dapat digunakan sebagai tipe atribut untuk menghubungan antara tabel.
Oracle mensupport beberapa tipe data baru yaitu :

1. Varrays atau Nested Table
Dua tipe data baru yang memperbolehkan koleksi data menjadi tipe data dari sebuah atribut.

2. REFs (object references)
Digunakan untuk menyimpan logical pointer pada object.