Warning: Cannot modify header information - headers already sent by (output started at /home/intheory/public_html/ro/tutorial_sql_baze_de_date_exemplu.php:2) in /home/intheory/public_html/counter.inc on line 31
 Tutorial SQL. Baze de date (I). Crearea unui exemplu
in-theory.info

Tutorial SQL. Baze de date (I). Crearea unui exemplu

Etichete: Baze de date, SQL

În această serie de articole, adresată începătorilor, vom explica noţiunile de start precum bază de date, tabel, înregistrare, redundanţă, reguli de normalizare şi vom studia elementele de bază ale limbajului SQL. Exemplul din acest prim articol constă în realizarea designului bazei de date (folosind Microsoft Access, eventual Microsoft SQL Server) pentru un sistem de gestiune a cheltuielilor lunare ale unei familii sau companii. (Se presupune că utilizatorul poate folosi, la un nivel minimal, meniurile şi comenzile din Microsoft Access.)


Varianta 1 (greşită – acest prim scenariu de lucru are rolul de a ne permite să înţelegem rolul regulilor de normalizare în conceperea bazelor de date relaţionale):

1. Creăm, o nouă bază de date (Blank database...) pe care o numim varianta1.mdb.

2. Creăm un tabel, folosind opţiunea Create table in Design View.

În bazele de date relaţionale, datele sunt stocate în tabele. Fiecare tabelă are un număr finit de coloane (câmpuri) şi un număr, teoretic nelimitat de rânduri (înregistrări).

3. În acest tabel creăm următoarele câmpuri:
- Produs, Text (50)
- Pret, Currency
- Cantitate, Number
- Data, Date/Time

4. Salvăm tabelul cu numele Cumparaturi (în acest tabel vom stoca cumpărăturile efectuate, câte o linie pentru fiecare produs cumpărat).

În fereastra Relationships tabelul va fi vizualizat astfel:

Tabelul Cumparaturi in fereastra Relationships

5. Deocamdată, la întrebarea „Do you want to create a primary key now?” vom răspunde cu „No”.

6. Schimbăm în modul de afişare View.

7. Introducem următoarele înregistrări:

ProdusPretCantitateData
Camasa$100.0013/22/2006
Camasa$80.0014/23/2006
Mere$4.0014/22/2006

Se poate observa că acest mod de stocare a datelor putea fi obţinut utilizând, de pildă Microsoft Excel. Acest gen de stocare nu utilizează deloc potenţialul real al bazelor de date relaţionale şi, vom vedea în continuare, are unele inconveniente grave.

8. Pentru a determina suma cheltuită (valoarea totală) pe fiecare categorie de produs vom crea următorul query (îl salvăm cu numele Query1): alegem „Create query in Design view”, adăugăm tabela Cumpărături, din meniul View, bifăm Totals, apoi introducem datele din imaginea de mai jos:

Crearea unei interogari

În câmpul Field am introdus formula: Valoare: [Cantitate]*[Pret], iar în câmpul Total am selectat Sum.

În modul SQL acest query va fi:
SELECT Cumparaturi.Produs, SUM([Cantitate]*[Pret]) AS Valoare
FROM Cumparaturi
GROUP BY Cumparaturi.Produs;


9. În modul View acest query va afişa următorul rezultat:

ProdusValoare
Camasa$180.00
Mere$4.00

10. În tabelul Cumparaturi introducem următoarea înregistrare (cu câmpul Produs scris greşit!):

ProdusPretCantitateData
Kamasa$90.0015/10/2006

11. Deschidem din nou query-ul Query1, în mod View şi acesta va afişa:

ProdusValoare
Camasa$180.00
Kamasa$90.00
Mere$4.00

Prin urmare, orice eroare de scriere a denumirilor produselor va produce o eroare în date. Dacă un operator, care în mod natural poate să greşească, ar introduce în tabelul definit mai sus câteva zeci, sute sau mii de înregistrări pe zi, numărul de erori nu ar mai putea fi ţinut sub control şi, la un moment dat, datele ar deveni inutilizabile.



Adrian Ionescu





Colecția:  🐬 Colecţia Tutorial SQL

Articolul următor:  Tutorial SQL. Baze de date (partea II-a). Crearea unui nou exemplu



👍 Topul celor mai citite articole

1. Analiza cerinţelor software. Introducere
Această serie de articole este destinată tuturor persoanelor implicate în proiecte de dezvoltare de software: şefi de departament, şefi de proiec...

2. Despre Analiza cerinţelor
Analiza cerinţelor software (pe care o vom numi în continuare Analiza de business sau Analiză software) este aceea dintre disciplinele existente î...

3. Axiomele dezvoltării software
Adevăruri ale dezvoltării software care susțin nevoia Analizei cerințelor. Unul dintre ele este: "Întotdeauna, într-un proiect software apar si...

4. Ciclul de dezvoltare al produsului software (SDLC)
Deşi în limba engleză este denumit Software Development Life Cycle (SDLC) am ales traducerea „Ciclul de dezvoltare al produsului software”, chi...

5. Ciclul de dezvoltare iterativ
Asumarea realităţii că întotdeauna, în decursul proiectului, cerinţele se vor schimba a condus la apariţia unui model de dezvoltare realist, ca...

6. Locul Analizei în proiectul de dezvoltare software
Analiza Software este o disciplină care se află în relaţie de dependenţă cu celelalte discipline din proiect. Concret, task-urile din proiectul ...

7. Modele teoretice de abordare a problemelor. Decompoziţia
Modalităţile teoretice de abordare a problemelor sunt universale şi pot fi folosite oriunde însă pentru domeniul nostru, este important să le co...

8. Modele teoretice de abordare a problemelor. Sinteza
Sinteza este o modalitate, prin care, din manifestări punctuale se determină problema reală. Cel mai simplu şi clar exemplu este acela al mediculu...

9. Modele teoretice de abordare a problemelor. Crearea unui trunchi de bază
De foarte multe ori, în viaţa reală, o problemă nu poate fi punctată decât cu un efort substanţial sau chiar deloc. Pur şi simplu, obţinerea ...

10. Modele teoretice de abordare a problemelor. Abordarea iterativă
Metoda iterativă presupune rezolvarea unei probleme cunoscute printr-o abordare iterativă, la fiecare iteraţie făcând un pas către rezolvarea pr...



📜 Căutare după etichetă:

Analiza Business
Baze de date
C#
Cerințe software
CSS
Dictionar IT
HTML
MySQL
PHP
Riscuri
SDLC
Specificații software
SQL
UML