0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan7 halaman

Panduan Lengkap MySQL RDBMS

MySQL adalah sistem manajemen database relational open-source yang populer, digunakan untuk mengelola data dengan SQL. Keunggulannya termasuk performa tinggi, keamanan, dan dukungan komunitas yang besar. MySQL juga mendukung berbagai tipe data dan memiliki fitur seperti stored procedures, views, dan optimasi performa.

Diunggah oleh

gateteknologi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
5 tayangan7 halaman

Panduan Lengkap MySQL RDBMS

MySQL adalah sistem manajemen database relational open-source yang populer, digunakan untuk mengelola data dengan SQL. Keunggulannya termasuk performa tinggi, keamanan, dan dukungan komunitas yang besar. MySQL juga mendukung berbagai tipe data dan memiliki fitur seperti stored procedures, views, dan optimasi performa.

Diunggah oleh

gateteknologi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Dokumen 4: MySQL - Database

Management System Relational


Pendahuluan
MySQL adalah sistem manajemen database relational (RDBMS) open-source yang paling
populer di dunia. Dikembangkan oleh MySQL AB dan sekarang dimiliki oleh Oracle Corporation,
MySQL digunakan oleh jutaan aplikasi web dan perusahaan besar.

Apa itu MySQL?


MySQL adalah database management system yang menggunakan Structured Query Language
(SQL) untuk mengakses dan mengelola data. MySQL menyimpan data dalam format tabular
(baris dan kolom) dan menggunakan relasi antar tabel.

Keunggulan MySQL
1. Open Source

MySQL tersedia secara gratis dengan lisensi GPL, meskipun ada juga versi enterprise
berbayar.

2. Performa Tinggi

MySQL dioptimalkan untuk kecepatan, terutama untuk operasi read-heavy.

3. Skalabilitas

MySQL dapat handle database dari yang kecil hingga sangat besar dengan jutaan records.

4. Keamanan

MySQL menyediakan sistem privilege dan password yang robust untuk keamanan data.

5. Cross-Platform

MySQL dapat berjalan di berbagai sistem operasi termasuk Windows, Linux, macOS, dan Unix.
6. Dukungan Komunitas

MySQL memiliki komunitas yang besar dan dokumentasi yang lengkap.

Konsep Dasar Database


Database

Kumpulan data yang terorganisir dan dapat diakses secara elektronik.

Table

Struktur yang menyimpan data dalam format rows dan columns.

Row (Record)

Satu entry data dalam table.

Column (Field)

Satu atribut atau properti dari data.

Primary Key

Column atau kombinasi columns yang uniquely identify setiap row dalam table.

Foreign Key

Column yang mereferensikan primary key di table lain, menciptakan relationship antar tables.

Tipe Data MySQL


Numeric Types

●​ INT: Integer numbers


●​ BIGINT: Large integers
●​ DECIMAL: Fixed-point numbers
●​ FLOAT, DOUBLE: Floating-point numbers

String Types

●​ CHAR: Fixed-length string


●​ VARCHAR: Variable-length string
●​ TEXT: Large text data
●​ ENUM: Enumeration

Date dan Time Types

●​ DATE: Date (YYYY-MM-DD)


●​ TIME: Time (HH:MM:SS)
●​ DATETIME: Date and time
●​ TIMESTAMP: Timestamp
●​ YEAR: Year

Binary Types

●​ BLOB: Binary large object


●​ BINARY: Fixed-length binary

SQL Commands
DDL (Data Definition Language)

Commands untuk mendefinisikan struktur database:

●​ CREATE: Membuat database atau table


●​ ALTER: Mengubah struktur table
●​ DROP: Menghapus database atau table
●​ TRUNCATE: Menghapus semua data dalam table

DML (Data Manipulation Language)

Commands untuk manipulasi data:

●​ INSERT: Menambah data baru


●​ UPDATE: Mengubah data existing
●​ DELETE: Menghapus data

DQL (Data Query Language)

