Skip to content

Meeting 6

Database

Pengenalan Database

Database adalah suatu kumpulan data yang terstruktur dengan baik yang disimpan secara elektronik di dalam sistem komputer. Data dalam database terorganisir sedemikian rupa sehingga memungkinkan pengguna untuk dengan mudah menyimpan, mengelola, dan mengakses informasi. Database berperan sebagai penyimpanan sentral yang digunakan dalam berbagai aplikasi dan sistem untuk mengelola data yang diperlukan untuk tujuan tertentu.

Istilah Dalam Database

  • Table

    table adalah struktur dasar dalam database yang untuk menyimpan data, setiap table memiliki nama yang unik dan terdiri dari baris dan kolom.

  • Baris (Record)

    Baris dalam tabel mewakili entitas tunggal atau data unik, setiap baris memiliki nilai untuk setiap kolom dalam tabel

  • Kolom (Field)

    Kolom dalam tabel menggambarkan jenis data yang disimpan dalam tabel, setiap kolom memiliki nama yang unik dan tipe data tertentu.

  • Kunci Primer (Primary Key)

    Kunci primer adalah kolom atau kelompok kolom yang digunakan untuk mengidentifikasi secara unik setiap baris dalam tabel, Digunakan untuk menjaga integritas data dan menghindari duplikasi data.

  • Kunci Asing (Foreign Key)

    Kunci asing adalah kolom dalam sebuah tabel yang mengacu pada kunci primer tabel lain, digunakan untuk membangun hubungan antar tabel.

  • Indeks (Index)

    Indeks adalah struktur yang digunakan untuk mempercepat pencarian dan pengambilan data, membuat indeks pada satu atau beberapa kolom tertentu memungkinkan query untuk dieksekusi lebih cepat

Istilah-istilah Tambahan dalam Database
  • Query: Perintah yang digunakan untuk mengambil atau memanipulasi data dalam database.
  • SQL (Structured Query Language): Bahasa yang digunakan untuk berinteraksi dengan database. Ini termasuk perintah untuk membuat, membaca, mengubah, dan menghapus data dalam database
  • Database Management System (DBMS): Perangkat lunak yang digunakan untuk mengelola dan mengelola database. Contoh: MySQL, PostgreSQL, Microsoft SQL Server
  • Normalisasi: Proses merancang struktur database untuk menghindari anomali data dan memastikan integritas data.
  • Transaksi: Serangkaian operasi yang dianggap sebagai satu kesatuan dalam database. Transaksi harus memiliki sifat ACID (Atomicity, Consistency, Isolation, Durability)
  • Skema (Schema): Struktur database yang mendefinisikan tabel, kolom, hubungan, dan aturan-aturan lain yang mengatur data dalam database.

Manfaat Penggunaan Database

  • Mengakses data dengan cepat.
  • Mencegah duplikasi data.
  • Memastikan integritas data.
  • Menyimpan data dengan aman.
  • Mengelola data dalam volume besar.

Model Data

Model data adalah cara konseptual untuk mengorganisasi dan menggambarkan hubungan antara data dalam database, Model data adalah fondasi penting dalam perancangan database karena memengaruhi bagaimana data disimpan, diakses, dan dikelola.

Tipe-Tipe Model Data

  • Model Data Relasional
  • Model Data Hierarki
  • Model Data Jaringan
  • Model Data Dokumen
  • Model Data Grafik

Model Data Relasional

Pada kali ini kita akan fokus membahas 1 model data saja, yaitu Model Data Relasional, Model data relasional adalah yang paling umum digunakan dalam database, data diorganisir dalam tabel dan di hubungankan dengan kunci primer(Primary Key) dan kunci asing (Foreign Key)

MySQL

MySQL adalah aplikasi Relationship Database Management System (RDBMS) yang open-source dan populer. Digunakan untuk menyimpan, mengelola, dan mengakses data dalam berbagai aplikasi, dari situs web hingga aplikasi bisnis.

Keunggulan Menggunakan MySQL

  • Speed

    Menurut studi dari eWeek di February 2002 MySQL has the best overall performance and that MySQL scalability matches Oracle … MySQL had the highest throughput, even exceeding the numbers generated by Oracle.”

  • Reliability

    Walaupun MySQL merupakan RDBMS yang tidak berbayar, namun memiliki performa diatas rata-rata bahkan sedikit bug dan memiliki fitur yang sama dengan yang berbayar.

  • Skalability

    MySQL dapat memproses data yang sangat besar dan kompleks, tanpa ada penurunan performa.

  • User Friendly

    Instalasi dan mempelajari MySQL cukup mudah dan tidak banyak setting yang harus di sesuaikan.

