Сваки од нас се редовно суочава и користиразне базе података. Када изаберемо е-адресу, радимо са базом података. Базе података користе услуге претраживања, банке за чување података о клијентима итд.
Али, упркос константној употреби база податакаподаци, чак и за многе програмере софтверских система, постоји много "бијелих тачака" због различите интерпретације истих појмова. Дали ћемо кратку дефиницију главних појмова база података пре испитивања језика СКЛ-а. Онда, онда.
База података - датотеку или скуп датотека за чување нарученихструктуре података и њихове међусобне везе. Врло често се база података назива системом управљања базама података (ДБМС). База података је само спремиште података у одређеном формату и може радити са различитим ДБМС-овима.
Табела - замислите фасциклу у којој чуватедокументе груписане специфичном функцијом, на пример, листа налога за последњи мјесец. Ово је табела у рачунарској бази података. Посебна табела има јединствено име.
Тип података - Врсте информација које могу бити сачуване у посебној колони или редовима. То могу бити бројеви или текст одређеног формата.
Колона и стринг - Сви смо радили са таблицама, који такође садрже редове и колоне. Свака релацијска база података функционише са столовима на сличан начин. Редови се понекад називају записима.
Примарни кључ - сваки ред табеле може имати једну или више ступаца за своју јединствену идентификацију. Без примарног кључа, врло је тешко ажурирати, изменити или обрисати тражене редове.
СКЛ куери језик (Енг. Струцтуред Куери Лангуаге) је дизајниран само за рад са базама података и тренутно је стандард за све популарне ДБМС-ове. Синтакса језика састоји се од малог броја оператора и лако се може научити. Али, упркос спољној једноставности, омогућава креирање скл упита за сложене операције са базама података било које величине.
Од 1992. године постоји опћенито прихваћен стандард који се зове АНСИ СКЛ. Он дефинира основну синтаксу и функције оператора и подржавају га сви лидери тржишта база података, као што је ОРАЦЛЕ Мицрософт СКЛ Сервер. Немогуће је узети у обзир све карактеристике језика у једном малом чланку, тако да ћемо укратко размотрити само основне СКЛ упите. Примери илуструју једноставност и могућности језика:
Сви ступци у табели базе података чувају један тип података. Типови података у СКЛ-у су исти као у другим програмским језицима.
Тип података | Опис |
ИНТ | Интегерс |
РЕАЛ | Бројеви са плутајућим тачкама |
ТЕКСТ | Карактер стринг са променљивом дужином |
ДАТЕ | скл упит "датум" у различитим форматима |
ТИМЕ | Време |
ЦХАР | Текстовне жице фиксне дужине |
Постоје два начина за креирање нових база података, таблица и других упита у СКЛ-у:
Оператер креира нову базу података. ЦРЕАТЕ ДАТАБАСЕ <име базе података>;. Као што видите, синтакса је једноставна и концизна.
Ми креирамо таблице унутар базе података користећи израз ЦРЕАТЕ ТАБЛЕ са следећим параметрима:
Као пример, креирајте Робу са следећим ступчама:
Колона | Опис |
цоммодити_ид | ИД производа |
вендор_ид | ИД продавца (кључ спољне табеле добављача) |
цоммодити_наме | Име производа |
цоммодити_прице | Трошкови |
цоммодити_десц | Опис |
Креирај таблицу:
ЦРЕАТЕ ТАБЛЕ Цоммодити
(цоммодити_ид ЦХАР (15) НОТ НУЛЛ,
вендор_ид ЦХАР (15) НОТ НУЛЛ,
цоммодити_наме ЦХАР (254) НУЛЛ,
цоммодити_прице ДЕЦИМАЛ (8,2) НУЛЛ,
цоммодити_десц варарцх (1000) НУЛЛ);
Табела се састоји од пет колона. Након што је име типа података, ступци су раздвојени заповијима. Вредност ступца може бити нула (НУЛЛ) или мора бити попуњена (НОТ НУЛЛ), а то се одређује приликом креирања табеле.
Оператор за проналажење података је најчешће коришћени СКЛ упити. За информације, морате навести да желимо да изаберемо из такве табеле. Прво, једноставан пример:
СЕЛЕЦТ цоммодити_наме ФРОМ Цоммодити
Након израза СЕЛЕЦТ, наведемо име колоне за пријем информација, а ФРОМ дефинира табелу.
Резултат упита ће бити све линије.Табеле са вриједностима Цоммодити_наме у редосљеду у који су унесени у базу података, тј. без сортирања. Да бисте наручили резултат, користите додатни ОРДЕР БИ израз.
За упит на неколико поља ми их наводимо одвојеним заповијима, као у следећем примеру:
СЕЛЕЦТ цоммодити_ид, цоммодити_наме, цоммодити_прице ФРОМ Цоммодити
Као резултат упита могуће је добити вриједност свих ступаца у реду. Да бисте то урадили, користите знак "*":
СЕЛЕЦТ * ФРОМ Цоммодити
Да бисте додали ред табелама, користите СКЛ упите са ИНСЕРТ изразом. Додавање може се вршити на три начина:
Да бисте додали пуно ред, морате навести име таблице и вредности колона (поља) новог реда. Дајемо пример:
ИНСЕРТ ИНТО Цоммодити ВАЛУЕС ("106", "50", "Цоца-Цола", "1.68", "Но Алцогол")
Пример дода нови производ таблици. Вредности су наведене за ВАЛУЕС за сваку колону. Ако нема одговарајуће вредности за колону, онда мора бити НУЛЛ специфициран. Колоне су испуњене вриједностима у редоследу који је одређен приликом креирања табеле.
Ако додате само део редова, морате експлицитно навести имена колона, као у примеру:
ИНСЕРТ ИНТО Цоммодити (цоммодити_ид, вендор_ид, цоммодити_наме)
ВРЕДНОСТИ ("106", "50", "Цоца-Цола",)
Унели смо само идентификаторе робе, добављача и његово име, а преостала поља су остала празна.
ИНСЕРТ се углавном користи за додавање редова, али се може користити и за додавање резултата СЕЛЕЦТ израза.
Да бисте променили информације у пољу табеле базе података, морате користити УПДАТЕ израз. Оператер се може користити на два начина:
Ажурирање се састоји од три главна елемента:
Размотрите пример. Претпоставимо да се вредност производа са ИД = 106 променила, тако да ова линија мора бити ажурирана. Пишемо следећу изјаву:
УПДАТЕ Цоммодити СЕТ робна_прице = "3.2" ВХЕРЕ цоммодити_ид = "106"
Навели смо име табеле, у нашем случају Цоммодити, гдје ће се извршити ажурирање, затим након СЕТ - нова вриједност ступца и пронашли потребан унос, наводећи тражену вриједност ИД у ВХЕРЕ.
Да бисте променили више колона након наредбе СЕТ, специфицирају се вишеструки парови ступаца и вриједности, одвојени зарезима. Погледамо пример у којем се име и цена производа ажурирају:
УПДАТЕ Цоммодити СЕТ робна_наме = "Фанта", цоммодити_прице = "3.2" ВХЕРЕ цоммодити_ид = "106"
Да бисте избрисали информације у колони, можете да их доделитењегова вредност је НУЛЛ ако структура табеле то дозвољава. Мора се имати на уму да је НУЛЛ тачно “не” вредност, а не нула као текст или број. Уклоните опис ставке:
УПДАТЕ Цоммодити СЕТ цоммодити_десц = НУЛЛ где је цоммодити_ид = "106"
СКЛ упити за брисање редова у табели извршавају се помоћу наредбе ДЕЛЕТЕ. Постоје две употребе:
Пример брисања једног реда из табеле:
ДЕЛЕТЕ ФРОМ Цоммодити ВХЕРЕ цоммодити_ид = "106"
Након ДЕЛЕТЕ ФРОМ наведите име табеле, укоји ће избрисати линију. ВХЕРЕ клаузула садржи услов којим се селектују редови за брисање. У примеру, бришемо линију производа са ИД = 106. Одређивање ВХЕРЕ је веома важно. Прескакање ове изјаве ће резултирати брисањем свих редова у табели. Ово се односи и на промену вредности поља.
ДЕЛЕТЕ израз не садржи имена и мета-знакове колона. Потпуно брише редове и не може да обрише једну колону.
Мицрософт Аццесс се обично користи уинтерактивни режим за креирање табела, база података, за управљање, модификацију, анализу података у бази података и за имплементацију СКЛ Аццесс упита преко погодног интерактивног дизајнера упита (Куери Десигнер), помоћу којег можете изградити и одмах извршити СКЛ изразе било које сложености.
Подржава и начин приступа сервера, кадагде се ДБМС приступа може користити као генератор СКЛ упита за било који ОДБЦ извор података. Ова функција омогућава Аццесс апликацијама да комуницирају са базама података било ког формата.
Зато што СКЛ упити немају све функцијепроцедурални програмски језици, као што су петље, гране итд., произвођачи база података развијају сопствену СКЛ верзију са напредним функцијама. Прије свега, то је подршка за похрањене процедуре и стандардне процедуралне језичке изјаве.
Најчешћи дијалекти језика:
МиСКЛ ДБМС се дистрибуира под бесплатнимГНУ Општа јавна лиценца. Постоји комерцијална лиценца са могућношћу развоја прилагођених модула. Као интегрални део, он је укључен у најпопуларније скупове Интернет сервера, као што су КСАМПП, ВАМП и ЛАМП, и најпопуларнији је ДБМС за развој апликација на Интернету.
Развио га је Сун Мицросистемс итренутно подржава Орацле Цорпоратион. Подржане су базе података до 64 терабајта, СКЛ: 2003 синтаксни стандард, репликација база података и цлоуд услуге.
</ п>