Този език, използван за извличане и управление на СУБД в RDMS, е място за съхраняване на релационни данни, които имат няколко реда и колони. SQL ви позволява да получавате и обработвате таблици в RDMS. В SQL можете да създавате процедурни програми с повторения и условия. Можете да осъществите достъп до базата данни, като поставите команди по същия начин, както в PHP, или като използвате визуален софтуер, като phpMyAdmin, работещ на сървър или компютър с помощта на XAMPP, както и много други локални сървърни програми. Почти всички съвременни системи за управление на бази данни са базирани на този език.
Исторически предпоставки на SQL
Характеристики на езика за програмиране
Изразяване на ограничения на интегритета
Той може да бъде един от следните типове:
Типове данни в бази данни
Тип данни
тип
описание
НОМЕР (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
Създаване на отношения
Също така могат да бъдат призовани ограничения за по-лесното им идентифициране. В противен случай той получава име, което автоматично се предоставя от базата данни.
Ключовата дума NOT NULL ви позволява да укажете, че трябва да въведете в поле, т.е. Можете да проверите полето с CHECK (), има логическо условие за стойността между скобите. Ако тази стойност е различна от NULL, СУБД ще извърши проверка, използвайки логическото условие с операторите SELECT.
Предложението UNIQUE ви позволява да проверите полетата и гарантира, че стойностите на колоните са различни. Ключовата дума CONSTRAINT присвоява името на ограничението, така че да работи, когато определеното изречение не е потвърдено. Ако клаузата CONSTRAINT не е посочена, името ще бъде предоставено произволно от СУБД. Въпреки това е малко вероятно това да е разбираемо и е малко вероятно то да бъде разбрано изобщо, когато има грешка в почтеността.
За да илюстрираме следните поръчки, разгледайте таблицата с продукти:
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.
Създаване на таблица
Предложението 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