Halaman

Rabu, 19 Desember 2012

Optimasi Query

Optimasi query digunakan untuk meminimalkan “jalur” pencarian untuk menemukan data yang disimpan dalam lokasi fisik.
Faktor yang berpengaruh terhadap kecepatan akses data, tidak hanya terletak pada optimasi perintah SQL, tapi terhadap hal-hal lain yang berpengaruh. Diantaranya adalah optimasi aplikasi dan penggunaan cluster dan index. Hal yang akan dibahas dalam optimasi query berikut ini tidak melibatkan penggunaan komponen yang ada dalam Arsitektur database engine, misal pada database Oracle kecepatan akses data dipengaruhi oleh penyesuaian pada shared pool, buffer cache, redo log buffer dan sistem operasi yang digunakan.

OPTIMASI APLIKASI
Dalam pembuatan aplikasi, yang perlu mendapat perhatian adalah apakah akses terhadap data sudah efisien. Efisien dalam hal penggunaan obyek yang mendukung kecepatan akses, seperti index atau cluster. Kemudian juga bagaimana cara database didesain. Apakah desain database sudah melakukan normalisasi data secara tepat. Kadangkala normalisasi sampai level yang kesekian, tidak menjamin suatu desain yang efisien. Untuk membuat desain yang lebih tepat, kadang setelah melakukan normalisasi perlu dilakukan denormalisasi. Misalnya tabel yang hubungannya one-toone dan sering diakses bersama lebih baik disatukan dalam satu tabel.

CLUSTER DAN INDEX
Cluster adalah suatu segment yang menyimpan data dari tabel yang berbeda dalam suatu struktur fisik disk yang berdekatan. Konfigurasi ini bermanfaat untuk akses data dari beberapa tabel yang sering di-query. Penggunaan cluster secara tepat dilaksanakan setelah menganalisa tabel-tabel mana saja yang sering di-query secara bersamaan menggunaan perintah SQL join. Jika aplikasi sering melakukan query dengan menggunakan suatu kolom yang berada pada klausa WHERE, maka harus digunakan index yang melibatkan kolom tersebut. Penggunaan index yang tepat bergantung pada jenis nilai yang terdapat dalam kolom yang akan diindex. Dalam RDBMS Oracle, index B-Tree digunakan untuk kolom yang mengandung nilai yang cukup bervariasi, sedangkan untuk nilai yang tidak memiliki variasi cukup banyak, lebih baik menggunakan index bitmap.

Query Lanjutan

Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL Statement yang lain. Subquery mengembalikan nilai ke main query. Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui (unknown values).
Pada subquery dengan banyak kolom, tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column.

Pembandingan kolom dalam subquery banyak kolom dapat berupa :
  1. Pembandingan berpasangan (Pairwise Comparison SubQuery)
  2. Pembandingan tidak berpasangan (NonPairwise Comparison SubQuery)
PENGGUNAAN QUERY DALAM KLAUSA FROM
Query bisa diletakkan di dalam klausa FROM untuk membentuk tabel temporer. Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk object database.

EKSPRESI SCALAR SUBQUERY
Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris. Scalar subquery pada standart SQL-92 hanya terbatas pada :
  1. SELECT Statement (klausa FROM dan WHERE saja)
  2. Daftar VALUE dari statement INSERT
Pada standart SQL-99, scalar subqueries dapat diguanakan dalam :
  • Kondisi dan ekspresi sebagai bagian dari perintah DECODE dan CASE.
  • Semua klausa dari SELECT Statement kecuali GROUP BY.
KORELASI SUBQUERY
Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query. Proses korelasi dimulai dengan mengambil baris dari outer query, kemudian inner query dijalankan dengan menggunakan nilai baris kandidat, kemudian nilai dari inner query digunakan untuk melakukan kualifikasi atau mendiskualifikasi baris kandidat.
Korelasi Subquery juga dapat digunakan untuk :
  1. meng-update baris pada satu table berdasarkan pada baris dari table yang lain, korelasi seperti itu dinamakan dengan Korelasi Update.
  2. menghapus baris pada satu table berdasarkan pada baris dari table yang lain, korelasi seperti itu dinamakan dengan Korelasi Delete.
PENGGUNAAN OPERATOR EXIST DAN NOT EXIST
Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery.
Jika ditemukan, maka pencarian tidak dilanjutkan dalam inner query dan kondisi ditandai TRUE.Jika tidak ditemukan, maka kondisi ditandai FALSE dan kondisi pencarian dilanjutkan dalam inner query.

