Rabu, 25 November 2015

UAS Sistem Basis Data

UAS Sistem Basis Data

NIM: 1403972
Nama: Wildan Lukman Hakim
Kelas: KOM 3B 2014
Alamat Blog: wildzdrago.blogspot.co.id

Materi

1.      Sebutkan perbedaan basis data dan sistem basis data!
Basis Data terdiri dari 2 (dua) kata, yaitu kata Basis dan Data. Basis bisa di artikan sebagai markas ataupun gudang, tempat berkumpul. Sedangkan data yaitu kumpulan fakta dunia nyata yang mewakili suatu objek, seperti manusia, barang, dan lain-lain yang direkam ke dalam bentuk angka, bentuk huruf, simbol, teks, bunyi, gambar atau juga  kombinasinya. Jadi pengertian basis data adalah kumpulan terorganisasi dari data – data yang saling berhubungan sedemikian rupa sehingga dapat mudah disimpan, dimanipulasi, serta dipanggil oleh penggunanya. Definisi Basis data juga dapat diartikan sebagai kumpulan data yang terdiri dari satu atau lebih tabel yang terintegrasi satu sama lain, dimana setiap user diberi wewenang untuk dapat mengakses ( seperti mengubah,menghapus dll.) data dalam tabel-tabel tersebut.
Tujuan Basis data sendiri adalah sebagai berikut ini:
  • Kecepatan serta kemudahan dalam menyimpan, memanipulasi atau juga menampilkan kembali data tersebut.
  • Efisiensinya ruang penyimpanan, karena dengan basis data, redudansi data akan bisa dihindari.
  • Keakuratan (Accuracy) data.
  • Ketersediaan (Availability) data.
  • Kelengkapan (Completeness) data, Bisa melakukan perubahan struktur dalam basis data, baik dalam penambahan objek baru (tabel) atau dengan penambahan field-field baru pada table.
  • Keamanan (Security) data, dapat menentukan pemakai yang boleh menggunakan basis data beserta objek-objek yang ada didalamnya serta menentukan jenis -jenis operasi apa saja yang boleh dilakukannya.
  • Kebersamaan Pemakai (Sharability), Pemakai basis data bisa lebih dari satu orang, tetapi tetap menjaga atau menghindari masalah baru seperti: inkonsistensi data (karana data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) dan juga kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data tersebut.
Sistem Basis Data adalah sistem yang terdiri dari koleksi data atau kumpulan data yang saling berhubungan dan program-program untuk mengakses data tersebut. Komponen Utama Sistem Basis Data :
  • Perangkat Keras (Hardware)
  • Sistem Operasi (Operating Sistem)
  • Basis data (Database)
  • Sistem Pengelola Basis Data (Database Management Sistem atau disingkat DBMS)
  • Yaitu pengelola basis data secara fisik tidak dilakukan oleh pemakai secara langsung, akan tetapi ditangani oleh sebuah perangkat lunak yang khusus. Perangkat Lunak inilah yang disebut DBMS (Database Management Sistem) yang akan menentukan bagaimana data diorganisasi, disimpan, diubah serta diambil kembali. Perangkat Lunak ini juga yang menerapkan mekanisme pengamanan data, pemakaian data secara bersama-sama, konsistensi data dan sebagainya.
  • Pemakai (User).
  • Aplikasi atau Perangkat Lunak yang lainnya.
  • Tujuan Utama Sistem Basis Data sendiri adalah :
  • Menunjukkan suatu lingkungan yang tepat dan efisien didalam melakukan pengambilan (retrieving) dan penyimpanan (storing) informasi basis data, serta menyediakan antarmuka yang lebih ramah kepada user dalam melihat data.
Kegunaan atau Fungsi Sistem Basis Data, mengatasi masalah-masalah pemrosesan data yang sering ditemui dengan menggunakan metode konvensional, permasalah yang diatasi diantaranya:
  • Redudansi data dan juga inkonsistensi data.
  • Kesuliatan dalam pengaksesan data.
  • Data Isolation.
  • Konkurensi pengaksesan.
  • Masalah keamanan.
  • Masalah Integritas.
Pemakai sistem basis data diantaranya:
  • Programmer Aplikasi yaitu orang atau pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML),
  • User Mahir (Casual User) yaitu pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query untuk mengakses data dengan bahasa query yang telah disediakan oleh suatu DBMS.
  • User Umum (End User/ Naïve User) yaitu Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah disediakan sebelumnya.
  • User Khusus (Specialized User) yaitu Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus.
