Merancang skema grafik di Microsoft Fabric

Skema grafik adalah kumpulan jenis node, jenis tepi, dan propertinya yang menentukan struktur grafik Anda. Skema grafik yang dirancang dengan baik membuat data Anda lebih mudah dikueri, dikelola, dan diperluas. Artikel ini menyediakan praktik terbaik untuk mengubah data tabular pada lakehouse menjadi grafik properti berlabel yang efektif di Microsoft Fabric.

Gunakan panduan ini sebelum Anda mulai memodelkan di editor model grafik. Untuk instruksi langkah demi langkah tentang membuat simpul dan tepi, lihat tutorial grafik. Contoh dalam artikel ini menggunakan himpunan data sampel Adventure Works.

Artikel ini menjelaskan alur kerja pemodelan Fabric yang didukung. Untuk konsep formal GQL dan sintaks standar yang mendeskripsikan struktur graf, lihat tipe graf GQL. Graph saat ini tidak menerima deklarasi tipe graf secara langsung.

Penting

Grafik saat ini tidak mendukung evolusi skema. Setelah Anda membuat model grafik dan memuat datanya, setiap perubahan struktural, seperti menambahkan atau menghapus jenis node, jenis tepi, dan properti, mengharuskan Anda memuat ulang semua data sebelum mengkueri struktur yang diperbarui. Untuk memuat ulang data, pilih Simpan di pita atas. Proses pemuatan ulang data ini membutuhkan waktu dan menggunakan kapasitas, jadi rencanakan skema Anda secara menyeluruh sebelum Anda mulai memodelkan.

Prasyarat

Memahami jenis node dan jenis tepi

Sebelum Anda merancang skema, pahami konsep inti ini:

Jenis node mendefinisikan semacam entitas dalam grafik Anda, seperti pelanggan, produk, atau pesanan. Hal ini terdiri dari:

  • Label simpul, yang merupakan nama yang mengidentifikasi kategori simpul ini. Contohnya, Customer. Anda menggunakan label dalam kueri untuk merujuk ke simpul jenis ini.
  • Tabel sumber, yang merupakan tabel lakehouse yang menyediakan data sumber untuk jenis node. Misalnya, tabel adventureworks_customers .
  • Kolom kunci yang secara unik mengidentifikasi setiap simpul. Contohnya, CustomerID_K.
  • Properti, yang merupakan kolom dari tabel yang dapat Anda tambahkan sebagai atribut pada setiap simpul. Misalnya, FirstName, LastName, dan EmailAddress.

A node adalah sebuah instans dari tipe node—satu baris dalam tabel sumber. Misalnya, setiap baris dalam adventureworks_customers menjadi simpul Customer .

Jenis tepi mendefinisikan semacam hubungan antara dua jenis node. Hal ini terdiri dari:

  • Label tepi, yang merupakan nama yang mengidentifikasi kategori hubungan ini. Contohnya, purchases.
  • Tabel sumber yang berisi data hubungan antara node asal dan target. Misalnya, tabel adventureworks_orders .
  • Jenis simpul asal dan jenis simpul target yang dihubungkan oleh sisi. Misalnya, Customer sebagai asal dan Order sebagai target.

Tepi adalah instans individual dari jenis tepi—satu baris dalam tabel sumber yang menyambungkan dua simpul tertentu.

Nota

Di editor model grafik, tombol Tambahkan simpul dan Tambahkan tepi membuat jenis node dan jenis tepi, bukan simpul atau tepi individual.

Mengidentifikasi entitas dan hubungan

Mulailah dengan mengidentifikasi entitas (hal) dan hubungan (koneksi) dalam data Anda. Entitas menjadi jenis node. Koneksi antar entitas menjadi jenis tepi.

Ajukan pertanyaan-pertanyaan ini tentang tabel sumber Anda:

  • Apa saja entitas utama? Baris yang mewakili hal-hal dunia nyata yang berbeda adalah kandidat untuk jenis node. Misalnya, pelanggan, produk, pesanan, dan karyawan.
  • Bagaimana entitas ini berhubungan satu sama lain? Kolom yang mereferensikan baris dalam tabel lain (kunci asing) menyarankan jenis tepi. Misalnya, CustomerID_FK dalam orders tabel menunjuk ke customers tabel, yang menyarankan pemodelan purchases tepi.
  • Apakah ada entitas yang disematkan? Kolom di dalam tabel mungkin mewakili entitas berbeda yang layak diekstrak ke dalam jenis nodenya sendiri. Misalnya, lihat Memilih jenis node. Untuk panduan langkah demi langkah, lihat Menambahkan beberapa jenis simpul dan tepi dari satu tabel sumber.

