Entity Relationship

21 December 2012 13:23:48 Dibaca : 74

Universitas memiliki Perpustakaan dan Mahasiswa dari fakultas manapun boleh meminjam buku di perpustakaan tersebut. Setiap mahasiswa otomatis menjadi anggota pada perpustakaan tersebut. Setiap perpustakaan memiliki banyak buku. Buku yang sama hanya ada di satu perpustakaan.

Entitas yang terdapat dalam Perpustakaan terdiri dari:

1.Pegawai

2. Anggota

3. Buku

Relasi yang terdapat dalam Perpustakaan terdirir dari:

1.Melayani

2. Mengatur

3. Pinjam

 

 

Syntax SQL

21 December 2012 12:55:24 Dibaca : 532

Syntaks adalah aturan yang tanda digabungkan untuk membuat pernyataan. Jika Anda menganggap kata-kata dari bahasa menjadi tanda-tanda, maka sintaks adalah aturan yang menempatkan tanda-tanda sama untuk membuat pernyataan, mengajukan pertanyaan, dan menghasilkan ucapan-ucapan lainnya.

Syntaks menggabungkan tata bahasa frase, klausa, dan kalimat. Memproduksi dan mengucapkan kalimat merupakan bagian penting dari bagaimana kita memahami dunia kita. Kami mengartikulasikan arti dari pengalaman kami dengan kata-kata, dalam proses mengartikulasikan, kita membuat (atau discover) makna dari pengalaman. Proses ini mirip dengan cara di mana kita intrepret sastra.

Sintaks struktur yang tepat dari apa yang kita tulis adalah bagian penting dari maknanya. Mengubah struktur dan Anda telah berubah makna, paling tidak sedikit.

Syntax

CREATE TABLE (
()
[UNIQUE] [NOT NUL] [PRIMARY KEY] [DEFAULT]
[referential_constraint_defenition>] [CHECK],
()
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT]
[referential_constraint_defenition>] [CHECK],
. . .
);

keterangan

Unique; Pada kolom tersebut tidak boleh ada data yang sama.
Not Null; tidak boleh data pada kolom tersebut bernilai null,
Unique dan Not Null; kolom tersebut dapat dijadikan primary key.
Default; nilai default yang secara otomatis akan mengisi kolom dengan data default tersebut setiap operasi insert dilakukan.
Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap tabel lain. Dengan syntax FOREIGN KEY REFERENCES

Contoh :

CREATE TABLE Pelajar (
No_Induk CHAR(8),
Nama CHAR(20),
Tgl_Lahir DATE,
Kelas CHAR(2)
);
CREATE TABLE Mata_Pelajaran(
Kode CHAR(4),
Nama CHAR(20),
Kelas CHAR(2)
);
CREATE TABLE Nilai(
No_Induk CHAR(8),
Kode CHAR(4),
Nl_Angka Number
);

Membuat index (Creating indices)

Syntax

. . .
[ () REFERENCES (), . . . ]
CREATE INDEX ON ();

Contoh :

DROP TABLE Pelajar;
CREATE TABLE Pelajar (
No_Induk CHAR(8) PRIMARY KEY,
Nama CHAR(20),
Tgl_Lahir DATE,
Kelas CHAR(2)
);
CREATE INDEX nm ON Pelajar(Nama);
DROP TABLE Mata_Pelajaran;
CREATE TABLE Mata_Pelajaran(
Kode CHAR(4) PRIMARY KEY,
Nama CHAR(20),
Kelas CHAR(2)
);
CREATE TABLE Nilai(
No_Induk CHAR(8) REFERENCES Pelajar(No_Induk),
Kode CHAR(4) REFERENCES Mata_Pelajaran(Kode),
Nilai Number
);

Mengubah tabel (Altering tables)

Syntax

ALTER TABLE
[ ADD ( (), . . . ); ]
[ MODIFY ((), . . .); ]

Keterangan

Add; Penambahan kolom baru.
Modify; Mengubah kolom yang sudah ada sebelumnya.

Contoh :

ALTER TABLE Pelajar
ADD (Jenis_Kelamin CHAR(10));

Menghapus tabel (Dropping tables)

Syntax

DROP TABLE
DROP INDEX

Contoh :

DROP TABLE Pelajar;
DROP INDEX nm;

II. Data Manipulation Language ( DML ) / Manipulasi Data

Penyisipan data (Inserting)

Syntax