2.      Apa itu integritas data?
Integritas Data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan.
Contoh :
Dari mekanisme integritas data adalah hunbungan orang tua dan anak dengan record terkait. Jika dalam catatan orangtua memiliki satu atau lebih dari catatan anak terkait semua proses integritas referensial akan ditangani oleh database itu sendiri, yang secara otomatis menjamin keakuratan dan integritas data sehingga tidak ada catatan anak bisa ada tanpa orang tua (atau disebut juga yatim piatu) dan bahwa tidak ada orangtua kehilangan catatan anak mereka. Ini juga menjamin bahwa tidak ada catatan induk dapat dihapus sementara orangtua memiliki record setiap anak. Semua ini ditangani pada tingkat database dan tidak memerlukan coding cek integritas ke dalam setiap aplikasi.
Integritas Data dapat Di kelompokan menjadi 2 bagian :
1. Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
2. Integritas yang berada di luar relasi, yaitu integritas referensial
Selain itu ada juga integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).
Secara garis besar integritas data dalam model relasional meliputi :
1. Integritas Entitas
2. Integritas Domain
3. Integritas Referensial
4. Integritas Enterprise
INTEGRITAS ENTITAS
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.
Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));
INEGRITAS DOMAIN
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.
Jenis domain yang harus dimiliki oleh setiap atribut :
1. Karakter bebas
2. Alphanumerik
3. Alphabet
4. Numerik
Pemeliharaan integritas domain :
1. Pendifinisian skema
2. Pemanfaatan properti field
3. Penerapan proses validasi pada pemasukan data
Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)
INTEGRITAS REFERENSIAL
Integritas referensial adalah dasar relasi antar tabel yaitu antara foregin key dengan promary key. Integritas referensial memastikan bahwa seluruh nilai dari foregin key cocok dengan nilai primary key yang dihubungkanya.
Contoh :
create table account
(account-number char (10),
branch-name char (15),
balance integer,
primary key (account-number),
foreign key (branch-name) reference branch)
create table depositor
(costumer-name char (20),
account-number char (10),
primary key (costumer-name, account-number)
foreign key (account-number) reference account
foreign key (costumer-name) reference costumer)
on delete cascade on update cascade
INTEGRITAS ENTERPRISE
Integritas enterprise mengizinkan kita untuk menentukan spesifik business rules sendiri yang tidak sama pada kategori integritas yang lainnya.
3.      Pengertian Transaksi dan Concurrency


Transaksi pada basis data adalah satu atomic operasi berupa lojik pekerjaan maupun lojik recovery yang bisa terdiri dari beberapa intruksi. Tujuan dari transaksi adalah menjaga database dari kehilangan data dan kerusakan,seperti system crash dan pengaksesan data yang sama secara bersamaan oleh dua aplikasi yang berbeda yang menimbulkan gangguan. Ada empat elemen dalam transaksi yang biasa disingkat ACID, yaitu :


·         Atomicity,  semua berhasil atau semua gagal
·         Consistency,  transaksi mempertahankan konsistensi database
·          Isolation,  transaksi terisolasi satu dengan yang lain
·           Durability,  setelah commit update harus survive di database

Dan ada dua jenis transaksi yang paling penting dalam sistem basis data adalah :


·         Commit, memberi tanda bahwa transaksi telah selesai. Update dibuat permanen (bahkan jika setelah commit terjadi kegagalan system)
·         Rollback, memberi tanda bahwa transaksi gagal. Semua update harus di-undo

Untuk lojik recovery atau system recovery database dilakukan ketika terjadi kegagalan media, kegagalan system atau kesalahan pada transaksi. Sistem recovery menggunakan fungsi rollback dan checkpoint. Checkpoint adalah interval tertentu pada perjalanan transaksi basis data yang menyimpan keadaan basis data saat itu. Checkpoint dapat dilakukan untuk merecovery database secara backward (undo) maupun forward (redo).