PENGGUNAAN KLAUSA WITH
Dengan menggunakan klausa WITH, kita dapat menggunakan blok query yang sama dalam statement SELECT pada saat terjadi lebih dari sekali dalam complex query. Klausa WITH mendapatkan hasil dari blok query dan menyimpannya dalam tablespace temporer kepunyaan user. Klausa WITH dapat meningkatkan performansi.

Structured Query Languages (SQL)

Structured Query Languages (SQL) pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai pada berbagai platform, dari mikrokomputer hingga mainframe. SQL dapat digunakan baik secara berdiri sendiri maupun dilekatkan pada bahasa-bahasa lain seperti C dan Delphi. SQL juga telah menjadi bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL dan Informix.

Elemen dasar SQL:
  1. Pernyataan:  perintah SQL yang meminta sesuatu tindakan kepada DBMS. SQL memiliki kira-kira 30 pernyataan diantaranya:
    DELETE
    Menghapus baris pada tabel
    DROP
    Menghapus tabel, indeks atau pandangan
    SELECT
    Memilih baris dan kolom pada tabel
    UPDATE
    Mengubah nilai pada sebuah baris
  2. Nama digunakan sebagai identitas bagi objek-objek pada DBMS. Contoh objek pada DBMS adalah tabel, kolom dan pengguna.
  3. Tipe Data
    Setiap data memiliki tipe data. Berikut ini adalah tipe data dalam MySQL :
    Tipe data untuk numerik : TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, FLOAT, DOUBLE, DECIMAL(M,D).
    Tipe data string : CHAR(n), VARCHAR(n), TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, ENUM, SET SET.
    Tipe data tanggal dan jam : DATE, TIME, DATETIME.
  4. Konstanta menyatakan nilai yang tetap.
  5. Ekspresi: segala sesuatu yang menghasilkan nilai. Ekspresi digunakan untuk menghitung nilai.
  6. Aggregate Functions (Fungsi Agregat)
    Fungsi adalah sebuah subprogram yang menghasilkan suatu nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang dikenakan pada suatu tabel atau query.
    a. AVG(ekspresi)
    Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan tipe data numerik.
    b. COUNT(x)
    Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin dicari jumlah barisnya.
    c. MAX(ekspresi)
    Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe data numerik.
    d. MIN(ekspresi)
    Fungsi ini digunakan untuk mencari nilai terkecil dari suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe data numerik.
    e. SUM(ekspresi)
    Fungsi ini digunakan untuk mendapatkan nilai total dari suatu kolom pada suatu tabel
Pernyataan SQL
  1. DDL (Data Definition Language): kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut basis data, tabel, atribut(kolom), batasan-batasan terhadap suatu atribut, serta hubungan antar tabel. Yang termasuk dalam kelompok DDL ini adalah CREATE, ALTER, dan DROP.
  2. DML (Data Manipulation Language): kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, pengubahan dan penghapusan data. Perintah yang termasuk dalah kategori DML adalah : INSERT, DELETE, UPDATE dan SELECT.
 

Jumat, 23 November 2012

DEPENDENCY DAN NORMALISASI

Functional Dependency
  • menggambarkan relationship/hubungan, batasan, keterkaitan antara atribut-atribut dalam relasi 
  • menggunakan atribut untuk menentukan harga atribut yang lain
Macam-macam Dependency:
  1. Full Functional Dependency : menunjukkan jika terdapat atribut A dan B dalam suatu relasi dimana B memiliki ketergantungan fungsional secara penuh pada A dan B tidak memiliki dependensi terhadap subseet A
  2. Partially Dependency : ketergantungan fungsional dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan dan B memiliki dependensi terhadap subset A
  3. Transitive Dependency : merupakan tipe fungsional dependency yaitu kondisi dimana A, B, C adalah atribut sebuah relasi dimana A->B dan B->C maka C dikatakan sebagai transitive dependency terhadap A melalui B
Normalisasi
  • proses untuk mendapatkan struktur tabel atau relasi yang efisien dan bebas dari anomali dan mengacu pada cara data item dikelompokkan ke dalam struktur record
  • proses pembentukan struktur basis datasehingga sebagian besar ambiguity bisa dihilangkan
Alasan dilakukan normalisasi:
  1. optimalisasi struktur-struktur tabel
  2. meningkatkan kecepatan
  3. menghilangkan pemasukan data yang sama
  4. lebih efisien dalam penggunaan media penyimpanan
  5. mengurangi redudansi
  6. menghindari anomali
  7. integritas data yang ditingkatkan
