Tugas 6

21 December 2012 09:12:41 Dibaca : 165

SYNTAX UNTUK MERELASIKAN TABEL MYSQL

DEFINISI JOIN

Join adalah penggabungan table yang dilakukan melalui kolom / key tertentu yang memiliki nilai terkait untuk mendapatkan satu set data dengan informasi lengkap. Lengkap disini artinya kolom data didapatkan dari kolom-kolom hasil join antar table tersebut.

Join diperlukan karena perancangan table pada sistem transaksional kebanyakan di-normalisasi, salah satu alasannya untuk menghindari redundansi.

1. INNER JOIN

INNER JOIN adalah tipe join yang akan kita bahas pertama. Tipe join ini akan mengambil semua row dari table asal dan table tujuan dengan kondisi nilai key yang terkait saja - jika ada, dan jika tidak maka row tersebut tidak akan muncul.

Kalau tidak terdapat kondisi key terkait antar table, maka semua row dari kedua table dikombinasikan.

Syntax dari INNER JOIN adalah sebagai berikut : ?

1 table_reference [INNER] JOIN table_factor [join_condition]

Terlihat bahwa keyword INNER boleh digunakan secara eksplisit atau tidak. Jika tidak digunakan maka konstruksi JOIN tanpa keyword lain dianggap sebagai INNER JOIN.

Secara pengerjaan relasi hampir sama dengan klusa WHERE ?

WHERE table1.referensiID = table2.referensiID

2. CROSS JOIN

Operasi cross join akan menampilkan semua isi tabel sisi sebelah kiri akan memiliki pasangan semua data sisi sebelah kanan. Banyaknya record cross join = jumlah record tabel pertama X jumlah record tabel kedua.

CROSS JOIN identik dengan INNER JOIN pada MySQL 5.0. Pembahasannya sama dengan INNER JOIN, dan karena klausa ini jarang dipakai maka tidak diulangi lagi disini.

SQL CROSS JOIN syntax:

SELECT * FROM [TABLE 1] CROSS JOIN [TABLE 2] OR SELECT * FROM [TABLE 1], [TABLE 2]

3. OUTER JOIN

Merupakan tipe join yang mencari referensi data dari suatu table sumber ke table lain dengan tidak menghilangkan data sumber apabila referensi tidak diketemukan

Syntax:

SELECT column_list

FROM table_reference

LEFT | RIGHT | FULL [OUTER] JOIN table_reference ON predicate

[LEFT | RIGHT | FULL [OUTER] JOIN table_reference ON predicate...]

Untuk menggunakan tipe OUTER JOIN maka perlu memperhatikan beberapa hal berikut :

Perlu dibedakan antara table sumber dan table referensi, ini ditentukan dengan cara menspesifikasikan kedudukan table sumber apakah di kiri (LEFT) atau di kanan (RIGHT).Jika tidak ada data dari table referensi yang cocok dengan kondisi join maka hanya data dari table sumber yang ditampilkan tetapi kolom-kolom table referensi akan berisi null.

LEFT JOIN

Operasi left join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya tidak sama ataupun berisi null.

RIGHT JOIN

Operasi right join akan menampilkan semua isi tabel sisi kanan, walaupun data di pasangan joinnya yang di sisi kiri nilainya tidak sama ataupun berisi null.

STRAIGHT_JOIN

STRAIGHT_JOIN merupakan pengganti keyword JOIN pada MySQL yang digunakan untuk "memaksa" proses join table dari kiri (LEFT) ke kanan (RIGHT).

4. FULL JOIN

Operasi full join akan menampilkan semua isi tabel sisi kiri, walaupun data di pasangan joinnya yang disisi kanan nilainya null dan sebaliknya.

SYNTAX :

SELECT table1.column1, table2.column2...

FROM table1

FULL JOIN table2

ON table1.common_filed = table2.common_field;

Contoh script Full join

select d.area_id, d.nama_area, d.luas_area, p.penduduk_id, p.nama_pendudukfrom cpenduduk p full join carea d on p.area_id = d.area_id

tugas 5