Concurrency adalah sebuah mekanisme pada system basis data yang mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama tanpa adanya gangguan. Pada umumnya terdapat 3 masalah utama pada concurrency :
·         Lost update problem, ketika dua user mengupdate dua buah data yang sama
·          Uncommited dependency problem, ketika user yang satu meretrieve data dan user yang lain merollback data tersebut
·          Inconsistent analysis problem, ketika user yang satu meretrieve data dan user yang lain mengupdate data tersebut
Untuk menangani masalah tersebut, dilakukan proses locking, jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock. Ada dua jenis lock yaitu :
·          Exclusive Lock (Xlock) à write lock
·         Shared Lock (Slock) à read lock
Jadi cara kerjanya :
·         Jika transaksi A memegang Xlock pada sebuah record, maka permintaan lock (X,S) pada record yang sama harus diabaikan.
·          Jika transaksi A memegang Slock pada record R maka :
o   Permintaan Xlock transaksi lain pada R ditolak
o   Permintaan Slock transaksi lain pada R diterima

Tapi, ada satu masalah yang dapat terjadi ketika melakukan proses locking ini, yaitu deadlock. Yaitu, situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai. Cara penanganannya adalah :
·         Deteksi dan pecahkan deadlock
·         Deteksi deadlock à wait-for-graph
·         Pecahkan deadlock à salah satu dirollback paksa
·         Ostrich Algorithm  à diabaikan

4.      Back end Programming

Back end itu dibelakang dan programming itu pemogramman. Jadi, suatu program yang bekerja dibelakang atau yang tidak dilihat oleh user. Contohnya dalam sistem basis data itu seperti PL/SQL. PL/SQL itu dirancang khusus untuk pengolahan mulus dari perintah SQL. Ini memberikan sintaks khusus untuk tujuan ini dan mendukung persis datatypes sama seperti SQL. Server-side PL / SQL disimpan dan disusun dalam Oracle Database dan berjalan dalam executable Oracle. Secara otomatis mewarisi ketahanan, keamanan, dan portabilitas Oracle Database.

Kelebihan PL/SQL

     Blok PL/SQL juga mempunyai kelebihan tersendiri. Beberapa kelebihannya, antara lain adalah :
  1. Integritas ketat dengan SQL
  2. Performa yang lebih baik
  3. Produktifitas yang lebih tinggi
  4. Portabilitas penuh
  5. Keamanan ketat
  6. Akses ke paket-paket yang telah di tentukan
  7. Dapat mendukung pemograman berorientasi objek dan mendukung pengembangan halaman dan aplikasi web dan server pages (PSPs).

Struktur PL/SQL

     Blok PL/SQL mempunyai struktur yang dibagi menjadi 3 bagian. Berikut ini strukturnya, antara lain :
  • Declaration Section (DECLARE)
  • Execution Section (BEGIN, END)
  • Exception Section (EXCEPTION)

Komponen Utama PL/SQL

        PL/SQL mempunyai komponen utama. Ada 3 komponen utama dalam blok PL/SQL, antara lain adalah :

  1. Annonymous Blok ->Anonymous block ini tidak dibuat (CREATE) dan tak disimpan pada database, biasanya dijalankan dari dalam aplikasi.
  2. Strored Subprogram -> PL/SQL Block ini yang dipanggil dengan sekumpulan parameter. PL/SQL memiliki dua jenis subprogram yaitu: procedure dan function. Secara umum  procedure  digunakan untuk melaksanakan aksi dan function digunakan untuk komputasi suatu nilai.
  3. Trigger -> blok PL/SQL yang disimpan dalam database dan akan diaktivasi ketika kita melakukan statement-statement SQL (DELETE, UPDATE, dan INSERT) pada sebuah tabel. Trigger itu mempunyai event, nah event itu telah yang menandakan bahwa trigger harus dijalankan.

CURSOR

         Cursor itu sama seperti select pada SQL. Cursor mempunyai 3 macam, yaitu antara lain :
  • Cursor yang bertipe data refcursor dan dapat digunakan untuk semua query
  • Cursor yang memiliki query
  • Cursor yang memilik query dan sekaligus berparameter.

5.  XML
Pengertian XML 

XML (eXtensible Markup Language) merupakan bahasa web turunan dari SGML (Standart Generalized Markup Language) yang ada sebelumnya. XML hampir sama dengan HTML, dimana keduanya sama-sama turunan dari SGML. Teknologi XML dikembangkan mulai tahun 1966 dan mendapatkan pengakuan dari Worl Wide Web Consortium (W3C) pada bulan Februari 1998. Sedangkan SGML sendiri telah dikembangkan pada awal tahun 1980-an. Pada saat HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting SGML dan dengan berpedoman pada pengembangan HTML menghasilkan bahasa markup yang tidak kalah hebatnya dengan SGML.

