SINTAX SQL, INNER JOIN, LEFT JOIN, RIGHT JOIN, AND FULL JOIN

11 December 2012 20:50:52 Dibaca : 307

 

Syntax dasar dalam SQL ( Structured Query Language ) 

 

 

LEVEL DATABASE
Membuat database
Untuk membuat database baru, sehingga tidak berlaku jika database sudah ada atau anda tidak memiliki privilege.
Sintaksnya :
CREATE DATABASE nama_db

 

Menghapus database
Untuk menghapus database beserta seluruh table di dalamnya. Perintah ini tidak berlaku jika database tidak ada atau anda tidak memiliki privilege.
Sintaksnya :
DROP DATABASE nama_db

 

Menggunakan database
Untuk menjadikan database menjadi default dan referensi dari table yang nantinya anda gunakan. Perintah ini tidak berlaku jika database tidak ada atau anda tidak memiliki privilege.
Sintaksnya :
USE nama_db

 

Menampilkan database
Untuk menampilkan daftar yang ada dalam system saat itu.
Sintaksnya :
SHOW DATABASES

 

LEVEL TABEL
Membuat table
Untuk membuat table minimal anda harus menentukan namanya dan tipe kolom yang anda inginkan. Sintaks yang paling sederhana (tanpa ada definisi lain) adalah :

 

CREATE TABLE nama_tbl
(kolom1 tipekolom1(),kolom2 tipekolom2(), …)

 

Contoh : Anda ingin membuat table dengan nama profil yang memiliki kolom nama (bertipe char, lebar 20), kolom umur (bertipe integer), kolom jenis_kelamin (bertipe enum, berisi M dan F). Sintaksnya :
REATE TABLE profil (nama CHAR(20), umur INT NOT NULL, jenis_kelamin ENUM(‘F’,’M’) )

 

Sedangkan perintah yang agak lengkap dalam membuat sebuah table adalah dengan menyertakan definisi tertentu. Misalnya perintah seperti ini :
CREATE TABLE peserta (
No SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Nama CHAR(30) NOT NULL,
BidangStudi ENUM(‘TS’,’WD’) NOT NULL,
PRIMARY KEY (No),
INDEX (Nama, BidangStudi) )

 

Perintah di atas berarti membuat table peserta dengan kolom No sebagai PRIMARY KEY yaitu indeks table yang unik yang tidak bisa diduplikat dengan atribut AUTO_INCREMENT yaitu kolom yang otomatis dapat mengurutkan angka yang diisikan padanya. Sedangkan kolom Nama dan BidangStudi dijadikan indeks biasa.

 

Membuat indeks pada table
Menambahkan indeks pada table yang sudah ada baik yang unik ataupun yang biasa.
Sintaksnya :
CREATE INDEX nama_index ON nama_tbl (nama_kolom)
CREATE UNIQUE INDEX nama_index ON nama_tbl (nama_kolom)

 

Menghapus table
Untuk menghapus table dalam database tertentu. Jika dilakukan maka semua isi, indeks dan atribut lain akan terhapus.
Sintaksnya :
DROP TABLE nama_tbl

 

Menghapus indeks
Untuk menghapus indeks pada suatu table.
Sintaksnya :
DROP INDEX nama-index ON nama_tbl

 

Melihat informasi table
Untuk melihat table apa saja yang ada di database tertentu.
Sintaksnya :
SHOW TABLES FROM nama_db

 

Sedangkan untuk melihat deskripsi table atau informasi tentang kolom gunakan sintaks :
DESC nama_tbl nama_kolom
atau SHOW COLUMNS FROM nama_tbl FROM nama_db

 

Mendapatkan atau menampilkan informasi dari table
Untuk menampilkan isi table dengan option-option tertentu. Misalnya untuk menampilkan seluruh isi table digunakan :
SELECT * FROM nama_tbl

 

Untuk menampilkan kolom-kolom tertentu saja :
SELECT kolom1,kolom2,… FROM nama_tbl

 

Untuk menampilkan isi suatu kolom dengan kondisi tertentu
SELECT kolom1 FROM nama_tbl WHERE kolom2=isikolom

Modifikasi struktur table

Dapat digunakan untuk mengganti nama table atau mengubah strukturnya seperti manambah kolom atau indeks, menghapus kolom atau indeks, mengubah tipe kolom dsb. Sintaks umum :
ALTER TABLE nama_tbl action

 

Untuk menambah kolom baru di tempat tertentu dapat menggunakan :
ALTER TABLE nama_tbl
ADD kolom_baru type() definisi

 

Untuk menambah kolom_baru bertipe integer setelah kolom1 digunakan :
ALTER TABLE nama_tbl
ADD kolom_baru INT NOT NULL AFTER kolom1

 

Untuk menambah indeks baru pada table tertentu baik yang unik ataupun yang biasa:
ALTER TABLE nama_tbl ADD INDEX nama_index (nama_kolom)
ALTER TABLE nama_tbl ADD UNIQUE nama_indeks (nama_kolom)
ALTER TABLE nama_tbl ADD PRIMARY KEY nama_indeks (nama_kolom)

 

