Cap 1.
Noțiuni
introductive
MySQL
1. Noțiuni generale
2. Structura bazei de date
3. Elemente de limbaj SQL
4. Lucrul cu baze de date și tabele
InfoAcademy - copyright 05/20/2024
o colecţie structurată de
informaţie stocată într-un
sistem de calcul.
Structura BD este specificată
Ce este o bază înaintea introducerii datelor și
de date are în vedere:
- tipul si compoziţia
datelor memorate;
- felul în care datele se
afla în relaţie unele cu altele;
InfoAcademy - copyright 05/20/2024
Necesitatea existenței bazelor de date
Existența - memorare, stocare ;
Consultare - cautare, comparare criterii pentru
găsirea informațiilor:
cât mai rapid posibil
cu un efort cât mai mic, om și mașină.
optimizarea bazelor de date.
InfoAcademy - copyright 05/20/2024
Sistemul de gestiune a bazelor de date
relaționale - caracteristici
Informațiile sunt grupate în înregistrari (rânduri în
tabele);
Între tabele există relații (de tip cheie primară / cheie
externă, alte relații);
Între tabele există constrângeri;
Sunt permise operațiuni între mai multe tabele;
Sunt permise tranzacții
InfoAcademy - copyright 05/20/2024
Sistemul de gestiune a bazelor de date
relaționale – funcții
Memorarea fizică a datelor
Definirea și modificarea structurii bazelor de date
Introducerea informațiilor noi și manipularea celor
existente
Filtrarea accesului la date
Gestionarea de utilizatori, parole, modalități de acces
InfoAcademy - copyright 05/20/2024
Cum interacționăm cu un SGBD
serverul de baze de date
aplicații client
accesul la bazele de date
interogarea bazelor de date
răspunsul la interogări
InfoAcademy - copyright 05/20/2024
1. Noțiuni generale
2. Structura bazei de date
3. Elemenete de limbaj SQL
4. Lucrul cu baze de date și tabele
InfoAcademy - copyright 05/20/2024
Baza de date relațională
noțiune logică
un ansamblu de informații aflate într-
una sau mai multe tabele
o BD fără tabele nu are nicio valoare
o BD cu tabele, chiar dacă nu conține
informații, are o valoare. Avem o
structură definită, gata de utilizare
InfoAcademy - copyright 05/20/2024
Tabela
un ansamblu de înregistrări cu structură impusă,
organizată tabelar
structura unei tabele este specificată la crearea acesteia
numărul de coloane este fix, definit
numărul de rânduri este variabil.
InfoAcademy - copyright 05/20/2024
Coloana - înregistrare - NULL
Coloana
nume
tip de date
opțional alte proprietăți suplimentare.
Rândul (înregistrare) - un ansamblu de valori, câte una pentru
fiecare coloană a unei tabele.
NULL – absența unei valori, nedefinită
O coloană acceptă implicit NULL. Opțiunea NOT NULL interzice
NULL pe coloana care o conține.
InfoAcademy - copyright 05/20/2024
Diagramă bază de date cu 3 tabele
InfoAcademy - copyright 05/20/2024
1. Noțiuni generale
2. Structura bazei de date
3. Elemenete de limbaj SQL
4. Lucrul cu baze de date și tabele
InfoAcademy - copyright 05/20/2024
Limbajul SQL
definirea structurii BD, introducerea, extragerea si
prelucrarea de date
acces logic la structurile de date, nu acces fizic
standardul SQL
diferenta SQL / MySQL
sisteme de gestiune a bazelor de date cunoscute care
utilizează SQL
InfoAcademy - copyright 05/20/2024
DDL (Data Definition Language)
creare, ștergere, vizualizare de baze de
date;
creare/modificare de tabele cu specificarea
structurii acestora, etc.
(CREATE, ALTER, DROP, TRUNCATE)
Categorii de
DML (Data Manipulation Language)
instrucțiuni
introducere, extragere, modificare, ștergere
SQL de informații (date)
(INSERT, SELECT, UPDATE, DELETE)
DCL (Data Control Language)
gestionarea accesului la date (definirea de
InfoAcademy - copyright
conturi, stabilirea de privilegii).
05/20/2024
; (caracterul punct si virgula)
execută comanda scrisă pană
în acel moment (general
valabil)
\g (backslash + g)
Terminatorul execută comanda scrisă până
instrucțiunii în acel moment (doar în
command line - shell)
\G (backslash + G)
permite vizualizarea pe
verticală (doar în command
line - shell)
InfoAcademy - copyright 05/20/2024
Comentarii
Comentarii care se întind pe o singură linie sau pe o
porțiune a liniei – încep cu # sau -- și se încheie la sfârșitul liniei;
Comentarii care se întind pe mai multe linii – incep cu /*, se
termină cu */;
Comentarii de compatibilitate – incep cu /*!, se termină cu
*/. Servesc la execuția condiționată a unei instrucțiuni, dacă are
o versiune cel puțin egală cu cea menționată.
InfoAcademy - copyright 05/20/2024
Scripturi SQL
Un script SQL este un fișier de tip text (.sql) ce conține o succesiune
de instrucțiuni.
Un script SQL seamănă cu un program scris într-un limbaj de
programare. Instrucțiunile se execută secvențial, în ordinea în care au
fost scrise.
Nu confundați un script SQL, care conține instrucțiuni sql, cu un fișier
care conține date(.txt, .csv).
Important: Instrucțiunile dintr-un script sql vor fi executate în
ordinea în care apar, până la final sau până la apariția primei erori
fatale. Rezultatul execuției va fi afișat pentru fiecare în parte.
InfoAcademy - copyright 05/20/2024
Modul de lucru
Interactiv
utilizatorul trimite instrucțiunile către server, una câte una, și
așteaptă răspunsul acestuia înainte de a transmite o nouă
instrucțiune.
Non-interactiv (batch mode)
serverul preia și execută comenzi deja scrise într-un fișier (script) și
le trimite serverului de baze de date, care le va executa secvențial,
de la prima până la ultima sau până la apariția unei erori.
InfoAcademy - copyright 05/20/2024
Un șir de caractere (string)
reprezintă o secvență de
caractere sau byți delimitate
prin apostrofuri.
'astăzi este o zi frumoasă'
String Literals
Apostrofurile asigură
diferențierea stringurilor de
numele bazelor de date,
tabelelor, coloanelor
(identificatori).
InfoAcademy - copyright 05/20/2024
Numerele, întregi sau raționale, pozitive sau
negative sunt secvente de cifre plus separatorul
decimal și semnul minus.
Sunt reprezentate ca în activitatea curentă.
Numeric
literals Potfi reprezentate în diferite baze de
numerație sau notații, astfel:
decimal
hexazecimal
octal
binar
notație științifică
InfoAcademy - copyright 05/20/2024
Date and time literals
literal DATE reprezintă data calendaristică, în formatul
'aaaa-ll-zz' (anul pe 4 caractere, luna pe două, ziua pe două,
despărțite de cratimă), delimitată prin apostrofuri.
literal TIME reprezintă timpul, în formatul 'oo:mm:ss[.fsp]'
(ore, minute, secunde, nanosecunde, despărțite de caracterul
semicolon), delimitat prin apostrofuri. Poate avea fracțiuni de
secunde după separatorul decimal.
literal DATETIME reprezintă datetime în formatul
'aaaa-ll-zz oo:mm:ss[.fsp]’ și are în componență toate
elementele primelor două.
InfoAcademy - copyright 05/20/2024
Identificatori
Numele identificatorilor
Case sensitive/insensitive
Identificatori obișnuiti
Identificatori delimitați (back-quote `007`)
Nume absolute, nume relative
InfoAcademy - copyright 05/20/2024
Tipuri de date numerice
Numere întregi
• TINYINT 1 octet
• SMALLINT 2 octeți
• MEDIUMINT 3 octeți
• INT 4 octeți
• BIGINT 8 octeti
Numere raționale
• în virgulă fixă
• DECIMAL(t, z) - Max 65/30 cifre
• în virgulă mobilă
• FLOAT -10^34 +10^34
• DOUBLE -10^308 +10^308
Tipuri de date temporale
DATE 'AAAA-LL-ZZ' '1000-01-01' '9999-12 31'
TIME 'HH:MM:SS' '-838:59:59' ' '838:59:59'
DATETIME 'AAAA-LL-ZZ HH:MM:SS'
'1000-01-01' '9999-12 31'
TIMESTAMP 'AAAA-LL-ZZ HH:MM:SS'
'1970-01-01' '2038-01-19'
YEAR 1901 2155, or 0000
CHAR(255) BYNARY(255)
VARCHAR(10001)
VARBINARY(1501)
Șiruri de TINYTEXT TINYBLOB
caractere / TEXT BLOB
octeți MEDIUMTEXT MEDIUMBLOB
LONGTEXT LONGBLOB
Tipuri de date enumerate
ENUM('Da', 'Nu')
lista cu selecție UNICĂ
SET ('Roșu', 'Galben', 'Albastru')
listă cu selecție MULTIPLĂ
1. Noțiuni generale
2. Structura bazei de date
3. Elemenete de limbaj SQL
4. Lucrul cu baze de date și tabele
InfoAcademy - copyright 05/20/2024
Operațiuni cu BD
Crearea de BD (CREATE)
Selectarea bazei de date (USE)
Instrucțiuni de vizualizare (SHOW)
Ștergerea BD (DROP)
numele tabelei și al coloanelor
definirea coloanelor
Operațiuni cu
tabele – cerințe definirea indecșilor și a cheilor
preliminare externe (opțional)
formatul de stocare
Operațiuni cu tabele
Crearea tabelei (CREATE)
Instrucțiuni simple (SELECT, INSERT)
Instrucțiuni de vizualizare (SHOW,
DESCRIBE, INFORMATION_SCHEMA)
Ștergerea sau golirea
(DROP, TRUNCATE)
Baze de date sample
Backup si restaurarea datelor
Opțiuni la definirea coloanelor
Resurse
Alte modalități de crearea
suplimentare tabelelor
Modificări în structura tabelei
Character set și collation
Operațiuni din shell
InfoAcademy - copyright 05/20/2024