Secara sederhana XML adalah suatu bahasa yang digunakan untuk mendeskripsikan dan memanipulasi dokumen secara terstruktur. Secara teknis XML didefinisikan sebagai suatu bahasa meta-markup yang menyediakan format tertentu untuk dokumen-dokumen yang mempunyai data terstruktur. Bahasa markup adalah mekanisme untuk mengenal secara terstruktur di dokumen. XML adalah suatu aplikasi profil dari SGML. Seperti yang didefinisikan dari ISO 8879, SGML adalah cara standart dan vendor-independent.

XML tidak mempunyai definisi secara tepat karena ada yang berpendapat bahwa XML bukanlah suatu bahasa pemrograman,melainkan XML merupakan sintaks yang digunakan untuk menjelaskan bahasa markup lain (Dournaee,2002), sehingga dinamakan meta-language. Meskipun demikian pendapat yang XML bukan merupakan bahasa markup, didasarkan bahwa XML merupakan bahasa markup terpisah untuk tujuan terpisah. Selain itu XML bukanlah solusi semua hal untuk tujuan semua user. Sedangkan peran dari markup itu sendiri berupa:

1. Markup dapat menambah maksud arti (semantic) suatu data.
2. Dapat memisahkan data.
3. Dapat mendefinisikan peran data.
4. Dapat mendefinisikan batasan data.
5. Dapat menfenisikan keterhubungan data.

XML merupakan sebuah himpunan bagian (subset) dari SGML yang bertujuan agar SGML secara generik dapat melayani, menerima, dan memproses di dalam web dengan cara seperti yang dimungkinkan HTML saat ini. XML didesain untuk kemudahan implementasi dan interoperabilitas dengan SGML maupun HTML. XML adalah bahasa markup yang dirancang untuk penyampaian informasi melalui World Wide Web (www) atau sering disebut web saja. (W3C,2000)

XML merubah cara kita berpikir untuk mengembangkan suatu software terutama aplikasi web. Masalah yang kita sekarang adalah bagaimana caranya untuk bertukar informasi antar satu aplikasi dengan aplikasi lain. Kadang kolaborasi antara satu aplikasi dengan aplikasi yang lain masih harus ditentukan dengan spesifikasi aplikasi tersebut. Padahal seharusnya kita hanya perlu mendapatkan informasi data bukan mengerti cara kerja aplikasi lain itu, disinilah visi internet yang belum tercapai. Visi ini adalah dunia internet dimana PC, server, smart devices dan internet-based device dapat berkolaborasi tanpa ada halangan. Bisnis-bisnis akan dapat bertukar data menyediakan customized dan comprehensive solusi kepada customer. Dan yang paling utama adalah informasi yang dibutuhkan dapat diakses dari mana saja dan dengan computing device, platform, atau aplikasi yang kita gunakan. XML dapat memungkinkan pertukaran informasi atau data antar device (server, PCs, smart device, aplikasi, dan situs web). Data ini akan menjadi independent (unlocked), memudahkannya untuk diorganisir, diprogram, dan dirubah, dan ditukar antar situs web atau aplikasi apa saja. Karena kebutuhan ini, maka makin banyak teknologi 
berbasis XML yang keluar. Contohnya adalah SOAP (Simple Project Acces Protocol) dan UDDI (Universal Description Discovery and Integration).

Contoh program XML:

·         Sebuah contoh dokumen XML seperti pada contoh dibawah ini dan simpan kedalam filecontoh1.xml :
<?xml version="1.0"?>
<product barcode="2394287410">
<manufacturer>Verbatim</manufacturer>
<name>DataLife MF 2HD</name>
<quantity>10</quantity>
<size>3.5"</size>
<color>black</color>
<description>floppy disks</description>
</product>

·         jika dokumen tersebut kita buka menggunakan web browser, maka tampak seperti gambar dibawah ni :
·         Dokumen diatas menjelaskan sebuah data produk yang ada pada suatu supermarket. Produk tersebut memiliki kode barcode= 2394287410,manufacturer=Verbatim, name=DataLife MF 2HD, quantity=10, size=3.5", color=black, description=floppy disks.

