Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Database II :: Referensi http://www.mysql.com/ MySQL Manual Mailing List Google.com … :: Tool Yang Digunakan DOS Prompt Telnet/SSH Client UNIX Shell … :: Database Dasar Definisi Database Kumpulan data yang atur sedemikan rupa sehingga mudah untuk diakses, diolah dan diperbarui. Contoh Database Universitas Berisi data: - nama mahasiswa, dosen - alamat mahasiswa, dosen :: Komponen Database Database SQL Table Column1 Row1 Row2 Column2 Field Record SQL Data :: Komponen Database Database - Flat File Single tabel - Relational Multi tabel Relational - Distributed Tersebar :: Komponen Database Database Management System (DBMS) Software/program yang didesain untuk mengolah dan mengatur informasi (data) di dalam database Contoh MySQL, Ms. Access, Ms. SQL, ORACLE, PostgreSQL,… :: Komponen Database Tabel, Data, Record Kolom/Column Baris/Row no 1 2 Tabel_Buku_Alamat nama alamat arief solo denny bandung 3 Record Data :: Istilah-Istilah Database Database Data-Entry Proses memasukkan data ke database DBMS Field Komponen tunggal tiap member tabel - field nama pada tabel tabel_buku_alamat :: Istilah-Istilah Database Index Elemen untuk mempermudah pencarian - Nama, NIM - Daftar index pada buku Key Field Field untuk mempermudah pencarian - Nama, NIM - Untuk membuat index :: Istilah-Istilah Database Primary Key - Unique identifier - NIM lebih unik daripada nama Record - Single member dari tabel - Nama dan alamat Tabel - Berisi record, field, row, column :: Tugas Buat database terdiri dari satu tabel untuk menampung data mahasiswa :: Structured Query Language Dasar dari semua database Bahasa untuk memberikan perintah untuk pengolahan data dalam database :: Structured Query Language Operasi Database - CREATE DATABASE - SHOW DATABASES - USE DATABASE - DROP DATABASE - CREATE TABEL - DROP TABEL - ALTER TABEL :: CREATE DATABASE CREATE DATABASE Nama_Database Syarat pemberian nama database: •Maksimum 64 karakter •Karakter yang diperbolehkan: - nama direktori kecuali “\”, “/”, dan “.”. :: SHOW DATABASES SHOW DATABASES :: USE DATABASE USE DATABASE Nama_Database :: DROP DATABASE DROP DATABASE Nama_Database :: CREATE TABLE CREATE TABLE Nama_Tabel ( Nama_Kolom Tipe_Data Atribut, ... ...) Syarat pemberian nama tabel: •Maksimum 64 karakter •Karakter yang diperbolehkan: - nama file kecuali “\”, “/”, dan “.”. :: CREATE TABLE Syarat pemberian nama kolom: •Maksimum 64 karakter •Semua karakter diperbolehkan :: Tipe Data Numerik 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. TINYINT INT MEDIUMINT SMALLINT INT BIGINT FLOAT DOUBLE DOUBLEPRECISION DECIMAL :: Tipe Data Tanggal dan Jam TIMESTAMP Tipe Kolom Format Tampilan TIMESTAMP(14) YYYYMMDDHHMMSS TIMESTAMP(12) YYMMDDHHMMSS TIMESTAMP(10) YYMMDDHHMM TIMESTAMP(8) YYYYMMDD TIMESTAMP(6) YYMMDD TIMESTAMP(4) YYMM TIMESTAMP(2) YY :: Tipe Data Tanggal dan Jam DATE YYYY-MM-DD TIME HH:MM:SS YEAR YYYY-MM-DD HH:MM:SS DATETIME YYYY :: Tipe Data String 1. CHAR (Lebar) 2. VARCHAR (Lebar) 3. TINYTEXT (Lebar) 4. TINYBLOB (Lebar) 5. MEDIUMTEXT 6. MEDIUMBLOB 7. TEXT 8. BLOB 9. LONGTEXT 10. LONGBLOB 11. ENUM (elemen1, ...) 12. SET (“member1”, ..) :: Atribut PRIMARY KEY PRIMARY KEY dapat dibuat langsung pada saat pembuatan tabel atau pada saat lain menggunakan perintah ALTER. PRIMARY KEY merupakan batasan untuk menjaga kesatuan data, oleh karena itu PRIMARY KEY tidak boleh mempunyai duplikat dan otomatis tidak NULL. :: Atribut FOREIGN KEY FOREIGN KEY adalah kolom pada sebuah tabel yang menunjukkan bahwa kolom itu adalah PRIMARY KEY pada tabel yang lain. :: Atribut NULL dan NOT NULL Jika sebuah kolom database tidak boleh kosong (harus terisi), maka batasan NOT NULL harus diberikan. Dengan demikian pada saat tabel diisi dengan data (misalnya melalui instruksi INSERT), maka kolom tersebut harus terisi, jika tidak, sistem akan menolaknya. Batasan NULL merupakan kebalikan dari NOT NULL, dan kolom yang mempunyai batasan NULL boleh kosong. :: Atribut UNIQUE Batasan UNIQUE digunakan untuk menjamin bahwa nilai kolom adalah tunggal (tidak mempunyai duplikat). PRIMARY KEY dan UNIQUE mempunyai arti sama. Batasan UNIQUE boleh memiliki niali NULL sedang Primary Key tidak boleh kosong (NOT NULL). :: Atribut DEFAULT Nilai default sebuah kolom dapat diisi otomatis oleh sistem jika tidak ada nilai yang diberikan pada kolom tersebut. DEFAULT tidak berlaku untuk kolom dengan tipe data TIMESTAMP . :: Atribut AUTO_INCREMENT Adalah nilai yang bertambah setiap kali ada penambahan data dalam tabel. Dimulai dari 0 dan ditambah 1 untuk baris berikutnya. :: Create Table :: SHOW TABLES SHOW TABLES :: DESCRIBE TABLE DESCRIBE TABLE Nama_Tabel :: ALTER TABLE ALTER TABLE Nama_Tabel Spesifikasi [Spesifikasi] :: ALTER TABLE :: ALTER TABLE :: ALTER TABLE :: ALTER TABLE :: DROP TABLE DROP TABLE Nama_Tabel :: Structured Query Language Manipulasi Database - INSERT - SELECT - UPDATE - DELETE :: INSERT INSERT INTO namaTabel (NamaKolom1, NamaKolom2, ... ... ...) VALUES (‘nilai1’, ‘nilai2’, ... ... ...) :: INSERT INSERT INTO namaTabel VALUES (‘nilai1’, ‘nilai2’, ... ... ...) :: INSERT INSERT INTO namaTabel (NamaKolom2, NamaKolom1, ... ... ...) VALUES (‘nilai2’, ‘nilai1’, ... ... ...) :: INSERT :: SELECT SELECT Nama_Kolom Nama_Tabel WHERE Kondisi FROM :: SELECT Memilih Semua Record SELECT * FROM Nama_Tabel :: SELECT Memilih Kolom Tertentu SELECT Nama_Kolom1, Nama_Kolom2, ... FROM Nama_Tabel :: SELECT Mengurutkan Hasil Pemilihan SELECT Nama_Kolom1, Nama_Kolom2, ... FROM Nama_Tabel ORDER BY Kolom_acuan :: SELECT Mengurutkan Hasil Pemilihan Terbalik SELECT Nama_Kolom1, Nama_Kolom2, ... FROM Nama_Tabel ORDER BY Kolom_acuan DESC :: SELECT Menghitung Jumlah Rows SELECT COUNT (*) FROM Nama_Tabel :: SELECT Memilih Row Tertentu SELECT * FROM Nama_Tabel WHERE Kondisi :: SELECT Mencari Record Dengan Awalan Tertentu SELECT * FROM Nama_Tabel WHERE Nama_Kolom LIKE ‘apa%’ :: SELECT Mencari Record Dengan Akhiran Tertentu SELECT * FROM Nama_Tabel WHERE Nama_Kolom LIKE ‘%apa’ :: SELECT Mencari Record Berisi Huruf/Angka Tertentu SELECT * FROM Nama_Tabel WHERE Nama_Kolom LIKE ‘%apa%’ :: SELECT Mencari Record Dengan Jumlah Huruf Tertentu SELECT * FROM Nama_Tabel WHERE Nama_Kolom LIKE ‘_ _ _ _ _’ :: SELECT Memilih Record Dari Beberapa Tabel SELECT Nama_Tabel1.Nama_Kolom, Nama_Tabel2.Nama_Kolom … FROM Nama_Tabel1, Nama_Tabel2… WHERE Kondisi SELECT Nama_Kolom_Tabel1, Nama_Kolom_Tabel2,… FROM Nama_Tabel1, Nama_Tabel2… WHERE Kondisi :: SELECT Tabel mahasiswa Tabel telepon Bagaimana cara mengambil semua nomor telepon dan nama pemiliknya ? :: SELECT :: UPDATE UPDATE FROM Nama_Tabel SET Nama_Kolom=‘Nilai’ WHERE Kondisi :: DELETE DELETE FROM Nama_Tabel WHERE Kondisi TUGAS 2 Buat Database Mahasiswa Meliputi data (tabel biodata): NIM, Tempat lahir, Tanggal lahir, Nama, Alamat, Kode Pos, Kota Lengkap dengan query: 1.Memasukkan data (8 Data) 2.Memilih nama & NIM 3.Memilih nama, alamat, kota, kode pos 4.Update alamat salah satu data 5.Tambah field telepon 6.Update data telepon semua data NORMALISASI DATABASE :: ALASAN Mengurangi duplikasi (redundancy) data Perencanaan ke depan Efisiensi Kemudahan :: CONTOH Mengurangi duplikasi (redundancy) data Ada kesalahan data berulang efek: update sekian kali data Jika ada penggantian nama kategori, ganti/update semua record :: ISTILAH YANG DIGUNAKAN Entity Identitas umum dari suatu informasi :: ISTILAH YANG DIGUNAKAN Primary Key Mengidentifikasi tiap row dalam tabel. :: ISTILAH YANG DIGUNAKAN Foreign Key Dasar relasi 1:M antar dua tabel. Bisa merupakan Primary Key tabel lain. :: ISTILAH YANG DIGUNAKAN Relationship - One to One (1:1) - One to Many (1:M) - Many to Many (M:M) :: ISTILAH YANG DIGUNAKAN Relationship: One To One :: ISTILAH YANG DIGUNAKAN Relationship: One To Many :: ISTILAH YANG DIGUNAKAN Relationship: Many To Many :: ISTILAH YANG DIGUNAKAN Entity Relationship Diagram - ERD 1:1 - ERD 1:M - ERD M:M :: ISTILAH YANG DIGUNAKAN ERD 1:1 :: ISTILAH YANG DIGUNAKAN ERD 1:M :: ISTILAH YANG DIGUNAKAN ERD M:M :: NORMALISASI Optimalisasi tabel dengan analisa relasi entity Kemungkinan pengembangan, terutama struktur tabel dalam database :: NORMALISASI Redundancy :: NORMALISASI Pengembangan - Fleksibel Database :: THE THREE NORMAL FORMS Terdapat redundancy data Tidak mudah mengikuti perkembangan Tabel ini perlu dinormalisasi :: THE THREE NORMAL FORMS First Normal Forms (1NF) Eliminasi kelompok data yang berulang melalui pembuatan tabel terpisah dari data-data yang berhubungan :: THE THREE NORMAL FORMS Second Normal Forms (2NF) Eliminasi data yang berulang :: THE THREE NORMAL FORMS Third Normal Forms (3NF) Mencari dan mengeliminasi semua atribut tabel yang tidak tergantung dengan Primary Key norm_mhs norm_jurusan norm_mhs_kursus norm_kursus norm_trainer norm_trainer_kursus kode_trainer Kode_kursus TUGAS 3 Buat Database Katalog Buku Perpustakaan Ternormalisasi Sampai Bentuk Ketiga Meliputi data: Kode Buku, Jenis Buku, Judul Buku, Nama Pengarang, Ringkasan, Status Buku, Jumlah Lengkap dengan query: - Membuat tabel - Memasukkan data (4 data) - Memilih buku berdasarkan: - Jenis - Pengarang - Judul dan Pengarang - Kata kunci tertentu