1 / 95

Basis data

Basis data. Basis data ( atau database) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. DBMS.

Download Presentation

Basis data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Basis data • Basis data (ataudatabase) adalahkumpulaninformasi yang disimpan di dalamkomputersecarasistematiksehinggadapatdiperiksamenggunakansuatu program komputeruntukmemperolehinformasidari basis data tersebut

  2. DBMS • DBMS (Database Management System) merupakansuatusistemperangkatlunak yang memungkinkan user (pengguna) untukmembuat,memelihara, mengontrol, danmengaksesdatabase secarapraktisdanefisien.

  3. RDBMS • RDBMS atauRelationship Database Management System merupakansalahsatujenis DBMS yang mendukungadanyarelationship atauhubunganantartabel. Di samping RDBMS, terdapatjenis DBMS lain, misalnyaHierarchy DBMS, Object Oriented DBMS, dsb.

  4. Perangkatlunak DBMS • DB2 - http://www-306.ibm.com/software/data/db2/ • Microsoft SQL Server - http://www.microsoft.com/sqlOracle - http://www.oracle.com • Sybase - http://www.sybase.com/ • Interbase - http://www.borland.com/interbase • Teradata - http://www.teradata.com/ • Firebird - http://www.firebirdsql.org/ • MySQL – http://www.mysql.com • PostgreSQL - http://www.postgresql.org/

  5. Istilah Database • Table Sebuahtabelmerupakankumpulan data (nilai) yang diorganisasikankedalambaris(record) dankolom (field). Masing-masingkolommemilikinamayang spesifikdanunik. • Field Fieldmerupakankolomdarisebuah table. Field memilikiukuran type data tertentuyang menentukanbagaimana data nantinyatersimpan.

  6. Istilah Database • Record Field merupakan sebuah kumpulan nilai yang saling terkait. • Key Keymerupakansuatu field yang dapatdijadikankuncidalamoperasitabel. Dalamkonsep database, key memilikibanyakjenisdiantaranya Primary Key, Foreign Key, Composite Key, dll.

  7. Istilah Database • SQL SQLatau Structured Query Language merupakansuatubahasa (language) yangdigunakanuntukmengakses database. SQL seringdisebutjugasebagai query.

  8. Hierarki Database

  9. Fitur-fiturMySQL • Relational Database System. Sepertihalnya software database lain yang ada di pasaran, MySQL termasuk RDBMS. • Arsitektur Client-Server. MySQL memilikiarsitektur client-server dimana server database MySQL terinstal di server. Client MySQL dapatberadadi komputeryang samadengan server, dandapatjuga di komputer lain yang berkomunikasi dengan server melalui jaringan bahkan internet. • Mengenalperintah SQL standar. SQL (Structured Query Language) merupakan suatu bahasa standar yang berlaku di hampir semua software database. MySQL mendukung SQL versi SQL:2003.

  10. Fitur-fitur MySQL • MendukungSub Select. Mulaiversi 4.1 MySQL telahmendukungselect dalamselect (sub select). • MendukungViews. MySQL mendukung views sejakversi 5.0 • MendukungStored Prosedured (SP). MySQL mendukung SP sejakversi 5.0 • MendukungTriggers. MySQL mendukung trigger padaversi 5.0 namunmasih terbatas. Pengembang MySQL berjanji akan meningkatkan kemampuan trigger padaversi 5.1.

  11. Fitur-fitur MySQL • Mendukungreplication. • Mendukungtransaksi. • Mendukungforeign key. • Tersediafungsi GIS. • Free (bebasdidownload) • Stabildantangguh • Fleksibeldenganberbagaipemrograman • Security yang baik • Dukungandaribanyakkomunitas • Perkembangansoftware yang cukupcepat.

  12. Merancang Database

  13. Tipe-tipeTabel MySQL • MyISAM, • InnoDBdan • HEAP

  14. MyISAM • TipetabelMyISAMmerupakantipetabel yang sederhana, stabildanmudahdigunakan. • MyISAMstatic. Jenisinidigunakanketikasemuakolomdalamtabeldidefinisikandenganukuran yang pasti (fixed). Dengan kata lain, tidakadakolomyang memilikitipeseperti VARCHAR, TEXT dan BLOB. Karenasifatnya yang fixed, makajenisiniakanlebihcepat, amandanstabil. • MyISAMdymanic. Jenisinidigunakanketikaterdapatkolomdengantipe yang dinamis, sepertitipekolom VARCHAR. Keuntunganutamadarijenisiniadalahukuran yang dinamis. Jadisifatnyalebihefektifkarenaukurandata (file) menyesuaikanisidarimasing-masingkolom (field). • MyISAMCompressed. KeduajenisMyISAM, static dan dynamic dapatdikompresimenjadisatujenisyaituMyISAM Compressed denganperintahmyisamchk. Tentunyahasilnyalebihkecildarisegiukuran. Tabel yang terkompresitidakdapatdikenakanoperasiseperti INSERT, UPDATE danDELETE.

  15. InnoDB • TipetabelInnoDBmerupakantipetabel MySQL yang mendukungproses transaksi. Tipeinimemilikibeberapakeunggulan, antara lain: • Mendukung transaksi antar tabel. • Mendukungrow-level-locking. • MendukungForeign-Key Constraints. • Crash recovery.

  16. HEAP • Tabeldengantipe HEAP tidakmenyimpandatanya di hardisk, tetapimenyimpandi RAM (memori). Tipetabelinibiasanyadigunakansebagaitabelsementara(temporary). Tabelsecaraotomatisakandihapus (hilang) dariMySQL saat koneksi ke server diputus atau server MySQL dimatikan.

  17. TipeTabel yang Lain • BDB. TipetabelinimiriptipetabelInnoDB, namunpenggunaannyabelummaksimal. • Archieve. Tipeinitersediasejak MySQL versi 4.1. Tipeinidigunakanuntukmenyimpan tabel yang terkompresi, dimana biasanya digunakan dalam proses backup. • CSV. Tipeinidigunakanuntukmenyimpan data dalambentuk file text yang dibatasi dengan koma (delimiter). Tipe ini tersedia sejak MySQL versi 4.1. • NDBTable (MySQL Cluster). Tersediasejak MySQL versi 4.1. • Federated (External Tables). Tipeinitersediasejak MySQL versi 5.0.

  18. Tipe-tipe Field (Kolom) MySQL • numerik, • string, • date-and time, • Kelompokhimpunan (set danenum)

  19. Merancang Database yang Baik • Tabeldalam database tidakbolehmengandung record (data) ganda, ataudengankata lain tidakbolehadaredudancy data. Jikaterdapat data yang sama, maka perlu dilihat kembali rancangan tabelnya. • Setiaptabeldalam database, harusmemiliki field (kolom) yang unik. Field inidisebutsebagai Primary Key. • Tabelharussudah normal. • Besaratauukuran database hendaknyadibuatseminimalmungkin. Hal iniditentukanolehpemilihantipe data yang tepat. • Merancang database hendaknyamemperhatikanapakahrancangandapatmenampungdata (record) sesuai yang dibutuhkanolehaplikasi.

  20. Tips Penamaan Identifier • Penamaan identifier (database, tabel, kolom) di MySQL bersifatcase-sensitive. Penamaan identifier hendaknyakonsistenuntuksemuatabeldalamsuatudatabase. Kita dapatmenggunakan model lower-case, UPPER-CASE, camelCasedll. • Nama database, tabeldankolommaksimal 64 karakter. • Hindaripenggunaankarakterkhusus, sepertiüàû, karenabisabermasalahdalamsistemoperasi yang lain. • Pilihnamauntuk field (kolom) yang mencerminkanisidari data yang disimpan.

  21. SQL • Sql(Structured Query Language)jugaseringdisebutsebagai query merupakansuatubahasa (language) yang digunakanuntukmengakses database

  22. Terdapattigajenisperintah SQL • DDL (Data Definition Language) merupakanperintah SQL yang berhubungandenganpendefinisiansuatustrukturdatabase, dalamhalinidatabase dan table. • CREATE • ALTER • RENAME • DROP

  23. DML (Data Manipulation Language) merupakanperintah SQL yang berhubungandenganmanipulasiataupengolahandata ataurecord dalam table. • SELECT • INSERT • UPDATE • DELETE

  24. DCL (Data Control Language) merupakanperintah SQL yang berhubungandenganmanipulasi user danhakakses (priviledges). • GRANT • REVOKE

  25. MengaksesMySQL dari DOSPrompt/Command Line

  26. SHOW DATABASES; Untukkeluardarisistem MySQL, ketikkanperintah“\q;” atauklikpadatombol close

  27. Dasar-Dasar MySQL

  28. KetentuanMemberikanPerintah • Perintahdalam MySQL mengenal case insensitive, perintahdapatditulisdenganhurufbesar(uppercase), ataupundenganhurufkecil (lowercase). • Setiapperintahdiakhiridengan ; (tandatitikkoma) ataudenganmemberikanperintah \g diakhirperintah • Perintahdapatberupaperintah SQL atauperintahkhusus MySQL • Jika Prompt mysql> berganti dengan -> berarti prompt tersebut menunggu kelengkapan perintah dari baris sebelumnya atau menunggu diberikan tanda ; atau \g. Contoh: Perhatikanperintahdibawahiniditulistanpatandatitik-koma ";". • mysql> create database latihan1 • -> • Sistem MySQL akanmenampilkantandapanah '->' yang menyatakanbahwaperintah MySQL tersebutdianggapbelumselesai (karenabelumdiakhiridengantandatitikkoma ';'). Sekarangkitalengkapiperintahsebelumnyadengantandatitik-koma ';' • mysql> create database latihan1 • -> ; • Query OK, 1 row affected (0.02 sec)

  29. Tipe Data pada MySQL • MisalnyaCreate Table. Padatipe-tipe data tersebutterdapatbeberapaatribut yang memilikiartisebagaiberikut: • M, menunjukkanlebarkaraktermaksimum. Nilai M maksimumadalah 255. • D, menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapidibatasiolehnilai M, yaitutidakbolehlebihbesardaripada M-2. • Atribut yang diberitanda [ dan ] berartipemakaiannyaadalah optional. • Jikaatribut ZEROFILL disertakan, MySQL akanotomatismenambahkanatribut UNSIGNED. • UNSIGNED adalahbilangantanpatanda di depannya (misalnyatandanegatif).

  30. TugasMandiri(1) • TINYINT[(M)] [UNSIGNED] [ZEROFILL] • SMALLINT[(M)] [UNSIGNED] [ZEROFILL] • MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] • INT[(M)] [UNSIGNED] [ZEROFILL] • INTEGER[(M)] [UNSIGNED] [ZEROFILL] • BIGINT[(M)] [UNSIGNED] [ZEROFILL] • FLOAT(precision) [ZEROFILL] • FLOAT[(M,D)] [ZEROFILL] • DOUBLE[(M,D)] [ZEROFILL] • DOUBLE PRECISION[(M,D)] [ZEROFILL] dan REAL[(M,D)] [ZEROFILL] • DECIMAL[(M[,D])] [ZEROFILL] • NUMERIC(M,D) [ZEROFILL] • DATE

  31. TugasMandiri(2) • DATETIME • TIMESTAMP[(M)] • TIME • YEAR[(2|4)] • CHAR(M) [BINARY] • VARCHAR(M) [BINARY] • TINYBLOB danTINYTEXT • BLOB danTEXT • MEDIUMBLOB danMEDIUMTEXT • LONGBLOB danLONGTEXT • ENUM('value1','value2',...) • SET('value1','value2',...)

  32. Melihat User danVersi MySQL

  33. MelihatTanggaldanWaktu Mysql>select curdate(); Mysql>select curtime(); Mysql>select now();

  34. MySQL SebagaiKalkulator

  35. Membuat Database Baru

  36. Menghapus Database

  37. MemilihdanMembukaSebuah Database Melihat Isi Sebuah Database

  38. MembuatTabelBaru • Kolompertamaadalah NOPEG denganjenis data bilanganbulat (INTeger), tanpatandanegatif (UNSIGNED), yang akanbertambahnilainyasecaraotomatis(AUTO_INCREMENT), kolom NOPEG adalah kolom utama (PRIMARY KEY). • Padakolomkedua, NAMA akanmenampungnamakaryawan, denganjenisdata VARiabelCHARacter, lebardatanyadapatmenampungmaksimal 50 karakter, dantidakbolehdikosongkan (NOT NULL). Kuranglebihsepertiitulahceritanya.. :)

  39. MelihatStrukturTabel

  40. MenghapusTabel

  41. Constraint • NOT NULL Suatukolom yang didefinisikandengan constraint NOT NULL tidakbolehberisinilaiNULL. Kolom yang befungsisebagaikunci primer (primary key) otomatistidakboleh NULL. • UNIQUE Mendefinisikansuatukolommenjadibersifatunik, artinyaantarasatu data dengan data lainnyanamanyatidakbolehsama, misalalamat email. • Constraint PRIMARY KEY membentuk key yang unikuntuksuatutabel. • FOREIGN KEY constraint didefinisikanpadasuatukolom yang adapadasuatu table, dimanakolomtersebutjugadimilikioleh table yang lain sebagaisuatu PRIMARY KEY, biasadipakaiuntukmenghubungkanantara 2 tabel.

  42. Tugas(3) Buat Database dengannamadbmysql. Pilihdanbuka database tersebut. Buattabeldengannamapesertauntukmenyimpan data pesertameliputi : nomor, nama, email, alamat, kota.

  43. MengubahStrukturSebuahTabel • Penambahankolom (ADD) • Pengubahanlebardanjeniskolom (MODIFY) • Penghapusankolomdanindeks (DROP) • Penggantiannamakolom (CHANGE) • Penggantiannamatabel (RENAME)

  44. ALTER TABLE

  45. Perintah MODIFY

  46. Dalampengubahankolominisebaiknya 'sifat-sifat' kolom yang aslitetapditulisulang. Misalbilakolomnopegmemilikisifat 'auto_increment', makaselamasifatitutetapdipertahankan, maka dia (auto_increment ) harus ditulis ulang.

  47. Mengisi data kedalamtabel

  48. Melihat Data PadaTabel

More Related