Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik: Sql Server 2017 (14.x) és újabb verziók
Felügyelt Azure SQL-példány
Új SQL Graph-táblázatot hoz létre táblázatként vagy táblázatként NODEEDGE .
Megjegyzés:
A standard Transact-SQL utasításokért lásd: CREATE TABLE (Transact-SQL).
Transact-SQL szintaxis konvenciók
Szemantika
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 )
Arguments
Ez a dokumentum csak az SQL Graphhoz kapcsolódó argumentumokat sorolja fel. A támogatott argumentumok teljes listáját és leírását a CREATE TABLE (Transact-SQL) című témakörben találja.
database_name
Annak az adatbázisnak a neve, amelyben a tábla létrejön.
database_name meg kell adnia egy meglévő adatbázis nevét. Ha nincs megadva, database_name alapértelmezett érték az aktuális adatbázisra. Az aktuális kapcsolat bejelentkezésének egy meglévő felhasználói azonosítóval kell rendelkeznie a database_name által megadott adatbázisban, és a felhasználói azonosítónak CREATE TABLE engedélyekkel kell rendelkeznie.
schema_name
Annak a sémának a neve, amelyhez az új tábla tartozik.
table_name
A csomópont vagy az éltábla neve. A táblaneveknek az azonosítókra vonatkozó szabályokat kell követnie.
table_name legfeljebb 128 karakter hosszúságú lehet, kivéve a helyi ideiglenes táblázatneveket (az egyetlen számjellel (#) előtaggal ellátott neveket, amelyek legfeljebb 116 karakter hosszúságúak lehetnek.
CSOMÓPONT
Létrehoz egy csomóponttáblát.
EDGE
Létrehoz egy éltáblát.
tábla_korlátozás
Megadja a táblához hozzáadott ELSŐDLEGES KULCS, EGYEDI, IDEGEN KULCS, KAPCSOLATi kényszer, CHECK kényszer vagy ALAPÉRTELMEZETT definíció tulajdonságait.
Megjegyzés:
A KAPCSOLATi kényszer csak egy éltáblatípusra vonatkozik.
ON { partition_scheme | filegroup | "default" }
Megadja azt a partíciós sémát vagy fájlcsoportot, amelyen a tábla tárolódik. Ha partition_scheme van megadva, a tábla egy particionált tábla, amelynek partícióit egy vagy több, partition_scheme megadott fájlcsoport tárolja. Ha a fájlcsoport meg van adva, a tábla a nevesített fájlcsoportban lesz tárolva. A fájlcsoportnak léteznie kell az adatbázisban. Ha az "alapértelmezett" érték van megadva, vagy ha egyáltalán nincs bekapcsolva, a rendszer az alapértelmezett fájlcsoportban tárolja a táblát. A CREATE TABLE-ben megadott tábla tárolási mechanizmusa később nem módosítható.
ON {partition_scheme | filegroup | "alapértelmezett"}
ELSŐDLEGES KULCSban vagy EGYEDI kényszerben is megadható. Ezek a korlátozások indexeket hoznak létre. Ha a fájlcsoport meg van adva, az index a nevesített fájlcsoportban lesz tárolva. Ha az "alapértelmezett" érték van megadva, vagy ha egyáltalán nincs bekapcsolva, az index ugyanabban a fájlcsoportban lesz tárolva, mint a tábla. Ha az ELSŐDLEGES KULCS vagy AZ EGYEDI kényszer fürtözött indexet hoz létre, a tábla adatlapjait a rendszer ugyanabban a fájlcsoportban tárolja, mint az index. Ha a CLUSTERED meg van adva, vagy a kényszer egyébként fürtözött indexet hoz létre, és egy olyan partition_scheme van megadva, amely eltér a tábladefiníció partition_scheme- vagy fájlcsoportjától, vagy fordítva, csak a kényszerdefiníció lesz betartva, a másik pedig figyelmen kívül lesz hagyva.
Megjegyzések
Az ideiglenes tábla csomópontként vagy éltábláként való létrehozása nem támogatott.
A csomópont- vagy éltáblák időbeli táblaként való létrehozása nem támogatott.
A Stretch-adatbázis csomópont- vagy éltáblák esetében nem támogatott.
Fontos
A Stretch Database elavult az SQL Server 2022 -ben (16.x) és az Azure SQL Database-ben. Ez a funkció az adatbázismotor egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását.
A csomópont- és éltáblák nem lehetnek külső táblák (a gráftáblákhoz nincs PolyBase-támogatás).
Nem particionált gráfcsomópont/éltábla nem módosítható particionált gráfcsomópontba/éltáblába.
Példák
A.
NODE Tábla létrehozása
Az alábbi példa bemutatja, hogyan hozhat létre táblát NODE
CREATE TABLE Person (
ID INTEGER PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
) AS NODE;
B.
EDGE Tábla létrehozása
Az alábbi példák azt mutatják be, hogyan hozhat létre EDGE táblákat
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;
A következő példa egy olyan szabályt modellez, amely szerint csak személyek lehetnek másokkal barátkozni, ami azt jelenti, hogy ez a peremhálózat nem engedélyezi a Személyen kívüli csomópontra való hivatkozást.
/* 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;
Lásd még:
ALTER TABLE table_constraint
ALTER TABLE (Transact-SQL)
INSERT (SQL Graph)]
Gráffeldolgozás az SQL Server 2017-zel