Bentuk normalisasi yang biasa digunakan:
  1. 1 NF (First Normal Form)
  2. 2 NF (Second Normal Form)
  3. 3 NF (Third Normal Form)
  4. BCNF (Boyce-codd Normal Form)
  5. 4 NF (Four Normal Form)
  6. 5 NF (Five Normal Form)
Langkah-Langkah Normalisasi:
 
1 NF - Bentuk Normal Pertama
  • suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai
  • tidak diperbolehkan adanya atribut yang bernilai banyak (multivalued attribut) dan attribut komposit atau kombinasi keduanya
2 NF - Bentuk Normal Kedua
  • terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF dan semua atribut selain primary key secara utuh memiliki Functional Dependency pada primary key
  • tidak terpenuhi dalam sebuah tabel jika ada atribut yang ketergantungannya hanya bersifat parsial saja (hanya tergantung pada sebagian dari primary key)
  • jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key maka atribut tersebut harus dipindah atau dihilangkan
3 NF - bentuk Normal Ketiga
  • terpenuhi jika telah memenuhi bentuk 2 NF
  • tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif)

Sabtu, 10 November 2012

Query Languages

Query Languages merupakan bahasa yang digunakan untuk meminta informasi dari basis data.
Bahasa Query Relasional berbeda dengan bahasa pemrograman konvensional. Contohnya yaitu SQL.
Bahasa  Query Relasional formal merupakan bahasa antara yang digunakan basis data, yaitu SQL dikonversi menjadi bahasa relasional formal sehingga dapat diterapkan sekumpulan informasi untuk memperoleh query paling efisien.

Jenis bahasa query:
  1. Bahasa prosedural
User menginstruksikan ke sisitem agar membentuk serangkaian operasi dalam basis data untuk mengeluarakan hasil yang diinginkan. Yang termasuk dalam bahasa ini adalah Aljabar Relational, yaitu kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan relasi yang baru, termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
  1. Bahasa nonprosedural
User mendiskripsikan informasi yang diininkan tanpa memberikan prosedur detail untuk menghasilkan informasi tersebut. Yang termasuk dalam bahasa ini adalah Kalkulus Relational Tuple.

Jenis Operasi:
  1. Operasi Unary
  2. Operasi Binary
Operasi Dasar Aljabar Relasional: 
  1. Selection/Select adalah operasi untuk menyeleksi tupel-tupel yang memebuhi suatu predikat, dapat menggunakan operator perbandingan (<, >, <=, >=, =, #) pada predikat. Beberpa predikat dapat dikombinasikan menjadi predikat majemuk menggunakan penghubung AND dan OR.
  2. Projection / Project adalah operasi untuk memperoleh kolom-kolom tertentu, operasi ini merupakan operasi unary yang mengirim relasi argumen dengan kolom-kolom tertentu.
  3. Cartesius-product atau cross product (X) adalah operasi untuk menghasilkan tabel hasil perkalian kartesian. Operasi ini merupakan operasi biner yang memungkinkan kombinasi informasi beberapa.
  4. Union adalah operasi untuk menghasilkan gabungan tabel dengan syarat kedua tabel memiliki atribut yang sama, yaitu domain atribut ke-i masing-masing tabel harus samas. Operasi ini dapat dilaksanakan jika R dan S mempunyai atribut yang sama sehingga jumlah komponennya sama. 
  5. Set-difference (-) adalah operasi untuk mendapatkan tabel pada suatu relasi tetapi tidak ada pada relasi yang lainnya. Operasi dapat dilakukan jika R dan S mempunyai atribut yang tidak sama yang akan ditampilkan, artinya atribut R yang tidak ada di S akan ditampilkan sedangkan atribut yang sama tidak ditampilkan.
  6. Rename adalah operasi untuk menyalin tabel lama kedalam tabel baru.

Senin, 22 Oktober 2012

Transformasi Model Data

Entitas kuat
  • Himpunan entitas yang dilibatkan dalam ERD
  • Tidak memiliki ketergantungan dengan himpunan entitas lainnya
Entitas Lemah
  • Suatu entity yang keberadaannya tergantung dari keberadaan entity lain
  • Tidak memiliki atribut yang dapat berfungsi sebagai key attribute
Agregasi
  • Menggambarkan sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam ERD
  • Secara kronologi mensyaratkan adanya relasi lain
  • Relasi terbentuk tidak hanya dari entitas tapi juga mengandung unsur relasi lain
Transformasi Model Data ke Basis Data Fisik
  • ERD dipresentasikan menjadi sebuah basis data secara fisik
  • Komponen ERD (himpunan entitas dan relasi) ditransformasikan menjadi tabel yang merupakan komponen utama pembentuk basis data
  • Atribut yang melekat pada masing-masing himpunan entitas  dan relasi akan dinyatakan sebagai field dari tabel yang sesuai
Transformasi Dasar
  • Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data) 
  • Relasi dengan derajat Relasi 1-1 yang menghubungkan 2 buah himpunan entitas yang direpresentasikan dalam bentuk penambahan / penyertaan atribut-atribut relasi ke tabel yang mewakili salah satu dari kedua himpunan entitas
  • Relasi dengan derajat relasi 1-N yang menghubungkan 2 buah himpunan entitas, juga akan direpresentasikan dalam bentuk pemberian/pencantuman atribut key dari himpunan entitas berderajat 1 ke tabel yang mewakili himpunan entitas berderajat N. Atribut key dari himpunan entitas berderajat 1 menjadi atribut tambahan bagi himpunan entitas berderajat N.
  • Relasi dengan derajat relasi N-N yang menghubungkan 2 buah himpunan entitas, diwujudkan dalam bentuk tabel khusus yang memiliki field (tepatnya foreign key) yang berasal dari key-key dari himpunan entitas yang dihubungkannya.