Untuk mengubah nama kolom dan definisinya, misalnya mengubah nama kolom_baru dengan tipe integer menjadi new_kolom dengan tipe char dengan lebar 30 digunakan:
ALTER TABLE nama_tbl
CHANGE kolom_baru new_kolom CHAR(30) NOT NULL

 

Untuk menghapus suatu kolom dan seluruh atributnya, misal menghapus kolom1 :
ALTER TABLE nama_tbl DROP kolom1

 

Untuk menghapus indeks baik yang unik ataupun yang biasa digunakan :
ALTER TABLE nama_tbl DROP nama_index
ALTER TABLE nama_tbl DROP PRIMARY KEY

 

Modifikasi informasi dalam table.
Untuk menambah record atau baris baru dalam table,
sintaksnya :
INSERT INTO nama_tbl (nama_kolom) VALUES (isi_kolom)
atau INSERT INTO nama_tbl SET nama_kolom=isi_kolom

 

Misalnya untuk menambah dua baris pada table profil dengan isi nama = deden & ujang dan isi umur = 17 & 18 adalah :
INSERT INTO profil (nama,umur) VALUES (deden,17), (ujang,18)
atau INSERT INTO profil SET nama=deden, umur=17
INSERT INTO profil SET nama=ujang, umur=18

 

Untuk memodifikasi record atau baris yang sudah ada yang bersesuaian dengan suatu kolom. Misalnya untuk mengubah umur deden menjadi 18 pada contoh di atas dapat digunakan sintaks :
UPDATE profil SET umur=18 WHERE nama=qalit

 

Untuk menghapus record atau baris tertentu dalam suatu table. Misalnya untuk menghapus baris yang ada nama ujang digunakan

 

sintaks :
DELETE FROM profil WHERE nama=ujang

 

Jika WHERE tidak disertakan maka semua isi dalam table profil akan terhapus.

 

Structured Query Language )

 

SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk SQL adalah kependekan dari Structured Query Language, merupakan sebuah bahasa yang digunakan untuk mengakses data dalam basis data (database) relasional. SQL banyak diterapkan pada pemrograman berbasis client-server seperti PHP, ASP, Java J2EE, dan sebagainya. Contoh software SQL yang terkenal adalah MySQL, MsSQL (Microsoft), Oracle SQL, Postgre SQL (open source). Masing-masing software mempunyai keunggulan sendiri-sendiri, sejauh yang saya tahu Oracle SQL handal dalam hal keamanan dan ukuran database yang bisa mencapai tera byte, sedang MsSQL lebih banyak bermain di Memory untuk processing. Dari ketiga software ini, Oracle SQl bisa dikatakan sebagai pemegang pertama. Perintah dasar SQL pada dasarnya hampir sama baik MySQL, Postgre SQL, MsSQL atau Oracle SQL.melakukan manajemen datanya.

 

Membuat Database Baru di SQL

 

DDL (Data Definition Language) digunakan untuk mendefinisikan, mengubah, serta menghapus database dan objek-objek yang diperlukan. Membuat basis data di SQL cukup mudah, syntaxnya sebagai berikut.

 

1

CREATE DATABASE nama_db;

 

Membuat Tabel di SQL

 

1

CREATE TABLE nama_tabel;

 

Sedangkan untuk membuat tabel lengkap dengan fieldnya, perhatikan contoh di bawah ini:

 

1 2 3 4

CREATE TABLE user ( user_name VARCHAR(30) CONSTRAINT PRIMARY KEY, password VARCHAR(20) NOT NULL, date_of_birth DATETIME );

 

DML (Data Manipulation Language), digunakan untuk memanipulasi data dalam tabel. Perintahnya adalah:

 

  1. SELECT untuk menampilkan data
  2. INSERT untuk menambahkan data baru
  3. UPDATE untuk mengubah data yang sudah ada
  4. DELETE untuk menghapus data

 

Menampilkan Seluruh Data

 

1

SELECT * FROM user;

 

Menyimpan Data ke Tabel SQL

 

1

INSERT INTO user (user_name, password, date_of_birth) VALUES ('ALIYA HASSAN', 'Cengkareng', 'qwe');

 

Menghapus Data di Tabel

 

1

DELETE FROM user WHERE nama='ALIYA HASSAN';

 

Catatan: Setiap syntax pada SQL selalu diakhiri dengan tanda semicolon atau titik koma (;), abaikan kode ini jika kamu menggunakan PHPMyAdmin untuk mengakses database. Tapi jika kamu menggunakan terminal, ssh, cmd, atau program remote server lainnya perintah ini wajib diperhatikan. Selalu gunakan tanda bintang (*) untuk melihat isi tabel, tanda ini akan membaca baris (row). Pada dasarnya, perintah dasar mysql sama dengan postgre sql maupun oracle sql.

 

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

 

Berikut perintah-perintah dari sql beserta contoh penggunaanya : 1. Create Database : Create database berguna untuk membuat database baru. Syntax dasar:

 