Sumber:




Senin, 06 April 2015

Rangkuman materi ERD-DDL-DML-AGGREGASI-GROUPING

TUGAS PRAKTIKUM BASIS DATA

1. Definisi Basis Data
Pangkalan data atau basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.

2.MySQL
Basis data tidak dapat berdiri sendiri, terdapat sistem basis data didalamnya yang disebut sebagai Data Base Management System (DBMS). DBMS adalah perangkat lunak khusus yang digunakan untuk mengelola basis data. Salah satu perangkat lunak yang termasuk DBMS adalah MySQL. Jadi dapat diketahui bahwa MySQL adalah perangkat lunak DBMS yang digunakan untuk mengelola atau mengatur database yang memungkinkan user untuk berinteraksi dengan basis data di dalam disk. Lalu apa itu SQL ? SQL merupakan singkatan dari Structured Query Language dan SQL merupakan salah satu bahasa basis data yang popular untuk saat ini dan akan digunakan.

3.Cara Menggunakan MySQL 
Pada kali ini, kita akan menggunakan MySQL melalui Command Prompt (Windows OS)
dan caranya adalah sebagai berikut :
1. Download dan install software XAMPP pada komputer
2. Aktifkan MySQL dan Apache pada XAMPP
            Cara mengaktifkan :
            1. Buka XAMPP Control  Panel
            2. Klik start pada MySQL dan Apache



4. Eksekusi MySQL
            1. Buka Command Prompt (CMD)
            2. Ketikkan perintah berikut :
                cd c:\xampp\mysql\bin
         

5. Penjelasan TIPE DATA
  •          CHAR: Teks dengan maksimal 255 karakter
  •          VARCHAR: Teks maksimal 255 karakter dan bersifat variabel
  •          INT atau INTEGER Bilangan 4 byte


6. Perintah DDL
DDL = Definition Data Language
Digunakan untuk kepentingan penciptaan database, tabel, hingga penghapusan
database atau tabel
Contoh:
1. CREATE DATABASE (Untuk Membuat Database)
2. CREATE TABLE (Untuk Membuat Tabel)
3. DROP TABLE (Untuk Menghapus Tabel)
4. ALTER TABLE (Merupakan Perintah Dasar Untuk Mengubah Tabel)

7. Perintah DML
DML = Data Manipulation Language
Perintah DML pada MySQL digunakan untuk manipulasi data.
Contoh:
1. SELECT (Untuk Mengambil Data)
2. DELETE (Untuk Menghapus Data)
3. INSERT  (Untuk Menyisipkan Data)
4. UPDATE (Untuk Mengubah Data)

8.Entity Relationship Diagram (ERD)
   ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.         
        Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship diagram (ERD) merupakan teknik yang digunakan untuk memodelkan kebutuhan data dari suatu organisasi, biasanya oleh System Analys dalam tahap analisis persyaratan proyek pengembangan system. Sementara seolah-olah teknik diagram atau alat peraga memberikan dasar untuk desain database relasional yang mendasari sistem informasi yang dikembangkan. ERD bersama-sama dengan detail pendukung merupakan model data yang pada gilirannya digunakan sebagai spesifikasi untuk database.

         Komponen penyusun ERD adalah sebagai berikut :
 Komponen penyusun ERD adalah sebagai berikut :
    Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek lain, sebagai contoh mahasiswa,dosen,departemen. Entitias terdiri atas beberapa atribut sebagai contoh atribut dari entitas mahasiswa adalah nim,nama,alamat,email, dll. Atribut nim merupakan unik untuk mengidentifikasikan / membedakan mahasiswa yg satu dengan yg lainnya. Pada setiap entitas harus memiliki 1 atribut unik atau yang disebut dengan primary key.

       Atribut adalah Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips. 


        Ada dua jenis Atribut :

  1) Identifier (key) digunakan untuk menentukan suatuentity  secara unik (primary key).

  2) Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.

         Relasi adalah hubungan antara beberapa entitas. sebagai contoh relasi antar mahaiswa dengan mata kuliah dimana setiap mahasiswa bisa mengambil beberapa mata kuliah dan setiap mata kuliah bisa diambil oleh lebih dari 1 mahasiswa. relasi tersebut memiliki hubungan banyak ke banyak. Berikut adalah contoh ERD.

