Přidat omezení jazyka SQL

Tento jazyk slouží k extrahování a správě DBMS v RDMS, je místo pro ukládání relačních dat, které mají několik řádků a sloupců. SQL umožňuje přijímat a zpracovávat tabulky v RDMS. V SQL můžete vytvořit procedurální programy s iterací a podmínkami. K databázi můžete přistupovat pomocí příkazů stejným způsobem jako v PHP, nebo pomocí vizuálního softwaru, jako je phpMyAdmin, který běží na serveru nebo počítači pomocí XAMPP, stejně jako mnoho jiných programů místních serverů. Téměř všechny moderní systémy pro správu databází jsou založeny na tomto jazyce.

Historické předpoklady SQL

Zkratka SQL znamená "strukturovaný vyhledávací jazyk", který chápe prakticky všechny DBMS. To bylo vyvinuto IBM v sedmdesátých letech s původním jménem SEQUEL a jeho pravé jméno pochází z osmdesátých let. SQL byl certifikován mezinárodní organizací ISO. Zde jsou hlavní kroky v tomto procesu:


  • standard ANSI v roce 1986;
  • ISO (SQL1) v roce 1987, revidovaný v roce 1989;
  • ISO (SQL2) v roce 1992;
  • SQL3 byl vytvořen v roce 1999 ANSI a ISO.
  • Standard ISO SQL 2006 se používá ke správě souborů XML, jako je import dat XML do databáze nebo export XML obsahu a omezení SQL. Navzdory standardizaci ISO, skutečné použití různých editorů DBMS má rozdíly, pokud jde o:
  • detaily syntaxe;
  • psaní objednávek;
  • přesná práce řídících orgánů;
  • zavedení nových typů dat (obrázky, animace, video, hypertextové odkazy)a tak dále).
  • Bez ohledu na použitý software MySQL (nebo MariaDB), PostgreSQL, Oracle, NoSQL, stejně jako Cassandra - stejná syntaxe s malými rozdíly. Stručně řečeno, existuje pouze jeden jazyk SQL, ale každý editor DBMS implementuje svůj vlastní dialekt. "Slovník", který umožňuje přepnout z jednoho dialektu na jiný, se nazývá ODBC (Open Data Base Connectivity). Byla vytvořena v aplikaci Microsoft 1993 pro omezení SQL.


    Funkce programovacího jazyka

    SQL je nejoblíbenější mezi počítačovými jazyky spojenými se systémy správy databáze. Nejslibnější směry označují strukturované dotazy. Předmětem několika mezinárodních standardizací, z nichž první se týká roku 1986 a stále se rozvíjí. Realizace odpovídá relační algebru, ale často se odchyluje od tradičních výpočtů. Při implementacích jsou rozdíly mezi horním a malým písmenem, s výjimkou řádků, obvykle ignorovány. Omezení SQL umožňuje:
  • provádět relační algebra;
  • upravovat kopie;
  • upravte vztah v databázi.
  • Vyjádření omezení integrity

    Jedná se o návrh, který omezuje tabulkovou úpravu provedenou klientskými žádostmi tak, aby vstupy odpovídaly očekávaným výsledkům. Jsou uloženy při vytváření:
  • omezení SQL.
  • VÝCHOZÍ.
  • NULL.
  • SINGLE.
  • KONTROLA.
  • SQL definuje výchozí hodnotu, když základní pole není s využitím klauzule DEFAULT komunikováno. Zjednodušuje tvorbu tabulek a zajišťuje, že pole není prázdné. Ve větě DEFAULT musí být hodnota přiřazena.
    Může to být jeden z následujících typů:
  • digitální konstanta;
  • alfanumerická konstanta (řádek);
  • Klíčové slovo USER (uživatelské jméno);
  • klíčové slovo NULL;
  • klíčové slovo CURRENT_DATE (datum vstupu);
  • klíčové slovo CURRENT_TIME (vstupní čas);
  • klíčové slovo CURRENT_TIMESTAMP (datum a čas vstupu).
  • Datové typy v databázích

    V syntaxi například type_field1 field_type2 atd. Určete typ dat, který bude obsahovat příslušné pole. V zásadě se toto pravidlo používá k přenosu do systému tak, aby přidělil odpovídající paměťový prostor v závislosti na velikosti dat. Systém nebude přidělit stejný prostor pro linku jako pro celé číslo. V phpMyAdmin se při vytváření tabulky zobrazí seznam přijatých typů v rozevíracím seznamu.
    Typ dat



    typ



    [d])



    číslo n číslice [d (neobyazatelno) po desyatychnoy bod]



    SMALLINT



    16bitové celé číslo se znaménkem



    INTEGER



    )
    plováku



    počet plovoucí bod



    Datum



    formát data dd /mm




    hodin



    TIMESTAMP


    Datum a čas



    CHAR (l)



    (n
    Zde je příklad: CREATE TABLE table_name (sloupec1 typ_champ1, sloupec2) Typ_champ2, colonne3 typ_champ3).

    Atributy omezení SQL

    Aby bylo možné vytvořitvztah, musíte znát omezení integrity. Pro tento atribut platí následující omezení:
  • výchozí hodnota je výchozí hodnota pro tento atribut;
  • není null - prázdný nebo neznámý (nula) je pro tento parametr zakázán;
  • null - pro tento atribut povolíme prázdné nebo neznámé (nula (výchozí),
  • jedinečné - všechny hodnoty tohoto atributu musí být jedinečné;
  • klíč pimary - tento atribut je primární klíč (toto jedinečné omezení SQL se může objevit jednou) a neznamená žádný null jedinečný;
  • reference ta [(at)) - tento parametr má existující atribut at, který je povinný, jedinečný, tabulky ta, pokud není specifikováno, je primární klíč, ta;
  • reference ta [(at)] na kaskádě vymazání - podobně jako předchozí
  • Následující omezení omezení pro SQL se vztahují na jeden nebo více atributů nebo tabulky:
  • jedinečný (např. at1, atN) - všechny hodnoty v této množině atributů musí být jedinečné;
  • kontrola (te) - test musí být pro tuto sadu parametrů pravdivý.
  • Vytváření vztahů

    Vztah SQL je také označován jako tabulka. Vytvoření vztahu je vyjádřeno v SQL pomocí tabulky vytvoření nápovědy.
    Vygenerovaná tabulka je prázdná: obsahuje atributy (sloupce) definované při jejím vytvoření, ale ne výskyt (řetězec). Je možné a vhodné určit atributy integrity pro atributy.
    A také je možné zavolat omezení, aby se snadněji identifikovala. V opačném případě získá název, který automaticky poskytuje databáze.

    Vytvoření tabulky

    NOT NULL klíčové slovo umožňuje určit, které je nutné zadat do pole, bude tato databáze odmítne vložit řádky, které nejsou definované pole, které obsahuje návrh na NOT NULL. Políčko můžete zkontrolovat pomocí příkazu CHECK (), který má logickou podmínku pro hodnotu mezi závorkami. Pokud se tato hodnota liší od hodnoty NULL, DBMS prověří pomocí logických podmínek příkazy SELECT.

    Návrh UNIQUE umožňuje kontrolovat pole a zaručuje, že hodnoty sloupců jsou různé. Klíčové slovo CONSTRAINT přiřadí název omezení tak, aby fungoval, když nebyla ověřena daná věta. Není-li klauzule CONSTRAINT zadána, název bude libovolně poskytnut DBMS. Je však nepravděpodobné, že by to bylo jasné, a to lze jen těžko realizovat vůbec kdy dojde k chybě celistvost.

    Příklad datovému měnit tabulky omezení

    Pro ilustraci následující pořadí, zvažte tabulka "produkt":

    id hodnota (ID)



    nom (název )



    kočka? gorie (kategorie)



    akcií (akcie)



    prix (cena )



    1



    počítače



    pro zpracování dat

    (
    5



    950



    2

    )

    pro zpracování dat



    32



    35



    3 (207 )


    myš



    zpracování je



    16



    30



    4



    tužka



    Dodávka


    (238 ) 147



    2

    přidat vazby operátor SQL se může připojit několik slov v dotazu. Zachování stejného stolu jako předtím filtrovat pouze počítačové produkty jsou téměř chybí skladem (méně než 20 titulů), spusťte následující dotaz:
    SELECT * FROM produitWHERE kočka Gorie = ‚‘ Informatique a akciích (246?



    ) Sklad (podíly)



    , cena (cena)



    1



    počítače



    pro zpracování dat



    , 5



    , 950


    (286 ) 3



    , myší



    pro zpracování dat



    16



    30

    k filtrování dat a mají jen informace o výrobku "počítač" nebo "klávesnice" by měl udělat další vyhledávání: SELECT * FROM produitWHERE nom = 'ordinateur' OR nom = ' clavier ‚Tento jednoduchý požadavek vrátí následující výsledky:

    id hodnota (ID)



    nom (název)



    cat ? gorie (kategorie)



    vozidel (podíly)



    , cena (cena)



    1



    počítače



    pro zpracování dat



    , 5

    (341 )
    , 950



    2



    klávesnice



    zpracování dat



    32



    35

    Je třeba připomenout, že operátoři mohou být o Připojeno pro výkonné vyhledávání. Můžete filtrovat potravin „počítač“ s rozpětím menším než 20 produktů a „dodávky“ s rozpětím menším než 200následované vyhledávacím SQL alter tabulku přidat omezení: SELECT * FROM produitWHERE (kat gorie = 'informatique' A inventář
    id hodnota (ID)



    nom (název) (370? )


    kočka? gorie (kategorie)



    akcií (akcie)



    prix (cena) (382 )


    1



    počítače



    pro zpracování dat



    5



    , 950



    2



    , myší

    (412 )
    zpracování dat



    16



    30



    4
    (427 )

    tužka



    dodání



    , 147



    2

    Identifikační klíče

    až cizího klíče SQL s omezujícími podmínkami, klávesy lze definovat, že je určit sloupce, jejichž znalost vám umožní přiřadit přesně jeden z nich a jeden řádek. Sada sloupců, které jsou součástí aktuální tabulce se nazývá primární klíč a stanovil návrh primární klíč následovaný seznamu sloupců, oddělený čárkami v závorkách. Už nepřijímají hodnotu NULL by měla být taková, aby dva řádky nemohly mít současně stejnou kombinaci hodnot pro tyto sloupce. PRIMARY KEY (kolonie1 kolonie2). Po zobrazení seznamu sloupců, jež má určit primární klíč v tabulce, použije nabídku SQL přidat vazby cizí klíč, následovaný seznamem aktuálního sloupce tabulky, oddělený čárkami, v závorkách. Pak v závorkách najdete návrh REFERENCES, následovaný názvem externí tabulky a seznam odpovídajících sloupců oddělených čárkami. FOREIGN KEY (colonne1 colonne2) Odkazy Nom_de_la_table_etrangere (colonne1colonne2)

    primární klíč

    zájmy mimo úložiště databáze - je uspořádat toto úložiště a umožňujíurčitá pravidla. Takže pro každý z tabulek je obvykle určen primární klíč. Při prezentaci bude jednoznačně identifikovat vyhledávání podle řádku. Proto při vykazování sloupce jako klíčového DBMS automaticky vytvoří index omezení. Může být splněno:
    databáze název podařilo omezení, pokud se nazývají primární klíč. Počítač může být také vytvořen podruhé prostřednictvím pořadí změn v tabulce. Tento primární klíč bude absolutním identifikátorem pro použití. DBMS se neobejde bez něj, protože rowid, takže je potřeba pro primární klíč není technicky existuje, ale má malý smysl aplikací. Tato primární klíč ve většině případů omezuje integritu, tj správu určitých dat v jedné tabulce než jiné parametry, které patří do jiných tabulek.
    Například, řízení vztahů se zákazníky databáze dostupnost zakázáno bez faktur na objednávku. Vytvořte v tabulce účtů externí klíč, který bude omezen přítomností klíče.

    Omezení cizí klíč

    Pro PC omezení cizí klíč (FK) je k vytvoření tabulky, pomocí procesu nastavení klíče a indexy s nimi související, který bude vytvořen na FK, takže po připojení žádosti o připojení jednodušší. Kromě omezení primárního nebo externího klíče existují i ​​další omezení:
    Například omezení jednoty jiný než ten, který odpovídá primární klíč. Musíte vytvořit jedinečný index: vytvořit jedinečný indexnum_s? cu on personne. Další možností omezení je ověřovací limit, který obvykle umožňuje určit rozsah nebo hodnotu formátu. Pozitivní hodnota pro spotřebu je měřítkem zdvořilosti (ekvivalent ENUM pro některé další DBMS) a je uložena velkými písmeny:
    DBMS tedy umožňuje vytvářet omezení na integritu všech druhů, ale jakmile jsou aplikovány, není možné koncept aktivně /neaktivní. Neaktivní omezení nemá vliv na práci databáze (vložení, odstranění,). Čas potřebný k opětovnému aktivaci napětí však může být zdlouhavý, v závislosti na postupech, které je třeba provést, aby se zkontrolovalo toto omezení omezení SQL. Ale je obvykle zajímavé zakázat omezení. Toto omezení je zakázáno následovně: ALTER TABLE ma_table DISABLE CONSTRAINT ma_constraint; A aktivováno: ALTER TABLE ma_table ENABLE CONSTRAINT ma_constraint; Samozřejmě je třeba poznamenat, že jakékoli (aktivované) omezení použité v databázi vyžaduje další zpracování pro vložení, modifikace nebo odstranění. Tyto procesy zpravidla zpomalují používání databáze, a proto by měly být používány ekonomicky. Příkaz ALTER TBLE změní strukturu tabulky. Pokud je použit aktuální dotaz, příkaz ALTER čeká na jeho ukončení. Použijte příkaz: Upravit hodnotu sloupce. Výchozí hodnoty platí pro následující příkazy INSERT, nikoliv pro řádky. Přejmenování sloupců nebo tabulek bez změny typu v tomto příkazu můžete sloupec klíčového slova ignorovat. Jazyk neumožňuje změnit omezení. Místo toho jsouby měla odstranit omezení nebo vytvořit. Změňte délku sloupce varchar. Pokud tabulka odkazuje na uloženou proceduru, můžete přidat nebo odebrat sloupec. Můžete odstranit uložené procedury před volbou ALTER TABLE a potom znovu ji po editaci tabulky.

    Spoušť: záruka referenční integrity

    Vnější klíče slouží k určení sloupců tabulky, které zaručují spolehlivost jiné tabulky. To znamená, že prvky se nazývají spouštěče, aby zajistily, tato omezení jsou označeny termínem referenční integritě (y) a Ujistěte se, že řetězec je použit s další tabulka skutečně existuje. Tyto žabky jsou ve stavu „Odstranit“ a „Update“:
  • ON DELETE - doprovázený argumenty v rovnátka, které umožňují určit akci provedenou odstraněním linku.
  • CASCADE - označuje kaskáda odstranění řádků, jejichž klíče odpovídá primární adresa je.
  • omezují - indikuje chybu při mazání hodnotu odpovídající klíč.
  • SET NULL - klade NULL řetězec, pokud je odstraněna hodnota.
  • nastavení výchozích - vloží výchozí hodnotu (která by měla být v tomto parametru), v řadě, je-li odstraněna hodnota.
  • V „Update“ jít argumentů ve složených závorkách, které umožňují určit akci provedenou změnou řádku, který je součástí klíče:
  • CASCADE - označuje kaskádu modifikace linky venkovní stůl, jehož klávesy odpovídají tlačítkům změněných řádků.
  • RESTRICT - označuje chybu odpovídajícího tlačítka.
  • SET NULL -klade NULL řetězec, změna v hodnotě odpovídající klíč.
  • nastavení výchozích - vloží výchozí hodnotu, která by měla být v tomto parametru v řádku, změna v hodnotě odpovídající klíč.
  • přijetí - výraz, který je třeba provést při editaci dat, takže mohou být vykonani.Takym způsob, zajišťují integritu dat.
  • Jejich syntaxe je následující: CREATE UPLATŇOVÁNÍ Nom_de_la_contrainte pro kontrolu (expression_conditionnelle) Podmínky, které musí být provedeny, lze provést (a obvykle) s návrhy SELECT.

    Související publikace