12 December 2012 12:09:45 Dibaca : 195

Relasi Perpustakaan

Oleh

Marsal Asaala

Yayunda Pakaya

A. Entity-entiti

1. Pendaftaran

2. Anggota

3. Donatur

4. Peminjaman

5. Buku

6. Denda

B. Penentuan Atribut

1. Pendaftran

Nm.Pnda, No.Pnda, Tgl.Dftr, Biaya

2. Anggota

Nama, No. Anggota, Alamt, Pekerjaan

3. Donatur

Nama, No. Donatur, Alamt, Pekerjaan

4. Peminjam

No. Pmnjam, Tgl.Pnjm, judul Buku, Tgl Kmbali

5. Buku

No. Buku, Pengrang.

6. Denda

No, Denda, Tanggal Denda, Jdl Buku, Judul Buku

C. Relationship antar entity – entity

1. Anggota Melakukan Pendaftran

2. Anggota Meminjam Buku

3. Donatur Menyumbang Buku

4. Anggota Melakukan Peminjaman

5. Buku Pengembalian Denda

tugas 4

09 November 2012 11:18:10 Dibaca : 146

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.

Normalisasi merupakan kondisi dimana relasi antar tabel telah terbentuk dengan baik sesuai kaidah dalam sebuah database bertujuan untuk menciptakan struktur-struktur entity yang dapat mengurangi redundansi data dan meningkatkan stabilitas database. Ada dua fungsi normalisasi, yaitu :

1. Dapat digunakan sebagai metodologi dalam menciptakan desain database dengan menghasilkan rancangan tabel-tabel yang nantinya sesuai dengan masalah dan kebutuhan yang dihadapi. 2. Dapat digunakan sebagai verifikasi terhadap hasil desain database yang telah dibuat, baik menggunakan E-R Model atau menggunakan model relasi.

Normalisasi yang umum digunakan sampai tahap Third Normal Form (3 NF) atau lebih sesuai keadaan waktu nyata yang nantinya langsung dapat diimplementasikan kedalam database. Normalisasi diperlukan agar dapat Menghasilkan himpunan skema relasi antar tabel yang mengizinkan pengguna untuk menyimpan informasi tanpa adanya redudansi data serta mengizinkan pengguna untuk mencari informasi yang dikehendaki dengan cepat dan mudah.

Tahap - Tahap Normalisasi :

Tingkatan proses normalisasi dengan Third Normal Form (3NF):

  1. Bentuk Tahap UnNormalized
  2. Bentuk Normal Pertama (1NF)
  3. Bentuk Normal Kedua (2NF)
  4. Bentuk Normal Ketiga (3NF)

Tingkatan proses normalisasi dengan Five Normal Form (5NF):

  1. Bentuk Normal Pertama (1NF)
  2. Bentuk Normal Kedua (2NF)
  3. Bentuk Normal Ketiga (3NF)
  4. Bentuk Normal Boyce-Codd (BCNF)
  5. Bentuk Normal Keempat (4NF)
  6. Bentuk Normal Kelima (5NF)

1.              Bentuk Normal Pertama (1NF)

Bentuk normal pertama dikenakan pada entity yang belum normal (Unnormalized Form). Bentuk tidak normal merupakan kumpulan data yang akan di rekam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja tersebut tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya.

Ada dua kelemahan utama pada bentuk tidak normal diatas :

1. Terdapat attribut yang berulang (duplikat), yaitu attribut matakulia. Mahasiswa dengan nama Elzar mengambil 2 matakuliah, sementara Si Fikri mengambil 3 matakuliah dimana matakuliah yang mereka ambil ada yang sama.

2. Terdapat informasi yang meragukan, dimana ada dua baris memiliki matakuliah yang sama, tapi berbeda nilainya. Sebenernya kedua baris tersebut menunjukkan dua orang yang sama namanya tapi berbeda nilai.

Bentuk entity diatas harus di rubah menjadi bentuk normal pertama.Aturan Bentuk Normal Pertama (1NF) :

Suatu entity dikatakan dalam bentuk normal pertama jika setiap attributnya bernilai tunggal untuk setip barisnya.

 