●​ SELECT: Mengambil data dari database

DCL (Data Control Language)

●​ GRANT: Memberikan privileges


●​ REVOKE: Mencabut privileges
TCL (Transaction Control Language)

●​ COMMIT: Menyimpan perubahan


●​ ROLLBACK: Membatalkan perubahan
●​ SAVEPOINT: Set savepoint dalam transaction

Query Dasar
SELECT Statement

Digunakan untuk mengambil data dari table dengan berbagai klausa:

●​ WHERE: Filtering data


●​ ORDER BY: Sorting results
●​ GROUP BY: Grouping data
●​ HAVING: Filtering grouped data
●​ LIMIT: Membatasi jumlah results

JOIN Operations

Menggabungkan data dari multiple tables:

●​ INNER JOIN: Records yang match di kedua tables


●​ LEFT JOIN: Semua records dari left table
●​ RIGHT JOIN: Semua records dari right table
●​ FULL OUTER JOIN: Semua records dari kedua tables
●​ CROSS JOIN: Cartesian product

Indexes
Index meningkatkan kecepatan query dengan membuat struktur data tambahan. Types:

●​ Primary Index: Automatically created untuk primary key


●​ Unique Index: Ensures uniqueness
●​ Composite Index: Index pada multiple columns
●​ Full-text Index: Untuk text searching

Normalization
Proses organizing data untuk mengurangi redundancy:

1NF (First Normal Form)


●​ Setiap column berisi atomic values
●​ Tidak ada repeating groups

2NF (Second Normal Form)

●​ Memenuhi 1NF
●​ Tidak ada partial dependency

3NF (Third Normal Form)

●​ Memenuhi 2NF
●​ Tidak ada transitive dependency

Transactions
Transaction adalah unit of work yang terdiri dari satu atau lebih operasi database. Properties
(ACID):

●​ Atomicity: All or nothing


●​ Consistency: Database tetap consistent
●​ Isolation: Transactions tidak saling interference
●​ Durability: Changes are permanent

Stored Procedures dan Functions


Stored Procedures

Set of SQL statements yang disimpan dan dapat dieksekusi dengan call statement.

Functions

Similar dengan stored procedures tapi return value dan dapat digunakan dalam expressions.

Triggers

SQL code yang automatically execute ketika certain events occur pada table.

Views
View adalah virtual table yang berisi result dari query. Views tidak menyimpan data tetapi
menampilkan data dari tables lain.
Security
Aspek keamanan MySQL:

●​ User Management: Create dan manage users


●​ Privileges: Assign specific permissions
●​ Encryption: Encrypt data in transit dan at rest
●​ SQL Injection Prevention: Use prepared statements
●​ Regular Backups: Backup data secara regular

Performance Optimization
Query Optimization

●​ Use indexes effectively


●​ Avoid SELECT *
●​ Use appropriate JOIN types
●​ Optimize WHERE clauses

Database Configuration

●​ Configure buffer pool size


●​ Tune query cache
●​ Optimize table design

Monitoring

●​ Monitor slow queries


●​ Check index usage
●​ Track resource utilization

Backup dan Recovery


Backup Methods

●​ Logical Backup: mysqldump


●​ Physical Backup: Copy data files
●​ Binary Log: Point-in-time recovery

Recovery Strategies

●​ Full recovery dari backup


●​ Incremental recovery using binary logs
●​ Point-in-time recovery

MySQL dengan PHP


MySQL sering digunakan bersama PHP untuk web applications. Connection methods:

●​ MySQLi: MySQL Improved Extension


●​ PDO: PHP Data Objects

Kesimpulan
MySQL adalah database management system yang reliable, scalable, dan powerful. Dengan
features yang comprehensive dan performa yang excellent, MySQL tetap menjadi pilihan utama
untuk berbagai aplikasi, dari website personal hingga enterprise applications. Pemahaman yang
baik tentang MySQL adalah skill yang valuable untuk setiap developer.

Anda mungkin juga menyukai