Apa itu Schema?
Dalam dunia pemrograman komputer, schema (dibaca: SKEE-mah) adalah cara pengorganisasian atau struktur dari sebuah database. Sedangkan di bidang kecerdasan buatan (AI), schema merupakan ekspresi formal dari sebuah aturan inferensi.
Kata schema sendiri berasal dari bahasa Yunani yang berarti “bentuk” atau “figur”. Konsep schema ini banyak ditemui baik di manajemen database maupun di AI. Secara umum, schema adalah representasi grafis yang membantu mengatur informasi atau pengetahuan dengan lebih mudah.
Di database, schema berfungsi sebagai blueprint yang menunjukkan bagaimana data disusun atau akan disusun di dalam database. Proses data modeling juga menghasilkan sebuah schema.
Dalam AI, schema berasal dari konsep matematika dan bisa diartikan sebagai aksioma atau ekspresi umum, di mana nilai-nilai tertentu dimasukkan ke dalam simbol-simbol dalam sebuah hipotesis untuk menghasilkan inferensi tertentu. Schema menggambarkan bagaimana informasi disusun dalam format terstruktur, dan digunakan dalam banyak konteks AI seperti natural language understanding, machine learning, dan knowledge representation.
Tipe-tipe schema ini juga erat kaitannya dengan bidang data science, pendidikan, marketing, search engine optimization (SEO), hingga psikologi. Tapi, definisi pastinya tetap tergantung pada konteks penggunaannya.
Apa itu Database Schema?
Database schema adalah kerangka dasar yang mewakili tampilan logis dari keseluruhan database. Schema menggambarkan bentuk data dan bagaimana data saling berhubungan antar model, tabel, dan database lainnya, sekaligus menetapkan semua constraint pada data tersebut. Konsep schema ini digunakan baik di relational database maupun di object-oriented database.
Jenis-jenis Database Schema
Secara umum, database schema dibagi menjadi tiga jenis:
- Physical database schema: Menyediakan informasi teknis, konteks, dan sintaksis tentang bagaimana file data disimpan dalam database.
- Logical database schema: Menjelaskan objek schema dan semua constraint logis, seperti integritas data, tabel, view, serta aturan yang diterapkan pada data yang disimpan.
- Conceptual database schema: Menunjukkan bagaimana database diorganisasikan serta aturan bisnis apa saja yang diterapkan.
Contoh Desain Database Schema
Diagram database schema memperlihatkan hubungan antar tabel di dalam database. Berikut beberapa desain schema yang umum dipakai:
Star Schema
Star schema adalah schema sederhana yang sering digunakan untuk membangun data warehouse untuk kebutuhan business intelligence atau analytics. Model ini terdiri dari fact table utama yang dikelilingi oleh satu atau lebih dimension table. Data dalam star schema sengaja didenormalisasi supaya proses querying jadi lebih cepat dan sederhana.
Snowflake Schema
Snowflake schema adalah versi lebih kompleks dari star schema. Tetap ada fact table utama yang dikelilingi dimension table, namun di sini dimension table-nya sudah dinormalisasi penuh untuk menghemat penyimpanan dan mengurangi redundansi data. Bahkan, dimension table bisa punya dimension table tambahan (lookup table) yang juga dinormalisasi.
Fact Constellation atau Galaxy Schema
Fact constellation schema (alias galaxy schema) juga banyak digunakan di data warehouse. Model ini lebih kompleks dibanding star maupun snowflake schema, karena menggunakan banyak fact table yang berbagi dimension table yang sudah dinormalisasi.
Beberapa model schema populer lainnya meliputi:
- Flat model
- Network model
- Hierarchical model
- Relational model
Apa itu Schema di SQL?
Dalam Structured Query Language (SQL), database berisi fungsi, indeks, tabel, dan view. Jumlah objek dalam sebuah database tidak dibatasi. Di SQL, schema adalah elemen penting yang mendefinisikan objek-objek tersebut di tingkat logis. Kita juga bisa mengatur security permissions dan user privileges pada sebuah schema untuk mengontrol akses pengguna dan mengamankan objek database. Pemilik schema biasanya adalah salah satu user dari database tersebut.
View di SQL adalah tabel virtual yang berisi kolom dan baris berdasarkan hasil dari sebuah statement. Foreign key dan primary key menunjukkan hubungan antar tabel di database.
Apa itu Schema dalam SEO?
Dalam SEO, schema dan schema markup — sejenis microdata — berfungsi penting buat mendefinisikan berbagai entitas dalam website serta menjelaskan hubungan antar orang, produk, dan objek ke web crawler atau spider. Dengan tambahan data ini, crawler bisa lebih mudah mencocokkan konten website dengan intent pengguna. Schema juga membantu meningkatkan visibilitas di search engine results page (SERP).
Schema markup dibuat menggunakan kode HTML untuk memberi konteks tambahan ke halaman web, yang nantinya menghasilkan rich snippet di SERP.
Apa itu API Schema?
Awalnya, konsep API schema muncul lewat bahasa deskripsi API dan berkembang menjadi OpenAPI standard yang kita kenal sekarang. API schema bertugas sebagai panduan dan deskriptor dalam pengembangan aplikasi. Schema ini bisa dibaca baik oleh manusia maupun mesin, dan menjelaskan operasi RESTful API.
Dengan schema API, pembuatan software development kit dan dokumentasi API otomatis juga jadi lebih mudah. Karena manfaatnya besar, banyak developer sekarang menganut prinsip schema-first API design: definisikan API-nya dulu dalam bahasa spesifikasi, baru deh nulis kodenya.
Jenis Schema Lainnya
Dalam Pendidikan
Dalam dunia pendidikan, schema umumnya merujuk pada skema, rencana, atau diagram yang membantu siswa memahami sesuatu.
Dalam Psikologi
Di psikologi, schema adalah konsep mental yang membantu seseorang memahami pengalaman dan situasi baru berdasarkan pengalaman masa lalu. Beberapa tipe schema di psikologi antara lain:
- Event schema
- Object schema
- Person schema
- Self-schema
- Social schema
Social sciences juga menggunakan konsep schema untuk mengkategorikan event atau objek berdasarkan karakteristik umum agar lebih mudah memahami dan memprediksi dunia di sekitar.