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.
Berlaku untuk: SQL Server 2017 (14.x) dan versi yang
lebih baru database Azure SQL Database
Azure SQL Managed Instance
SQL di Microsoft Fabric
SQL Server menawarkan kemampuan database grafik untuk memodelkan hubungan banyak ke banyak. Hubungan grafik diintegrasikan ke dalam Transact-SQL dan menerima manfaat menggunakan SQL Server sebagai sistem manajemen database dasar.
Apa itu database grafik?
Database grafik adalah kumpulan simpul (atau simpul) dan tepi (atau hubungan). Simpul mewakili entitas (misalnya, seseorang atau organisasi) dan tepi mewakili hubungan antara dua simpul yang disambungkannya (misalnya, suka atau teman). Node dan tepi mungkin memiliki properti yang terkait dengannya. Berikut adalah beberapa fitur yang membuat database grafik unik:
- Tepi atau hubungan adalah entitas kelas satu dalam Database Graph dan dapat memiliki atribut atau properti yang terkait dengannya.
- Satu tepi dapat secara fleksibel menyambungkan beberapa simpul dalam Database Graph.
- Anda dapat mengekspresikan kueri pencocokan pola dan navigasi multi-hop dengan mudah.
- Anda dapat mengekspresikan kueri penutupan transitif dan polimorf dengan mudah.
Kapan menggunakan database grafik
Database relasional dapat mencapai apa pun yang dapat dilakukan database grafik. Namun, database grafik memudahkan untuk mengekspresikan jenis kueri tertentu. Selain itu, dengan pengoptimalan tertentu, kueri tertentu mungkin berkinerja lebih baik. Keputusan Anda untuk memilih database relasional atau grafik didasarkan pada faktor-faktor berikut:
Aplikasi Anda memiliki data hierarkis. Jenis data HierarchyID dapat digunakan untuk menerapkan hierarki, tetapi memiliki beberapa batasan. Misalnya, tidak memungkinkan Anda menyimpan beberapa orang tua untuk simpul.
Aplikasi Anda memiliki hubungan banyak ke banyak yang kompleks; seiring berkembangnya aplikasi, hubungan baru ditambahkan.
Anda perlu menganalisis data dan hubungan yang saling tersambung.
Fitur grafik yang diperkenalkan di SQL Server 2017
Fitur berikut diperkenalkan di SQL Server 2017 (14.x).
Membuat objek grafik
Ekstensi Transact-SQL memungkinkan pengguna untuk membuat tabel simpul atau edge. Baik simpul maupun tepi dapat memiliki properti yang terkait dengannya. Karena, simpul dan tepi disimpan sebagai tabel, semua operasi yang didukung pada tabel relasional didukung pada tabel simpul atau tepi. Berikut contohnya:
CREATE TABLE Person
(
ID INT PRIMARY KEY,
Name VARCHAR (100),
Age INT
) AS NODE;
CREATE TABLE friends
(
StartDate DATE
) AS EDGE;
Diagram berikut menunjukkan bagaimana Simpul dan Tepi disimpan sebagai tabel.
Ekstensi bahasa kueri
Klausa baru MATCH diperkenalkan untuk mendukung pencocokan pola dan navigasi multi-hop melalui grafik. Fungsi ini MATCH menggunakan sintaks gaya ASCII-art untuk pencocokan pola. Misalnya, untuk menemukan teman "John":
-- Find friends of John
SELECT Person2.Name
FROM Person AS Person1, Friends, Person AS Person2
WHERE MATCH(Person1-(Friends)->Person2)
AND Person1.Name = 'John';
Terintegrasi penuh di Mesin Database SQL Server
Ekstensi grafik terintegrasi penuh di mesin SQL Server. Gunakan mesin penyimpanan, metadata, prosesor kueri, dll. yang sama untuk menyimpan dan mengkueri data grafik. Kueri di seluruh grafik dan data relasional dalam satu kueri. Menggabungkan kemampuan grafik dengan teknologi SQL Server lainnya seperti indeks penyimpan kolom, ha, layanan R, grafik etc. SQL juga mendukung semua fitur keamanan dan kepatuhan yang tersedia dengan SQL Server.
Alat dan ekosistem
Manfaatkan alat dan ekosistem yang ada yang ditawarkan SQL Server. Alat seperti pencadangan dan pemulihan, impor dan ekspor, dan bcp hanya berfungsi di luar kotak. Alat atau layanan lain seperti SQL Server Integration Services, SQL Server Reporting Services, atau Power BI bekerja dengan tabel grafik, hanya cara kerjanya dengan tabel relasional.
Pembatasan batas tepi
Batasan tepi didefinisikan pada tabel tepi grafik dan merupakan sepasang tabel simpul yang dapat disambungkan oleh jenis tepi tertentu. Batasan edge membantu pengembang membatasi jenis simpul yang dapat disambungkan oleh tepi tertentu.
Untuk mempelajari selengkapnya tentang cara membuat dan menggunakan batasan edge, lihat Batasan Edge.
Gabungkan DML
Pernyataan MERGE melakukan operasi sisipkan, perbarui, atau hapus pada tabel target berdasarkan hasil gabungan dengan tabel sumber. Misalnya, Anda dapat menyinkronkan dua tabel dengan menyisipkan, memperbarui, atau menghapus baris dalam tabel target berdasarkan perbedaan antara tabel target dan tabel sumber. Menggunakan MATCH predikat dalam MERGE pernyataan sekarang didukung di Azure SQL Database dan SQL Server vNext. Artinya, sekarang dimungkinkan untuk menggabungkan data grafik Anda saat ini (simpul atau tabel tepi) dengan data baru menggunakan MATCH predikat untuk menentukan hubungan grafik dalam satu pernyataan, alih-alih pernyataan terpisah INSERT, UPDATE, dan DELETE .
Untuk mempelajari selengkapnya tentang bagaimana kecocokan dapat digunakan dalam menggabungkan DML, lihat MERGE.
Jalur terpendek
Fungsi SHORTEST_PATH menemukan jalur terpendek antara dua simpul dalam grafik atau dimulai dari simpul tertentu ke semua simpul lain dalam grafik.
SHORTEST PATH juga dapat digunakan untuk menemukan penutupan transitif atau untuk traversal panjang arbitrer dalam grafik.
Database Fabric SQL
Dalam database Fabric SQL, SQL Graph diizinkan, tetapi tabel Node dan Edge tidak mencerminkan ke Fabric OneLake.