Tabulky

SQL databáze

SSŠVT


Tabulky

Podle příkladu v úvodním článku o databázích můžeme napsat vytvářecí skripty pro jednotlivé tabulky Invoice a InvoiceItem. Použijeme dialekt jazyka SQL pro MS SQL Server (T-SQL).

Poznámka:
Z demonstračních důvodů nazveme tabulky pro naše business objekty TB_INVOICE a TB_INVOICE_ITEM.

CREATE TABLE TB_INVOICE
(
    ID                    INT           IDENTITY(1,1)          NOT NULL,
    INVOICE_NO            VARCHAR(20)                          NOT NULL,
    CUSTOMER_NAME         NVARCHAR(100)                        NOT NULL,
    ISSUE_DATE            DATETIME                             NOT NULL,
    DUE_DATE              DATETIME                             NOT NULL,
    TAXABLE_EVENT_DATE    DATETIME                             NOT NULL,
    TOTAL_PRICE           MONEY                                NOT NULL,

    CONSTRAINT PK_TB_INVOICE    PRIMARY KEY ( ID )
);
        

CREATE TABLE TB_INVOICE_ITEM
(
    ID                    INT           IDENTITY(1,1)          NOT NULL,
    INVOICE_ID            INT                                  NOT NULL,
    ITEM_ORDINAL          INT                                  NOT NULL,
    DESCRIPTION           NVARCHAR(100)                        NOT NULL,
    AMOUNT                DECIMAL(5,2)                         NOT NULL,
    UNIT_PRICE            MONEY                                NOT NULL,
    UNIT                  NVARCHAR(20)                         NOT NULL,
    ITEM_PRICE            MONEY                                NOT NULL,

    CONSTRAINT PK_TB_INVOICE_ITEM     PRIMARY KEY ( ID ),
    CONSTRAINT FK_TB_INVOICE_ITEM_TB_INVOICE    FOREIGN KEY ( INVOICE_ID )    REFERENCES TB_INVOICE ( ID )
);
        

Všimněte si řádků s klauzulí "PRIMARY KEY", které definují primární klíč, a řádku s "FOREIGN KEY", který definuje cizí klíč, čili relaci mezi TB_INVOICE_ITEM a TB_INVOICE.