Sejarah MySQL

Cerita tentang MySQL bermula pada tahun 1979, ketika Michael Widenius (a.k.a. Monty), seorang programmer asal Swedia, mengembangkan sebuah sistem database sederhana yang dinamakan UNIREG. UNIREG ini menggunakan koneksi low-level ISAM database engine dengan indexing.

Structured Query Language (SQL)

SQL (Structured Query Language) adalah bahasa pemrograman khusus yang digunakan untuk memanajemen data dalam RDBMS. SQL biasanya berupa perintah sederhana yang berisi instruksi-instruksi untuk manipulasi data. Perintah SQL ini sering juga disingkat dengan sebutan query.

Jenis-jenis perintah SQL

  • Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATE, DROP, ALTER, dan RENAME.
  • Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan dengan data yang ada dalam tabel, tentang bagaiman menginput, menghapus, memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE.
  • Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel. Termasuk diantaranya : GRANT dan REVOKE.
Jenis SQL Tambahan
  • Transaction Control Language (TCL) adalah perintah SQL untuk proses transaksi. Proses transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua, atau tidak sama sekali. Termasuk ke dalam TCL adalah perintah : COMMIT, ROLLBACK, dan SET TRANSACTION.
  • Programmatic SQL berkaitan dengan sub program (stored procedure) maupun penjelasan mengenai struktur database. Contoh perintah seperti : DECLARE, EXPLAIN, PREPARE, dan DESCRIBE.

Data Definition Language (DDL)

Kita akan langsung mempraktikan penggunaan SQL DDL pada MySQL

  • Membuat Database

    sql
    CREATE DATABASE name_database;
    CREATE DATABASE name_database;
  • Menghapus Database

    sql
    DROP DATABASE name_database;
    DROP DATABASE name_database;
  • Membuat Table

    sql
    CREATE TABLE product (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255),
        price INT,
        rating float
    );
    CREATE TABLE product (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(255),
        price INT,
        rating float
    );
    Penjelasan Code
    • CREATE TABLE product: perintah utama yang digunakan untuk membuat tabel bernama product. Nama tabel diletakkan setelah kata CREATE TABLE.

    • id INT AUTO_INCREMENT PRIMARY KEY: Ini adalah definisi kolom pertama dalam tabel yang disebut id. Penjelasan untuk setiap bagian dari definisi kolom ini adalah:

    • id: Nama kolom.

    • INT: Tipe data kolom, yang dalam hal ini adalah tipe data bilangan bulat integer.

    • AUTO_INCREMENT: atribut kolom yang mengizinkan nilai id untuk secara otomatis meningkat setiap kali sebuah baris data baru ditambahkan ke dalam tabel.

    • PRIMARY KEY: mengatur kolom id sebagai kunci utama primary key tabel, yang berarti bahwa kolom ini akan digunakan untuk mengidentifikasi setiap baris secara unik.

    • name VARCHAR(255): Nama kolom dengan Tipe data kolom, yang dalam hal ini adalah tipe data string dengan panjang maksimum 255 karakter. Ini digunakan untuk menyimpan nama produk.

    • price INT: Ini adalah definisi kolom ketiga dalam tabel yang disebut price. Kolom yang akan digunakan untuk menyimpan harga produk. Tipe data kolom ini adalah bilangan bulat integer.

    • rating FLOAT kolom yang akan digunakan untuk menyimpan peringkat (rating) produk dalam format desimal. Tipe data kolom ini adalah float, yang mengizinkan nilai pecahan.

  • Mengubah Table

    Pada kali ini, kita akan mencoba melakukan perubahan pada tabel, seperti menambah, mengubah, dan menghapus kolom pada tabel.

    sql
    ALTER TABLE product ADD COLUMN description TEXT;
    ALTER TABLE product ADD COLUMN description TEXT;
    sql
    ALTER TABLE product MODIFY COLUMN description varchar(500);
    ALTER TABLE product MODIFY COLUMN description varchar(500);
    sql
    ALTER TABLE product DROP COLUMN description;
    ALTER TABLE product DROP COLUMN description;
  • Mengubah Nama Table

    sql
    ALTER TABLE product RENAME TO produk;
    ALTER TABLE product RENAME TO produk;
  • Menghapus Table

    sql
    DROP TABLE produk;
    DROP TABLE produk;