CREATE DATABASE database_nama

 

Contoh:

 

CREATE DATABASE databaseku

 

 2. Create Table : Berguna untuk membuat tabel data baru dalam sebuah database. Syntax dasar:

 

CREATE TABLE ( Column_name1 table_nama data_type Column_name2 table_nama data_type Column_name3 table_nama data_type )

 

Contoh menggunakan perintah create table :

 

CREATE TABLE registrasi ( Id int, Nama varchar (255), Email varchar(50), Kota varchar(255) )

 

 3. Select : Digunakan untuk memilih data dari table database. Syntax dasar :

 

SELECT column_name(s) FROM table_name

 

Atau

 

SELECT * FROM table_name

 

921411158 tugas 5 Tinggalkan Komentar...

NORMALISASI BASIS DATA

20 November 2012 20:42:55 Dibaca : 8142

   Sebelum berbicara tentang normalisasi pada database, adakalanya kita mengetahui dahulu apa itu database. DataBase (basis data dalam bahasa indonesia) dapat diartikan sebagai kumpulan sejumlah data berupa informasi yang disimpan dengan struktur yang sedemikian rupa sehingga dapat diolah kemudian dengan mudah. Sedangkan untuk membuat suatu database yang harus diperhatikan adalah jenis data;

Normalisasi

Proses normalisasi adalah proses untuk memperoleh properti-properti skema relasi yang bagus menjadi bentuk normal lebih tinggi sehingga syarat-syarat dibawah ini terpenuhi:

a. Mengoptimalisasi redudansi (pengulangan data yang tidak perlu). Redudansi tidak bisa dihilangkan sama sekali karena berguna untuk integritas referensial, tetapi redudansi bisa dioptimalisasi. Untuk jumlah data yang tidak terlalu banyak mungkin tidak terlalu berpengaruh dalam hal penggunaan harddisk. Tapi bayangkan jika ada ribuan, bahkan jutaan redudansi, mungkin akan sangat berpengaruh pada penggunaan ruang.

b. Menghilangkan anomali. Anomali pada dasarnya adalah ketidak-konsistenan (inkonsistensi). Misalkan ada pergantian nama dari Bank Perkasa menjadi Bank Perkasa Utama sebanyak 4 record. Jika pergantian nama hanya dilakukan pada salah satu record saja, maka terjadi ketidak-konsistenan yaitu satu nomor bank berrelasi dengan 2 nama bank yang berbeda.

Dekomposisi tabel dapat mengurangi redudansi yang ada dan menghilangkan anomali.

Perancangan melalui proses normalisasi mempunyai keuntungan-keuntungan sebagai berikut :


a. Meminimalkan ukuran penyimpanan yang diperlukan untuk penyimpanan data.

b. Meminimalkan resiko inkonsistensi data pada basis data.
c. Meminimalkan kemungkinan anomaly pembaruan.
d. Memaksimalkan stabilitas struktur data.

 

* Data Transaksi, yaitu data yang akan selalu muncul dan berubah. Data transaksi ini selalu bergantung kepada master.

Normalisasi Pada Database,

Yang dimaksud dengan normalisasi pada database adalah proses pernormalan suatu database yang disusun agar menghindari terjadinya redudancy (kemubaziran data). Dalam melakukan normalisasi, ada beberapa tahap yang harus dilakukan,

 1. Unnormalized

 Pada tahap ini, kita mengambil seluruh data yang ada dan diperlukan dalam database itu sendiri. Misalnya pada contoh bon faktur di bawah ini,

Kita ambil data-data yang diperlukan pada database nantinya, sperti * Nama Supplier * Alamat Supplier * No. Telp. * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Quantity * Total * Subtotal * Pemberi * Penerima

 2. Normal Satu

 Pada tahap ini, kita bagi seluruh data yang diperlukan menjadi beberapa bagian berdasarkan jenis data tersebut,

 Supplier * Nama Supplier * Alamat * No. Telp.

 Transaksi * No. Nota * Kode Barang * Tanggal Transaksi * Nama Barang * Harga Barang * Satuan * Quantity * Total * Sub Total

 3. Normal Dua

 Pada tahap ini, kita bagi berdasarkan jenis dan memberikan primary key pada masing-masing tabel,

 Supplier * Kode Supplier * Nama Supplier * Alamat * No. Telp.

 Master Barang * Kode Barang * Nama Barang * Harga * Satuan

 

Transaksi * No. Nota * Tanggal Transaksi * Kode Barang * Nama Barang * Harga * Satuan * Quantity * Pemberi * Penerima

 4. Normal Tiga

 Pada tahap ini, kita bagi menjadi lebih terperinci untuk menghindari terjadinya redudancy,

 Supplier * Tetap

 Master Barang * Tetap

 Transaksi Dibagi menjadi: Header Transaksi * No. Nota * Tanggal Transaksi * Kode Supplier * Pemberi * Penerima

Detail Transaksi * No. Nota * Kode Barang * Quantity

 Syarat perlunyya normalisasi:

  • Fleksibilitas

