Geschiedenis van databases: database en DBMS
Lang geleden ontstond in een Amerikaans land, bij een groot IT-bedrijf, ooit de taak om zeer grote hoeveelheden gegevens op te slaan. Wat is daar zo moeilijk aan, vraag je? Grote bedrijven hebben tenslotte geld, wat betekent dat je meer harde schijven kunt kopen - en dat is alles.
Geweldig idee, maar zoals ze zeggen, de duivel zit in de details. Grote hoeveelheden data moesten niet alleen worden opgeslagen, maar ook gewijzigd, en er werden verschillende samples van gemaakt. Bovendien moet u verschillende gegevens van verschillende plaatsen selecteren en dit ook snel en mooi doen.
Over het algemeen is alles zoals gewoonlijk: klanten wilden iets dat niet bestaat, en de beslissing om harde schijven te kopen werkte deze keer niet.
Daarom hebben de programmeurs van dit IT-bedrijf een groter budget voor zichzelf vrijgemaakt, onderzoek gedaan en toen het budget op was, presenteerden ze een presentatie waarin werd voorgesteld om gegevens op te slaan in de vorm van een database. In een database worden alle gegevens opgeslagen in tabellen en elke tabel wordt opgeslagen in een apart bestand. Alles ingenieus is eenvoudig en alles werkt.
Maar zo'n presentatie beviel de klanten niet, en het muggenziften ging door:
- Waar is het geld, Lebowski?
- Waarom is de database beter dan de goede oude opslag van gegevens in de vorm van een set bestanden?
- We hebben een echt goede oplossing nodig, niet dat is het!
- En het kostte het hele budget?
Het was doodstil in de presentatieruimte. Onverwacht voor iedereen werd de situatie echter gered door een junior ontwikkelaar, die zei dat er een speciaal programma aan de database was gekoppeld - een DBMS (Database Management System), dat:
- Databases maken, wijzigen en verwijderen
- Wijzigingen aanbrengen in databases, namelijk: nieuwe records toevoegen, oude verwijderen en wijzigen
- En ook supersnel om verschillende selecties van alle gegevens uit te voeren
En programmeurs zijn zelfs bezig met het ontwerpen van een speciale supertaal voor het filteren van gegevens - SQL . En ze zeggen dat elke manager met behulp van deze magische SQL-taal gemakkelijk alle gegevens uit de database kan filteren en ophalen.
De programmeurs zijn alleen nog niet klaar met het ontwerpen van de taal , dus er wordt met geen woord gerept over SQL en DBMS in de presentatie.
Tot ieders vreugde waren de klanten onder de indruk van de uitleg die ze hoorden, uitten ze verschillende tegenstrijdige ideeën over hoe deze nieuwe taal eruit zou moeten zien, en trokken ze zelfs een budget uit voor de verfijning ervan.
Managers en de technisch directeur begonnen elkaar te feliciteren met de succesvolle afronding van het project en gingen meteen dit evenement vieren, zich niet volledig realiserend dat de junior programmeur in dit hele verhaal de belangrijkste persoon is ...
Populaire DBMS en MySQL
Op dit moment (zomer 2022) zijn er honderden populaire DBMS, dus het zal nuttig voor u zijn om er meer over te weten te komen. Waar moet ik mee beginnen...
Aan de ene kant bestaat de enterprise DBMS-markt al tientallen jaren. Daarom heeft het zowel erkende leiders als veelbelovende nieuwkomers. Aan de andere kant nemen de zakelijke vereisten voortdurend toe, dus de benaderingen voor het bouwen van IT-infrastructuren van bedrijven veranderen voortdurend.
Nu verbaas je niemand met een database uit een cluster van een paar duizend servers met horizontale en verticale sharding, gedistribueerde transacties, en een IT-afdeling van een paar dozijn systeembeheerders die harde schijven van servers gaan wisselen volgens een vooraf bepaald schema.
Als je voor een groot bedrijf werkt, betalen ze over het algemeen veel geld voor hun databases en gebruiken ze zoiets als dit:
Oracle-database
Oracle bracht zijn eerste database uit in 1979 (43 jaar geleden). Ze droeg meteen de naam Oracle 2.0 om klanten ervan te overtuigen dat het product niet nieuw is, maar beproefd.
De huidige versie van de database is Oracle 21c , waarbij de letter c afkomstig is van het woord cloud , wat als het ware aangeeft dat Oracle met zijn tijd meegaat en zijn oplossingen perfect compatibel zijn met alle cloudtechnologieën.
Microsoft SQL Server
Microsoft verdient veel geld door geen Windows te verkopen, maar serveroplossingen voor middelgrote en grote bedrijven. Microsoft Office, Microsoft SharePoint, Microsoft Server, etc. En dat alles vraagt natuurlijk om een goede database. Daarom zijn veel bedrijven die Microsoft-producten en -oplossingen gebruiken, gedwongen om de database te gebruiken.
Het DBMS van Microsoft heet simpelweg SQL Server , dus als je tijdens een sollicitatiegesprek de vraag “Heb je met SQL Server gewerkt?” hoort, weet dan dat dit geen abstract DBMS is, maar Microsoft SQL Server.
PostgreSQL
Dit is een goed gratis DBMS, dat niet alleen vaak wordt gebruikt door kleine en middelgrote bedrijven, maar ook door grote bedrijven. Dit is een van de databases die Amazon AWS als DB-as-service aanbiedt.
MySQL
MySQL is een zeer populaire gratis en open source database. Het is goed gedocumenteerd, werkt snel en ondersteunt een breed scala aan functies. Op dit moment is de 8e versie van dit DBMS beschikbaar.
In 2008 werd het gekocht door Sun, dat in 2009 werd gekocht door Oracle. En het kwam haar alleen maar ten goede - het product wordt voortdurend ontwikkeld en verbeterd.
We zullen leren werken met databases met MySQL Community Server 8.0 als voorbeeld .
Tabellen in een database: kolommen en kolommen
Verschillende DBMS kunnen gegevens in verschillende formaten opslaan, dus we nemen de eenvoudigste en meest klassieke optie: de MySQL DBMS.
En meteen is de vraag: hoe bewaar je bijvoorbeeld eventuele boekhoudkundige documenten? De eenvoudigste optie is om elk document op te slaan als een Excel-bestand. Vervolgens kunnen alle gerelateerde documenten in één map worden opgeslagen. Dit is hoe MySQL werkt.
Nog een analogie: in de Java-taal heb je klassen en pakketten in je project , maar tegelijkertijd worden klassen en pakketten op schijf weergegeven als bestanden en mappen . Iets soortgelijks bestaat in MySQL.
MySQL-gegevens worden opgeslagen in de vorm van tabellen , die worden gecombineerd tot databases , maar tegelijkertijd worden tabellen en de database op schijf gepresenteerd als bestanden en mappen . De database is een map en de bestanden erin zijn tabellen.
Elke tabel bestaat uit kolommen en rijen . Voorbeeld:
Belangrijk! Elke kolom heeft een naam en een gegevenstype , dus alle cellen in dezelfde kolom moeten waarden van hetzelfde type opslaan .
Er kan een analogie worden getrokken tussen een tabel in MySQL en een klasse in Java. Een tabel is een klasse, een tabel heeft, net als een klasse, een unieke naam. Tabelkolommen zijn klassenvelden; kolommen hebben, net als velden, een unieke naam en type. Tabelrijen zijn klasse-instanties in Java.
Een klasse kan bestaan zonder objecten en een tabel kan bestaan zonder rijen. In Java kunt u een nieuw object maken en in MySQL kunt u een nieuwe rij aan een tabel toevoegen. U kunt de veldwaarden van een object wijzigen, en in MySQL kunt u de waarden achter elkaar wijzigen.
Het is zelfs juister om te zeggen dat een tabel geen klasse is, maar een verzameling objecten van een bepaalde klasse. Als we in MySQL een Employee-tabel hebben met gegevens over werknemers, dan zouden we in Java de ArrayList- verzameling gebruiken
En natuurlijk rijst meteen de vraag: hoe haal je bepaalde gegevens uit deze verzameling?
GO TO FULL VERSION