TUGAS 6
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
Sumber:
1_ http://www.muhammadcahya.com/post-12-pengertian-join-pada-sql.html#ixzz2Evi4kuWG
2_RIAN MOPANGGA
Tugas 5
“ 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 4
Diagram Entitas Relasi Basis Data “Penyaluran Zakat”
Kelompok 2 oleh:
1) Ilham Dotulong
2) Yusrianti
Keterangan
A. Entity
n Entity adalah obyek yang dapat dibedakan dalam dunia nyata.
n Entity sets adalah kumpulan dari entity yang sejenis.
n Entity sets dapat berupa :
– Obyek secara fisik : Rumah, Kendaraan, Peralatan, orang yang memberi/menerima/mengumpulkan zakat.
– Oyek secara konsep : Pekerjaan, Perusahaan, Rencana.
n Simbol : persegi panjang
B. Atribut
n Atribut adalah karakteristik dari entity atau relationship yang menyediakan detail tentang entity atau relationship tersebut sehingga dapat dibedakan. Nilainya jarang berubah.
n Atribut dari entity zakat :
No. Muzaki
No. Mustahik
No. Id amil
Nama
Alamat
Pekerjaan
Tempat/ Tgl_lahir
C. VALUE SET (Domain) dari Atribut :
n Kumpulan harga/nilai yang dapat dimiliki oleh atribut dari suatu entitas.
n Definisi domain dari suatu atribut akan mencakup : tipe data, panjang, format, nilai yang memingkinkan, keunikan dan kemungkinan data null.
n Contoh :
– Atribut nama pada entitas pemberi zakat domainnya nama orang
– Atribut nama pada entitas barang domainnya nama barang
D. Macam-macam Atribut
n Atribut Berharga Tunggal (Single-valued Attribute) : atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu.
Contoh : atribut umur.
n Atribut Berharga Banyak (Multi-valued Attribute) : atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentu.
Contoh : atribut pekerjaan.
n Atribut Derivatif : suatu atribut yang dihasilkan dari atribut lain.
Contoh : atribut umur yang dapat dihasilkan dari atribut tgl_lahir.
E. Penjelasan istilah dalam gambar
ž Zakat adalah suatu barang atau harta.
ž Muzaki yaitu orang yang memberikan zakat atau harta.
ž Amil yaitu orang yang mengumpulkan zakat.
ž Mustahiq yaitu yang di berikan harta.
TUGAS 3
A. DDL atau 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.
<p class="MsoNormal" style
tugas 2
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 |