Struktur database harus menunjang semua cara untuk menampilan data, sehingga ketika user menjalankan aplikasi dan meminta sesuatu dalam datbase, database harus dapat berjlan memenuhi permintaan user.

  • integritas data

Semua data dalam database yang berkaitan harus terhubung dalam suatu relationship. Sehingga ketika suatu data berubah,maka semua data yang berkaitan dengan data tersebut harus dapat berubah secara otomatis.

  • Efficiency

Pada database, ukuran suatu database merupakan hal yang penting. Maka dalam database, kita harus mengurangi redudansi data yang bisa menyebabkan ukuran databse membengkak.

  • Menghindari modification anomaly

Desain database yang baik menyajikan suatu keyakinan bahwa ketika user melakukan perubahan dalam database, maka tidak terjadi hal yang tidak diinginkan.

Kapan tidak memakai normalisasi

  • ketika kita ingin mempertahankan kesederhanaan database, sehingga user dapat melakukan query sendiri.
  • jika tidak ingin melakukan query yang rumit. normalisasi biasanya akan membuat rumit query karena melibatkan banyak tabel.
  • tidak selamanya normalisasi membuat baik, malah akan menyebabkan database semakin buruk

Keuntungan dari normalisasi, yaitu :1. Meminimalkan ukuran penyimpanan yang diperlukan untuk menyimpan data.2. Meminimalkan resiko inkonsistensi data pada basis data3. Meminimalkan kemungkinan anomali pembaruan4. Memaksimalkan stabilitas struktur dataWELL STRUCTURE RELATION adalah sebuah relasi yang jumlah kerangkapan datanya sedikit (minimum Amount Of Redundancy), serta memberikan kemungkinan bagi user untuk melakukan INSERT, DELETE, dan MODIFY terhadap baris-baris data pada relation tersebut, yang tidak berakibat terjadinya ERROR atau INKONSESTENSI DATA, yang disebabkan oleh operasi –operasi tersebutContoh :Terdapat sebuah relation Course, dengan ketentuan sbb:Setiap mahasiswa hanya boleh mengambil satu matakuliah saja.Setiap matakuliah mempunyai uang kuliah yang standar (tidak tergantung pada mahasiswa yang mengambil matakuliah tsb).