2.Bentuk Normal Kedua (2NF)

Aturan Bentuk Normal Kedua (2NF) : Suatu entity dikatakan dalam bentuk normal pertama jika : 1. Berada pada bentuk normal pertama. 2. Semua attribut bukan kunci memiliki ketergantungan fungsional (Depedensi Fungsional) dengan kunci utama (primary key)

Ketergantungan fungsional adalah suatu attribut X mempunyai ketergantungan fungsional terhadap attribut Y apabila setiap nilai X berhubungan dengan sebuah nilai Y. Misalnya Attribut Nama pada entity Mahasiswa, mempunyai ketergantungan fungsional terhadap attribut NoBP, karena setiap nama mahasiswa harus mempunyai NoBP.

Pada tahap ini anda harus memilah-memilah dan membagi entity tersebut menjadi beberapa entity lainnya yang mempunyai kunci utama. Sehingga masingmasing attribut yang bukan kunci mempunyai ketergantungan fungsional dengan kunci utama tersebut.

 

3.Bentuk Normal Ketiga(3NF)

Aturan Bentuk Normal Ketiga (3NF) : Suatu entity dikatakan dalam bentuk normal pertama jika : 1. Berada pada bentuk normal kedua. 2. Semua attribut bukan kunci tidak memiliki ketergantungan transitif (Depedensi transitif) dengan kunci utama (primary key). Ketergantungan Transitif terjadi pada entity yang menggunakan attribut gabungan sebagai kunci utama. Seperti pada entity nilai pada bentuk normal kedua diatas, yang menjadi kunci utama adalah NoBP dan Kode Matakuliah. Ketergantungan transitif terjadi bila :

a. Attribut X memiliki ketergantungan fungsional dengan attribut Y. b. Attribut Z memiliki ketergantungan fungsional dengan attribut X.

Misalnya attribut Kode Matakuliah pada entiti nilai diatas, mempunyai ketergantungan fungsional dengan attribut NoBP, Attribut Nama Matakuliah mempunyai ketergantungan fungsional dengan attribut Kode Matakuliah.4.Bentuk Normal Boyce-Codd (BCNF). Aturan Bentuk Normal Boyce-Codd (BCNF) : Suatu entity dikatakan dalam bentuk BCNF jika : Semua kunci utama adalah kunci kandidat yang bersifat unik

 

5.Bentuk Normal Keempat (4NF)

Bentuk normal keempat berhubungan dengan sifat ketergantungan banyak nilai (Multivalued Dependency) pada suatu tabel yang merupakan pengembangan dari ketergantungan fungsional.

 

6.Bentuk Normal Kelima (5NF)

Bentuk normal kelima berkenaan dengan ketergantungan relasi antar tabel (Join Depedency).

 

Melakukan normalisasi data dilakukan berdasarkan analisa dan kebutuhan, implementasi kedalam database tidak hanya dilakukan 3 tahap saja untuk mendapatkan nilai normalisasi tapi tergantung permasalahan yang dihadapi dari relasi umum yang terjadi.Ketika kita sudah terjun ke lapangan (dunia kerja), ada kalannya terjadi ketidaksesuaian antara hasil analisa/perencanaan dengan hasil implementasi. Yang terpenting adalah “aplikasi sesuai dengan keinginan pengguna” dengan tidak peduli akan proses yang ada > atau dengan kata lain kita gunakan “Management By Objective”.

tugas 3

05 October 2012 11:52:13 Dibaca : 185

COMMAND  DDL, DML, DQL, DCL DAN DQL PADA SQL

SQL merupakan singkatan dari Structured Query Language. SQL adalah bahasa komputer yang standart untuk mengakses dan memanipulasi database. Seluruh aplikasi database yang beredar di pasaran, baik yang gratis maupun yang berlisensi, mengadopsi bahasa SQL untuk mengolah databasenya. Ada 2 jenis command di dalam SQL, yaitu DDL dan DML.

       1. SQL DDL (DATA DEFINITION LANGUANGE)

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 apoti

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

      2. DML (DATA MANIPULATION LANGUANGE)

