Добавяне на SQL език на ограничението

Този език, използван за извличане и управление на СУБД в RDMS, е място за съхраняване на релационни данни, които имат няколко реда и колони. SQL ви позволява да получавате и обработвате таблици в RDMS. В SQL можете да създавате процедурни програми с повторения и условия. Можете да осъществите достъп до базата данни, като поставите команди по същия начин, както в PHP, или като използвате визуален софтуер, като phpMyAdmin, работещ на сървър или компютър с помощта на XAMPP, както и много други локални сървърни програми. Почти всички съвременни системи за управление на бази данни са базирани на този език.

Исторически предпоставки на SQL

Съкращението SQL означава "Структуриран език за търсене", който разбира почти всяка СУБД. Тя е разработена от IBM през седемдесетте години с оригиналното име SEQUEL, а истинското му име датира от осемдесетте години. SQL е сертифициран от Международната организация на ISO. Ето основните стъпки в този процес:


  • ANSI стандарт през 1986 г .;
  • ISO (SQL1) през 1987 г., преработен през 1989 г .;
  • ISO (SQL2) през 1992 г .;
  • SQL3 е създаден през 1999 г. от ANSI и ISO.
  • Стандартът ISO SQL 2006 се използва за управление на XML файлове, като например импортиране на XML данни в база данни или експортиране на XML съдържание и ограничение SQL. Въпреки стандартизацията на ISO, действителното използване на различни редактори на СУБД има различия по отношение на:
  • синтактични данни;
  • писане на поръчки;
  • точната работа на управителните органи;
  • въвеждане на нови видове данни (изображения, анимации, видео, хипертекстови връзки)и т.н.).
  • Независимо от използвания софтуер MySQL (или MariaDB), PostgreSQL, Oracle, NoSQL, както и Касандра - същият синтаксис с малки разлики. Накратко, има само един SQL език, но всеки редактор на СУБД прилага свой диалект. "Речник", който ви позволява да превключвате от един диалект на друг, се нарича ODBC (Open Data Base Connectivity). Тя е създадена в Microsoft 1993 за SQL ограничение.


    Характеристики на езика за програмиране

    SQL е най-популярният сред компютърните езици, свързани с системите за управление на бази данни. Най-обещаващите насоки означават структурирани заявки. Предмет на няколко международни стандартизации, първата от които се отнася до 1986 г. и все още се развива. Реализацията съответства на релационната алгебра, но често се отклонява от традиционните изчисления. При реализациите разликите между горен и малък регистър, с изключение на редове, обикновено се игнорират. Ms SQL ограничението позволява:
  • да изпълнява операции по релационна алгебра;
  • редактиране на копия;
  • редактирайте връзката в базата данни.

    Изразяване на ограничения на интегритета

    Това е предложение, което ограничава табличното изменение, извършено от клиентски заявки, така че входящите данни са в съответствие с очакваните резултати. Те се налагат при създаването на:
  • Ограничение SQL.
  • DEFAULT.
  • НЕ NULL.
  • ЕДИН.
  • ПРОВЕРКА.
  • SQL определя стойността по подразбиране, когато базовото поле не се комуникира с клаузата DEFAULT. Тя опростява формирането на таблици и гарантира, че полето не е празно. В DEFAULT изречението стойността трябва да бъде зададена.
    Той може да бъде един от следните типове:
  • цифрова константа;
  • буквено-цифрова константа (линия);
  • Ключова дума USER (потребителско име);
  • ключова дума NULL;
  • ключова дума CURRENT_DATE (дата на въвеждане);
  • ключова дума CURRENT_TIME (време за въвеждане);
  • ключова дума CURRENT_TIMESTAMP (дата и час на въвеждане).
  • Типове данни в бази данни

    В синтаксиса, например type_field1 field_type2 и т.н., укажете типа данни, които ще съдържат съответното поле. По принцип това правило се използва за прехвърлянето им в системата, така че да разпределя подходящото пространство в паметта, в зависимост от размера на данните. Системата няма да разпредели същото място за реда, както за цяло число. В phpMyAdmin можете да видите списък на приетите типове в падащия списък, когато създавате таблица.

    Тип данни



    тип



    описание



    НОМЕР (n, [d])



    Брой n цифри [d (по избор) след десетичната запетая]



    SMALLINT



    16-битово цяло число със знака



    INTEGER



    32-битово цяло число със знака


    )
    FLOAT



    Номер с плаваща запетая



    ДАТА



    Формат на датата дд /мм /90



    ВРЕМЕ



    час



    TIMESTAMP



    Дата и час



    CHAR (l)



    Линия от символи с фиксирана дължина l (n
    ) Ето пример: CREATE TABLE име_на_таблица (колона1 Тип_клава1, колона2) Type_champ2, colonne3 Type_champ3).

    Атрибути на ограничения на SQL

    За да можете да създаватеотношения, трябва да знаете ограниченията на почтеността. За атрибута се прилагат следните ограничения:
  • стойността по подразбиране е стойността по подразбиране за този атрибут;
  • не е празно или неизвестно (нула) е забранено за този параметър;
  • null - за този атрибут позволяваме празно или неизвестно (нула (по подразбиране);
  • уникално - всички стойности на този атрибут трябва да са уникални;
  • check (te) -
  • pimary key - този атрибут е първичен ключ (това уникално ограничение на SQL може да се появи веднъж) и не включва null уникален; (at)] - този параметър има съществуващ атрибут в, който е задължителен, уникален, таблиците ta, ако не са посочени, е първият ключ, ta;
  • препратки ta [(at)] на каскада за изтриване - подобно на предишното освен това, ако та се изтрие, инстанцията, посочена в тази таблица, също автоматично се изтрива.
  • Следните ограничения за добавяне на ограничения за SQL се прилагат към един или повече атрибути или към таблица:
  • уникален (at1, atN) - всички стойности в този набор от атрибути трябва да са уникални;
  • check (te) - изпитването трябва да е вярно за този набор от параметри.
  • Създаване на отношения

    SQL връзката също се нарича таблица. Създаването на връзка се изразява в SQL с помощта на таблицата за помощ.
    Генерираната таблица е празна: съдържа атрибути (колони), дефинирани по време на нейното създаване, но не и поява (низ). Възможно и целесъобразно е да се определи ограничение на целостта за атрибутите.
    Също така могат да бъдат призовани ограничения за по-лесното им идентифициране. В противен случай той получава име, което автоматично се предоставя от базата данни.

    Създаване на таблица

    Ключовата дума NOT NULL ви позволява да укажете, че трябва да въведете в поле, т.е. Можете да проверите полето с CHECK (), има логическо условие за стойността между скобите. Ако тази стойност е различна от NULL, СУБД ще извърши проверка, използвайки логическото условие с операторите SELECT.

    Предложението UNIQUE ви позволява да проверите полетата и гарантира, че стойностите на колоните са различни. Ключовата дума CONSTRAINT присвоява името на ограничението, така че да работи, когато определеното изречение не е потвърдено. Ако клаузата CONSTRAINT не е посочена, името ще бъде предоставено произволно от СУБД. Въпреки това е малко вероятно това да е разбираемо и е малко вероятно то да бъде разбрано изобщо, когато има грешка в почтеността.

    Пример за ограничение на таблицата за изменение на SQL данни

    За да илюстрираме следните поръчки, разгледайте таблицата с продукти:

    id (идентификатор)



    nom (име) )



    котка Гори (категория)



    запаси



    прикс (цена) )



    1



    компютърни



    обработка на данни

    177)
    5



    950



    2



    клавиатури

    )

    обработка на данни



    32



    35



    3
    )


    е дадена обработка








    16



    30



    4



    молив



    доставка



    ) 147



    2

    Операторът за добавяне на ограничение SQL може да се присъедини към няколко условия в заявката. Чрез съхраняване на същата таблица, както преди, за да се филтрират само компютърни продукти, които са почти на склад (по-малко от 20 заглавия), изпълнете следния въпрос:
    SELECT * FROM produITWHERE cat? Gorie = 'informatique' И запас




    ) stock



    prix (цена)



    1



    компютър



    обработка на данни



    5



    950









    мишки



    обработка на данни



    16


    30

    За да филтрирате данните и да имате само информация за продуктите "компютър" или "клавиатура", трябва да извършите следното търсене: SELECT * FROM produITWHERE nom = 'ordinateur' OR nom = ' Това просто запитване връща следните резултати:

    id (идентификатор)



    nom (име)



    cat ? gorie



    фондова



    цена



    1



    компютър



    обработване на данни



    5


    )
    950



    2



    клавиатури



    обработка на данни



    32



    35

    Трябва да се помни, че операторите могат да бъдат Свързано е, за да извърши мощно търсене. Можете да филтрирате продуктите "компютър" със запас по-малък от 20 и продуктите да "доставят" със запас по-малък от 200със следващата SQL таблица за търсене добавете ограничение: SELECT * FROM produITWHERE (cat? gorie = 'informatique' И stock
    id (идентификатор)



    nom (име)
    )


    cat? Gorie



    фондова



    цена
    )


    1



    компютър



    обработване на данни


    397) 540



    950



    2



    мишки


    )
    обработка на данни



    16



    30



    4

    )

    молив



    доставка



    147



    2

    Ключови определения

    С външния ключ на ограничението на SQL можете да дефинирате ключове, т.е. да укажете колони, чието знание ви позволява да зададете точно един от тях и един ред. Наборът от колони, които са част от текущата таблица, се нарича първичен ключ и се определя от клаузата PRIMARY KEY, последвана от списък от колони, разделени със запетаи в скоби. Те вече не приемат NULL трябва да бъдат такива, че два реда не могат едновременно да имат една и съща комбинация от стойности за тези колони. ОСНОВЕН КЛЮЧ (colonne1 colonne2). Когато списъкът от колони в изпълнимия таблици ви позволява да дефинирате първичен ключ, той използва външния ключ за добавяне на SQL, последван от списъка с колони в текущата таблица, разделени със запетаи, в скоби. След това в скобите има предложение REFERENCES, последвано от името на външната таблица и списъка на съответните колони, разделени със запетаи. ВЪТРЕШЕН КЛЮЧ (colonne1 colonne2) СПИСЪЦИ Nom_de_la_table_etrangere (colonne1colonne2)

    Основни клавиши

    Междуличностните СУБД извън хранилището е да организират това хранилище и да позволятзадайте някои правила за него. По този начин за всяка от таблиците обикновено се определя първичният ключ. Той ще идентифицира еднозначно търсенето по ред, когато се представя. Следователно, когато декларирате колона като ключова, СУБД автоматично създава индекс на ограничение. Тя може да бъде изпълнена:
    Името на ограничението се управлява от СУБД, когато е необходимо да се назове този първичен ключ. Компютърът може също да бъде създаден втори път чрез реда на промените в таблицата. Този първичен ключ ще бъде абсолютен идентификатор за използване. СУБД може да се справя без нея благодарение на rowid, така че необходимостта от първичен ключ не съществува технически, но няма смисъл в приложението. Този първичен ключ също така в много случаи поставя ограниченията на интегритета, т.е. управлението на определени данни в една таблица в сравнение с други показатели, принадлежащи към други таблици.
    Например в базата данни за управление на клиенти, наличието на фактура без единична поръчка е забранено. Създайте външен ключ в таблицата на акаунта, който ще бъде ограничен от наличието на ключа.

    Ограничаване на външен ключ

    За PC, ограничението на външния ключ (FK) се определя от създаването на таблица, благодарение на механизма за конфигуриране на ключовете и свързаните индекси, които ще бъдат създадени за FK, така че запитванията за свързване са по-лесни. В допълнение към ограниченията на първичния или външния ключ, съществуват и други ограничения:
    Например ограничението на уникалността, различно от това, което съответства на първичния ключ. Трябва да създадете уникален индекс: създайте уникален индексnum_s? cu на personne. Друга опция за ограничаване е ограничението за проверка, което обикновено ви позволява да зададете диапазон или стойност на формата. Положителната стойност за потребление е мярка за избор на учтивост (еквивалентна на ENUM за някои други СУБД) и се съхранява в главни букви:
    По този начин СУБД позволява създаването на ограничения върху целостта на всички видове, но след като бъдат приложени, не е възможно да се контролира концепцията активно /неактивно. Неактивното ограничение не засяга работата на базата данни (вмъкване, изтриване). Въпреки това, времето, необходимо за повторно активиране на напрежението, може да бъде продължително, в зависимост от процедурите, които трябва да бъдат изпълнени, за да се провери това SQL ограничение. Но обикновено е интересно да забраните ограниченията. Ограничението е деактивирано както следва: ALTER TABLE ma_table DISABLE CONSTRAINT ma_constraint; И се активира: ALTER TABLE ma_table ENABLE CONSTRAINT ma_constraint; Разбира се, трябва да се отбележи, че всяко (активирано) ограничение, приложено към базата данни, изисква допълнителна обработка за вмъквания, модификации или заличавания. Тези процеси водят до забавяне на използването на базата данни, така че те трябва да се използват икономически. Командата ALTER TBLE променя структурата на таблицата. Ако се използва от текущата заявка, командата ALTER чака да приключи. Използвайте командата: Редактирайте стойността на колоната. Стойностите по подразбиране се отнасят за следните команди INSERT, а не за редове. Преименувайки колони или таблици, без да променяте типа, в тази команда можете да игнорирате колоната с ключовите думи. Езикът не ви позволява да променяте ограниченията. Вместо това, те сатрябва да премахнете ограниченията или да ги създадете. Променете дължината на колоната varchar. Ако таблицата се отнася за съхранената процедура, можете да добавите или премахнете колона. Можете да изтриете съхранената процедура, преди да изпълните командата ALTER TABLE и след това да я възпроизведете след редактиране на таблицата.

    Тригер: гаранция за референтна цялост

    Външните ключове се използват за определяне на колоните на таблица, която гарантира надеждността на друга таблица. По този начин съществуват елементи, наречени тригери, за да се гарантират всички тези ограничения, които са обозначени с термина референтен целостта (и), и се уверете, че низът се използва от друга таблица, всъщност съществува. Тези тригери са в "Изтриване" и "Опресняване":
  • ON DELETE - е придружено от аргументи в фигурни скоби, които ви позволяват да укажете действие, което се изпълнява при изтриване на линия.
  • CASCADE - Показва каскадно изтриване на низове, чиито ключове съответстват на първоначалното им отстраняване.
  • RESTRICT - показва грешка при изтриване на стойността на съответния ключ.
  • SET NULL - поставя NULL в низ, ако стойността е изтрита.
  • SET DEFAULT - поставя стойността по подразбиране (последвана от този параметър) в ред, ако стойността е изтрита.
  • В полето "UPDATE" има аргументи в къдрави скоби, които ви позволяват да укажете действието, изпълнено при смяна на редовете на таблицата, част от ключа:
  • CASCADE - Показва каскадна модификация на редовете на външната таблица, чиито ключове съответстват на ключовете на променените редове.
  • RESTRICT - показва грешката на съответния ключ.
  • SET NULL -поставя NULL в ред, ако стойността на съответния ключ се промени.
  • SET DEFAULT - поставя стойността по подразбиране, която да бъде последвана от този параметър в ред, ако стойността на съответния ключ се промени.
  • Одобренията са изразите, които трябва да бъдат изпълнени при редактиране на данни, така че те да могат да бъдат изпълнени. Синтаксисът им е както следва: CREATE ASSERTION NOM_DE_LA_CONTRAINTE CHECK (expression_conditionnelle) Условието, което трябва да се изпълни, може да се изпълни (и обикновено) с оператора SELECT.
  • Свързани публикации