Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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
- Ruang kerja Fabric dengan lakehouse yang berisi tabel sumber Anda.
- Keakraban dengan editor model grafik.
- Opsional: Himpunan data sampel Adventure Works untuk mengikuti contoh dalam artikel ini.
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, danEmailAddress.
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,
Customersebagai asal danOrdersebagai 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_FKdalamorderstabel menunjuk kecustomerstabel, yang menyarankan pemodelanpurchasestepi. - 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_KatauProductID_K. -
Hindari kunci pengganti yang tidak memiliki arti bisnis kecuali tidak ada kunci alami. Misalnya, utamakan
CustomerIDdaripada nomor baris yang otomatis meningkat. -
Gunakan kunci gabungan saat satu kolom tidak menjamin keunikan. Misalnya, node
ProductVersionmungkin memerlukan keduanyaProductIDdanVersionNumbersebagai 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
WHEREfilter atauRETURNproyeksi 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
INTuntuk pengenal dan hitungan bilangan bulat ketika nilai sumber bersifat numerik. - Gunakan
ZONED DATETIMEuntuk tanda waktu alih-alih tanggal berformat string. - Gunakan
BOOLEANuntuk 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, danbelongsTo. 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-->Orderlebih alami daripadaOrder--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 merekasellsdanpurchasesalih-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:
- Buka item grafik yang sudah ada di editor model grafik.
- Tambah, edit, atau hapus tipe node, tipe edge, properti, kunci, dan pemetaan sesuai kebutuhan.
- Pilih Simpan untuk memvalidasi model yang diperbarui dan memuat ulang semua data grafik.
- Setelah pemuatan ulang selesai, jalankan kueri representatif untuk memverifikasi struktur dan data yang diperbarui.