10 COMMEND DML (DATA MANIPULASI LANGUANGE)

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, wher, 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 (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 : * 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'; * 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'; JENIS JENIS JOIN SQL : 1. INNER JOIN : hanya akan menampilkan baris untuk data yang memiliki nilai yang sama pada field kunci dengan tabel yang berelasi 2. LEFT JOIN : hanya menampilkan data dengan mengacu pada tabel yang ada disebelah kiri. 3. RIGHT JOIN : hanya menampilkan data dengan mengacu pada tabel yang ada disebelah kanan. 4. FULL JOIN : merupakan gabungan dari LEFT JOIN dan RIGHT JOIN 

 

  • DQL (DATA QUERY LANGUAGE)

Untuk melakukan Query dengan Doctrine tidak lah sulit, karena pola pendeklarasiannya memang dibuat semirip mungkin dengan SQL, bahkan lebih praktis. Penulisan Query, sebaiknya dilakukan pada layer Controller, atau dalam symfony kita biasa lakukan di action class. Hasil Query tersebut baru disajikan sesuai kebutuhan pada tampilan web (template).

 

Query 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();

Query Select untuk Primary Key tertentu

$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);

Query Select mencari field tertentu

$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.

 

Tugas 2

21 September 2012 12:34:40 Dibaca : 194

Tipe data dalam DBMS

1. MYSQL

  1. Tipe data string

  2. Tipe data numerik (angka)

  3. Tipe data date dan time.

Tipe data string

  • Tipe Data String Char dan Varchar Type Maximum Length CHAR 255 VARCHAR 65.535 Penyimpanan data CHAR selalu sesuai panjangnya, sedangkan untuk penyimpanan data VARCHAR akan selalu sesuai isi datanya
  • Tipe Data String TEXT dan BLOB Type Maximum Length TINYTEXT / TINYBLOB 255 TEXT / BLOB 65.535 (64 K) MEDIUMTEXT / MEDIUMBLOB 16.777.215 (16 M) LONGTEXT / LONGBLOB 4.294.967.295 (4 G) Text dapat diindex dan mendukung pencarian Full-text, BLOB tidak bisa

Tipe data Numerik

  • ipe Data Numerik Bilangan Bulat (Integer) Type Bytes (Signed/Unsigned) Minimum Value Maximum Value Signed -128 127 TINYINT 1 Unsigned 0 255 Signed -32.768 32.767 SMALLINT 2 Unsigned 0 65.535 Signed -8.388.608 8.388.607 MEDIUMINT 3 Unsigned 0 16.777.215 Signed -2.147.483.648 2.147.483.647 INT 4 Unsigned 0 4.294.967.295 Signed -9.223.372.036.854.775.808 9.223.372.036.854.775.807 BIGINT 8 Unsigned 0 18.446.744.073.709.551.615
  • Tipe Data Numerik Bilangan Pecahan (Floating Point) Tipe Bytes Keterangan -3.402823466E+38 s/d -1.175494351E-38, FLOAT 4 0, 1.175494351E-38 s/d 3.402823466E+38 1.7976931348623157E+308 s/d -2.2250738585072014E-308, DOUBLE 8 0, 2.2250738585072014E-308 s/d 1.7976931348623157E+308 DECIMAL Sesuai desimal yang digunakan

Tipe data Date and Time

  • Tipe data bit digunakan untuk menyimpan data bit. • Secara default, tipe data bit mempunyai panjang 1 bit. • Panjang tipe data bit adalah 1 s/d 64 . Tipe data bit bisa digunakan untuk menyimpan sekumpulan pilihan yang berisi 2 kemungkinan (ya/tidak, 0/1, on/off).
  • Tipe data ENUM digunakan untuk menyimpan yang hanya boleh diisi berdasarkan suatu list tertentu yang didefinisikan ketika pembuatan tabel. • Satu baris hanya dapat menyimpan salah satu dari pilihan yang ada. • Pendefinisiannya adalah sebagai berikut : namakolom ENUM(‘pil1’,’pil2’,…,’piln’)
  • Tipe data SET mirip dengan tipe data ENUM, tetapi dalam satu baris data dapat menyimpan lebih dari pilihan yang ada. • Pendefinisiannya adalah sebagai berikut : namakolom SET(‘pil1’,’pil2’,…,’piln’)

