Lär dig vad Structured Query Language (SQL) är, dess historia och grundläggande funktioner, samt fördelarna och begränsningarna med att använda SQL i olika databashanteringssystem.
Vad betyder Structured Query Language?
Structured Query Language är ett programmeringsspråk som vanligtvis används i relationsdatabaser eller dataströmhanteringssystem.
Det utvecklades av IBM i början av 1970-talet och är nu en officiell standard som erkänns av American National Standards Institute (ANSI) och International Organization for Standardization (ISO).
Techopedia förklarar Structured Query Language (SQL)
SQL har förblivit ett konsekvent populärt val för databasanvändare genom åren, främst på grund av dess användarvänlighet och det mycket effektiva sättet på vilket det frågar, manipulerar, aggregerar data och utför ett brett spektrum av andra funktioner för att förvandla massiva samlingar av strukturerad data till användbar information.
Därför har den införlivats i många kommersiella databasprodukter, som MySQL, Oracle, Sybase, SQL Server, Postgres och andra. Faktum är att många icke-relationella databaser som MongoDB och DynamoBD kallas NoSQL-produkter på grund av deras avsaknad av SQL-programmering.
Även om olika iterationer av SQL kan använda olika syntax för nyckeloperationer, är grundläggande kommandon som select, insert, update och create gemensamma för alla SQL-versioner. Detta gör det mycket enkelt för en person med grundläggande kunskaper i SQL att arbeta i många olika miljöer och utföra en mängd olika uppgifter.
Fyra kategorier av SQL-kommandon
1. Datadefinitionsspråk (DDL)
Detta inkluderar CREATE (tabeller, vyer, objekt etc.), ALTER och DROP (radering).
2. Datamanipuleringsspråk (DML)
SELECT, INSERT, UPDATE, DELETE av poster i tabeller.
3. Datakontrollspråk (DCL)
GRANT och/eller REVOKE användarrättigheter, med mera.
4. Indexering av databaser
CREATE INDEX- och DROP INDEX-satser används för att skapa och ta bort index i tabeller.
Effektivisera sökning och andra funktioner
SQL tillåter också användare att bygga begränsningar på tabeller eller kolumner för att begränsa vilken typ av data de innehåller. Detta hjälper till att säkerställa att data är korrekta och relevanta, och förenklar den övergripande databashanteringen genom att effektivisera sökning och andra funktioner.
Några exempel på SQL-restriktioner är:
- NOT NULL: Förhindrar att kolumner har ett nollvärde.
- UNIK: För att säkerställa att alla värden är olika.
Dessutom kan DBA använda SQL för att skapa integritet i databasen genom att förhindra att duplicerade rader skapas, endast tillåta inmatning av giltiga data, förbjuda radering av data som är knutna till flera poster, och andra funktioner.
Samtidigt tillhandahåller SQL ett antal normaliseringsverktyg som är utformade för att effektivisera databeroenden och i allmänhet minska databasens storlek och omfattning för att göra den operationellt effektiv och resurseffektiv.
Det är uppenbart att SQL inte är det bästa valet för alla databasapplikationer, annars skulle det inte finnas några alternativ. SQL har visserligen varit effektivt för dataskalor under 1990-talet och framåt, men implementeringen och hanteringen av relationsdatabaser (snarare än språket i sig) började vackla på hyperscale-nivåer vid sekelskiftet.
Vissa användare klagar också på dess sharding-begränsningar, som hindrar möjligheten att dela upp stora databaser i mindre, mer hanterbara sådana.
Dessa nackdelar är i själva verket vad som ledde till skapandet av NoSQL och den nyare NewSQL, som försöker förbättra traditionell SQL:s skalbarhet utan att offra dess inneboende atomicitet, konsistens, isolering och hållbarhet (ACID).