CREATE TABLE (SQL Graph)
Berlaku untuk: SQL Server 2017 (14.x) dan Azure SQL Managed Instance yang lebih baru
Membuat tabel grafik SQL baru sebagai NODE
tabel atau EDGE
.
Catatan
Untuk pernyataan Transact-SQL standar, lihat CREATE TABLE (Transact-SQL).
Sintaks
CREATE TABLE
{ database_name.schema_name.table_name | schema_name.table_name | table_name }
( { <column_definition> }
| <computed_column_definition>
| <column_set_definition>
| [ <table_constraint> ] [ ,... n ]
| [ <table_index> ] }
[ ,...n ]
)
AS [ NODE | EDGE ]
[ ON { partition_scheme_name ( partition_column_name )
| filegroup
| "default" } ]
[ ; ]
< table_constraint > ::=
[ CONSTRAINT constraint_name ]
{
{ PRIMARY KEY | UNIQUE }
[ CLUSTERED | NONCLUSTERED ]
(column [ ASC | DESC ] [ ,...n ] )
[
WITH FILLFACTOR = fillfactor
|WITH ( <index_option> [ , ...n ] )
]
[ ON { partition_scheme_name (partition_column_name)
| filegroup | "default" } ]
| FOREIGN KEY
( column [ ,...n ] )
REFERENCES referenced_table_name [ ( ref_column [ ,...n ] ) ]
[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
[ NOT FOR REPLICATION ]
| CONNECTION
( { node_table TO node_table }
[ , {node_table TO node_table }]
[ , ...n ]
)
[ ON DELETE { NO ACTION | CASCADE } ]
| CHECK [ NOT FOR REPLICATION ] ( logical_expression )
Argumen
Dokumen ini hanya mencantumkan argumen yang berkaitan dengan grafik SQL. Untuk daftar lengkap dan deskripsi argumen yang didukung, lihat CREATE TABLE (Transact-SQL)
database_name
Adalah nama database tempat tabel dibuat. database_name harus menentukan nama database yang sudah ada. Jika tidak ditentukan, database_name default ke database saat ini. Login untuk koneksi saat ini harus dikaitkan dengan ID pengguna yang ada dalam database yang ditentukan oleh database_name, dan ID pengguna tersebut harus memiliki izin CREATE TABLE.
schema_name
Adalah nama skema tempat tabel baru berada.
table_name
Adalah nama simpul atau tabel tepi. Nama tabel harus mengikuti aturan untuk pengidentifikasi. table_name bisa maksimal 128 karakter, kecuali untuk nama tabel sementara lokal (nama diawali dengan tanda angka tunggal (#)) yang tidak boleh melebihi 116 karakter.
NODE
Membuat tabel simpul.
PINGGIR
Membuat tabel edge.
table_constraint
Menentukan properti KUNCI PRIMER, UNIK, KUNCI ASING, batasan KONEKSI, batasan CHECK, atau definisi DEFAULT yang ditambahkan ke tabel.
Catatan
Batasan KONEKSI hanya berlaku untuk jenis tabel edge.
AKTIF { partition_scheme | grup file | "default" }
Menentukan skema partisi atau grup file tempat tabel disimpan. Jika partition_scheme ditentukan, tabel akan menjadi tabel yang dipartisi yang partisinya disimpan pada satu set atau beberapa grup file yang ditentukan dalam partition_scheme. Jika grup file ditentukan, tabel disimpan dalam grup file bernama. Grup file harus ada di dalam database. Jika "default" ditentukan, atau jika ON tidak ditentukan sama sekali, tabel disimpan pada grup file default. Mekanisme penyimpanan tabel seperti yang ditentukan dalam CREATE TABLE tidak dapat diubah berikutnya.
ON {partition_scheme | grup file | "default"}
Juga dapat ditentukan dalam KUNCI PRIMER atau batasan UNIK. Batasan ini membuat indeks. Jika grup file ditentukan, indeks disimpan dalam grup file bernama. Jika "default" ditentukan, atau jika ON tidak ditentukan sama sekali, indeks disimpan dalam grup file yang sama dengan tabel. Jika BATASAN KUNCI PRIMER atau UNIK membuat indeks berkluster, halaman data untuk tabel disimpan dalam grup file yang sama dengan indeks. Jika CLUSTERED ditentukan atau batasan jika tidak membuat indeks berkluster, dan partition_scheme ditentukan bahwa berbeda dari partition_scheme atau grup file definisi tabel, atau sebaliknya, hanya definisi batasan yang akan dihormati, dan yang lain akan diabaikan.
Keterangan
Membuat tabel sementara karena tabel simpul atau tepi tidak didukung.
Membuat simpul atau tabel edge sebagai tabel temporal tidak didukung.
Database stretch tidak didukung untuk tabel simpul atau tepi.
Penting
Stretch Database tidak digunakan lagi di SQL Server 2022 (16.x) dan Azure SQL Database. Fitur ini akan dihapus dalam versi Mesin Database di masa mendatang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.
Tabel simpul atau tepi tidak boleh tabel eksternal (tidak ada dukungan PolyBase untuk tabel grafik).
Tabel node/edge grafik yang tidak dipartisi tidak dapat diubah menjadi tabel simpul/tepi grafik yang dipartisi.
Contoh
J. Membuat NODE
tabel
Contoh berikut menunjukkan cara membuat NODE
tabel
CREATE TABLE Person (
ID INTEGER PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
) AS NODE;
B. Membuat EDGE
tabel
Contoh berikut menunjukkan cara membuat EDGE
tabel
CREATE TABLE friends (
id INTEGER PRIMARY KEY,
start_date DATe
) AS EDGE;
-- Create a likes edge table, this table does not have any user defined attributes
CREATE TABLE likes AS EDGE;
Contoh berikutnya memodelkan aturan bahwa hanya orang yang dapat berteman dengan orang lain, yang berarti tepi ini tidak mengizinkan referensi ke simpul apa pun selain Orang.
/* Create friend edge table with CONSTRAINT, restricts for nodes and it direction */
CREATE TABLE dbo.FriendOf(
CONSTRAINT cnt_Person_FriendOf_Person
CONNECTION (dbo.Person TO dbo.Person)
)AS EDGE;
Lihat Juga
ALTER TABLE table_constraint
ALTER TABLE (Transact-SQL)
INSERT (SQL Graph)]
Pemrosesan grafik dengan SQL Server 2017