2.Oracle

  • Tipe Data Karakter

Tipe data karakter terdiri atas tipe-tipe data CHAR, NCHAR, NVARCHAR2, VARCHAR2, VARCHAR, LONG, RAW dan LONG RAW. Penjelasan dari masing-masing tipe data dijelaskan sebagai berikut :

 

  • CHAR

Tipe data CHAR dispesifikasikan dalam karakter string yang memiliki panjang tetap. Oracle memastikan bahwa semua nilai disimpan dalam sebuah kolom CHAR memiliki panjang yang ditentukan oleh ukuran (size). Jika Anda memasukkan nilai yang lebih pendek dari panjang kolom, Oracle akan mengisikan nilai kosong untuk panjang kolom yang tidak terisi nilai. Jika Anda mencoba untuk memasukkan nilai yang terlalu panjang untuk kolom, Oracle akan menampilkan pesan error.

 

  • NCHAR

Tipe data NCHAR adalah tipe data Unicode-only. Bila Anda membuat sebuah tabel dengan kolom NCHAR, Anda akan diminta menentukan panjang kolom dalam karakter. Anda mendefinisikan karakter nasional saat Anda membuat (create) database Anda.

 

  • NVARCHAR2

Tipe data NVARCHAR2 adalah tipe data Unicode-only. Bila Anda membuat sebuah tabel dengan kolom NVARCHAR2, anda akan diminta menyertakan jumlah maksimal karakter yang dapat diisikan kedalamnya. Oracle kemudian menyimpan setiap nilai dalam kolom persis seperti yang Anda tentukan itu, asalkan nilai tidak melebihi panjang maksimum kolom.

 

  • VARCHAR2

Tipe data VARCHAR2 menetapkan string karakter variabel-panjang. Ketika Anda membuat kolom VARCHAR2, anda akan diminta menyertakan jumlah maksimal byte atau karakter data yang dapat diisikan kedalamnya. Oracle kemudian menyimpan setiap nilai dalam kolom persis seperti yang Anda tentukan itu, asalkan nilai tidak melebihi panjang maksimum kolom tentang kolom. Jika Anda mencoba untuk memasukkan nilai yang melebihi panjang yang ditentukan, maka Oracle akan menampilkan pesan error.

 

  • VARCHAR

Jangan menggunakan tipe data VARCHAR. Gunakan VARCHAR2 sebagai gantinya. Meskipun tipe data VARCHAR saat ini identik dengan VARCHAR2, tipe data VARCHAR dijadwalkan akan didefinisikan ulang sebagai tipe data terpisah yang digunakan untuk string karakter variabel-panjang dibandingkan dengan perbandingan semantik yang berbeda.

LONG

Jangan membuat tabel dengan menggunakan kolom LONG. Gunakan kolom LOB (CLOB, NCLOB, BLOB) sebagai gantinya. kolom LONG didukung hanya untuk kompatibilitas. kolom LONG menyimpan string karakter yang mengandung variabel-panjang sampai dengan 2 gigabyte -1 atau 231-1 byte. Kolom LONG memiliki banyak karakteristik kolom VARCHAR2. Anda dapat menggunakan kolom LONG untuk menyimpan string teks panjang. Panjang nilai LONG mungkin dibatasi oleh memori yang tersedia pada komputer Anda.

 

  • RAW dan LONG RAW

Tipe data RAW dan LONG RAW menyimpan data yang tidak secara eksplisit dikonversi oleh Oracle Database ketika memindahkan data antara sistem yang berbeda. Tipe data ini dimaksudkan untuk data biner atau string byte. Sebagai contoh, Anda dapat menggunakan LONG RAW untuk menyimpan grafik, sound, dokumen, atau array data biner, yang penafsirannya tergantung pada penggunaan masing-masing.

 