Konsep Penting dalam Teknik Normalisasi !a. Field/ Atribut KunciKunci - kunci ini pun dipergunakan Komponen Basis Data Relasional ..Super keyYaitu himpunan dari satu atau lebih entitas yang digunakan untuk mengidentifikasikan secara unik sebuah entitas dalam entitas set.Candidate keyYaitu satu attribute atau satu set minimal atribute yang mengidentifikasikan secara unik suatu kejadian yang spesifik dari entity.Primary keyYaitu satu atribute atau satu set minimal atribute yang tidak hanya mengidentifikasikan secara unik suatu kejadian yang spesifik tapi juga dapat mewakili setiap kejadian dari suatu entityAlternate KeyYaitu kunci kandidat yang tidak dipakai sebagai primary keyForeign keyyaitu satu atribute (atau satu set atribute) yang melengkapi satu relationship (hubungan yang menunjukkan ke induknya.dari entity.

Kebergantungan Fungsi1. Ketergantungan Fungsional (Fungsional Dependent)Keterkaitan antar hubungan antara 2 atribute pada sebuah relasi. Dituliskan dengan cara : A -> B, yang berarti :Atribute B fungsionality Dependent terhadap atribute A atau Isi (value) atribute A menentukan isi atribute BDefinisi dari functional dependent :Diketahui sebuah relasi R, atribute Y dari R adalah FD pada atribute X dari R ditulis R.X -> R.Y jika dan hanya jika tiap harga X dalam R bersesuaian dengan tepat satu harga Y dalam R2. Fully Functinaly Dependent (FFD)Suatu rinci data dikatakan fully functional dependent pada suatu kombinasi rinci data jika functional dependent pada kombinasi rinci data dan tidak functional dependent pada bagian lain dari kombinasi rinci data.

Definisi dari FDD:Atribute Y pada relasi R adalah FFD pada atribute X pada relasi R jika Y FD pada X tida FD pada himpunan bagian dari X3. Ketergantungan PartialSebagian dari kunci dapat digunakan sebagai kunci utama4. Ketergantungan TransitifMenjadi atribute biasa pada suatu relasi tetapi menjadi kunci pada realasi lain5. DeterminanSuatu atribute (field) atau gabungan atribute dimana beberapa atribute lain bergantung sepenuhnya pada atribute tersebut

Normalisasi database biasanya jarang dilakukan dalam database skala kecil, dan dianggap tidak diperlukan pada penggunaan personal. Namun seiring dengan berkembangnya informasi yang dikandung dalam sebuah database, proses normalisasi akan sangat membantu dalam menghemat ruang yang digunakan oleh setiap tabel di dalamnya, sekaligus mempercepat proses permintaan data.

 Proses normalisasi model data dapat diringkas sebagai berikut:

  1. Menemukan entitas-entitas utama dalam model data.
  2. Menemukan hubungan antara setiap entitas.
  3. Menentukan atribut yang dimiliki masing-masing entitas.

Normalisasi model data dilakukan dengan mengikuti langkah-langkah sederhana, mengubahnya agar memenuhi apa yang disebut sebagai bentuk normal pertama, kedua, lalu ketiga secara berturutan

 

Tujuan proses normalisasi adalah mengkonversi relasi menjadi bentuk normal lebih tinggi. Terdapat beragam tingkat bentuk normal, yaitu :

a. Bentuk normal pertama (1NF)
b. Bentuk normal kedua (2NF)
c. Bentuk normal ketiga (3NF)
d. 
Bentuk normal Boyce-Codd (BCNF)
e. Bentuk normal keempat (4NF)
f. Bentuk normal kelima (5NF)

       Codd mendefinisikan bentuk normal pertama, kedua dan ketiga di makalah (Codd, 1970). Bentuk normal ketiga kemudian diperbaiki sehingga mempunyai bentuk normal yang lebih kuat yaitu BCNF (Codd, 1974). Fagin memperkenalkan bentuk normal keempat (Fagin, 1977), kemudian Fagin juga memperkenalkan bentuk normal kelima (Fagin, 1979).


      Bentuk normal pertama untuk menghilangkan atribut bernilai jamak. Bentuk normal kedua untuk menghilangkan kebergantungan parsial. Bentuk normal ketiga untuk menghilangkan kebergantungan transitif. Bentuk normal Boyce-Codd untuk menghilangkan anomaly tersisa disebabkan kebergantungan fungsional. Bentuk normal keempat untuk menghilangkan kebergantungan nilai jamak. Bentuk normal kelima untuk menghilangkan anomaly tersisa.


Tiga bentuk normal pertama berkaitan dengan kebergantungan fungsional. Sementara itu bentuk keempat dan kelima berkaitan dengan redudansi yang disebabkan kebergantungan banyak nilai (
multi-valued dependencies).

Bentuk Normal Pertama

 


Bentuk normal pertama adalah ekivalen dengan definisi model relasional. Relasi adalah bentuk normal pertama (1NF) jika semua nilai atributnya adalah sederhana (bukan komposit).

Syarat :

o Tidak ada set atribut yang berulang atau bernilai ganda.

o Telah ditentukannya primary key untuk tabel atau relasi.

o Tiap atribut hanya memiliki satu pengertian.

o Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan entitas atau relasi yang terpisah.


Bentuk Normal Kedua

 

tabel 1

 

 

 

tabel 2

 

 

tabel 3

 

Syarat :

o Bentuk data telah memenuhi kriteria bentuk normal ke satu.

o Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan fungsional sepenuhnya pada primary key

Relasi pada bentuk normal kedua harus tidak menyimpan fakta-fakta mengenai bagian kunci relasi. Bentuk normal kedua menghilangkan kebergantungan parsial dan masih memiliki anomali-anomali yang secara praktis tidak dapat diterima.


Bentuk Normal Ketiga

 

 

 

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

tabel 3a

tabel 3b

 

Syarat :

o Bentuk data telah memenuhi kriteria bentuk normal ke dua.

o Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.


Bentuk normal ketiga menghilangkan kebergantungan transitif, awalnya bentuk normal ketiga dipikir sebagai bentuk normal puncak/paling akhir. Namun kemudian dapat ditemukan bentuk normal lebih kuat yaitu bentuk normal Boyce-Codd.


Bentuk Normal Boyce-Codd (BCNF)

 


BCNF memiliki ketentuan yaitu masing-masing atribut utama bergantung fungsional penuh pada masing-masing kunci dimana kunci tersebut bukan bagiannya. Relasi adalah BCNF (optimal) jika setiap determinan atribut-atribut relasi adalah kunci relasi. Relasi adalah BCNF (optimal) jika kapanpun fakta-fakta disimpan mengenai beberapa atribut, maka atribut-atribut ini merupakan satu kunci relasi. BCNF dapat memiliki lebih dari satu kunci. Properti penting BCNF adalah relasi tidak memiliki informasi yang redundan.


Bentuk Normal Keempat

 


Relasi dalam bentuk normal keempat (4NF) jika relasi dalam BCNF dan tidak berisi kebergantungan banyak nilai. Untuk menghilangkan kebergantungan banyak nilai dari satu relasi, kita membagi relasi menjadi dua relasi baru. Masing – masing relasi berisi dua atribut yang mempunyai hubungan banyak nilai.


Bentuk Normal Kelima


Bentuk normal kelima (5NF) berurusan dengan properti yang disebut join tanpa adanya kehilangan informasi (lossless join). Bentuk normal kelima (5NF) juga disebut PJNF (projection-join normal form). Kasus-kasus ini sangat jarang muncul dan sulit untuk dideteksi secara praktis.

Tugas besar

20 November 2012 19:46:22 Dibaca : 216

Entity Relationship Diagram
kopersi simpan pinjam

Fatria.Otto

Abdul mutalib mootalu

Kasus

Seorang nasabah memiliki akun  tabungan di koperasi simpan pinjam  dan dia memiliki satu account tabungan

Entitas

  1. Buku tabungan
  2. Nasabah

Atribut

Buku tabungan

      Nomor Account

      Saldo

      Tanggal transaksi

Nasabah

      Nama

      Alamat

      No telepon

 

Gambar diagram koprasi simpan pinjam

Keterangan

• Nomor Account, saldo, dan tanggal transaksi merupakan atribut yang mendeskripsikan entitas account

      Nasabah sebagai entitas dideskripsikan oleh atribut nama, no telepon, dan alamat.

 Account dan nasabah sebagai entitas memiliki relasi yang dihubungkan oleh memiliki

 

Penentuan relasi

• One to one, Satu record  hanya dapat dipetakan menjadi satu record di entitas lain. Contoh: satu nasabah memiliki satu akun tabungan

http://uswaatunhasanah.files.wordpress.com/2012/05/050112_0601_erdentitasr3.jpg?w=652

 

PERINTAH DAN CONTOH DDL,DML,DQL,DCL.

03 October 2012 16:20:50 Dibaca : 620

1.    DDL (DATA DEFINITION LANGUAGE)

 

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

 

o   Perintah yg di gunakan dalam DDL

 

 

 

·         Create: Merupakan perintah yang digunakan untuk membuat database ataupu tabel

 

·         Alter: Merupakan perintah yang digunakan untuk  mengubah atau mengedit tabel.  Namun tidak semua kasus bisa dilakukan dengan perintah alter.

 

·           Drop: Merupakan perintah yang digunakan untuk menghapus tabel, procedure atau trigger dan  lainnya yang merupakan objek dari database.

 

2.       Data Manipulation Language (DML)

 

a.Digunakan dalam memanipulasi dan pengambilan data pada database.

 

b.Manipulasi data, dapat mencakup:

 

·         Pemanggilan data yang tersimpan dalam database  (query

 

·           Penyisipan/penambahan data baru ke database

 

·          Penghapusan data dari database

 

·          Pengubahan data pada database

 

·         Perintah-perintah yang termasuk dalam data manipulation language adalah :

 

Ø  Insert: Merupakan perintah yang dilakukan untuk melakukan penyisipan.  Umunya penyisipan dilakukan langsung ke base table yaitu tabel utama,tabel dasar atau fisik. Ada dua jenis penyisipan yaitu

 

o   Menambah anggota relasi langsung lewat base tables

 

o     Menambah suatu relasi melalui suatu views sehingga mungkin menghasilkan penambahan lebih dari satu baris pada base tables

 

Ø  Update Merupakan perintah yang digunakan untukmengubah data yang memenuhikondisitertentu yang dideskripsikandengan  where.Adaduajenis update yaitu

 

o   Memodifikasianggotalangsungdari base table

 

o    Memodifikasianggotarelasimelaluisuatu views

 

o   Delete: Merupakanperintah yang digunakan untuk menghapus data yang memenuhi kondisi tertentu yang dideskripsikan dengan:

 

o     Menghapus anggota langsung dari base tables

 

o    Menghapus anggota relasi melalui suatu views.

 

Ø  Select: Merupakan perintah yang digunakan untuk melakukan operasi seleksi yang dinyatakan dalam bentuk suatu query dalam bahasa tertentu dengan operasi model data relasional.

 

Ø  Views: Merupakan perintah yang digunakan untuk memudahkan proses untuk dapat membuat tabel virtual ataumaya yang dapat merupakan kombinasi berbagai base tables yang dihubungkan dengan kesamaan kondisi tertentu.View adalah tabel semu yang berarti secara fisik data tidak tersimpan dalam basis data,tetapi secara lojik dapat berfungsi seolah-olah tabel.

 

 

 

3.    Data query language(DQL)

 


Statemen Data-Query language (DQL), sering disebut juga dengan statemen retrieval, yang digunakan untuk mengambil data pada suatu tabel dan mengatur bagaimana data tersebut ditampilkan dalam aplikasi. Reserved word SELECT merupakan verb yang paling umum digunakan dalam DQL ( bahkan dalam seluruh statemen SQL). Reserved word lain dalam kategori ini yang umum digunakan adalah WHERE, ORDER BY, GROUP BY dan HAVING. Reserved word ini biasanya digunakan bersama dengan kategori lain dalam statemen SQL.

 

4.      .Data control language (DCL)

 

Perintah-perintah yang termasukdalam data control language adalah :

 

a)      Commit: Merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.

 

b)      Rollback: Merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.

 