INSERT INTO [(
VALUES
(,, . . . );

Contoh :

DROP TABLE Pelajar CASCADE CONSTRAINTS;
CREATE TABLE Pelajar (
No_Induk CHAR(8) PRIMARY KEY,
Nama CHAR(20),
Tgl_Lahir DATE,
Kelas CHAR(2)
);

INSERT INTO Pelajar
VALUES (‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar
VALUES (‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar
VALUES (‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’);

Mengubah data (Updating)

Syntax

UPDATE
SET ,
,
. . . ,

[WHERE ];

Contoh :

UPDATE Pelajar
SET No_Induk = ‘00311216’ ,Nama = ‘Wati’
WHERE No_Induk =’00311210’ and Nama = ‘Satria’;

Menghapus data (Deletion)

Syntax

DELETE FROM
WHERE ;

Contoh :

DELETE FROM Pelajar
WHERE No_Induk = ‘00311211’;

Seleksi data (Selection)

Syntax

SELECT [*] [, , . . ., ]
[, , . . . , ]
FROM
WHERE
[AND ]
[AND MONTH_BETWEEN ();

Contoh :

SELECT * FROM Pelajar;
SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka
FROM Pelajar a, Mata_Pelajaran b, Nilai c;
WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;

Membuat tabel maya (Creating views)

Syntax

CREATE VIEW
AS SELECT
FROM
WHERE ;

III. Data Control Language ( DCL ) / Kontrol Data

Konfirmasi menyimpan data di memory ke database (Commit)

Syntax

COMMIT [WORK];

Contoh :

INSERT INTO Pelajar
VALUES (‘00311210’,’Satria’,’15-DEC -1982’,’1’,’Perempuan’);
COMMIT;

Mengembalikan status transaksi sebelum penyimpanan (Rollback)

Syntax

ROLLBACK [WORK];

Pemberian hak dari satu user ke user lain (Grant)

Syntax

GRANT
ON TO
[WITH GRAN OPTION];

Penghapusan hak yang diberikan (Revoke)

Syntax

REVOKE
FROM ;

Spesifikasi akses

All Privileges; Semua hak diberikan.
Select; Untuk seleksi
Update; Untuk mengubah data
Insert; Untuk menyisipkan data
Delete; Untuk menghapus data

IV. EKSPRESI

FROM

Untuk mendefenisikan tabel yang menjadi sumber data dari suatu perintah seleksi

Contoh :

SELECT * FROM Pelajar

WHERE

Untuk mendefenisikan kondisi pengambilan data dari suatu perintah seleksi

Contoh :

SELECT * FROM Pelajar WHERE No_Induk = ‘00311217’;

GROUP BY

Untuk Mengelompokkan data berdasarkan ekspresi group

Syntax :

SELECT
FROM
WHERE
GROUP BY ;

Contoh :

SELECT a.No_Induk, b.Nama, c.Nl_Angka
FROM Pelajar.a, Nilai b
WHERE a.No_Induk=c.No_Induk and b.kode=c.kode
GROUP BY a.No_Induk, b.Nama, c.Nl_Angka;

ORDER BY

Untuk mengurutkan data hasil seleksi

Syntax :

SELECT
FROM
WHERE
ORDER BY [DESC];

Contoh :

SELECT * FROM Pelajar
ORDER BY No_Induk;

HAVING

Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY

Syntax :

SELECT
FROM
WHERE
GROUP BY
HAVING ;

Contoh :

SELECT a.No_Induk, b.Nama, c.Nl_Angka
FROM Pelajar.a, Nilai b
WHERE a.No_Induk=c.No_Induk and b.kode=c.kode
GROUP BY a.No_Induk, b.Nama, c.Nl_Angka
HAVING Nilai>80;

V. PREDIKAT

COMPARISON

Pembanding dua nilai dengan syarat type data yang dibandingkan harus sama

Sama dengan, =
Tidak sama dengan,
Lebih kecil, <
Lebih besar, >
Lebih kecil dan sama dengan, >=
Lebih besar dan sama dengan, <=

BETWEN

Pembanding untuk mengecek apakah suatu nilai berada dalam range tertentu atau tidak

Syntax :

... BETWEEN ... AND ...
... NOT BETWEEN ... AND ...

Contoh :

Menampilkan data nilai pada range 80 dan 100

SELECT * FROM Nilai
WHERE Nl_Angka BETWEEN 80 AND 100;

IN / NOT IN

Untuk melakukan pengecekan apakah suatu nilai terdapat dalam suatu himpunan

Syntax :

IN ( ... )
IN SELECT ...

NOT IN ( ... )
NOT IN SELECT ...

Contoh :

Select * FROM Pelajar a
WHERE a.No_Induk IN (SELECT b.No_Induk FROM Nilai b);

LIKE / NOT LIKE

Untuk membandingkan data dengan pola / struktur tertentu, untuk satu karakter dipakai ( _ ) dan string ( % )

Syntax :

... LIKE
... NOT LIKE

Contoh :

SELECT * FROM Pelajar
WHERE Nama LIKE ‘We%’;

IS NULL / IS NOT NULL

Untuk membandingkan suatu nilai dengan NULL

Syntax :

... IS NULL
... IS NOT NULL

Contoh :

SELECT * FROM Pelajar
WHERE Kelas IS NULL

EXIST

Untuk pengecekan apakah suatu query memiliki hasil atau tidak

Syntax :

... WHERE EXIST (SELECT ... )

Contoh :

SELECT * FROM Pelajar a
WHERE EXIST (
SELECT b.No_Induk FROM Nilai b
WHERE a.No_Induk=b.No_Induk);

Catatan

Keyword dari program SQL tidak selalu sama sehingga perlu sedikit modifikasi sesuai dengan standar SQL yang digunakan perusahaan pembuatnyaSyntax diatas dapat dikembangkan sesuai kebutuhan tergantung kreatifitas dalam pemrograman seperti penambahan sekuens looping, function, procedure, trigger dan lain – lainSyntax di atas juga dapat diselipkan pada aplikasi lain seperti web programming, visual programming dan relational programming.Tanda [] merupakan optional.

1. SQL inner join adalah salah satu syntaks SQL yang berfungsi untuk menghubungkan dua tabel / merelasikan beberapa tabel yang berbeda untuk mengambil beberapa fields yang dibutuhkan. Rumus SQL inner join adalah :

Select field1.tabel1, field2.tabel1, field1.tabel2 from tabel1 inner join tabel2 on field1.tabel1 = field1.tabel2

Untuk lebih jelasnya, anggap saja kita mempunyai 3 tabel sederhana seperti berikut :

t_siswa

nim

nama

201

Annisa Nurdilla

202

Delvi Arsalwa

t_pelajaran

kode_pelajaran

mata_pelajaran

kkm

mtk

Matematika

70

bid

Bahasa Indonesia

75

t_nilai

nim

kode_pelajaran

nilai

201

mtk

80

202

mtk

75

Dari 3 buah tabel diatas, misalkan kita ingin menampilkan laporan nilai siswa, kita dapat mengambil beberapa field dari tabel t_siswa dan t_pelajaran. Tujuannya supaya laporan nilai siswa dapat ditampilkan lebih detail dan mudah dipahami. Maka syntaks nya adalah :

select t_nilai.nim, t_siswa.nama, t_pelajaran.mata_pelajaran, t_pelajaran.kkm, t_nilai.nilai from t_nilai inner join t_siswa on t_nilai.nim = t_siswa.nim inner join t_pelajaran on t_nilai.kode_pelajaran = t_pelajaran.kode_pelajaran

Hasilnya :

nim

nama

mata_pelajaran

kkm

nilai

201

Annisa Nurdilla

Matematika

70

80

202

Anggie Sukma Dewi

Matematika

70

75

Selamat Mencoba dan berkreasi serta kembangkan logika Anda sendiri

<p>Your browser does not support iframes.</p>

2. SQL RIGHT JOIN Keyword

The RIGHT JOIN keyword returns all the rows from the right table (table_name2), even if there are no matches in the left table (table_name1).

SQL RIGHT JOIN Syntax

SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: In some databases RIGHT JOIN is called RIGHT OUTER JOIN.

SQL RIGHT JOIN Example

The "Persons" table:

P_Id

LastName

FirstName

Address

City

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Orders" table:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Now we want to list all the orders with containing persons - if any, from the tables above.

We use the following SELECT statement:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
RIGHT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

The result-set will look like this:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

34764

The RIGHT JOIN keyword returns all the rows from the right table (Orders), even if there are no matches in the left table (Persons).

3. SQL FULL JOIN Keyword

The FULL JOIN keyword return rows when there is a match in one of the tables.

SQL FULL JOIN Syntax

SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name

SQL FULL JOIN Example

The "Persons" table:

P_Id

LastName

FirstName

Address

City

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Orders" table:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Now we want to list all the persons and their orders, and all the orders with their persons.

We use the following SELECT statement:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

The result-set will look like this:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

Svendson

Tove

34764

The FULL JOIN keyword returns all the rows from the left table (Persons), and all the rows from the right table (Orders). If there are rows in "Persons" that do not have matches in "Orders", or if there are rows in "Orders" that do not have matches in "Persons", those rows will be listed as well.

4. SQL LEFT JOIN Keyword

The LEFT JOIN keyword returns all rows from the left table (table_name1), even if there are no matches in the right table (table_name2).

SQL LEFT JOIN Syntax

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_name

PS: In some databases LEFT JOIN is called LEFT OUTER JOIN.

SQL LEFT JOIN Example

The "Persons" table:

P_Id

LastName

FirstName

Address

City

1

Hansen

Ola

Timoteivn 10

Sandnes

2

Svendson

Tove

Borgvn 23

Sandnes

3

Pettersen

Kari

Storgt 20

Stavanger

The "Orders" table:

O_Id

OrderNo

P_Id

1

77895

3

2

44678

3

3

22456

1

4

24562

1

5

34764

15

Now we want to list all the persons and their orders - if any, from the tables above.

We use the following SELECT statement:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.P_Id=Orders.P_Id
ORDER BY Persons.LastName

The result-set will look like this:

LastName

FirstName

OrderNo

Hansen

Ola

22456

Hansen

Ola

24562

Pettersen

Kari

77895

Pettersen

Kari

44678

Svendson

Tove

The LEFT JOIN keyword returns all the rows from the left table (Persons), even if there are no matches in the right table (Orders).

 

 

 

 

Normalisasi pada Database

20 November 2012 19:08:44 Dibaca : 255

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, seperti * 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 * Penerimaan

Detail Transaksi * No. Nota * Kode Barang * Quantity

Syarat perlunya 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

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.

Langkah-Langkah Normalisasi

1. Bentuk Normal Pertama ( 1NF )

Bentuk First Normal Form (1NF) Sebuah model data dikatakan memenuhi bentuk normal pertama apabila setiap atribut yang dimilikinya memiliki satu dan hanya satu nilai. Apabila ada atribut yang memiliki nilai lebih dari satu, atribut tersebut adalah kandidat untuk menjadi entitas tersendiri.

2.Bentuk Normal Kedua ( 2NF )

Sebuah model data dikatakan memenuhi bentuk normal kedua apabila ia memenuhi bentuk normal pertama dan setiap atribut non-identifier sebuah entitas bergantung sepenuhnya hanya pada semua identifier entitas tersebut.

3.Bentuk Normal Ketiga (3NF)

Bentuk Third Normal Form (3NF), 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

A. FIRST NORMAL FORM ( 1NF )

Implementasi 1-NF dari table data yang belum ternormalisasi di atas adalah dengan cara mengeliminasi keberadaan repeating groups dan dekomposisi relasi menjadi dua atau lebih dengan syarat “tidak boleh ada informasi yang hilang karena proses dekomposisi” Adapun caranya adalah :

1. Membuat 3 tabel yang memiliki fungsi sebagai berikut :

TBFaktur, berfungsi untuk menyediakan atribut-atribut yang bersifat atomic dari tiap nomor faktur (ID_Faktur), seperti : Tanggal, Nama_Pelanggan, Total_Bayar, Diskon dan Nama_PetugasTBProduk, berfungsi untuk menyediakan atribut-atribut yang berulang atau tidak bernilai tunggal pada tiap nomor faktur (ID_Faktur), seperti : Nama_Barang dan hargaTBTransaksiDetail, berfungsi sebagai penghubung antara nomor faktur (ID_Faktur) dengan kode barang (ID_Barang) agar proses dekomposisi tidak menyebabkan kerusakan informasi.

2. Menentukan type data dari tiap atribut dan membuat digram relasional sebagai berikut

3. Pada table TBTransaksiDetail terdapat atribut “Harga” yang berfungsi untuk menyimpan harga per transaksi, sedangkan atribut “Harga_Default” yang terdapat pada table TBProduk adalah atribut yang berfungsi untuk menyimpan harga barang terbaru dari tiap jenis barang.Hal ini berguna untuk mengantisipasi adanya perubahan harga dari waktu ke waktu.

4. Primary key yang digunakan pada TBTransaksiDetail adalah “ID_Transaksi”. Atribut kunci tersebut merupakan candidate key yang dibentuk dari superkey hasil penggabungan 2 atribut yaitu : ID_Faktur dan ID_Barang

B. SECOND NORMAL FORM( 2NF )

Suatu relasi berada dalam 2nd normal form jika dan hanya jika:

Berada dalam bentuk first normal form (1-NF)Semua atribut bukan kunci memiliki dependensi sepenuhnya dengan kunci primer (Primary Key)

Jika kita lihat kembali relasi bentuk 1-NF yang telah dibuat sebelumnya, maka atribut bukan kunci pada table TBFaktur yang tidak memiliki dependensi sepenuhnya dengan primary key (ID_Faktur), yaitu : “Nama_Petugas”. Oleh sebab itu dekomposisi relasi perlu dilakukan kembali dengan cara :

Mengeliminasi atribut “Nama_Petugas” dari table TBFakturMembuat tabel TBPetugas, menyediakan atribut-atribut yang terkait dengan identitas dan data pelanggan

C. THIRD NORMAL FORM ( 3NF )

Pada Second Normal Form (2-NF) atribut yang terkait dengan “Nama_Pelanggan” tidak didekomposisi dari table TBFaktur karena atribut tersebut masih memiliki dependensi fungsional dengan primary key (ID_Faktur) karena tiap nomor faktur akan berbeda untuk tiap pembeli/pelanggan. Tetapi pada tahap 3-NF (Third Normal Form), atribut “Nama_Pelanggan” harus didekomposisi relasi karena pada tahap ini atribut bukan kunci tidak boleh ada yang berdependensi transitif dengan kunci primer. Atribut “Nama_Pelanggan” dikatakan berdependensi transitif terhadap primary key (ID_Faktur) karena :

  1. ID_Pelanggan → Nama_Pelanggan (Nama_Pelanggan berdependensi fungsional terhadap ID_Pelanggan)
  2. ID_Faktur → ID_Pelanggan (ID_Pelanggan berdependensi fungsional terhadap ID_Faktur, karena tiap nomor faktur akan dikeluarkan untuk suatu ID_Pelanggan tertentu)
  3. Sehingga dikatakan bahwa ID_Faktur memiliki dependensi transitif terhadap atribut Nama_Pelanggan

Bahasa SQL

03 October 2012 19:53:00 Dibaca : 147

 

1. Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language(DDL) dan 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.

Objek-objek database pada yang dimaksud - pada MySQL - adalah sebagai berikut :

DatabaseTableViewIndexProcedure (Stored Procedure)FunctionTrigger

Daftar Perintah DDL pada MySQL 5.0

Berikut adalah contoh perintah DDL yang digunakan pada MySQL. Klik pada link untuk melihat rincian penggunaan dari perintah tersebut.

Pembuatan (CREATE)CREATE DATABASECREATE FUNCTIONCREATE INDEXCREATE PROCEDURECREATE TABLECREATE TRIGGERCREATE VIEW

Perubahan (ALTER & RENAME) ALTER DATABASEALTER FUNCTIONALTER PROCEDUREALTER TABLEALTER VIEWRENAME TABLE

Penghapusan (DROP)DROP DATABASEDROP FUNCTIONDROP INDEXDROP PROCEDUREDROP TABLEDROP TRIGGERDROP VIEW

2. Data Manipulation Language

DML sendiri adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database seperti table, column, dan sebagainya

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:

SELECT untuk menampilkan data INSERT untuk menambahkan data baru UPDATE untuk mengubah data yang sudah ada DELETE untuk menghapus data

SELECT

SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.

INSERT

Untuk menyimpan data dalam tabel digunakan sintaks:

INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])

Contoh:

INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');

UPDATE

Untuk mengubah data menggunakan sintax:

UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]

Contoh:

UPDATE Msuser set password="123456" where username="abc"

DELETE

Untuk menghapus data dipergunakan sintaks:

DELETE FROM [nama_table] Where [KONDISI]

Contoh:

DELETE FROM TEST WHERE NAMA='test';

3. DCL dan Join pada SQL

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 .

TYPE DATA PADA DATABASE MANAGEMENT SYSTEM

19 September 2012 09:59:31 Dibaca : 88

DBMS masa kini mendukung berbagai jenis data, dari teks, suara, hingga gambar. Contoh berbagai nama tipe data pada berbagai DBMS adalah sebagai berikut:

 

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