Sistem Basis Data; Tutorial Konseptual Oleh
: Yakub
Edisi Pertama Cetakan Pertama, 2008 Hak Cipta 2008 pada penulis, Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apa pun, secara elektronis maupun mekanis, termasuk memfotokopi, merekam, atau dengan teknik perekaman lainnya, tanpa izin tertulis dari penerbit.
Candi Gebang Permai Blok R/6 Yogyakarta 55511 Telp. : 0274-882262; 0274-4462135 Fax. : 0274-4462136 E-mail
:
[email protected]
Yakub Sistem Basis Data; Tutorial Konseptual/Yakub - Edisi Pertama – Yogyakarta; Graha Ilmu, 2008 xx + 148 hlm, 1 Jil. : 23 cm. ISBN:
978-979-756-385-1
1. Teknik
I. Judul
Persembahan
“Wong Kang Tèkun Atèkèn Tèmèn Bakal Katèkan Kang Sinèdyo” Untuk yang tercinta: Simbok Suliyem Umi Rukayah, SE Istriku Prasetyo Abdul Rosyid Anakku Permana Alghifarie Anakku
KATA PENGANTAR Bismillahirrohmanirrokhim, dengan hati yang tulus penulis panjatkan puji syukur kehadirat Allah SWT yang telah melimpahkan rahmat, karunia serta pertolongan-Nya, sehingga tersusunlah buku ini dengan judul “Tuntunan Konseptual Sistem Basis data”. Penyusunan buku terdiri dari 8 (delapan) bab yaitu; (i) konsep dasar basis data, (ii) sistem basis data, (iii) model data, (iv) transformasi model data, (v) aljabar relasional, (vi) normalisasi data, (vii) penerapan normalisasi data, (viii) structured query language. Masing-masing bab secara garis besar isinya akan membahas halhal sebagai berikut: Bab I
:
membahas tentang konsep dasar basis data yang diuraikan dalam pendahuluan, pengertian basis data, hirarki data, manfaat basis data, operasi basis data, data independensi, data integritas data. Sub bab hirarki data diuraikan tentang elemen data, record, dan file. Persyaratan basis data diuraikan tentang redudansi dan inkonsistensi data, pengaksesan data, data terisolasi untuk standarisasi, keamanan data, dan multi user. Independency data dibedakan menjadi physical data independency dan logical data independency. Integritas data diuraikan tentang domain integrity, integrity entity, dan integrity referensial.
Bab II
:
Bab III :
Bab IV :
Bab V
viii
:
membahas tentang sistem basis data yang diuraikan dalam pengertian sistem basis data, komponen basis data, pemakai, abstraksi data, schema, dan database language. Komponen basis data diuraikan tentang perangkat keras, sistem operasi, basis data, dan Database Management System (DBMS), pemakai, dan administrator basis data. Abstraksi data dibedakan menjadi physical level, conceptual level, dan view level. Schema dibedakan menjadi subschema dan instance schema. Database language yang dibedakan menjadi Data Definition Language (DDL) dan Data Manipulation Language (DML). membahas tentang model data yang diuraikan dalam Entity Relation Diagram (ERD), varian relasi, derajat relasi, generalisasi, spesialisasi, dan agregasi. ERD terdiri dari komponen entity, attribute, dan relation. Varian relasi yang diuraikan menjadi binery relation, unary relation, dan n-ary relation. Derajat relasi dibedakan menjadi one to one, one to many, dan many to many. membahas tentang transformasi model data yang diuraikan dalam aturan umum, aturan transformasi one to one (1:1), aturan transformasi one to many (1:M), aturan transformasi many to many (M:N), transformasi generalisasi ke tabel, transformasi spelialisasi ke tabel, dan contoh tranformasi. Contoh transformasi membahas transformasi satu mahasiswa mengambil satu matakuliah, transformasi banyak mahasiswa mengambil satu matakuliah, dan transformasi banyak mahasiswa mengambil banyak matakuliah. membahas tentang aljabar relasional yang diuraikan dalam query procedural, simbol aljabar relational, unary operation, dan binery relation. Unary relation dibedakan
Tuntunan Konseptual Sistem Basis Data
Bab VI :
Bab VII :
Bab VIII :
menjadi operasi select dan operasi project. Binery relation dibedakan manjadi union, set difference, set intersection, dan cartesian product. membahas tentang normalisasi data yang diuraikan dalam normalisasi, bentuk normalisasi, konsep dependency, status key, dan dekomposisi. Bentuk normalisasi menguraikan tentang bentuk tidak normal, normal pertama, normal kedua dan normal ketiga. Konsep dependency dibedakan menjadi functional dependency, dependency transitive, dan trivial dependency. Status key dibedakan menjadi super key, candidate key, primary key, dan foreign key. Dekomposisi diuraikan tentang lossless join decomposition dan anomalis. membahas tentang penerapan normalisasi yang diuraikan dalam teknik normalisasi, bentuk unnormalisasi, pengujian data, dan contoh pengujian nurmalisasi. Bentuk normalisasi diuraikan menjadi bentuk normalisasi pertama (1 Normal Form), bentuk nurmalisasi kedua (2 Normal Form), dan bentuk normalisasi ketiga (3 Normal Form). membahas tentang Structured Query Language (SQL) yang diuraikan dalam elemen-elemen SQL, Data Definition Language (DDL), Data Manipulation Language (DML), Data Control Language (DCL), pengendalian transaksi, fungsi agregat, operator WHERE, operator JOIN dan contoh-contoh penggunaan SQL. Elemenelemen SQL diuraikan tentang; pernyataan, nama, tipe data, konstanta, ekspresi, dan fungsi bawaan. DDL diuraikan tentang pernyataan CREATE, DROP, dan ALTER TABLE. DML diuraikan tentang pernyataan INSERT, UPDATE, SELECT, DELETE, ORDER BY, GROUP BY, dan HAVING. DCL diuraikan tentang pernyataan GRANT dan REVOKE. Fungsi agregat Konsep Dasar
ix
diuraikan tentang COUNT, AVG, SUM, MIN, dan MAX. Operator WHERE dibedakan dengan pernyataan OR, NOT, BETWEEN-AND, IN dan LIKE. Sedangkan Operator JOIN dibedakan menjadi INNER JOIN dan OUTER JOIN yang dibedakan juga menjadi LEFT JOIN dan RIGHT JOIN. Harapan penulis buku ini dapat memberikan tuntunan konseptual serta dapat digunakan sebagai buku pegangan bagi para pengajar dan mahasiswa untuk jurusan Manajemen Informatika, Teknik Informatika, Sistem Informasi, dan Sistem Komputer. Penulis menyadari bahwa isi buku dan cara penulisan buku ini masih jauh dari sempurna. Untuk itu penulis mengharapkan kritik serta saran yang bersifat membangun dari pembaca sehingga penulis dapat mengembangkan buku ini menjadi lebih baik.
Jakarta, April 2008
Penulis
Tuntunan Konseptual Sistem Basis Data
DAFTAR ISI Persembahan Kata Pengantar Daftar Isi Daftar Gambar Daftar Tabel bab I 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
KONSEP DASAR Pendahuluan Basis Data Hirarki Data Manfaat Basis Data Operasi Basis Data Persyaratan Basis Data Data Independency Integritas Data
bab ii 2.1 2.2 2.3 2.4 2.5
SISTEM BASIS DATA Pengertian Sistem Basis Data Komponen Sistem Basis Data Abstraksi Data Schema Bahasa Basis Data (Database Language)
v vii xi xv xix 1 1 1 3 4 5 6 7 9 13 13 13 17 21 22
bab iii 3.1 3.2 3.3 3.4 3.5
MODEL DATA Entity Relationship Diagram (ERD) Varian Relasi Derajat Relasi (Kardinalitas) Generalisasi dan Spesialisasi Agrerasi
25 25 30 33 36 38
bab Iv 4.1 4.2 4.3 4.4 4.5 4.6 4.7
TRANSFORMASI MODEL DATA Aturan Umum Aturan Transformasi 1:1 (One to One) Aturan Transformasi 1:M (One to Many) Aturan Transformasi M:N (Many to Many) Transformasi Generalisasi ke Tabel Transformasi Spesialisasi ke Tabel Contoh Transfortasi
42 41 42 44 47 50 51 52
bab v 5.1 5.2 5.3 5.4
ALJABAR RELASIONAL Query Procedural Simbol Aljabar Relasional Operasi Unari (Unary Operation) Operasi Bineri (Binery Operation)
57 57 57 58 60
bab vi NORMALISASI DATA 6.1 Normalisasi 6.2 Bentuk Normalisasi 6.3 Konsep Ketergantungan (Dependency) 6.4 Status Kunci (Key) 6.5 Dekomposisi
67 67 67 71 74 77
bab vii PENERAPAN NORMALISASI 7.1 Teknik Normalisasi 7.2 Pengujian Data 7.3 Pengujian Normalisasi
83 89 91
xii
Tuntunan Konseptual Sistem Basis Data
bab viii STRUCTURED Query LANGUAGE (SQL) 8.1 Apa itu SQL ? 8.2 Data Definition Language (DDL) 8.3 Data Manipulation Language (DML) 8.4 Data Control Language (DCL) 8.5 Pengendalian Transaksi 8.6 Fungsi Agregat 8.7 WHERE 8.8 Operator Join 8.9 Contoh Penggunaan SQL
99 101 106 114 116 117 121 123 127
DAFTAR PUSTAKA TENTANG PENULIS
143 145
Daftar Isi
xiii
TENTANG PENULIS
Yakub, lahir 04 Mei 1969 di Gunung Kidul, Yogyakarta. Lulus Akademi Manajemen Informatika dan Komputer (AMIK) Widuri Jakarta, tahun 1999. Kemudian melanjutkan ke Strata Satu (S1) Program Studi Sistem Informasi di Sekolah Tinggi Manajemen dan Informatika dan Komputer (STMIK) Widuri Jakarta, lulus tahun 2003. Program Pasca Sarjana (S2) Program Studi Teknik Informatika di Sekolah Tinggi Teknologi Informasi Benarif Indonesia (STTIBI) Jakarta, lulus tahun 2005, dan pada tahun 2007 ini STTIBI berubah menjadi Eresha School of Information Technology. Tahun 2006 mengambil Program Pasca Sarjana Magister Manajemen pada bidang peminatan Manajemen Pemasaran di Universitas Budiluhur Jakarta. Sehari-hari penulis bekerja di Fakultas Teknologi Informasi Universitas Tarumanagara Jakarta. Selain itu penulis juga sebagai dosen tetap Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Dharma Putra Tangerang. Penulis juga masih aktif mengajar di Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Widuri Jakarta pada matakuliah Sistem Basis Data, Konsep Sistem Informasi, Sistem Informasi Manajemen, dan Analisa dan Perancangan Sistem Informasi.