c)      Grant: Merupakan perintah yang digunakan untuk member hak akses bagi seorang user terhadap suatu tabel atau view

 

d)     Revoke: Merupakan perintah yang digunakan untuk menghapus hak akses bagi seorang user terhadap suatu tabel atau view.

 

 

 

 

 

 

 

                       

 

 

 

 

 



 

 

 

Type DATABASE MANAGEMENT SYSTIM

20 September 2012 03:16:50 Dibaca : 1529

Jenis Sistem Manajemen Database



       DBMSs datang dalam berbagai bentuk dan ukuran. Untuk beberapa ratus dolar, Anda dapat membeli DBMS untuk komputer desktop Anda. Untuk sistem komputer yang lebih besar, DBMSs jauh lebih mahal diperlukan. Banyak mainframe berbasis DBMSs disewa oleh organisasi. DBMSs skala ini sangat canggih dan akan sangat mahal untuk mengembangkan dari awal. Oleh karena itu, lebih murah bagi organisasi untuk menyewa seperti program DBMS daripada mengembangkannya. Karena terdapat berbagai DBMSs yang tersedia, Anda harus tahu beberapa fitur dasar, serta kekuatan dan kelemahan, dari jenis utama.

 



Setelah membaca pelajaran ini, Anda harus dapat:



    -Membandingkan dan kontras struktur sistem manajemen database yang berbeda.


    -Tentukan database hirarkis.


    -Tentukan database jaringan.


    -Tentukan database relasional.


    -Definisikan objek-oriented database.