Pilih jenis node

Buat jenis node untuk setiap entitas yang perlu Anda kueri atau melintasi secara independen. Gunakan panduan ini:

Jadikan entitas sebagai jenis node ketika... Simpan sebagai properti ketika...
Anda perlu melintasi ke atau melaluinya. Ini adalah metadata deskriptif yang hanya Anda baca, bukan melintasi.
Beberapa entitas berbagi hubungan dengannya. Ini unik untuk entitas yang menjadi miliknya.
Anda perlu mencocokkan atau mengelompokkannya langsung dalam kueri. Anda hanya memfilternya sebagai properti entitas lain.

Contoh: Dalam himpunan data Adventure Works, Country dimulai sebagai kolom pada employees tabel. Jika Anda perlu mengkueri "karyawan mana yang tinggal di negara yang sama?" atau "negara mana yang memiliki karyawan terbanyak?", ekstrak Country ke jenis nodenya sendiri. Jika Anda hanya perlu menampilkan negara karyawan sebagai label, biarkan sebagai properti.

Pilih kolom kunci

Setiap jenis node memerlukan kolom kunci (atau kunci majemuk) yang secara unik mengidentifikasi setiap simpul. Pilih kunci dengan hati-hati:

  • Gunakan pengidentifikasi unik yang ada dari tabel sumber Anda. Misalnya, CustomerID_K atau ProductID_K.
  • Hindari kunci pengganti yang tidak memiliki arti bisnis kecuali tidak ada kunci alami. Misalnya, utamakan CustomerID daripada nomor baris yang otomatis meningkat.
  • Gunakan kunci gabungan saat satu kolom tidak menjamin keunikan. Misalnya, node ProductVersion mungkin memerlukan keduanya ProductID dan VersionNumber sebagai kuncinya.
  • Cocokkan jenis data antara kolom kunci dan kolom kunci asing yang digunakan dalam pemetaan tepi. Jenis yang tidak cocok menyebabkan kegagalan pembuatan tepi.

Tambahkan properti node

Saat Anda membuat tipe node, pilih properti mana dari tabel sumber yang akan disertakan sebagai properti pada tipe node, terutama properti yang aturan akses OneLake Security telah diterapkan pada tabel sumber yang mendasarinya.

Tambahkan properti selama pembuatan simpul dengan tombol + Tambahkan properti . Atau, tambahkan properti ke simpul yang ada dengan mengklik dua kali jenis node di editor model grafik untuk membuka dialog edit simpul dan memilih Edit definisi. Pilih Tambahkan properti, lalu pilih kolom dari tabel sumber.

Setiap properti menjadi bagian dari data grafik yang harus dimuat dan dipelihara. Hindari menambahkan properti yang tidak Anda butuhkan untuk kueri atau analisis.

Untuk setiap jenis node, simpan hanya properti yang:

  • Diperlukan agar simpul tetap unik (kolom kunci)
  • Digunakan dalam WHERE filter atau RETURN proyeksi dalam kueri Anda
  • Diperlukan untuk analisis atau visualisasi hilir

Untuk informasi lebih lanjut tentang bagaimana jumlah properti dapat memengaruhi performa kueri, lihat Hanya mengembalikan properti yang Anda butuhkan.

Pilih jenis data

Pilih tipe data yang mewakili nilai sumber dan operasi yang dilakukan kueri:

  • Gunakan INT untuk pengenal dan hitungan bilangan bulat ketika nilai sumber bersifat numerik.
  • Gunakan ZONED DATETIME untuk tanda waktu alih-alih tanggal berformat string.
  • Gunakan BOOLEAN untuk bendera true/false alih-alih nilai string seperti "yes" atau "no".

Untuk daftar lengkap jenis yang didukung, lihat Batasan saat ini — Jenis data.

Pilih jenis tepi

Jenis edge menentukan hubungan antara jenis node. Setiap jenis tepi menyambungkan jenis node asal ke jenis node target melalui tabel sumber.

