Imath уики - на SQL езика, историята, основните оператори

Както вече споменахме, през 1970 г. Едгар Kodd предложи използването на релационния модел. В допълнение към самия модел, тя също така предполага, език за манипулиране на данни в рамките на този модел, наречен DSL / Alpha. Впоследствие, на DSL / Alpha-базиран език се появи квадрат, и въз основа на това, от своя страна, на продължението език, което (поради някакво объркване в запазена марка) е преименуван по-късно в SQL.

SQL заявка резултат е таблица (или, ако предпочитате, съотношение), както и повечето заявки работят на една връзка. Можете да говорите за това, че SQL до голяма степен се изразява релационна алгебра.

Един последен бележка. SQL исторически не е акроним, но това често означава Structured Query Language. Прочетете или заклинание, или като "продължение" (продължението).

Много от вас са запознати с императивни езици за програмиране. SQL не е наложително език, а сега може да се извърши до декларативни. Други декларативни езици - това е, например, различни езици за маркиране, например, HTML или XML.

Декларативен SQL е, че вместо да уточнява как да се постигне резултат (както е в императивни езици), което се задава какъв резултати трябва да бъдат постигнати на базата на това, което на входните данни. Работата по почивка се извършва чрез компонента за база данни, наречена оптимизатор.

От SQL доста трудно да се напише "пълно" програма - обикновено изисква вградени SQL-разговори с някои императив (или функционална) език.

SQL първоначално е бил основният начин потребителят работи с базата данни и ви позволява да извършвате следните операции:

  • създаването на нови данни в таблицата базирани;
  • добавяне на нови записи в таблицата;
  • промените записи;
  • изтриване на записи;
  • примерни записи от една или повече таблици (в съответствие с предварително определено състояние);
  • промяната в таблицата структури.

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

За всички свои промени SQL е единственият механизъм за комуникация между приложния софтуер и базата данни. В същото време, модерни бази данни и информационни системи, използващи бази данни, предоставят на потребителя усъвършенствани инструменти за изграждането на визуални заявка.

Всяко предложение SQL - това е заявка за данни от базата данни, всяко позоваване на база данни, което води до промяна в данните в базата данни. По-долу видове искания в съответствие с промените в базата данни, в резултат на тяхната работа:

  • искания за създаване или промяна на база данни на нови или съществуващи съоръжения (на типа, описан в заявлението и структурата на обекта ще бъде създадено или модифициран);
  • искания за данни;
  • искания за добавяне на нови данни (записи);
  • искания за изтриване на данни;
  • достъп до базата данни.

По принцип, всички SQL изявления имат следния синтаксис:

Основният предмет магазина е релационна база данни таблица, така че всички SQL-заявки - операции на таблици. В съответствие с това, заявки се разделят на:

  • искания, които работят върху самите таблици (създаване и промяна на таблици);
  • заявки, които работят на отделните записи (или редове) или набор от документи.

Всяка таблица е описан като трансфер на техните полета (колони в таблицата), което показва,

  • Типове съхранява във всяка област стойности;
  • Отношенията между маси (прехвърляне на първични и вторични ключове);
  • информацията, необходима за изграждане на индекса.

Исканията от първия тип, от своя страна, са разделени на искания за създаване на нови таблиците в базата данни и заявки за промяна на съществуващи таблици. Исканията от втория тип, работят на струни, и те могат да бъдат разделени по въпросите на следния вид:

  • вмъкнете нов ред;
  • промяна на стойностите на полета низ или набор от низове;
  • изтриване на ред или набор от редове.

Основният вид на молба - искане се завръща (потребител), набор от низове, с които да изпълняват една от следните три операции:

По този начин използването на SQL е намалена, в действителност, формирането на всички видове проби редове и да извършват операции на всички записи, които принадлежат към комплекта.

Езикът на SQL е набор от

  • оператори
  • инструкции
  • и изчислява функции.

Предимства и недостатъци

предимства

недостатъци

Несъответствие на модела на релационни данни

Създателите на модела на релационни данни Едгар Kodd, Кристофър Deyt и техните поддръжници посочват факта, че SQL не е вярно релационна език. По-специално, те изтъкват, че следващата дефекти SQL от гледна точка на релационна теория:

  • SQL позволява дубликати в низ-маса, която в рамките на модела на релационни данни е невъзможно и недопустимо;
  • SQL поддържа неопределено стойност (NULL) и multivalued логика;
  • SQL използва реда колона, а позоваванията на брой хора;
  • SQL позволява колони без име и дублиращи се имена на колони.

Въпреки сложността на SQL и замислен като средство за крайния потребител, в края на краищата става толкова сложна, че става инструмент за програмисти. Отклонения от стандартите, въпреки наличието на международен стандарт ANSI много разработчиците да правят промени в базата данни в SQL език, използван в развития базата данни, като по този начин се отклонява от стандарта. По този начин там са специфични за всеки конкретен език база данни SQL диалекти.

В SQL, има четири големи групи от оператори.

схема на данни Оператори за контрол

операторите, които ви позволяват да създавате, променяте и изтривате маси (отношения) на базата данни, ограничения, индекси и т.н. както и да получи информация за съществуващата схема на данни.

  • Създадат създават обект на базата данни (на себе си, таблици, изгледи, потребител, и така нататък. Г. база),
  • ALTER променя обекта,
  • DROP премахва обекта;
Оператори за управление на данни

операторите, които ви позволяват да получите, да създавате, променяте и изтривате данни от таблици, създадени.

  • SELECT чете данни удовлетворяване на предварително определени условия,
  • INSERT добавя нови данни,
  • UPDATE променя съществуващите данни,
  • DELETE изтрива данните;
База данни за контрол на оператори

Това позволява на операторите да персонализирате базата данни, да управлявате разрешенията, създаване на потребители и т.н.

  • Дарение предоставя за употреба (група), за да позволи на някои операции на обекта,
  • REVOKE оттегли по-рано издадените разрешителни,
  • DENY комплекти забрана има приоритет над резолюцията;
контролни отчети сделки

Тя ви позволява да се определи група от операции, които могат да бъдат отменени или извършени само "всички заедно". Т.е. на грешка на една транзакция, цялата сделка се отменя автоматично.

  • COMMIT прилага по сделката,
  • ROLLBACK ролки обратно всички промени, направени в контекста на сегашната сделка,
  • Точка на запис сделка разделя на по-малки порции.

Нека разгледаме някои от тях по-подробно.

схема на данни Оператори за контрол

Оператори за създаване на схема елементи като цяло се наричат ​​създадете.

оператори създават

Създаване на база данни