Jenis DBMS: Database hirarkis

 


      Ada empat jenis struktur sistem manajemen database: hirarkis, jaringan, relasional, dan objek-oriented.
Hierarchical Database


 
DATABASE HIRARKIS (DBMS), yang biasa digunakan pada komputer mainframe, telah sekitar untuk waktu yang lama. Ini adalah salah satu metode tertua mengatur dan menyimpan data, dan masih digunakan oleh beberapa organisasi untuk membuat reservasi perjalanan. Sebuah database hirarki diatur dalam mode piramida, seperti cabang-cabang pohon memperpanjang bawah. Bidang-bidang terkait atau catatan dikelompokkan bersama sehingga ada tingkat yang lebih tinggi dan lebih rendah catatan-catatan tingkat, seperti orang tua dalam pohon keluarga duduk di atas anak-anak subordinasi.

 



Berdasarkan analogi ini, catatan tua di bagian atas piramida disebut catatan akar. Sebuah catatan anak selalu hanya memiliki satu catatan orangtua untuk yang terkait, seperti di pohon keluarga yang normal. Sebaliknya, rekor orangtua mungkin memiliki lebih dari satu catatan anak terkait dengan hal itu. Database hirarkis bekerja dengan bergerak dari atas ke bawah. Sebuah pencarian record dilakukan dengan memulai di bagian atas piramida dan bekerja turun melalui pohon dari orangtua ke anak sampai catatan anak yang sesuai ditemukan. Selanjutnya, setiap anak juga bisa menjadi orang tua dengan anak-anak di bawahnya.

 



Keuntungan dari database hirarkis adalah bahwa mereka dapat diakses dan diperbarui dengan cepat karena struktur seperti pohon dan hubungan antara catatan didefinisikan di muka. Namun, fitur ini adalah pedang bermata dua. Kerugian dari jenis struktur database adalah bahwa setiap anak di pohon mungkin hanya memiliki satu orang tua, dan hubungan atau hubungan antara anak-anak tidak diperbolehkan, bahkan jika mereka masuk akal dari sudut pandang logis. Database hirarkis sangat kaku dalam desain mereka bahwa menambahkan bidang baru atau catatan mengharuskan seluruh database didefinisikan ulang.
Jenis DBMS: Database Jaringan


 
Jaringan Database



Database jaringan mirip dengan database hirarkis dengan juga memiliki struktur hirarkis. Ada beberapa perbedaan penting, namun. Alih-alih terlihat seperti pohon terbalik, database jaringan lebih mirip sarang laba-laba atau jaringan interkoneksi catatan. Dalam database jaringan, anak disebut anggota dan orang tua disebut pemilik. Perbedaan yang paling penting adalah bahwa setiap anak atau anggota dapat memiliki lebih dari satu orang tua (atau pemilik).



Seperti database hirarkis, database jaringan terutama digunakan pada komputer mainframe. Karena lebih banyak koneksi dapat dibuat antara berbagai jenis data, database jaringan dianggap lebih fleksibel. Namun, dua keterbatasan harus dipertimbangkan ketika menggunakan jenis database. Serupa dengan database hirarkis, database jaringan harus didefinisikan terlebih dahulu. Ada juga batasan untuk jumlah koneksi yang dapat dibuat antara catatan.
Jenis DBMS: Database Relasional



Relational Database


 
Dalam database relasional, hubungan antara file data relasional, tidak hirarkis. Database hirarkis dan jaringan mengharuskan pengguna untuk mewariskan melalui hirarki dalam rangka untuk mengakses data yang dibutuhkan. Database relasional menghubungkan data dalam file yang berbeda dengan menggunakan elemen umum data atau bidang kunci. Data dalam database relasional disimpan dalam tabel yang berbeda, masing-masing memiliki bidang kunci yang secara unik mengidentifikasi setiap baris. Database relasional lebih fleksibel daripada baik struktur database hirarkis atau jaringan. Dalam relasional, tabel database atau file diisi dengan data yang disebut hubungan, tupel menunjuk baris atau record, dan kolom disebut sebagai atribut atau bidang.