3. Postgresql

  • Numerik

      Jenis numerik dapat menyimpan nomor dengan sampai 1000 digit presisi dan melakukan perhitungan dengan tepat. Hal ini terutama dianjurkan untuk menyimpan sejumlah uang dan jumlah lain di mana ketepatan diperlukan. Namun, aritmatika pada nilai-nilai numerik yang sangat lambat dibandingkan dengan tipe integer, atau ke tipe floating-point yang dijelaskan di bagian selanjutnya. Kami menggunakan istilah berikut di bawah ini: The skala numerik adalah hitungan angka desimal di bagian pecahan, di sebelah kanan titik desimal. Ketepatan numerik adalah jumlah total digit signifikan dalam jumlah keseluruhan, yaitu, jumlah digit ke kedua sisi titik desimal. Jadi nomor 23,5141 memiliki presisi dari 6 dan skala 4. Bilangan bulat dapat dianggap memiliki skala nol.

  •   Karakter

      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.

  •   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.

  •   Waktu (Date/Time)

       Tanggal dan waktu input diterima di hampir semua format yang wajar, termasuk ISO 8601, SQL-kompatibel, POSTGRES tradisional, dan lain-lain. Untuk beberapa format, pemesanan hari, bulan, dan tahun di tanggal input adalah ambigu dan ada dukungan untuk menentukan diharapkan memesan bidang ini. Mengatur DateStyle parameter untuk MDY untuk memilih bulan-hari-tahun penafsiran, DMY untuk memilih hari-bulan-tahun penafsiran, atau Ymd untuk memilih tahun-bulan-hari interpretasi.

4. DB2

  • Relation

Relationship antara entiti merupakan ekuivalensi dalam database pada sebuah pernyataan. Sebuah pengiriman beberapa “Parts” mensyaratkan bahwa “Supplier” harus terdaftar sebagai “Supplier”. Relationships dalam database akan muncul sebagai relasi “foreign key” antara 2(dua) tabel atau akan muncul sebagai sebuah tabel yang terpisah. Relationships didalam sebuah database menjaberkan aturan hubungan antar entiti yang berelasi. Jika setiap pengiriman “Parts” harus dikirim oleh Supplier yang terdaftar maka dapat kita buat relasi many-to-one antara “Shipments” dan “Supplier”. Contoh dari Relation Gambar 2. menunjukan adanya relasi 1-to-many antara tabel “Supplier” dengan “Shipment melalui attribute Sno dimana “Shipment”.”SNo” == “Supplier”.”SNo”. Demikian juga ada relasi 1-to-many antara tabel “Parts” dengan “Shipment” melalui attribute PNo dimana “Shipment”.”PNo” == “Parts”.”PNo”.

  • Attribute

Entiti ekuivalensi dalam database pada sebuah benda/objek. Mewakili objek seperti “Supplier”, “Parts”, dan “Shipment”. Setiap berisi satu beberapa attribute. Attribute merupakan ciri-ciri dari objek yang ingin kita. Contoh dari Attribute Gambar 2. menunjukan entiti “Supplier” menpunyai attribut antara lain “SNo”, “SName”,”Status dan “City”.

  • Domain

Domain merupakan alias dari “built-in data types”, termasuk presisi dan range nilai/value yang dapat kita masukkan. Beberapa domain, misalkan tipe data boolean, merupakan pre-defined data types pada Adaptive Server Anywhere, dimana presisi nilainya 1 dan range nilainya 1(benar) atau 0(Salah), kita juga dapat menambahkan domain sesuai kebutuhan kita. Contoh dari Domain Misalkan pada gambar 2, kita dapat menentukan bahwa attribut “Colour” pada entiti “Parts” berisi hanya “Red”, “Green”, dan “Blue” dan hal ini biasa disebut “user-defined data types”.

  • Tuple

Pada relasional database, semua data disimpan dalam tabel-tabel, yang terdiri dari baris dan kolom. Satu baris data/objek memiliki attibute-attibute, satu baris data inilah yang biasa disebut tuple. Tabel berikut ini berisi daftar perbedaan istiliah.

