För närvarande kan alla observeraden snabba tillväxten av digital information. Och eftersom det mesta av denna information är viktig, blir det nödvändigt att lagra den på digitala medier för framtida användning. I denna situation kan modern teknik som databaser användas. De ger tillförlitlig lagring av all digital information och tillgång till data kan utföras var som helst i världen. En av teknologierna som beaktas är MySQL-databashanteringssystemet.
RelationsdatabashanteringssystemMySQL är en av de mest populära och ofta använda datalagringsteknologierna. Dess funktionalitet är i många avseenden överlägsen det befintliga DBMS. I synnerhet är en av huvudfunktionerna möjligheten att använda kapslade MySQL-frågor.
Därför många projekt där tid är viktigprestanda och det är nödvändigt att säkerställa lagring av information, såväl som att utföra komplex dataprovering, utvecklas på grundval av MySQL-databasen. De flesta av dessa utvecklingar är webbplatser. Samtidigt introducerar MySQL sig aktivt i implementeringen av både små (bloggar, visitkortsidor etc.) och ganska stora uppgifter (onlinebutiker, datalagring etc.). I båda fallen används en MySQL-fråga för att visa information på webbplatsens sida. I begäran försöker utvecklarna utnyttja de tillgängliga möjligheter som databashanteringssystemet ger.
För bekväm lagring och efterföljande bearbetningdata beställs nödvändigtvis. Datastrukturen låter dig bestämma hur tabellerna som används för att lagra information kommer att se ut. Databastabeller är en uppsättning fält (kolumner) som är ansvariga för varje specifik egenskap hos ett dataobjekt.
Till exempel om ett personaltabell sammanställsett visst företag, då är dess enklaste struktur som följer. Varje anställd tilldelas ett unikt nummer, som vanligtvis används som den primära nyckeln till tabellen. Därefter matas medarbetarens personuppgifter i tabellen. Det kan vara vad som helst: F. I. O., numret på den avdelning som det tilldelas, telefon, adress och så vidare. Enligt normaliseringskraven (6 normala databasformer) såväl som för att MySQL-frågor ska struktureras på ett strukturerat sätt måste fälten i tabellen vara atomiska, det vill säga utan uppräkning eller listor. Därför finns det som regel i tabellen separata fält för efternamn, förnamn etc.
Anställnings-ID | Efternamn | namn | Patronymikon | department_id | Placera | Telefon | Employer_id |
1 | Ivanov | Ivan | Ivanovich | Administratör | Direktör | 495 **** | null |
2 | Petrov | Peter | Petrovich | Administratör | Vice direktörer | 495 *** | 1 |
3 | Grishin | Gregory | Grigorievich | försäljning | Chef | 1 | |
... | ... | ... | ... | ... | ... | ... | ... |
59 | Sergeev | Sergei | Sergeevich | försäljning | Butiksbiträde. | 495 *** | 32 |
Ovan är ett triviellt exempel på en strukturdatabastabeller. Men det uppfyller fortfarande inte helt de grundläggande kraven för normalisering. I verkliga system skapas en ytterligare avdelningstabell. Därför bör ovanstående tabell istället för orden i kolumnen "Avdelning" innehålla antalet avdelningar.
För att få data från tabeller i ett DBMS används ett specialkommando MySQL - begär Välj. För att göra databasservern korrektsvarat på förfrågan måste begäran vara korrekt utformad. Begäran strukturen är utformad enligt följande. All åtkomst till databaseservern börjar med nyckelordet Välj. Det är från honom alla är inbyggda MySQL-frågor. Exempel kan ha varierande komplexitet, men konstruktionsprincipen är mycket lik.
Sedan måste du ange från vilka fält du vill välja information av intresse. Fält räknas upp separerade med komma efter meningar. Välj. När alla nödvändiga fält har listats indikerar frågan tabellobjektet från vilket urvalet kommer att ske med sin mening från och ange namnet på tabellen.
För att begränsa urvalet läggs specialoperatörer som tillhandahålls av DBMS till MySQL-frågor. För att välja icke-upprepande (unik) data används ett förslag distinkt, och för att ställa villkor, operatören var... Som ett exempel på ovanståendekan du överväga en begäran som kräver information om hela namnet. anställda som arbetar i avdelningen "Försäljning". Frågestrukturen kommer att se ut i tabellen nedan.
Men huvudfunktionen i DBMS, som angesovan, möjligheten att hantera kapslade MySQL-frågor. Hur ska det se ut? Från namnet är det logiskt tydligt att detta är en begäran som bildas i en viss hierarki från två eller flera förfrågningar. Teorin bakom studien av DBMS särdrag säger att MySQL inte inför några begränsningar för antalet MySQL-frågor som kan kapslas i huvudfrågan. Du kan dock experimentera i praktiken och se till att efter de tio andra kapslade frågorna kommer svarstiden att öka avsevärt. I alla fall finns det i praktiken inga uppgifter som kräver en extremt komplex MySQL-fråga. En fråga kan kräva högst 3-5 kapslade hierarkier.
Vid analys av den lästa informationen har ett antalfrågor om var kapslade frågor kan användas och om det är möjligt att lösa problemet genom att dela upp dem i enkla utan att komplicera strukturen. I praktiken används kapslade frågor för att lösa komplexa problem. Denna typ av problem inkluderar situationer då tillståndet inte är känt i förväg, enligt vilket ytterligare val av värden kommer att begränsas. Det är omöjligt att lösa sådana problem om du bara använder en vanlig MySQL-fråga. En fråga som består av hierarkier söker efter begränsningar som kan förändras över tid eller kanske inte är kända i förväg.
Om vi överväger tabellen ovan, dåföljande exempel kan nämnas som en svår uppgift. Låt oss säga att vi måste ta reda på grundläggande information om anställda som är underordnade Grishin Grigory Grigorievich, som är chef för försäljningsavdelningen. När vi gör en begäran vet vi inte dess identifikationsnummer. Därför måste vi först känna honom. För detta används en enkel fråga för att hitta en lösning på huvudvillkoret och komplettera huvud MySQL-frågan. Frågan visar tydligt att underfrågan får ett anställds identifieringsnummer, vilket ytterligare bestämmer begränsningen för huvudfrågan:
I detta fall förslaget några används för att utesluta förekomsten av fel om det finns flera anställda med sådana initialer.
Sammanfattningsvis bör det noteras att det finnsdet finns många andra ytterligare funktioner som i hög grad underlättar konstruktionen av frågor, eftersom MySQL DBMS är ett kraftfullt verktyg med en rik arsenal av verktyg för lagring och bearbetning av data.