Cara menggunakan mysql bitwise operators

Operator adalah kata atau karakter khusus yang digunakan pada SQL terutama dalam klausa WHERE dimana statement SQL untuk melakukan operasi, seperti perbandingan dan operasi aritmatika. Operator ini digunakan untuk menentukan kondisi dalam pernyataan SQL dan berfungsi sebagai konjungsi untuk beberapa kondisi dalam sebuah pernyataan.

Although the question on how to perform bitwise operations in MySQL has been answered, the sub-question in the comments about why this may not be an optimal data model remains outstanding.

In the example given there are two tables; one with a bitmask and one with a break down of what each bit represents. The implication is that, at some point, the two tables must be joined together to return/display the meaning of the various bits.

This join would either be explicit, e.g.

SELECT * 
FROM Table1 
    INNER JOIN TABLE2 
        ON table1.ptid  & table2.id <> 0

Or implicit where you might select the data from table1 into your application and then make a second call to lookup the bitmask values e.g.

SELECT * 
FROM table2
WHERE id & $id <> 0 

Neither of these options are ideas because they are not "sargable" that is, the database cannot construct a Search ARGument. As a result, you cannot optimize the query with an index. The cost of the query goes beyond the inability to leverage an index since for every row in the table, the DB must compute and evaluate an expression. This becomes very Memory, CPU and I/O intensive very quickly and it cannot be optimized without fundamentally changing the table structure.

