Istoricul bazelor de date: baze de date și SGBD
Cu mult timp în urmă, într-o țară americană, într-o mare companie IT, a apărut odată sarcina de a stoca cantități foarte mari de date. Ce e atât de greu în asta, întrebi? La urma urmei, companiile mari au bani, ceea ce înseamnă că poți cumpăra mai multe hard disk-uri - și atât.
O idee grozavă, dar după cum se spune, diavolul este în detalii. Au trebuit nu numai stocate cantități mari de date, ci și modificate, iar din acestea s-au făcut diverse mostre. Mai mult, trebuie să selectați date diferite din locuri diferite și, de asemenea, să faceți acest lucru rapid și frumos.
În general, totul este ca de obicei: clienții și-au dorit ceva care nu există, iar decizia de a cumpăra hard disk-uri nu a funcționat de data aceasta.
![](https://cdn.codegym.cc/images/article/ffb700f7-60b3-4cfc-a274-a1a35a6b1f31/512.jpeg)
Prin urmare, programatorii acestei companii de IT și-au scos un buget mai mare, au efectuat lucrări de cercetare, iar când bugetul s-a terminat, au prezentat o prezentare în care se propunea stocarea datelor sub forma unei Baze de Date. Într-o bază de date, toate datele sunt stocate în tabele, iar fiecare tabel este stocat într-un fișier separat. Totul este ingenios simplu și totul funcționează.
Dar o astfel de prezentare nu s-a potrivit clienților, iar strângerea a continuat:
![](https://cdn.codegym.cc/images/article/a7850c1c-b3ee-403d-8453-dcc511174b7b/512.jpeg)
- Unde sunt banii, Lebowski?
- De ce este baza de date mai bună decât vechea stocare a datelor sub forma unui set de fișiere?
- Avem nevoie de o soluție foarte bună, nu asta e!
- Și a luat tot bugetul?
În sala de prezentare s-a lăsat o tăcere moartă. Cu toate acestea, în mod neașteptat pentru toată lumea, situația a fost salvată de un dezvoltator junior, care a spus că la baza de date a fost atașat un program special - un DBMS (Database Management System), care poate:
- Creați, modificați și ștergeți baze de date
- Faceți modificări în bazele de date, și anume: adăugați înregistrări noi, ștergeți-le pe cele vechi și modificați-le
- Și, de asemenea, foarte rapid pentru a efectua diverse selecții ale oricăror date
Și programatorii termină chiar de proiectat un super-limbaj special pentru filtrarea datelor - SQL . Și ei spun că, cu ajutorul acestui limbaj magic SQL, orice manager poate filtra și obține cu ușurință orice date din baza de date.
![](https://cdn.codegym.cc/images/article/216e75d9-299a-44a8-9e0a-0cc1d26717a8/512.jpeg)
Programatorii nu au terminat încă de proiectat limbajul , așa că nu există niciun cuvânt despre SQL și DBMS în prezentare.
Spre bucuria tuturor, clienții au fost impresionați de explicația pe care au auzit-o, au exprimat mai multe idei contradictorii despre cum ar trebui să fie acest nou limbaj și chiar au alocat un buget pentru rafinamentul lui.
Managerii și directorul tehnic au început să se felicite reciproc pentru finalizarea cu succes a proiectului și au mers imediat să sărbătorească acest eveniment, fără să realizeze pe deplin că programatorul junior din toată această poveste este cea mai importantă persoană...
SGBD populare și MySQL
În acest moment (vara 2022) există sute de SGBD populare, așa că vă va fi util să aflați despre unele dintre ele. Cu ce ar trebui sa incep...
Pe de o parte, piața DBMS pentru întreprinderi există de zeci de ani. Prin urmare, are atât lideri recunoscuți, cât și nou-veniți promițători. Pe de altă parte, cerințele de afaceri sunt în continuă creștere, astfel încât abordările de construire a infrastructurilor IT ale companiilor sunt în continuă schimbare.
Acum nu veți surprinde pe nimeni cu o bază de date dintr-un cluster de câteva mii de servere cu fragmentare orizontală și verticală, tranzacții distribuite, precum și un departament IT de câteva zeci de administratori de sistem care merg și schimbă hard disk-urile serverului conform un program prestabilit.
În general, dacă lucrezi pentru o companie mare, atunci cel mai probabil ei plătesc mulți bani pentru bazele lor de date și folosesc ceva de genul acesta:
Baza de date Oracle
![](https://cdn.codegym.cc/images/article/8a53ac38-0a59-466a-9597-f3e6bf618a43/800.jpeg)
Oracle și-a lansat prima bază de date în 1979 (cu 43 de ani în urmă). Ea a purtat imediat numele Oracle 2.0 pentru a convinge clienții că produsul nu este nou, ci testat în timp.
Versiunea actuală a bazei de date este Oracle 21 c , unde litera c provine din cuvântul cloud , ceea ce, parcă, sugerează că Oracle ține pasul cu vremurile și soluțiile sale sunt perfect compatibile cu toate tehnologiile cloud.
Microsoft SQL Server
![](https://cdn.codegym.cc/images/article/532a4cde-2214-4bec-96db-bff84eb41af6/512.jpeg)
Microsoft câștigă mulți bani vânzând nu Windows, ci soluții de server pentru întreprinderile mijlocii și mari. Microsoft Office, Microsoft SharePoint, Microsoft Server etc. Și, desigur, toate acestea necesită o bază de date bună. Prin urmare, o mulțime de companii, care folosesc produse și soluții Microsoft, sunt nevoite să-și folosească baza de date.
SGBD-ul Microsoft se numește pur și simplu SQL Server , așa că dacă auziți întrebarea „Ați lucrat cu SQL Server?” la un interviu, atunci știți că acesta nu este un SGBD abstract, ci Microsoft SQL Server.
PostgreSQL
![](https://cdn.codegym.cc/images/article/b31cfc41-69af-488e-8079-5433fa502551/512.jpeg)
Acesta este un SGBD gratuit bun, care este adesea folosit nu numai de companiile mici și mijlocii, ci și de marile corporații. Aceasta este una dintre bazele de date pe care Amazon AWS le oferă ca DB-as-service.
MySQL
![](https://cdn.codegym.cc/images/article/0ea0a78a-41d2-43c3-8cd0-b4c72d4c142a/512.jpeg)
MySQL este o bază de date gratuită și open source foarte populară. Este bine documentat, funcționează rapid și acceptă o gamă largă de funcții. Până în prezent, a opta versiune a acestui SGBD este disponibilă.
În 2008, a fost cumpărat de Sun, care a fost cumpărat de Oracle în 2009. Și a beneficiat doar de ea - produsul se dezvoltă și se îmbunătățește constant.
Vom învăța cum să lucrăm cu baze de date folosind MySQL Community Server 8.0 ca exemplu .
Tabele dintr-o bază de date: coloane și coloane
Diferite SGBD pot stoca date în diferite formate, așa că vom lua cea mai simplă și cea mai clasică opțiune - SGBD MySQL.
Și imediat întrebarea este: cum să stocați, de exemplu, orice documente contabile? Cea mai ușoară opțiune este să stocați fiecare document ca fișier Excel. Apoi, toate documentele aferente pot fi stocate într-un singur folder. Acesta este modul în care funcționează MySQL.
O altă analogie: în limbajul Java, aveți clase și pachete în proiectul dvs. , dar, în același timp, clasele și pachetele sunt reprezentate pe disc ca fișiere și foldere . Ceva similar există în MySQL.
Datele MySQL sunt stocate sub formă de tabele , care sunt combinate în baze de date , dar, în același timp, tabelele și baza de date sunt prezentate pe disc ca fișiere și foldere . Baza de date este un folder, iar fișierele din ea sunt tabele.
Fiecare tabel este format din coloane și rânduri . Exemplu:
![](https://cdn.codegym.cc/images/article/ef9c797e-174d-4b27-a109-ff88a837ac5a/512.jpeg)
Important! Fiecare coloană are un nume și un tip de date , astfel încât toate celulele din aceeași coloană trebuie să stocheze valori de același tip .
Se poate face o analogie între un tabel în MySQL și o clasă în Java. Un tabel este o clasă, un tabel, ca o clasă, are un nume unic. Coloanele din tabel sunt câmpuri de clasă; coloanele, ca și câmpurile, au un nume și un tip unic. Rândurile de tabel sunt instanțe de clasă în Java.
O clasă poate exista fără obiecte, iar un tabel poate exista fără rânduri. În Java, puteți crea un obiect nou, iar în MySQL, puteți adăuga un nou rând la un tabel. Puteți modifica valorile câmpului unui obiect, iar în MySQL puteți modifica valorile pe rând.
Este și mai corect să spunem că un tabel nu este o clasă, ci o colecție de obiecte dintr-o anumită clasă. Dacă în MySQL avem un tabel Employee cu date despre angajați, atunci în Java am folosi colecția ArrayList
Și, desigur, imediat apare întrebarea: cum să obțineți anumite date din această colecție?
GO TO FULL VERSION