Sql Slide 1.07543.pptx

  • Uploaded by: Laura Chiciuc
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sql Slide 1.07543.pptx as PDF for free.

More details

  • Words: 2,655
  • Pages: 48
Cap 1. Fundamente ale bazelor de date relationale Elemente generale de limbaj SQL

Administrative

1. Contact:

[email protected] ; 0721 259 520

2. Prezenta, confirmare informatii personale, acces, fumat;

3. Structura cursului; 4. Examenele, activare;

www.infoacademy.net

5. Sustine performanta; 6. Instalare server MySQL http://dev.mysql.com/downloads http://dev.mysql.com/doc/index-other.html - BD exemple InfoAcademy - SQL 2017

2

De ce MySQL

1. Este printre cele mai rapide SGBD; 2. Usor de utilizat. Performante inalte, administrare relativ simpla; 3. Utilizeaza standardul SQL – cel mai modern in domeniul DB; 4. Multi client, multibaze de date; 5. Acces GUI, WEB, comand line; 6. Portabilitate: Win, Lin, Unix, de la un mic PC/laptop --> servere; 7. Interfata in mai multe limbaje: C, Pearl, Java, Python,Ruby, PHP; 8. Conectivitate si securitate. Suporta SSL (Secure Sockets Layer); 9. Disponibilitate: open source GPL sau licentiere comerciala; 10.Codul MySQL este open source si poate fi testat.

InfoAcademy - SQL 2017

3

Structura cursului 1. Notiuni fundamentale de baze de date 2. Instructiuni de manipulare a structurii unei baze de date 3. Instructiuni de manipulare a datelor 4. Tipuri de date MySQL. Expresii si operatori 5. Functii SQL predefinite 6. Indecsi, elemente de design al bazelor de date, join-uri, subinterogari 7. Variabile, view-uri, interogari precompilate (prepared statements)), tranzactii 8. Functii si procedure stocate, instructiuni decizionale, instructiuni rrepetitive, handler, cursoare, triggere InfoAcademy - 2018

De ce MySQL

1. Este printre cele mai rapide SGBD; 2. Usor de utilizat. Performante inalte, administrare relativ simpla; 3. Utilizeaza standardul SQL – cel mai modern in domeniul DB; 4. Multi client, multibaze de date; 5. Acces GUI, WEB, comand line; 6. Portabilitate: Win, Lin, Unix, de la un mic PC/laptop --> servere; 7. Interfata in mai multe limbaje: C, Pearl, Java, Python,Ruby, PHP; 8. Conectivitate si securitate. Suporta SSL (Secure Sockets Layer); 9. Disponibilitate: open source GPL sau licentiere comerciala; 10.Codul MySQL este open source si poate fi testat.

InfoAcademy - 2018

InfoAcademy - 2018

Click pe link-ul ‘aici’ pt. parola

InfoAcademy - 2018

Fisier video cu o pentru instalare

Textul din stanga sus este parola. Se va copia asa cum este cu Ctrl+C

InfoAcademy - 2018

Click pe link-ul ‘cap. 1’ si Ctrl+V cand va cere parola. Similar la celelalte capitole

InfoAcademy - 2018

InfoAcademy - 2018

InfoAcademy - 2018

InfoAcademy - 2018

Click ‘Info’ pentru informatii sesiune Informatii incepere si terminare sesiune

Click ‘Begin test’ sa incepeti examenul

- In fiecare saptamana examenele sunt activate in 7 sesiuni a cate 24 h; - Un examen dat intr-o sesiune NU mai poate fi dat in aceeasi sesiune. Daca aceasta este ultima sesiune din saptamana va trebui sa asteptati urmatoarea saptamana sa-l dati din nou. Nu se poate reactiva in acelasi interval; - Apasa info pentru a sti orele cand incep / cand se termina sesiunile;

InfoAcademy - 2018

InfoAcademy - 2018

InfoAcademy - 2018