Database relasional bekerja pada prinsip bahwa setiap tabel memiliki field kunci yang secara unik mengidentifikasi setiap baris, dan bahwa bidang kunci dapat digunakan untuk menghubungkan satu tabel data yang lain. Dengan demikian, satu meja mungkin memiliki barisan yang terdiri dari nomor rekening pelanggan sebagai field kunci beserta alamat dan nomor telepon. Jumlah rekening nasabah dalam tabel ini dapat dikaitkan ke meja lain data yang juga mencakup pelanggan nomor rekening (bidang kunci), tetapi dalam kasus ini, berisi informasi tentang pengembalian produk, termasuk nomor item (bidang lain key). Ini bidang kunci dapat dihubungkan dengan tabel lain yang berisi nomor item dan informasi produk lainnya seperti lokasi produksi, warna, orang kontrol kualitas, dan data lainnya. Oleh karena itu, dengan menggunakan database ini, informasi pelanggan dapat dihubungkan dengan informasi produk yang spesifik.



Database relasional telah menjadi sangat populer karena dua alasan utama. Pertama, database relasional dapat digunakan dengan pelatihan sedikit atau tidak ada. Kedua, entri database dapat dimodifikasi tanpa mendefinisikan ulang seluruh struktur. Kelemahan dari menggunakan database relasional adalah bahwa mencari data dapat mengambil lebih banyak waktu daripada jika metode lain yang digunakan.
Jenis DBMS: Object-oriented Database (OODBMS)



Mampu menangani tipe data yang baru, termasuk grafis, foto, audio, dan video, object-oriented database merupakan kemajuan yang signifikan atas sepupu mereka yang lain database. Database hirarkis dan jaringan yang semuanya dirancang untuk menangani data terstruktur, yaitu, data yang cocok baik ke ladang, baris, dan kolom. Mereka sangat berguna untuk menangani potongan kecil informasi seperti nama, alamat, kode pos, nomor produk, dan segala jenis statistik atau nomor yang dapat Anda pikirkan. Di sisi lain, database berorientasi objek dapat digunakan untuk menyimpan data dari berbagai sumber media, seperti foto dan teks, dan menghasilkan karya, sebagai output, dalam format multimedia.



Berorientasi objek database menggunakan kecil, potongan dapat digunakan kembali perangkat lunak yang disebut objek. Benda-benda itu sendiri disimpan dalam database berorientasi objek. Setiap objek terdiri dari dua elemen: 1) sepotong data (misalnya, suara, video, teks, atau grafis), dan 2) instruksi, atau program perangkat lunak yang disebut metode, untuk apa yang harus dilakukan dengan data. Bagian kedua dari definisi ini memerlukan penjelasan sedikit lebih. Instruksi yang terdapat dalam obyek yang digunakan untuk melakukan sesuatu dengan data dalam objek. Misalnya, nilai ujian akan berada dalam objek seperti yang akan instruksi untuk menghitung skor tes rata-rata.



Berorientasi objek database memiliki dua kelemahan. Pertama, mereka lebih mahal untuk dikembangkan. Kedua, sebagian besar organisasi enggan untuk meninggalkan atau mengkonversi dari database mereka bahwa mereka telah menginvestasikan uang dalam mengembangkan dan melaksanakan. Namun, manfaat yang berorientasi objek database yang menarik. Kemampuan untuk mencampur dan mencocokkan benda dapat digunakan kembali memberikan kemampuan multimedia yang luar biasa. Organisasi kesehatan, misalnya, bisa menyimpan, melacak, dan mengingat CAT scan, sinar-X, electrocardiograms dan bentuk lain dari data penting.

 

 Contoh berbagai jenis data

Tipe Data

Keterangan

Character (Visual dBASE)

Char (SQL)

Text (Access)

Alpha (Paradox)

Menyatakan tipe data untuk menyimpan deretan karakter seperti nama orang atau nama mobil

Memo (Access dan Visual dBASE)

Text (PostgresSQL)

Untuk menyimpan deretan karakter dengan ukuran yang besar (melebihi 256 karakter)

Number (Access)

Numeric (Visual dBASE)

Untuk menyimpan data bilangan

Date/Time (Access)

Untuk menyimpan data jam dan tanggal

Date (Visual dBASE)

Date (PostgresSQL)

Untuk menyimpan tanggal

Time (PostgresSQL)

Untuk menyimpan data jam

Currency (Access)

Money (Paradox)

Untuk menyimpan data uang

Yes/No (Access)

Logical (Visual dBASE)

Bool (PostgresSQL)

Untuk menyimpan data logika (benar atau salah)

OLE (Visual dBASE)

OLE Object (Access)

Untuk menyimpan OLE. Dapat berupa objek seperti gambar atau bahkan suara

Binary (Visual dBASE)

Untuk menyimpan data gambar atau suara

Graphics (Paradox)

Untuk menyimpan data gambar

Hyperlink (Access)

Untuk menyimpan data hyperlink