Ikuti panduan berikut:

  • Gunakan label deskriptif yang dibaca sebagai kata kerja atau frasa kata kerja. Misalnya, purchases, , sellslivesIn, dan belongsTo. Sisi yang diberi nama dengan baik membuat kueri lebih mudah dibaca.
  • Pertimbangkan arah dengan hati-hati. Sisi dalam grafik memiliki arah. Pilih arah yang paling mewakili hubungan dunia nyata. Misalnya, Customer --pembelian-->Order lebih alami daripada Order --DibeliOleh-->Customer.
  • Berikan nama yang berbeda ke jenis tepi yang menyambungkan pasangan jenis node yang berbeda. Jika "karyawan menjual pesanan" dan "pesanan pembelian pelanggan" terhubung ke Order, beri nama mereka sells dan purchases alih-alih memberikan label yang sama. Untuk informasi selengkapnya, lihat batasan pembuatan tepi.

Menambahkan properti ke tipe tepi

Seperti simpul, jenis tepi dimulai tanpa properti. Anda dapat secara opsional menambahkan properti saat data menjelaskan hubungan itu sendiri daripada salah satu titik akhir. Properti Edge paling berguna saat Anda menulis kueri GQL yang perlu memfilter, mengagregasi, atau mengembalikan data tentang hubungan itu sendiri.

Untuk menambahkan properti, klik dua kali jenis tepi di editor model grafik untuk membuka dialog edit tepi, dan pilih Edit definisi. Pilih Tambahkan properti, lalu pilih kolom dari tabel sumber.

Kapan harus menambahkan properti edge: Jika kolom menjawab "berapa banyak?", "kapan?", atau "dengan cara apa?" tentang koneksi antara dua simpul, kolom tersebut berada di tepi—bukan pada salah satu simpul.

Contoh: Dalam himpunan data Adventure Works, contains sisi menghubungkan Order ke Product melalui tabel adventureworks_orders. Kolom seperti OrderQty, UnitPrice, dan LineTotal menjelaskan hubungan—berapa banyak produk dalam urutan tertentu, dengan harga berapa. Kolom seperti OrderDate atau ShipDate menjelaskan urutan itu sendiri dan termasuk dalam jenis node Order , bukan di tepi.

Penting

Tabel sumber untuk edge harus berisi kolom yang sesuai dengan kolom kunci dari tipe node asal dan node target, baik dari segi nilai maupun tipe data. Tabel yang Anda gunakan untuk membuat jenis node juga dapat berfungsi sebagai tabel sumber edge jika memenuhi persyaratan ini.

Pola tabular-ke-graf umum

Tabel berikut ini meringkas bagaimana beberapa struktur data tabular umum diterjemahkan ke elemen grafik:

Struktur tabular Hasil grafik Example
Satu ke banyak: Tabel induk + tabel anak dengan kunci asing Dua jenis node yang disambungkan oleh jenis tepi. Customer -- pembelian-->Order
Many-to-many: Tabel penghubung yang menautkan dua tabel Jenis tepi antara dua jenis node. Vendor -- menghasilkan-->Product
Entitas yang disematkan: Kolom yang mewakili entitas bersama Jenis node yang diekstrak dengan tepi. Employee -- livesIn ->Country
Hirarki: Rantai tabel induk-anak Jenis node yang ditautkan oleh tepi di setiap tingkat. Product -- isOfType-->Subcategory --belongsTo-->Category

Untuk panduan langkah demi langkah dari pola entitas yang disematkan, lihat Menambahkan beberapa jenis simpul dan tepi dari satu tabel sumber.

Mengubah skema grafik Anda

Grafik tidak menerapkan perubahan struktural secara bertahap. Ketika Anda mengubah tipe node, tipe tepi, properti, kunci, atau pemetaan, menyimpan model graf yang ada memuat ulang semua datanya dan membangun kembali grafik yang dapat dikueri.

Untuk mengubah skema grafik Anda:

  1. Buka item grafik yang sudah ada di editor model grafik.
  2. Tambah, edit, atau hapus tipe node, tipe edge, properti, kunci, dan pemetaan sesuai kebutuhan.
  3. Pilih Simpan untuk memvalidasi model yang diperbarui dan memuat ulang semua data grafik.
  4. Setelah pemuatan ulang selesai, jalankan kueri representatif untuk memverifikasi struktur dan data yang diperbarui.