Alte linkuri utile

InfoAcademy - 2018

Fundamente ale bazelor de date relationale

1. Notiuni generale

2. Pachetul MySQL – serverul MySQL

3. Utilizarea clientului mysql

4. Elemente generale de limbaj SQL

InfoAcademy - 2018

Noţiuni generale Ce este o baza de date O baza de date (BD) reprezintă o colecţie structurata de informaţie stocata intr-un sistem de calcul. Structura BD este specificata inaintea introducerii datelor si are in vedere: - tipul si compoziţia datelor memorate;

- felul in care datele se afla in relaţie unele cu altele; InfoAcademy - 2018

Noţiuni generale (continuare) Necesitatea existentei bazelor de date - Existenta - memorare, stocare ; - Consultare - cautare, comparare  criterii pentru gasirea informatiilor - cat mai rapid posibil - cu un efort cat mai mic, om si masina. Pentru a face aceest lucru avem nevoie de optimizarea bazelor de date. InfoAcademy - 2018

Ce este o baza de date relaţionala? O baza de date relaţionala este una in care organizarea informaţiei respecta modelul relaţional. Se cunosc diferite modele de organizare a informaţiei intr-o baza de date: - modelul flat-file - cea mai simpla modalitate de a memora date. Informaţia este plasata intr-un fişier text sau binar, fiecare inregistrare ocua o linie, valorile componente ale fiecărei inregistrari fiind separate prin delimitatori prestabiliţi; - modelul ierarhic - informaţia este structurata sub forma unui arbore in care fiecare inregistrare are un părinte si mai multe sub-inregistrari posibile; - modelul reţea - o extensie a modelului ierarhic, in care fiecare inregistrare poate avea mai multe sub-inregistrari dar si mai multe inregistrari părinte; - modelul relaţional - este un model bazat pe teoria mulţimilor si pe logica predicatelor InfoAcademy - 2018

Ce este o baza de date relaţionala? - continuare

- Informatiile sunt grupate in inregistrari (randuri in tabele); - Intre tabele exista relatii (de tip cheie primara / cheie externa, alte relatii); - Intre tabele exista constrangeri;

- Sunt permise operatiuni intre mai multe tabele; - Sunt permise tranzactii (ATOMIC_CONSISTENTA_IZOLARE_DURABILITATE)

InfoAcademy - 2018

Structura informatiei intr-un DBMS relational Baza de date relationala – notiune logica, un ansamblu de informatie aflata intruna sau mai multe tabele. O BD fara tabele NU contine informatie. Tabela – un ansamblu de inregistrari cu structura impusa, organizata tabelar. Structura unei tabele este specificata la crearea acesteia. Numarul de coloane este fix, definit, numarul de randuri este infinit. Coloana – nume, tip de date, optional alte caracteristici suplimentare. Randul – un ansamblu de valori,cate una pentru fiecare coloana a unei tabele. NULL – absenta unei valori, nedefinita O baza de date, poate contine una sau mai multe tabele, care la randul lor pot contine una sau mai multe inregistrari. InfoAcademy - 2018

Baza de date

Tabela

Coloana

Rand (inregistrare)

InfoAcademy - 2018

Sisteme de gestiune a bazelor de date relaţionale Baza de date este o notiune abstracta. Este nevoie de un software care sa realizeze toate functiile acesteia -> SGBD sau DBMS. MySQL este un DBMS. Un DBMS implementează funcţiile necesare lucrului cu bazele de date: - memorarea fizica a datelor, intr-un format optimizat in vederea operaţiunilor viitoare; - definirea si modificarea structurii bazelor de date; - introducerea informaţiilor noi si manipularea celor existente (update, delete, select); - filtrarea accesului la datele memorate (ex: un sistem de privilegii, care sa faca distincţie intre diverşi utilizatori/clienti/aplicatii); - implementarea unei modalităţi de acces la toate aceste facilitaţi (client / server / local / remote). InfoAcademy - 2018

