Suport de curs:
- pentru orele de curs: manual
- pentru performanta scolara:
Baze de date si MySQL - Suport de curs
Simulator SQL: http://sqlfiddle.com/
Concepte
generale MYSQL
1.
Noţiuni introductive
Crearea şi exploatarea bazelor de
date relaţionale reprezintăuna dintre direcţiile principale de dezvoltare a
informaticii.
Implementarea conceptelor matematice care stau
la baza modelului relaţional s-a realizat prin definirea unui limbaj
specializat, SQL (Structured Query Language).
Scrierea comenzilor în SQL fiind
relativ dificilă, firmele care au creat sisteme de gestiune de baze de date s-au
concentrat asupra realizării unei interfeţe prietenoase, apărând pe piaţă sisteme
ca Access, FoxPro, Paradox etc..
Noţiunile de HTML prezentate permit realizarea
de situri web a căror funcţie este aceea de comunicare de informaţii prin
intermediul unui ansamblu de pagini păstrate pe un server accesibil prin
Internet.
Pentru a asigura accesarea unei baze
de date prin intermediul unui formular conţinut într-o pagină, numărul de
componente software folosite trebuie extins, rezultatul fiind o aplicaţie
pentru web.
Arhitecturii client-server realizată
de perechea de aplicaţii browser-server de web (de obicei Internet Explorer- Apache)
i se adaugă încăo pereche de aplicaţii, script asociat formularului- server de
baze de date. În acest tandem scriptul asociat formularului (scris în C, C++,
Perl, PHP etc) este clientiar serverul de baze de date (Oracle, MySQL etc) are
rolul de server.
Scriptul formulează comenzi SQL iar serverul SQL le execută. MySQLeste
o aplicaţie de tip server capabilă săexecute un mare număr de comenzi SQL. Ea
este gratuităşi poate fi instalată pe calculatoare funcţionând sub diferite
sisteme de operare (Windows, Linux, Unix etc.)
SQL este limbajul care serveşte la
comunicarea cu un server de baze de date. Pentru a da comenzile prezentate în
continuare se va instala pe calculator MySQL şi se va deschide fereastră(DOS
sau Linux, supăcaz) din care se vor introduce comenzile. În cazul unui calculator
funcţionând sub Windows, conectarea pentru a lucra în mod interactiv cu
serverul MySQL instalat pe acelaşi calculator se realizează lansând în execuţie mysql.exe din directorul mysql\bin:
2. Noţiuni de SQL
Bazele de date sunt folosite pentru stocarea informatiilor in vederea furnizarii ulterioare in functie de solicitarea primita.
MySQL este un sistem de baze de date functional independent.
In
PHP exista functii pentru toate operatiile executate asupra bazelor de
date MySQL.
Administrarea
MySQL se poate face din linie de comanda sau folosind browserul si accesand
aplicatia numita PHPMyAdmin scrisa in PHP.
Cele mai uzuale operatii cu bazele de date sunt:
Comanda
|
Semnificatie
|
CREATE
|
creaza o baza de date sau un tabel
|
DROP
|
sterge o baza de date sau un tabel
|
INSERT
|
adauga inregistrari intr-un tabel
|
DELETE
|
sterge inregistrari dintr-un tabel
|
UPDATE
|
updateaza inregistrarile dintr-un
tabel
|
SELECT
|
selecteaza un tabel
|
ALTER
|
alterarea unui tabel
|
In
MySQL spatiul alocat pe discul serverului este functie de tipul de date.
Cateva din tipurile de date folosite in bazele de date MySQL sunt:
Cateva din tipurile de date folosite in bazele de date MySQL sunt:
Tip
|
Semnificatie
|
|
int()
|
numar intreg
|
32 biti
|
bigint()
|
numar intreg
|
64 biti
|
tinyint()
|
numar intreg (-128 la 127 sau 0 la
255)
|
8 biti
|
mediumint()
|
numar intreg
|
24 biti
|
smallint()
|
numar intreg
|
16 biti
|
char()
|
sectiune cu lungime fixa de la 0
la 255 caractere
|
|
varchar()
|
sectiune cu lungime variabila de
la 0 la 255 caractere
|
|
float()
|
numar mic cu virgula flotanta
|
|
double
|
numar mare cu virgula flotanta
|
|
text
|
sir cu maximum 65535 caractere
|
|
date()
|
data in format YYYY-MM-DD
|
|
date
|
data in format YYYY-MM-DD HH:MM:SS
|
|
time
|
ora in format HH:MM:SS
|
Pentru ca baza de date sa fuctioneze mai bine coloanelor li s-au adaugat modificatori de coloana.
Tipul
de date intregi incep de la valori negative la pozitive.
Daca se adauga optiunea UNSIGNED, care este un modificator de coloana, nu vor mai fi valori negative ci vor incepe de la 0.
Daca se adauga optiunea UNSIGNED, care este un modificator de coloana, nu vor mai fi valori negative ci vor incepe de la 0.
Alti modificatori sunt:
- AUTO_INCREMENT functioneaza cu orice tip intreg. La fiecare rand nou adaugat in baza de date numarul asociat va fi incrementat.
- NULL inseamna fara valoare (diferit de spatiu sau zero).
- NOT NULL inseamna ca orice inregistrare va fi considerata ceva.
- PRIMARY KEY este rolul primei coloane din tabel, totodata reprezentand elementul de referinta pentru fiecare linie.
3. Comenzi pentru
definirea datelor
Comenzi pentru definirea datelor:
Comandă
|
Sintaxă
|
Creare unei baze de date
Crearea unui tabel |
CREATE
DATABASE denumire_bază_de_date
CREATE TABLE nume ( nume_coloana1 tip atribute, nume_coloana2
tipatribute, ..., primary key (nume_coloană), index nume_index(nume_coloană) )
|
Ştergerea unui tabel
|
DROP TABLE
nume_tabel;
|
Crearea unui index
|
CREATE
[UNIQUE] INDEX nume_index ON nume_tabel (nume_coloană [ASC/DESC]);
|
Eliminarea unui index
|
DROP INDEX
nume_index;
|
Comanda
CREATE DATABASE
Înaintea realizării ansamblului de tabelecare
vor servi la păstrarea datelor, trebuie creatăo bază de date folosind comanda create
database.
Exemplu : mysql> CREATE DATABASE proiect;
Comanda USE DATABASE
Pentru a lucra cu o bază de date,
aceasta trebuie precizatăfolosind instrucţiunea use
Exemplu: mysql> USE DATABASE proiect
Comanda CREATE TABLE
După crearea bazei de date şi
selectarea ei ca bazăde date curentăse poate trece la crearea tabelelor (fişierelor)
bazei.
Instrucţiunea create tableare sintaxa:
CREATE TABLE nume ( nume_coloana1 tip atribute, nume_coloana2
tip atribute, ..., primary key (nume_coloană), index nume_index(nume_coloană) )
Comanda INSERT
Comanda are două forme, prima
permite introducerea de înregistrări (rânduri) într-un tabel, cea de-a doua
permite copierea mai multor rânduri dintr-unul sau mai multe tabele într-un alt
tabel.
-
denumire_tabel este numele tabelului
în care se va face inserarea de rânduri
-
listă_coloane reprezintă lista
coloanelor supuse indroducerii de date
Exemplu: Fie
tabelul tabClase ce reţine date despre clasele unei şcoli. Dacă se doreşte
introducerea unei înregistrări noi se va utiliza comanda:
INSERT INTO
tabClase (NumeClasa, Numespecializare, NumeForma, AnTerminal, IdAnStudiu)VALUES ('11As','Mate-info', 'seral',
'5','27')
M2: APLICATIE PRACTICA
Fie relaţia
Angajati cu următoarea structură:
tabAngajati
|
||||
IDAngajat
|
NumeAngajat
|
Salariu
|
Adresa
|
Functia
|
1
|
Popa Marin
|
2500
|
București
|
Designer
|
2
|
Anca Viorel
|
3000
|
București
|
Programator
|
3
|
Marin Ionela
|
3500
|
București
|
Analist
|
4
|
Ion Simona
|
3000
|
București
|
Programator
|
5
|
Stan Ion
|
3500
|
București
|
Administrator
DB
|
Utilizând facilităţile
sistemului de gestiune a bazelor de date realizaţi următoarele cerinţe:
1. Creaţi relaţia tabAngajaţi2. Inserati inregistrarile corespunzatoare
Niciun comentariu:
Trimiteți un comentariu