Kardinalitas menyatakan jumlah himpunan relasi antar entitias. pemetaan kardiniliat terdiri dari :

·         one-to-one :sebuah entitas pada A berhubungan dengan entitas B paling banyak 1contoh diatas relasi pegawai dan departemen dimana setiap pegawai hanya bekerja pada 1 departemen

·         one-to-many : sebuah entitas pada A berhubungan dengan entitas B lebih dari satu contoh diatas adalah 1 depertemen memiliki banyak pegawai

·         many-to-many : sebuah entitas pada A berhubungan dengan entitas B lebih dari satu dan B berhubungan dengan A lebih dari satu jugan contoh diatas adalah relasi mahasiswa dengan mata kuliah.
Berikut adalah metode/tahap untuk membuat ERD :
  •          Menentukan Entitas
  •          Menentukan Relasi
  •          Menggambar ERD sementara
  •          Mengisi Kardinalitas
  •          Menentukan Kunci Utama
  •          Menggambar ERD berdasar Key
  •          Menentukan Atribut
  •          Memetakan Atribut
  •          Menggambar ERD dengan Atribut     
9. Agregasi

Mengurutkan Data dengan ORDER BY 
Mengurutkan data ascending maupun descending
select*from mhs order by nim asc;  
 select*from mhs order by nim desc;  

Mengelompokkan data dengan GROUP BY
 
Ingin mengelompokkan data berdasarkan kota
  1. select kota from mhs group by kota;  
Menentukan kondisi pada GROUP BY
Perintah having hanya dapat digunakan jika group by di gunakan.
contoh :
akan dikelompokkan data pegawai berdasarkan pekerjaan, kecuali pegawai yang pekerjaanya 'tukang sapu'
  1. select pekerjaan from pegawai group by pekerjaan having pekerjaan > 'tukang sapu' ;  
Menggunakan Fungsi Agregasi
Fungsi agregrasi adalah fungsi yang disediakan oleh MySQL untuk menghasilkan sebuah nilai berdasarkan sejumlah data. Adapun beberapa fungsi agregasi pada MySQL adalah :
AVG -> Rata-rata
COUNT -> Jumlah Data
MAX -> Terbesar
MIN -> Terkecil
SUM -> Jumlah Nilai
 
Fungsi AVG
menghitung rata-rata gaji pegawai

select avg(gaji) from pegawai;  

menghitung rata-rata pegawai per pekerjaan

select pekerjaan, avg(gaji) from pegawai group by pekerjaan;  

menghitung rata-rata gaji pegawai yang pekerjaannya SALESMAN

select pekerjaan,avg(gaji) from pegawai group by pekerjaan having job='salesman';  

Fungsi COUNT
menghapus jumlah pegawai di tabel begawai.

select count(*) from pegawai;  

menghitung jumlah pegawai per pekerjaan

select pekerjaan,count(*) from pegawai group by pekerjaan;  

Fungsi MAX
menampilkan informasi gaji terbesar

select max(gaji) from pegawai;  

menampilkan informasi gaji terbesar pegawai per pekerjaan.

select pekerjaan, max(gaji) from pegawai group by pekerjaan;  

Fungsi MIN
menampilkan informasi gaji terkecil

select min(gaji) from pegawai;  

menampilkan informasi gaji terkecil pegawai per pekerjaan.

select pekerjaan, min(gaji) from pegawai group by pekerjaan;  

Fungsi SUM
menghitung total gaji pegawai.

select sum(gaji) from pegawai;  

menghitung jumlah gaji pegawai per pekerjaan dengan tampilan urut naik berdasarkan pekerjaan.

select pekerjaan, sum(gaji) from pegawai group by pekerjaan order by pekerjaan asc;  

menghitung jumlah gaji pegawai per pekerjaan dengan tampilan urut menurun berdasarkan jumlah gaji.

select pekerjaan, sum(gaji) as bayaran from pegawai group by pekerjaan order by bayaran desc;  


Sumber: http://bloglieken.blogspot.com/2011/04/praktikum-perintah-manipulasi-data_30.html
              http://intanstemapal24.blogspot.com/2014/08/pengertian-erd-entity-relationship.html
              http://satryotekaje.blogspot.com/2012/07/perintah-ddl-dan-dml-pada-mysql.html