Cine poate sa introducă si sa manipuleze informaţia? Aparent, exista doua scenarii posibile: 1 - informaţia este introdusa, accesata, manipulata de către un utilizator ( 2 - informaţia este introdusa, accesata, manipulata de către o aplicaţie . Putem unifica cele doua cazuri vorbind - la modul general - despre aplicaţii client sau, mai scurt, clienţi.

InfoAcademy - 2018

Cum interactionam cu un DBMS? - Un DBMS oferă servicii clienţilor in baza cererilor formulate de către aceştia si conţine un modul care acţionează ca server de baze de date; - Clientul accesează datele independent de aspectele fizice ale stocării lor pe HDD sau in RAM; - Clientul poate avea acces la date atata timp cat este conectat la server; - Clienţii unui DBMS sunt aplicaţii diverse care se pot afla pe aceeasi masina cu serverul sau pe o alta masina, din retea sau din afara retelei; - Modalităţile de interfatare a clienţilor cu DBMS sunt si ele diverse, cea mai comuna este cea care foloseşte protocolul TCP/IP. InfoAcademy - 2018

Cum interactionam cu un DBMS? (continuare) Clienţii unui DBMS pot fi: - utilitare dedicate pentru administrarea serverului sau manipularea structurii bazelor de date si a informaţiilor conţinute - fie aplicaţii grafice ex: WORKBENCH; - fie programe care oferă utilizatorului posibilitatea de a trimite comenzi SQL către server (comparabile cu command line).

- programe care se folosesc de datele memorate in bazele de date gestionate de către DBMS (ex: un soft bancar prin intermediul căruia se creează noi conturi sau le vizualizează cele deja existente. Informaţiile despre conturi sunt stocate intr-o baza de date). Cererile trimise de către clienţi serverului de baze de date poarta denumirea de interogări (query, in denumirea originala din limba engleza). InfoAcademy - 2018

Fundamente ale bazelor de date relationale 1. Notiuni generale

2. Pachetul MySQL – serverul MySQL

3. Utilizarea clientului mysql

4. Elemente generale de limbaj SQL

InfoAcademy - 2018

Pachetul MySQL Serverul MySQL – software de gestionare a bazelor de date, stocate pe HDD sau in memorie. Faciliteaza conectarea clientilor. Executabilul mysqld. Port. Platforma. Clientii MySQL - software care ajuta la conectarea la server si efecturarea de interogari (Ex: MySQL Wokbench) ; Programe utilitare non-client – de exemplu software de verificare si refacere a integritatii BD. Aplicatii ajutatoare phpMyAdmin – aplicatie web pentru interactiunea cu serverul. Necesita instalarea de server Web si interpretor PHP. Ruleaza pe orice sistem de operare. InfoAcademy - 2018

Fundamente ale bazelor de date relationale 1. Notiuni generale

2. Pachetul MySQL – serverul MySQL

3. Utilizarea clientului mysql

4. Elemente generale de limbaj SQL

InfoAcademy - 2018

Terminatorii de instructiune -; - \g - \G

- executa comanda scrisa pana in acel moment (general valabil) - executa comanda scrisa pana in acel moment (doar in command line) - permite vizualizarea pe verticala (doar in command line) Utilizarea mysql in modul interactiv

Comenzile si instructiunile se introduc una cate una, se incheie cu unul dintre terminatori Exemple: show databases; select version(); select now(); Instructiunile SQL sunt transmise catre server si prelucrate de catre acesta.

Important: Lucrul in modul interactiv se poate face atat din linie de comanda cat si dintr-o aplicatie grafica sau PHPMyAdmin. InfoAcademy - 2018

Utilizarea mysql in modul non-interactiv (“batch mode”) Script-uri SQL Un script SQL este un fisier de tip text (.sql) ce contine o succesiune de instructiuni. Un script SQL seamana cu un program scris intr-un limbaj de programare. Singura diferenta este ca nu exista structuri de control al executiei. Instructiunile se executa secvential. Alte elemente comune: variabile, functii, etc.

Nu confundati un script SQL, care contine instructiuni sql, cu un fisier care contine date(txt, csv). Important: In modul non-interactiv vor fi executate toate instructiunile dintr-un script sql, in ordinea in care apar, pana la final sau pana la aparitia primei erori fatale. Rezultatul executiei va fi afisat pentru fiecare in parte. InfoAcademy - 2018

Comentarii in scripturi si instructiuni SQL - Comentarii care se intind pe o linie sau pe o portiune a liniei – incep cu # sau - si se incheie la sfarsitul liniei; - Comentarii care se intind pe mai multe linii – incep cu /*, se termina cu */; - Comentarii de compatibilitate – incep cu /*!, se termina cu */. Servesc la executia de extensii MySQL ale limbajului SQL, care nu vor fi executate de alte softuri DBMS. Daca este mentionata o versiune vor fi executate doar de versiunile egale sau superioare.

InfoAcademy - 2018

Fundamente ale bazelor de date relationale 1. Notiuni generale

2. Pachetul MySQL – serverul MySQL

3. Utilizarea clientului mysql

4. Elemente generale de limbaj SQL

InfoAcademy - 2018

Limbajul SQL Utilizatorul unui DBMS nu stie si nici nu doreste sa stie sistemul de fisiere al acestuia. El este interest sa aiba o viziune logica asupra datelor memorate, care sa-i permita definirea structurii BD, introducerea, extragerea si prelucrarea de date. Acest scop este realizat prin intermediul unui limbaj, in cazul nostru – SQL (Structured Query Language). -

Creat in 1970 la IBM; In1979 Oracle isi creaza propriul “SQL”; In 1986 este standardizat de catre ANSI si de catre ISO; Apar mai multe versiuni, printre care: ‘86, ‘89, ‘ 92, ‘99, 2003, 2008, 2011

Toate softurile majore de tip DBMS actuale inglobeaza o forma de SQL. Printre acestea MySQL, Oracle, DB2, Microsoft SQL, Postgresql, SQLite, MariaDB, fiecare cu dialectul sau. InfoAcademy - 2018

Elemente generale de limbaj SQL Categorii de instructiuni/operatii Distingem 3 categorii de instructiuni ale limbajului SQL, ce formeaza 3 portiuni ale limbajului: • DDL (Data Definition Language) - creare, stergere, vizualizare de baze de date; - creare/modificare de tabele cu specificarea structurii acestora, etc.

• DML (Data Manipulation Language) - introducere, extragere, modificare, stergere de informatii (INSERT, SELECT, UPDATE, DELETE) . • DCL (Data Control Language) - gestionarea accesului la date (definirea de conturi, stabilirea de privilegii ale conturilor pe diversele baze de date/tabele/coloane). InfoAcademy - 2018

Nume de baze de date, tabele si coloane

Fiecare entitate informationala de pe un server de baze de date (o baza de date, tabela, coloana, etc) este identificata printr-un nume. Numele pentru baze de date, tabele, coloane pot fi scrise ca atare sau plasate intre caractere delimitatoare ` (back quote). Caracterul ` (back quote) nu este acelasi lucru cu ' (apostroful). - pot contine litere, cifre, _ sau $;

- nu pot fi formate numai din cifre (deoarece pot fi confundate de catre server cu un numar intreg); - pot incepe cu orice caracter admis, inclusiv cifra InfoAcademy - 2018

Conteaza daca folosim litere mici sau mari?

Windows – numele de identificatori (baze de date, tabele, coloane, etc) sunt case insensitive, NU conteaza daca folosim litere mari ssau mici; Linux/Unix – doar numele de baze de date si tabele sunt case sensitive; – exceptie: numele de coloane NU sunt case sensitive; – numele altor identificatori NU sunt case sensitive; Mac – numele de identificatori (baze de date, tabele, coloane, etc) sunt case insensitive, NU conteaza daca folosim litere mari ssau mici; InfoAcademy - 2018

Nume absolute si relative Intr-o baza de date relationala ne putem referi la tabele sau coloane folosind nume complete(absolute) sau relative: - un nume complet este de forma bazadedate.tabela (in cazul referirii la o tabela) sau bazadedate.tabela.coloana daca dorim sa ne referim la o coloana. SELECT * FROM academie.clase; # baza de date si tabela SELECT * FROM `academie`.`clase`; # atentie, fiecare denumire are propriul set de delimitatori ` - un nume relativ reprezinta numele simplu al tabelei sau coloanei. El va fi automat considerat relativ la baza de date sau tabela curenta. USE academie; SELECT * FROM clase;InfoAcademy - 2018

Conectare client/server in diferite modalitati

Conectarea din linie de comanda (shell): Calea catre executabilul mysql : C:\Program Files\MySQL\MySQL Server 8.0\bin

Conectare: mysql -h 1.2.3.4 -P 3306 -u root -p --safe-updates BD_name Backup: mysqldump -h 1.2.3.4 -P 3306 -u root -p BD_name > C:/Folder/fisier.sql

Restaurare: mysql -h 1.2.3.4 -P 3306 -u root -p BD_name < C:/Folder/fisier.sql ATENTIE ! - 1.2.3.4 este o adresa IP generic. Pentru conectare pe o statie locala NU eveti nevoie de IP, sau puneti localhost sau 127.0.0.1. Altfel este necesar sa cunoasteti adresa IP a serverului. Calea catre executabil este locala. InfoAcademy - 2018

MySQL Workbench - Pornire din start / all programs / MySQL /MySQL Workbench; - Click – local instance MySQL – user / parola sau automat; - Partitionare, Short cut - uri in bara de meniu; - Ctrl+Shift+O, Ctrl+O, Ctrl+Shift+S, Ctrl+S , Ctrl+Enter, Ctrl+N; - Executare instructiuni “fulgere”; - Edit / Preferences; - Server / Data export/import; InfoAcademy - 2018

,

ectare InfoAcademy - 2018

Refresh baze de date si tabele, daca le-am adaugat recent

Limiteaza numarul de inregistrari afisate de un raport

Butoane pentru ascunderea / afisarea benzilor din stanga, dreapta, jos

Switch la pagina de administrare

Executa toate instructiunile din foaia de lucru (scriptul) Ctrl + Shift + Enter Detalii nume coloana, tip de date, alte informatii din tabele

InfoAcademy - 2018

Executa instructiunea pe care am plasat mousul sau am selectat-o Ctrl + Enter

- New model Ctrl + N - Open SQL Scrip - Save script - Vezii si shot cut – uri

- deschide o noua foie de lucru - deschide un script intr-o foaie de lucru noua - salveaza scriptul din foia de lucru curenta - sub bara de meniu

InfoAcademy - 2018

- Aceasta fereastra se deschide din Edit / Preferencies

Setata o valoare mai mare decat cea default

Trebuie debifat Safe updates, daca e bifat (va restrictioneaza daca e bifat) InfoAcademy - 2018

InfoAcademy - 2018

Selecteaza tabelele

Selecteaza baza de date

Ce exportam? Doar structura, doar datele, ambele?

Optiuni de selectat, director, nume fisier, etc

InfoAcademy - 2018

Selecteaza tabelele

Selecteaza baza de date

Ce exportam? Doar structura, doar datele, ambele?

Optiuni de selectat, director, nume fisier, etc

InfoAcademy - 2018

Related Documents

Slide
December 2019 39
Slide
May 2020 34
Slide
November 2019 48
Slide
May 2020 42
Slide
June 2020 21

More Documents from ""

Carte Refman Dbms.pdf
June 2020 8
Joc
August 2019 18
November 2019 21