Implementasi Himpunan Entitas Lemah dan Sub Entitas
  • Penggunaan himpunan Entitas lemah dan sub entitas dalam diagram ER diimplementasikan dalam bentuk tabel sebagaimana himpunan entitas kuat
  • Himpunan entitas lemah hanya dapat ditransformasikan menjadi sebuah tabel dengan menyertakan pula atribut key dari hasil implementasi himpunan entitas lemah



Sabtu, 29 September 2012

Model Data Relational

Model Data Relational
  • Kumpulan tabel berdimensi dua dengan masing-masing relasi (relations) tersusun atas tuple (baris) dan atribut (kolom) pada suatu baris data
  • Model data yang meletakkan data dalam bentuk relasi (biasanya disebut tabel) 
Istilah-istilah dalam Model Data Relational:
  1. Relasi :sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
  2. Attribute:  kolom pada sebuah relasi.
  3. Tuple: baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.
  4. Domain: seluruh kemungkinan nilai yang dapat diberikan ke suatu atribut
  5. Degree: jumlah atribut dalam sebuah relasi.
  6. Cardinality: jumlah tuple dalam sebuah relasi.
Relasi
  • menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda
  • struktur data dasar untuk menyimpan informasi, strukturnya sebagai tabel (kumpuln tabel-tabel)
  • setiap relasi memiliki schema yang mendiskripsikan nama relasi dan atribut beserta tipenya.
Basis Data Relational
  • Baris disebut Tuple
  • kolom disebut Attribute
  • Tabel disebut Relation
  • Domain disebut kumpulan dari harga atomik yang dapat dimiliki oleh suatu kolom/atribut
Cara mendefinisikan domain:
  • memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut
  • menentukan tipe data dari nilia yang akan membentuk domain
Relational Key:
  1. Candidate Key, yaitu atribut yang digunakan untuk membedakan antara satu baris dengan baris yang lain.
  2. Primary Key, yaitu candidate key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
  3. Alternate Key, yaitu candidate key yang tidak menjadi primary key.
  4. Foreign Key , yaitu sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi lain.
Batasan-batasan Integritas:
  • Suatu batasan yang diberikan terhadap suatu relasi
  • ditetapkan ketika schema didefinisikan
  • dicek ketika relasi-relasi dimodifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan, dan pencarian/menampilkan data)
Relational Integrity Rules
  1. Null, nilai suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan/mengisi atribut-atribut yang nilainya memang belm siap/tidak ada.
  2. Entity Integrity, tidak ada satu komponen primary key yang bernilai null.
  3. Referential Integrity, garis yang menghubungkan antara satu tabel dengan tabel lain
