tugas 6
Contoh Diagram Basis Data E-R usaha dagang elektronik
1) Langkah-langkahpembuatan E – R Diagram :
ü Identifikasientitasdanatribut key untukmasing-masingentitas
ü Identifikasiseluruhrelasi
ü Identifikasiatribut non key (bukankunci) padaentitasdanrelasi
ü Identifikasibilangankardinalitas
2) Permasalahan
Usaha Dagang Elektronik adalahsebuahtokodimanagudanguntukmenyimpanbarang-barangnyalebihdarisatu. Data yang dicatatnyaadalah supplier yang memasokbarang, barangatauproduk yang adadalamtoko, nota pembelian yang didapatdari proses pembelian,dan stok yang adapadamasing-masinggudang. Permasalahan yang munculadalahsulitnyauntukmengecekstokbarangpadamasing-masinggudangkarenajaraksehinggamengakibatkan proses penyimpananmenjaditerhambat.
3) Identifikasientitasdanatribut key untukmasing-masingentitas
produk:
- kode_produk: kodeunikuntuktiapmacamproduk
- nama_produk: namalengkapuntukproduk
- harga_jual: hargajualproduk di toko
pemasok:
- kode_pemasok: kodeunikuntuktiappemasok
- nama_pemasok:namalengkapuntukpemasok
- alamat_pemasok: alamatlengkapuntukpemasok
nota_pembelian:
- no_nota: kodeuntuk nota pembelian
- tanggal: tanggaltransaksidilakukan
gudang:
- kode_gudang: kodeuntukruangkelas
- alamat_gudang: alamatlengkapuntukgudang
4) Identifikasiseluruhrelasi
ü Pemasok dengan produk relasinya supply
ü Produk dengan gudang relasinya disimpan
ü Produk dengannota_pembelianrelasinya tercatat
ü pemasokdengannota_pembelian relasinya tercatat
5) Identifikasibilangankardinalitas
ü Pemasok dengan produk:Relationship: One-to-many
Attribute penghubung: kode pemasok, kode_produk
ü Produkdengan gudang : Relationship: Many-to-many
Attribute penghubung: kode_produk, kode_gudang
ü Produkdengannota_pembelian:Relationship: Many-to-many
Attribute penghubung: kode_produk, no_nota
ü Pemasokdengannota_pembelian:Relationship: One-to-many
Attribute penghubung: kode_pemasok
6) Pembuatan ERD
7) Identifikasiatribut non key (bukankunci) padaentitasdanrelasi
NORMALISASI DATABASE
TUGAS 7
Normalisasi pada database(DB) mempunyai tujuan untuk menghindari kemubaziran dana / rangkapnya data / redudancy, sebagai contoh :
- +++++++++++++++
- + tbl_mhs +
- +++++++++++++++
- + id_mhs +
- + nama_mhs +
- +++++++++++++++
- +++++++++++++++
- + tbl_kelas +
- +++++++++++++++
- + id_kelas +
- + id_mhs +
- + nama_mhs +
- +++++++++++++++
silahkan diperhatikan, pada kedua tabel terjadi kerangkapan data, yaitu nama mahasiswa, yang mengakibatkan data nama_mhs pada salah satu tabel akan mubazir alias tidak terpakai. jadi bisa dibilang Normalisasi itu teknik untuk mengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik(tanpa adanya redudansi).
Urutan Normalisasi : 1. N1(Normalisasi Pertama)
Mempunyai aturan
- Mendefinisikan primary key
- Tidak ada grup yang berulang
- Semua non-primary key bergantung pada primary key
2. N2(Normalisasi Kedua)
Mempunyai aturan
- Memenuhi aturan N1
- Tidak ada ketergantungan parsial (Artinya Atribut yang bukan Key Primer tidak tergantung Fungsional pada sebagian primery key / dimana seluruh field hanya tergantung pada sebagian field kunci)
3. N3(Normalisasi Ketiga)
Mempunyai aturan
- Memenuhi aturan N2
- Tidak ada ketergantungan transitif
Sebagai tambahan normal dalam suatu database seharusnya mencapai bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Jumlah normalisasi seluruhnya ada 5(Lima) dimana 3 bentuk normal pertama menekankan redudansi yang muncul dari Function Dependencies sedangkan N4 dan N5 menekankan redudansi yang muncul dari kasus Multi Valued Dependencies.
Berikut adalah cara singkat melakukan normalisasi
1. Normalisasi Pertama a.k.a N1
Hilangkan duplikasi dengan mencari ketergantungan parsial
2. Normalisasi Kedua a.k.a N2
Field-field yang tergantung pada satu field harus dipisah dengan tepat
3. Normalisasi Ketiga a.k.a N3
Cari hubungan transitif(transitive relation) dimana field non key tergantung pada field non key lainnya.
Tabel yang sudah mencapai N3 sudah siap untuk diimplementasikan dalam sebuah proyek, sebenarnya masih ada bentuk normalisasi yang lain yaitu Normalisasi Boyce-Codd dan N4. Jadi sebelum membuat suatu project normalisasikanlah database-mu.
http://rootpanels.blogspot.com/2010/06/normalisasi-database.html
Model data entity relationship
TUGAS 5
Sistem Basis Data – Entity Relationship Diagram (ERD)
Bahasan Sistem Basis Datakali ini tentang Entity Relationship Diagram (ERD) salah satu bentuk pemodelan basis data yang sering digunakan dalam pengembangan sistem informasi. Bahasan meliputi: Pengertian ERD, Notasi ERD, Metode ERD, Tahap ERD, Kardinalitas, dan Contoh kasus ERD
Pengertian ERD
Dalam rekayasa perangkat lunak, sebuah Entity-Relationship Model (ERM) merupakan abstrak dan konseptual representasi data. Entity-Relationship adalah salah satu metode pemodelan basis data yang digunakan untuk menghasilkan skema konseptual untuk jenis/model data semantik sistem. Dimana sistem seringkali memiliki basis data relasional, dan ketentuannya bersifat top-down. Diagram untuk menggambarkan model Entitiy-Relationship ini disebut Entitiy-Relationship diagram, ER diagram, atau ERD.
Notasi ERD
Ada sejumlah konvensi mengenai Notasi ERD. Notasi klasik sering digunakan untuk model konseptual. Berbagai notasi lain juga digunakan untuk menggambarkan secara logis dan fisik dari suatu basis data, salah satunya adalah IDEF1X.
Notasi-notasi simbolik yang digunakan dalam Entity Relationship Diagram adalah sebagai berikut :
- Entitas, Adalah segala sesuatu yang dapat digambarkan oleh data. Entitas juga dapat diartikan sebagai individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999). Ada dua macam entitas yaitu entitas kuat dan entitas lemah. Entitas kuat merupakan entitas yang tidak memiliki ketergantungan dengan entitas lainnya. Contohnya entitas anggota. Sedangkan entitas lemah merupakan entitas yang kemunculannya tergantung pada keberadaaan entitas lain dalam suatu relasi.
- Atribut, Atribut merupakan pendeskripsian karakteristik dari entitas. Atribut digambarkan dalam bentuk lingkaran atau elips. Atribut yang menjadi kunci entitas atau key diberi garis bawah.
- Relasi atau Hubungan, Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.
- Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atribut dinyatakan dalam bentuk garis.
Derajat relasi atau kardinalitas
Menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Macam-macam kardinalitas adalah:
- Satu ke satu (one to one), Setiap anggota entitas A hanya boleh berhubungan dengan satu anggota entitas B, begitu pula sebaliknya.
- Satu ke banyak (one to many), Setiap anggota entitas A dapat berhubungan dengan lebih dari satu anggota entitas B tetapi tidak sebaliknya.
- Banyak ke banyak (many to many), Setiap entitas A dapat berhubungan dengan banyak entitas himpunan entitas B dan demikian pula sebaliknya.
Tahap ERD
Tahap pertama pada desain sistem informasi menggunakan model ER adalah menggambarkan kebutuhan informasi atau jenis informasi yang akan disimpan dalam database. Teknik pemodelan data dapat digunakan untuk menggambarkan setiap ontologi (yaitu gambaran dan klasifikasi dari istilah yang digunakan dan hubungan anatar informasi) untuk wilayah tertentu.
Tahap berikutnya disebut desain logis, dimana data dipetakan ke model data yang logis, seperti model relasional. Model data yang loguis ini kemudian dipetakan menjadi model fisik , sehingga kadang-kadang, Tahap kedua ini disebut sebagai “desain fisik”.
Secara umum metodologi ERD sebagai berikut:
Contoh Kasus:
Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian). Paling tidak satu pegawai mendapat tugas di satu proyek. Tetapi seorang pegawai dapat libur dan tidak dapat tugas di proyek.
Menentukan entitas
Entitasnya : pengawas, bagian, pegawai, proyek
Menentukan relasi dengan matrik relasi
Gambar ERD sementara
Hubungkan entitas sesuai dengan matrik relasi yang dibuat
Mengisi kardinalitas
Dari gambaran permasalahan dapat diketahui bahwa:
- masing-masing bagian hanya punya satu pengawas
- seorang pengawas bertugas di satu bagian
- masing-masing bagian ada minimal satu pegawai
- masing-masing pegawai bekerja paling tidak di satu bagian
- masing-masing proyek dikerjakan paling tidak oleh satu pegawai
Menentukan kunci utama
Kunci utamanya: Nomor Pengawas, Nama Bagian, Nomor Pegawai, Nomor Proyek
Menggambar ERD berdasarkan kunci
Ada dua relasi many to many pada ERD sementara, yaitu antara bagian dengan pegawai, pegawai dengan proyek, oleh sebab itu kita buat entitas baru yaitu bagian -pegawai dan pegawai-proyek Kunci utama dari entitas baru adalah kunci utama dari entitas lain yang akan menjadi kunci tamu di entitas yang baru.
Menentukan atribut
Atribut yang diperlukan adalah: nama bagian, nama proyek, nama pegawai, nama pengawas, nomor proyek, nomor pegawai, nomor pengawas
Memetakan atribut
- Bagian : Nama bagian
- Proyek: Nama proyek
- Pegawai:Nama pegawai
- Pengawas: Nama pengawas
- Proyek-Pegawai : Nomor proyek, Nomor pegawai
- Pengawas: Nomor pengawas
Menggambar ERD dengan atribut
http://fairuzelsaid.wordpress.com/2010/03/16/sistem-basis-data-entity-relationship-diagram-erd/
model data pada database
Tugas 4
Model-Model Database
Database Management System (DBMS) atau sistem manajemen database dibagi menjadi lima model. Model yang lebih lama diperkenalkan pada tahun 1960-an,yang bersifat hierarkis dan jaringan. Model yang lebih baru bersifat relasional, berorientasi objek, dan multidimensional.
Database Hierarkis
Pada database Hierarkis, field atau record diatur dalam kelompok-kelompok yang berhubungan, menyerupai diagram pohon, dengan record child (level lebih rendah) berada di bawah record parent (level yang lebih tinggi).
contoh database hierarkis
Database hierarkis merupakan model tertua dan paling sederhana dari kelima model database. Dalam model database ini mengakses atau mengupdate data bisa berlangsung sangat cepat karena hubungan-hubungan sudah ditentukan. Tetapi, karena struktur harus didefinisikan lebih dahulu, maka hal ini cukup riskan. Lagipula menambahkan field baru ke sebuah record database membuat semua database harus didefinisikan kembali. Karena itulah diperlukan model database yang baru untuk menunjukkan masalah pengulangan data dan hubungan data yang kompleks.
Database Jaringan
Konsep database jaringan mirip dengan database hierarkis tetapi setiap record child dapat memiliki lebih dari satu record parent. Selanjutnya setiap record child dapat dimiliki oleh lebih dari satu record parent.
Database jaringan pada dasarnya digunakan dengan mainframe, lebih fleksibel disbanding database hierarkis karena ada hubungan yang berbeda antarcabang data. Akan tetapi strukturnya masih harus didefinisikan lebih dahulu. Pengguna harus sudah terbiasa dengan struktur database. Lagipula jumlah hubungan antar-record juga terbatas, dan untuk menguji sebuah field seseorang harus mendapatkan kembali semua record.
Database Relasional
Database Relasional bekerja dengan menghubungkan data pada file-file yang berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.
Cara kerja database relasional:
Elemen-elemen data disimpan dalam tabel lain yang membentuk baris dan kolom. Dalam model database ini data diatur secara logis, yakni berdasarkan isi. Masing-masing record dalam tabel diidentifikasi oleh sebuah field – kunci primer – yang berisi sebuah nilai unik. Karena itulah data dalam database relasional dapat muncul dengan cara yang berbeda dari cara ia disimpan secara fisik pada komputer. Pengguna tidak boleh mengetahui lokasi fisik sebuah record untuk mendapatkan kembali datanya.
Database Berorientasi Objek
Model ini menggunakan objek sebagai perangkat lunak yang ditulis dalam potongan kecil yang dapat digunakan kembali sebagai elemen dalam file database. Database berorientasi objek adalah sebuah database multimedia yang bisa menyimpan lebih banyak tipe data dibanding database relasional.
Salah satu model database berorientasi objek adalah database hypertext atau database web, yang memuat teks dan dihubungkan ke dokumen lain. Model lainnya adalah database hypermedia, yang memuat link dan juga grafis, suara, dan video.
Contoh: database DB2, Cloudscape, Oracle9i dan sebagainya
Database Multidimensial
Database Multidimensial (MDA) memodelkan data sebagai fakta, dimensi, atau numerik untuk menganalisis data dalam jumlah besar, tujuannya adalah untuk mengambil keputusan. Database Multidimensial menggunakan bentuk kubus untuk merepresentasikan dimensi-dimensi data yang tersedia bagi seorang pengguna, maksimal empat dimensi.
Contoh: InterSystem Cache, ContourCube, dan Cognoa PowerPlay
contoh database multidimensional
http://amin-aja.students-blog.undip.ac.id/2009/06/24/83-model-model-database/
DDL dan DML
TUGAS 3
DML dan DDL
1DDL atau Data Definition Language adalah kumpulan perintah SQL yang dapat digunakan untuk membuat dan mengubah struktur dan definisi tipe data dari objek-objek database seperti tabel, index, trigger, view, dan lain-lain.
DML atau Data Manipulation Language adalah kumpulan perintah SQL yang berhubungan dengan pekerjaan mengolah data di dalam table.
Contoh perintah DDL :
- Membuat tabel
CREATE TABLE
Digunakan untuk membuat tabel. Syntax umumnya sebagai berikut :
CREATE TABLE [schema, ] table
( column datatype [DEFAULT expr][,...]);
- Menghapus tabel
DROP TABLE
Digunakan untuk melakukan penghapusan tabel. Melakukan penghapusan table dengan perintah DROP, berarti mengerjakan hal berikut :
Semua data dan struktur dari table akan dihapus Semua transaksi pending akan di-commit Semua indeks akan dihapus Perintah drop ini tidak bisa di-rollback Sebagai contoh, jika kita ingin menghapus tabel dept, maka yang harus dilakukan adalah :
DROP TABLE dept;
- Menambah /menghapus kolom
- Statemen ALTER TABLE digunakan untuk :
~ Menambahkan kolom baru
Untuk menambah kolom baru, syntax umumnya sebagai berikut :
ALTER TABLE table
ADD (column datatype [DEFAULT expr]
[, column datatype]...);
~ Memodifikasi kolom yang sudah ada
Kita dapat memodifikasi kolom dengan mengubah tipe datanya, ukuran dan nilai defaultnya.
Sintaks dari perintah ALTER TABLE untuk memodifikasi kolom sebagai berikut :
ALTER TABLE table
MODIFY (column datatype [DEFAULT expr]
[, column datatype] ... );
Contoh :
ALTER TABLE dept
MODIFY (dname VARCHAR2(30));
View adalah tabel bayangan. Tidak menyimpan data secara fisik. Biasanya berupa hasil query dari tabel-tabel dalam sebuah database. Syntax untuk melakuakn VIEW adalah :
CREATE VIEW <namaTabel> AS
<SQLQuery>
Trigger adalah sebuah obyek dalam database yang berupa prosedur yang merespon setiap kali terdapat proses modifikasi pada tabel. Proses modifikasi berupa: Insert, Update dan delete. Syntax pembuatan Trigger:
CREATE TRIGGER <namaTrigger> ON TABLE <namaTabel>
FOR [DELETE] [,] [INSERT] [,] [UPDATE]
AS <perintahSQL>
Contoh perintah DML :
- Penambahan data pada sebuah tabel
Syntax:
INSERT INTO nama_tabel(field ke-1, ….. field ke-n)
VALUES(nilai_field_ke-1, …. nilai_field_ke-n);
- Pembaruan data pada sebuah tabel
Syntax:
UPDATE nama_tabel
SET nama_field = data_baru
WHERE nama_field = data_lama;
- Penghapusan data pada sebuah tabel
Syntax:
DELETE FROM nama_tabel
[ WHERE kondisi];
- Pemilihan data dari satu atau beberapa tabel
Syntax :
SELECT [DISTINCT] select_list
FROM table_source
[WHERE search_condition]
[GROUP BY group_by_expression]
[HAVING search_condition]
[ORDER BY order_expression [ASC | DESC] ]
http://lunarphue.wordpress.com/basis-data/ddl-dan-dml/