formal relational term Formal relational term Non-relational term Table Relation File Column Attribute Field Row Tuple Record

Contoh dari Tuple Contoh tuple berikut ini diambil dari entiti “Supplier”

S1 Smith 20 London

  • Degree

Degree atau derajat adalah istilah untuk menggambarkan dari sebuah relasi. Degree dari suatu relasi berarti jumlah dari entiti yang berpartisipasi pada relasi terebut. Unary relationship terdiri dari 1 entiti pada relasi tersebut atau biasa disebut rekursive relationships mempunyai degree 1. Contoh dari Degree Pada gambar 2, relasi antara entiti “Supplier” dan entiti “Shipment” mempunyai degree 2. Cardinality Cardinality mengindikasikan jumlah instance/row/tuple/record yang berelasi atau berkorespondensi antara entiti yang satu dengan satu entiti yang lain. Ada beberapa nilai yang dapat kita pilih dalam menentukan cardinality suatu relai, antara lain : One-To-One Relatonshpis, dimana relasi antar entiti tabel adalah satu berbanding satu. One-To-Many -Relationships, dimana relasi antar entiti adlah satu berbanding banyak. Contoh dari Cardinality Pada gambar 2 terlihat relasi One-To-Many antara entiti “Supplier” dengan entiti “Shipment” dan antara entiti “Parts” dengan entiti “Shipment”. Jenis ketiga pada relationship adalah Many-To-Many relationships dimana relasi antara dua entiti adalah banyak berbanding banyak.

  • Candidate Key

Candidate key merupakan satu attribut atau kombinasi satu attribut atau lebih yang secara unik menjadi identifier pada suatu relasi. Candidate Key ini harus memenudi syarat sebagai berikut :

- Unique identifier, untuk setiap row/tuple candidate key harus secara unik dapat menjadi identifier. Artinya setiap non candidate key attibute secara fungsional bergantung pada candidate key tersebut.Non - Redudancy, Tidak ada duplikasi candidare key untuk menjadi uniqe indentifier, dimana tidak dapat dilakukan penghapusan pada candidate key dimana tidak merusak sifat unique identifier.

Contoh dari Candidate Key Untuk entiti “Supplier” candidate key yang dapat kita pilih adalah attributr SNo, karena secara fungsional attibute SName, Status, dan City bergantung ke attribut SNo.

  • Primary Key

Primary key adalah suatu attribute atau satu set attribute yang tidak hanya mewakili/mengidentifikasi secara unik suatu kejadian spesifik, tetapi juga dapat mewakili setiap kejadian dari suatu entiti. Contoh dari Primary Key Pada gambar 2 dapat dilihat bahwa “SNo” merupakan primary key entiti “Supplier”, “PNo” merupakan primary key untuk entiti “Parts”. “SNo” dan “PNo” merupakan primary key untuk entiti “Shipment”.

  • Foreign Key

Primary key adalah suatu attribute atau satu set attribute yang mewakili/sebagai primary key dari relasi yang lain pada database yang sama. Foreign key pada child entiti merupakan/sama dengan primary key pada tabel parentnya. - Contoh dari Foreign Key “SNo” dan “PNo” yang merupakan primary key untuk entiti “Shipment”, “SNo” merupakan foreign key yang merelasikan entiti “Shipment” dengan entiti “Supplier”. Sedanghkan “PNo” merupakan foreign key yang merelasikan entiti “Shipment” dengan entiti “Parts”.CONNX Data Type

Type

SQL Data Type

Length

ODBC Data Type

Description

DB2 Binary

Binary

1-254

SQL_BINARY

1- to 254-byte fixed-length binary (defined as CHAR FOR BIT DATA)

DB2 IEEE 4-byte float

Real

4

SQL_REAL

4-byte byte-reversed (little endian) IEEE float

DB2 IEEE 8-byte float

Double

8

SQL_DOUBLE

8-byte byte-reversed (little endian) IEEE float

DB2 IEEE Big E 4-byte float

Real

4

SQL_REAL

4-byte big endian IEEE float