Menentukan Relation Key dari Suatu Diagram
 Diagram tersebut memiliki 4 entitas dengan relation key seperti berikut:
  • Entitas Account 
  1. Candidat key   : account_number dan balance
  2. Primary Key    : account_number
  3. Alternate Key  : balance 
  4. Foreign Key     : -
  • Entitas Branch 
  1. Candidat key   : branch_name,branch_city,assets
  2. Primay Key     : branch_name 
  3. Alternate key  : branch_city,assets
  4. Foreign Key    : -
  • Entitas loan
    1. Candidat Key   : loan_number,amount
    2. Primary Key    : loan_number
    3. Alternate Key  : amount
    4. Foreign Key    : -
  • Entitas Customer
    1. Candidat Key  : customer_name, customer_city,customer _street
    2. Primary Key    : customer_name
    3. Alternate Key  : customer_city,customer_street 
    4. Foreign Key    : -
Keterhubungan Suatu Tabel


 
Atribute :
Siswa               : NIS, Nama Siswa, Tanggal Lahir, Jenis Kelamin
Pelajaran          : Kode Mata Pelajaan, Mata Pelajaran, Guru Pengampu
Guru                : NIP, Nama Guru, Alamat, Jenis Kelamin

Primary Key:
Siswa               : NIS
Pelajaran          : Kode Mata Pelajaran
Guru                : NIP



Minggu, 23 September 2012

Entity Relationship

Entity Relationship :
  1. Entity-Relationship Model
  2. Entity-Relationship Diagram 
Entity-Relationship Model merupakan model yang digunakan untuk menggambarkan data dalam bentuk entity, atribut, dan relationship antar entitas.
Entity-Relationship Diagram (ERD) merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity).
Entitas:
  • objek yang ada dapat dibedakan dari objek lain dalam dunia nyata.
  • Punya atribut yang membedaka dirinya dengan objek lain dan sering kali punya hubungan dengan objek lain. 
  • contoh : -alat transportasi : mobil, becak, sepeda, sepeda motor.
  • entity sets  adalah kumpulan entitas yang mempunyai tipe sama, contoh kumpulan mahasiswa.

ATTRIBUTE :
  • simbolnya adalah ellips.
  • sebuah entitas dirrepresentaikan oleh beberapa atribut.
  • properti deskriptif yang dimiliki oleh semua anggota dari semua set entitas. contoh mahasiwa: nama, NIM, tempat tanggal lahir.
  • setiap atribut pada entitas memiliki kunci atribut (key atribute) yang bersifat unik : PRIMARY KEY.

 VALUE SET (domain) dari atribut
  • adalah kumpulan nilai yang dapat dimasukkan pada setiap atribut.
  • definisi domain: tipe data, panjang, format data, dll.
Jenis-jenis Atribut:
  1. Atribut Sederhana ( Atomic Attribute): atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen, tidak bisa diuraikan lagi. contoh: NIM mahasiswa.
  2. Attribute Composite: atribut yang terdiri dari beberapa atribut yang lebih mendasar, bisa diuraikan. contoh : alamat.
  3. Atribut Berharga Tunggal( Single Valued Attribute): atribut yang hanya mempunyai satu nilai untuk suatu entitas tertentu.
  4. Atribut Berharga Banyak (Multi Valued Attribut): atribut yang dapat terdiri dari sekumpulan nilai untuk suatu entitas tertentu. contoh: atribut hobi pada entitas mahasiswa.
  5. Atribut Derivatif (Derived Attribute): atribut yang berasal dari satu entitas. contoh: umur yang dapat dihasilkan dari atribut tanggal lahir.

RELATIONSHIP : hubungan yang terjadi antara satu atau lebih entity. 
Dapat memiliki atribut, dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu.
 
CARDINALITY RATIO
Menjelaskan jumlah keterhubungan satu entity dengan entity yang lain.
  1. ONE TO ONE , satu entitas pada entitas A berhubungan dengan paling banyak satu entitas B dan juga sebaliknya.
  2. MANY TO MANY, setiap entitas A dapat berhubungan dengan banyak entitas B dan sebaliknya setiap entitas B juga dapat berhubungan dengan banyak entitas A. 

Tahap pembuatan ERD:
  1. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat.
  2. Menentukan atribut-atribut dari setiap entity.
  3. Menentukan primary key dari setiap entity.
  4. Menentukan relationship antar entity.
  5. Menentukan atribut-atribut dari setiap relationship.
 

Jumat, 14 September 2012

Salam Kenal dari BASIS DATA

Penyimpanan data menggunakan suatu file tergantung pada program pertama kali digunakan, sehingga untuk mempermudah pengolahan data dibutuhkan sisstem basis data sehingga data lebih mudah dikelola.
Sebenarnya apa sich basis data itu???

