luni, 9 februarie 2015

9-13.02

 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

M1: ACTIVITATE DE PREDARE INVATARE
 
 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: 
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.

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.

 Sintaxa pentru prima formă este:
INSERT INTO denumire_tabel [(listă_coloane)] VALUES (listă_valori)
unde:
-                    denumire_tabel este numele tabelului în care se va face inserarea de rânduri
-                    listă_coloane reprezintă lista coloanelor supuse indroducerii de date
-                    listă_valori reprezintă datele efectiv ce vor fi introduse în tabel în coloanele specificate

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ţi
2. Inserati inregistrarile corespunzatoare

Niciun comentariu:

Trimiteți un comentariu