Beyond the complete inability to optimize the query, it can also be awkward to read the data, report on the data, and you also potentially run into limits adding more bits (64 values in an 8 bit column might be fine now but not necessarily always so. They also make systems difficult to understand, and I would argue that this design violates first normal form.

Although using bitmasks in a database is often a sign of bad design, there are times when it's fine to use them. Implementing a many-to-many relationship really isn't one of those times.

The typical approach to implementing this type of relationship looks something like this:

table1 
Id        Val1         Val2
---------------------------
1         ABC          DEF
2         ABC          DEF
3         ABC          DEF
4         ABC          DEF
5         ABC          DEF
6         ABC          DEF

table2
id     types
-------------
1      music
2      art
3      pictures
4      video
5      art2
6      actor
7      movies

table1-table2-relationshitp
table1ID    Table2ID
---------------------
1           1
1           2 
2           3
2           5
3           2
3           7
...

And you would query the data thusly

SELECT table1.*, table2.types
FROM table1 
     INNER JOIN table1-table2-relationship 
          ON table1.id = table1-table2-relationship.table1id
     INNER JOIN table2 
          ON table1-table2-relationship.table2.id = table2.id

Depending on the access pattern of these tables, you would typically index both columns on the relationship table as a composite index (I usually treat them as a composite primary key.) This index would allow the database to quickly seek to the relevant rows in the relationship table and then seek to the relevant rows in table2.

SQL alias Structured Query Language, adalah bahasa standar yang digunakan dalam mengelola sistem manajemen basis data relasional. Mengelola disini termasuk memasukkan, mencari, memperbarui, dan menghapus data pada basis data relasional. Berdasarkan hasil survei stackoverflow, SQL termasuk bahasa pemrograman nomor 4 terpopuler. Hal ini dikarenakan SQL digunakan di banyak bidang, termasuk bidang data. Kemampuan SQL menjadi syarat wajib untuk berkarir di bidang data.

Ada beberapa basis data relasional yang menggunakan SQL sebagai bahasa kuerinya, salah satunya adalah MySQL. Awalnya MySQL dikembangkan oleh MySQL AB, namun kini telah diakuisisi dan dikembangkan oleh Oracle Corporation. Kabar baiknya MySQL masih bersifat open source, setidaknya sampai sekarang. Sehingga MySQL bebas dan gratis digunakan oleh siapa saja. Walau begitu, penggunaannya tentu harus sesuai dengan lisensi yang digunakan MySQL.

Sekedar informasi tambahan, tidak semua orang sepakat dengan diakuisisinya MySQL oleh Oracle, termasuk Michael œMonty Widenius si founder MySQL. Oleh karena itu, dimulai sebuah project baru bernama mariaDb yang merupakan fork dari MySQL. Sahabat data tidak perlu bingung perbedaan antara mariaDb dan MySQL. Secara umum kedua basis data ini memiliki kesamaan dan saling kompatibel. Baik MySQL ataupun mariaDb sama-sama menggunakan SQL sebagai bahasa kuerinya.

1. XAMPP

XAMPP sendiri adalah akronim dari X Apache MySQL (dulu)/mariaDb (sekarang)  PHP dan Perl. Dengan menginstall XAMPP, secara tidak langsung kita telah menginstall setidaknya keempat aplikasi tersebut, tanpa harus melakukan konfigurasi. XAMPP kompatibel di banyak sistem operasi seperti linux dan tentunya Windows. Penginstalan XAMPP termasuk mudah dan tidak memerlukan keahlian khusus. Artikel ini akan menjelaskan cara menginstall XAMPP di sistem operasi Windows.

2. Download XAMPP

Buka web browsing, lalu cari dengan kata kunci xampp. Lalu klik œDownload XAMPP .. untuk berpindah ke halaman download XAMPP.

Cara menggunakan mysql bitwise operators

Silahkan pilih versi XAMPP yang sahabat data inginkan. Pada artikel ini, akan diinstall versi 8.12 / PHP 8.1.2. Klik download (64 bit), lalu tunggu proses pengunduhan selesai. Apabila sahabat data ingin menginstall selain 3 versi yang muncul di halaman utama, silahkan cari versi yang diinginkan dengan meng-klik More Downloads. 

Cara menggunakan mysql bitwise operators

Cara mengunduh XAMPP

Baca juga: Yuk Belajar Data Analyst Mulai dari SQL 

3. Instalasi XAMPP

Setelah pengunduhan selesai, lakukan instalasi dengan membuka file installer XAMPP. Pilih Yes untuk melanjutkan. Selanjutnya klik Next.

Cara menggunakan mysql bitwise operators

Seperti yang dibahas sebelumnya, XAMPP mendukung banyak layanan, mulai dari Apache, MySQL hingga Fake Sendmail. Silahkan pilih layanan ingin sahabat data install, tentunya prioritas kita disini untuk menginstall MySQL. Klik Next untuk melanjutkan.

Cara menggunakan mysql bitwise operators

Selanjutnya pilih folder untuk menginstall. Tidak perlu khawatir jika  folder C:xampp belum pernah dibuat, karena akan dibuat secara otomatis. Klik Next untuk melanjutkan.

Cara menggunakan mysql bitwise operators

Pilih bahasa yang dinginkan, umumnya tersedia bahasa English dan Deutsch. Setelah itu klik Next.

Cara menggunakan mysql bitwise operators

Karena kita hanya akan fokus menginstall MySQL, bagian Learn more about Bitnami for XAMPP bisa di uncheck. Klik Next.

Cara menggunakan mysql bitwise operators

XAMPP sudah siap untuk di install. Klik Next  dan tunggu proses instalasi selesai.

Cara menggunakan mysql bitwise operators

Cara menggunakan mysql bitwise operators

Proses instalasi sedang berlangsung.

Cara menggunakan mysql bitwise operators

Apabila saat proses instalasi muncul Windows Security Alert seperti gambar di atas, klik Allow acces. 

Cara instalasi XAMPP


Baca juga: Ingin Belajar SQL Ikuti Tahapan ini agar mahir dalam SQL

4. Menjalankan XAMPP

Untuk mengecek apakah XAMPP telah berhasil diinstall atau tidak, sahabat data menuju folder XAMPP tadi diinstall. Buka aplikasi xampp-control.

Cara menggunakan mysql bitwise operators

Selanjutnya akan muncul XAMPP Control Panel. Untuk membuka MySQL, klik actions start pada bagian Apache dan MySQL.

Cara menggunakan mysql bitwise operators

Setelah actions start Apache dan MySQL berubah menjadi stop, selanjutnya buka web browser, masuk ke halaman localhost/phpmypadmin.

Cara menggunakan mysql bitwise operators

Jika muncul halaman seperti dibawah aritnya proses penginstalan XAMPP telah berhasil, begitu pula menginstal MySQL. Tapi kalau diperhatikan belum ada tabel tuh di basis datanya. Mau tau cara membuat tabel baru di MySQL?

Cara menggunakan mysql bitwise operators

Cara menjalankan MySQL dengan Phpmyadmin


5. Kuasai SQL sebagai skill wajib praktisi data bersama DQLab.

Bagaimana, sekarang sudah paham kan bagaimana cara insitalasi SQL pada Windows kamu? Yuk praktikan sekarang!

DQLab sebagai salah satu platform unggulan belajar data science di Indonesia, tentunya memiliki modul berkualitas tentang SQL. Modul yang tersedia membahas SQL dari dasar, sehingga ramah untuk sahabat DQ yang baru mulai belajar SQL.

Modul-modul SQL yang tersedia di DQLab akan menjelaskan dengan lengkap apa itu SQL dan penggunaan kueri dasar hingga kompleks. Di akhir modul juga tersedia Mini Project agar sahabat data bisa merasakan bagaimana mengerjakan project data science menggunakan SQL.

Memulai belajar di DQLab mudah loh, langsung saja sign up di DQLab.id/signup dan nikmati modul gratisnya sekarang di DQLab.