Data : fakta mentah, fakta yang belum mampu memberikan makna/arti.
Informasi: data yang sudah diolah sehingga mampu memberikan makna/arti.

Basis Data:
  • himpunan data yang berhubungan dan diorganisasi sehingga dapat dimanfaatkan dengan cepat dan mudah 
  • kumpulan data  yang berhubungan dan disimpan bersama tanpa pengulangan (redudancy) yang tidak perlu untuk memenuhi kebutuhan
  • kumpulan file/tabel/arsip yang berhubungan dan disimpan dalam media penyimpanan tertentu
Objektif Basis Data:
  • kecepatan dan kemudahan (speed)
  • efisiensi ruang penyimpanan
  • kebersamaan pemakaian 
  • menangani data dalam jumlah besar
  • meniadakan duplikasi dan inkonsistensi data
  • keamanan (security)
Komponen Sistem Basis Data:
  • hardware
  • sistem operasi
  • basis data
  • software DBMS
  • pemakai
  • aplikasi lain
Arsitektur Sistem Basis Data:
  • Stand Alone
  • Sistem terpusat
  • Sistem Client Server
Stand Alone, DBMS, Basis Data, aplikasi basis data ditempatkan pada komputer yang sama. Hanya bisa dipakai oleh satu pemakai.

Sistem terpusat, terdiri dari sebuah server dan sejumlah terminal.

Sistem Client Server, untuk mengatasi kelemahan pada sistem terpusat

DBMS: suatu program yang digunakan untuk memanage (controll acces) atau pengelolaan data. Contoh: Oracle, Mysql, Ms. SQL, DB2, PostgreSQL, Ms. Acces.

Bahasa basis data: bahasa yang digunakan sebagai intermediet. Contoh : create database, create table, dsb.

Minggu, 09 September 2012

MENGAPA SISTEM BASIS DATA ???

Sistem Basis Data yaitu sistem yang merupakan kumpulan data atau tabel yang saling berhubungan (dalam sebuah basis data di sebuah sistem komputer) dan sekumpulan program lain untuk mengakses dan memanipulasi data tersebut.

Pertanyaannya, Mengapa menggunakan Sistem Basis Data??? Berikut beberapa alasan mengapa Sistem Basis Data digunakan.

Sistem Basis Data menyimpan record-record data pada suatu tempat yaitu basis data dan diantara pemakai maupun program aplikasi terdapat DBMS (Database Management Sistem). DBMS sendiri merupakan perangkat lunak yang didesain untuk melakukan penyimpanan dan pengaturan basis data.

Basis data diibaratkan seperti lemari arsip yang pada prinsipnya yakni mengatur data. Basis data digunakan dengan tujuan utama untuk mempermudah dan mempercepat dalam pengambilan kembali data. Alasan lain penggunaan basis data diantaranya efisiensi ruang penyimpanan, pembentukan kode dan relasi antar data berdasar aturan/batasan tipe data, domain data, keunikan data, untuk menekan ketidakakuratan ketika penyimpanan data dan keamanan hak akses data.

Kelebihan penggunaan Sistem Basis Data, diantaranya:
  1. pengguna dapat menggunakan data yang sama dengan berbagai cara
  2. program dapat diubah tanpa mempengaruhi program lainnya
  3. hardware penyimpanan dapat diubah diubah tanpa mempengaruhi basis data logis maupun program
  4. beberapa basis data dapat digabungkan tanpa menuliskan kembali progamnya
  5. pengguna mengetahui dan mengerti data yang tersedia baginya
  6. pengguna dapat mengakses data dengan mudah
  7. data dapat digunakan secara fleksibel dengan jalur akses yang berbeda
  8. alternatif pemrograman ysng lebih mudah
  9. tidak perrlu membuat file baru untuk aplikasi baru
  10. kontrol keamanan, otorisasi pengaksesan, keteepatan dan reabilitas yang lebih baik
  11. ketepatan dan konsistensi data
  12. proteksi terhadap hilangnya atau rusaknya data
  13. hampir setiap saat data tersedia bilamana diperlukan
Dengan berbagai keuntungan tersebut, Sistem Basis Data juga memiliki kekurangan diantaranya:
  1. mahal, dibutuhkan biaya untuk software hardware dan user berkualitas
  2. kompleks, kemampuan hardware lebih besar menjadikan lebih rumit sehingga membutuhkan keahlian yang lebih tinggi
  3. prosedur backup dan recovery sulit