Megosztás a következőn keresztül:


CREATE TABLE (SQL Graph)

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