Universitatea Tehnica “ Gh. Asachi “, Iasi Facultatea de Constructii si Instalatii Infrastructuri Moderne pentru Transporturi Anul I
B A Z E D E D AT E S I A L G O R I T M I
PROIECT
Masterand Condurat Mihaela
2011-2012
Baze de date si algoritmi
Direcţia Regională de Drumuri şi Poduri Braşov
Direcţia Regională de Drumuri şi Poduri Braşov îşi desfăşoară activitatea pe raza judeţelor Braşov, Sibiu, Mureş, Covasna şi Harghita administrând o reţea de drumuri naţionale în lungime totală de 1771Km, pe care sunt construite 455 de poduri şi 3151 podeţe.
Principalele atribuţii ale Direcţiei Regionale de Drumuri şi Poduri Braşov sunt: ∗ gestionarea drumurilor publice din administrare; ∗ întocmirea documentaţiilor tehnico-economice pentru lucrările de întreţinere şi reparaţii la drumuri; ∗ asigurarea calităţii şi controlului tehnic al calităţii; ∗ monitorizarea controlului mijloacelor de transport pe drumurile publice; ∗ lucrări şi servicii privind întreţinerea curentă a drumurilor publice (întreţinerea pe timp de vară, întreţinerea pe timp de iarnă, întreţinerea elementelor privind siguranţa rutieră şi de estetică); ∗ lucrări şi servicii privind întreţinerea periodică a drumurilor publice; ∗ lucrări aferente reparaţiilor curente la drumurile publice; ∗ lucrări aferente reparaţiilor capitale la drumurile publice.
2
Baze de date si algoritmi În proiectul de faţă s-a realizat o bază de date pentru Direcţia Regională de Drumuri şi Poduri Braşov.Această bază de date a fost realizată în programul Microsoft Access 2007. Microsoft Access 2007 este aplicaţia de management al bazelor de date pusă la dispoziţie de suita Microsoft Office. Spre deosebire de Excel, Access permite stocarea şi administrarea de volume mari de date, organizate în unităţi numite înregistrări. O bază de date Access constă din următoarele obiecte: • • • • • • •
Tabele – conţin toate înregistrările Interogări – localizează înregistrări specifice Formulare – afişează înregistrările din tabele, una cîte una Rapoarte – tipăresc loturi de înregistrări Pagini de acces la date – pun la dispoziţie date prin intermediul paginilor Web Macrocomenzi – acţiuni automate uzuale Module – stochează declaraţii si proceduri Visual Basic, care ne permit să scriem programe pentru bazele de date, astfel încât acestea să poată interacţiona cu alt software.
O bază de date (BD) reprezintă o colecţie de date integrată, anume structurată şi dotată cu o descriere a structurii şi a relaţiilor dintre date. Gestiunea bazelor de date. Sistemul de gestiune a bazelor de date (SGBD) este acel sistem de programe care facilitează şi supervizează introducerea de informaţii în baza de date, actualizarea şi extragerea din bază, controlul şi autorizarea accesului la date. Un sistem de gestiune a bazelor de date trebuie să fie capabil să îndeplinească următoarele funcţii: ∗ ∗ ∗ ∗ ∗ ∗
de descriere ,care rezidă în definirea structuriidatelor, a relaţiilor dintre acestea şi a condiţilor de acces la informaţile conţinute în baza de date; de actualizare, care presupune inserarea, redactarea şi suprimarea datelor; de interogare a BD, care permite obţinerea diferitor informaţii din BD conform unor criterii de căutare; de obţinere de date noi, care constă în prelucrarea informaţiei iniţiale în scopul obţinerii unor totaluri, medii etc.; de întreţinere, care constă în crearea copiilor de rezervă, compactarea BD şi repararea ei în cazul deteriorării; de securitate a datelor, care rezidă în protejarea BD împotriva accesului neautorizat şi în atribuirea drepturilor de acces.
3
Baze de date si algoritmi Lansarea sistemului MS Access 2007 SGBD MS Access funcţionează numai în mediul Windows. Există mai multe modalităţi de lansare a sistemului Access, una din ele fiind executarea consecutivă a acţiunilor Start/All Programs(sau Programs)/Microsoft Office/Microsoft Office Access 2007. Ca rezultat, obţinem o fereastră, asemănătoare cu cea din figura .
Figura .Lansarea programului MS Access 2007 Elementele principale ale unei baze de date sunt tabelele.O bază de date poate conţine şi alte elemente care se creează pe baza tabelelor (interogări, formulare, rapoarte etc.). Aceste elemente, împreună cu tabelele, formează aşa-numitele clase de obiecte ale bazei de date. Pentru a crea o bază de date nouă, în zona Open a ferestrei reprezentate în figura 1 alegem opţiunea Create a new file, iar în caseta urmatoare - opţiunea Blank Database. Putem, de asemenea, utiliza comenzile de creare/accesare a bazelor de date din meniul File. Închiderea / redeschiderea bazei de date Închiderea unei baze de date poate fi făcută prin executarea comenzii Close din meniul File sau prin acţionarea butonului din bara de titlu a bazei de date. De regulă, la închidere, sistemul salvează automat baza de date împreună cu toate obiectele pe care le conţine. Închiderea unei baze de date nu înseamnă şi închiderea aplicaţiei MS Access, astfel încît putem deschide o altă de date sau crea o bază de date nouă, în modul descris mai sus.
4
Baze de date si algoritmi In baza de date a Directiei Regionale de Drumuri si Poduri Brasov au fost create 8 tabele.
Tabela Admin Tabela Admin are 8 câmpuri. Dacă selectăm opţiunea Design View şi acţionăm butonul OK, obţinem o fereastră în care definim câmpurile tabelului şi caracteristicile lor. Caracteristicile cîmpurilor Pentru fiecare cîmp al tabelului se specifică 3 caracteristici, şi anume: • Field Name (denumirea cîmpului, obligatoriu); • Data Type (tipul cîmpului, obligatoriu); • Description (descrierea cîmpului, opţional). Pentru comoditate, denumirile cîmpurilor se introduc pe verticală, urmînd ca în regimul de introducere a datelor Datasheet View denumirile cîmpurilor să-şi ocupe poziţiile obişnuite (pe orizontală). Regimul Design View nu permite introducerea înregistrărilor în tabel, ci doar descrierea cîmpurilor care alcătuiesc tabelul. Tipul cîmpului poate fi unul din următoarele: • Text - pentru texte sau numere care nu vor fi folosite în calcule; • Memo - pentru texte lungi • Number - pentru numere care vor fi folosite în calcule; • Date/Time - pentru date calendaristice; • Currency - pentru valori băneşti; 5
Baze de date si algoritmi • • • • • •
AutoNumber - pentru numere întregi care îşi măresc în mod automat valorile (numărul de ordine, de exemplu); Yes/No - pentru valori logice care pot lua numai două valori: Yes (adevăr), No (fals); OLE Object - pentru imagini (fotografia autorului), sunete (imnul ţării). Hyperlink - pentru adrese Hyperlink. Valorile acestui cîmp pot fi adrese Internet (de exemplu, www.google.com) sau locaţii (calea spre un fişier sau dosar din calculator) Lookup Wizard - reprezintă, de fapt, nu un tip de date, ci o proprietate a cîmpului prin care valorile lui pot fi selectate din alt tabel. Acest mod de abordare simplifică procedura introducerii valorilor cîmpului şi, în plus reduce riscul comiterii unor erori.
Pentru a schimba tipul cîmpului (implicit tipul este Text), trecem în coloana Data Type (fig.6) şi din lista derulantă alegem tipul dorit. Apoi trecem (dacă e cazul) în coloana Description, pentru a introduce note explicative, sau în rîndul următor, pentru descrierea altui cîmp. Stabilirea cheilor primare Dacă valorile unui cîmp sunt unice (nu se repetă), putem semnala acest lucru, pentru a evita introducerea accidentală a două valori identice. Această procedură poartă denumirea de stabilire a cheii primare. După încheierea procedurii de descriere a cîmpurilor şi de stabilire a cheii primare, salvăm tabelul (descrierea lui), selectînd comanda Save din meniul File şi indicînd numele tabelului. Proprietăţile cîmpurilor În afară de tipul cîmpului, putem stabili şi unele proprietăţi ale sale, cum ar fi mărimea (lungimea), numărul cifrelor zecimale, formatul datei calendaristice etc. Fiecare tip de date are proprietăţi prestabilite, dar ele pot fi modificate, executînd un clic pe cîmpul respectiv şi modificînd valorile prestabilite care apar în partea de jos. Cîmpurile de tip Text pot avea lungimi cuprinse între l şi 255 de caractere. Cîmpurile de tip Number au lungimi diferite în funcţie de opţiunea specificată pentru proprietatea Field Size. Opţiunea implicită pentru cîmpurile de tip Number este, de regulă, Single, dar ea poate fi modificată, utilizînd comanda Options din meniul Tools. Pentru cîmpurile de tip Number poate fi stabilită şi proprietatea Format, în care specificăm modul de afişare a valorilor (numărul cifrelor zecimale etc.). Cîmpurile de tip Date/Time au lungimi variabile în funcţie de formatul datei/orei specificat pentru proprietatea Format a cîmpului. De altfel, formatul de reprezentare a datelor calendaristice, la fel ca şi delimitatorii dintre dată, lună şi an, pot să difere de cele utilizate în această lucrare. Reprezentarea datelor ţine de modul în care a fost personalizat sistemul Windows.
6
Baze de date si algoritmi
Introducerea datelor în tabel După ce am efectuat procedurile de descriere a tabelului , putem introduce date în cîmpurile lui. Pentru a iniţia ia procesul de introducere a datelor , deschidem BD (dac (dacă nu este deschisă) deschis , apoi în fereastra Database selectăm m tabelul Admin şi executăm un clic pe Open. Ca rezultat, se afişează afi cîmpurile tabelului respectiv (iniţ (iniţial tabelul conţine doar un rînd liber).
7
Baze de date si algoritmi Câmpuri Cod : reprezintă un număăr utilizat pentru identificarea unităţii. Unitate : reprezintă un num număr care permite vizualizarea unităţii ii imediate din lanţul lan conducerii. Nume: Numele unităţii Numescurt: Abrevierea unit unităţii respective Adresă: Adresa unităţii înn ccauză.
Tabela Drumuri Câmpuri Categorie drum Număr drum Kmi: kilometrul de început nceput al drumului Mi: metrul de început nceput al drumului Kms: kilometrul de sfârşit it al drumului Ms: metrul de sfârşit it al drumului Traseu: Traseu parcurs de drum Lungimea reală.
8
Baze de date si algoritmi
9
Baze de date si algoritmi Tabela Poduri Câmpuri află podul Categorie drum, numărr drum: identificarea drumului pe care se afl Km, m: poziţia ia kilometric kilometrică a podului Lungime: lungimea podului Schemă statică Nrdesch: numărr deschideri Obstacol Localitate: cea mai apropiat apropiată localitate Suprastructură Infrastructură Clasă de încărcare
10
Baze de date si algoritmi
Tabela RetAdmin Câmpuri Admin: administrator Categorie drum, numărr drum Kmi,mi,Kms, ms: poziţia ia kilometric kilometrică a drumului Traseu Lungime reală. Tabela RetAdmin face leg legătura între drumuri şi secţiile iile care le administrează. administreaz
11
Baze de date si algoritmi
Tabela Lucrări în n derulare Câmpuri Denumire obiectiv Categorie drum, numărr drum Kmin, min, kmsf,msf : pozi poziţia kilometrică unde se realizează lucrarea Localitate Perioadă alocată Buget alocat 2009
12
Baze de date si algoritmi
13
Baze de date si algoritmi Tabela Restricţii Câmpuri Categorie drum, Numărr drum Kmin, min, kmsf,msf : pozi poziţia kilometrică unde este restricţia Localităţi apropiate Cauza restricţiei Data introducerii restricţiei iei Data estimată pt ridicarea restric restricţiei Restricţie de viteză urare a traficului Condiţii de desfăşurare Observaţii
14
Baze de date si algoritmi
Tabela Contracte incheiate 2012 Campuri Denumire contract Nr contract Data incheiere contract
15
Baze de date si algoritmi
Tabela Achizitii publice Campuri Denumire procedura Data procedura
16
Baze de date si algoritmi
Interogări Access Performanţele ele unui SGBD depind în mare m măsură de capacitatea extragerii rapide a diferitor informaţii în forma dorită.. În multe cazuri este necesar de a selecta date din mai multe tabele simultan. Interogările reprezintăă modalit modalităţi de selecţie şi afişare a informaţie ie din unu sau mai multe tabele, formulate cu ajutorul unor condiţ condiţii logice. Tipuri de interogări În funcţie ie de modul de definire şi rezultatele acţiunii, interogările rile pot fi clasificate astfel: a) interogări ri de selec selecţie (folosind condiţii logice); b) interogări ri de sortare (indicînd cîmpul/cîmpurile şii ordinea sortării); sort c) interogări ri de excludere a unor înregistr înregistrări din BD d) interogări ri de modificare a unor înregistr înregistrări din BD e) interogări ri de ob obţinerea a unor informaţii ii rezultante (în cîmpuri noi) în baza informaţiei iei existente (de exemplu, ob obţinerea inerea vîrstei cititorului prin scăderea sc anului de naştere din anul curent); f) interogări ri de ob obţinere a unor totaluri, medii etc.; g) interogări ri încruci încrucişate. În toate cazurile, cu excep excepţia ultimelor două, rezultatul interogării rii este un nou set de date, numit set dinamic (engl: Dynaset). Setul dinamic (rezultalul interog interogării) conţine ine doar cîmpurile specificate ale 17
Baze de date si algoritmi înregistrărilor rilor din tabelele specificate care satisfac condi condiţiilor iilor specificate. Denumirea Denum '"Set dinamic" este legată de faptul că orice modifică modificări ri ale datelor din tabelele specificate în interogare implică implic modificări respective ale rezultatului interogă interogării (la o nouă executare a ei). Şii invers, orice modificări modific în setul dinamic implică modificări ri în tabelele respective (cu condi condiţia respectării rii integrităţii integrităţ datelor). Seturile dinamice nu se memorizează; ă; ele se formeaz formează din nou de fiecare dată cînd executăm execută o interogare. Dac în tabelele BD intervin modificări, ări, rezultatele execut executării a două interogări ri identice pot fi diferite, în cele ce urmează vom descrie modalităţile ăţile de definire şi executare a interogărilor rilor nominalizate. Interogări de selecţie ie a înregistr înregistrărilor(Select Query) Admin01 S-au selectat sectii din administrarea Directiei Regionale de Drumuri si Poduri Brasov. Brasov
18
Baze de date si algoritmi
Admin02 S-au au selectat districtele din administrarea SDN Brasov.
19
Baze de date si algoritmi
Admin03 S-au au selectat districtele din administrarea SDN Sibiu.
20
Baze de date si algoritmi
Admin04 S-au au selectat districtele din administrarea SDN Miercurea Ciuc.
21
Baze de date si algoritmi
Admin05 S-au au selectat districtele din administrarea SDN Targu Mures.
22
Baze de date si algoritmi
Admin06 S-au au selectat districtele din administrarea SDN Sfantu Gheorghe.
23
Baze de date si algoritmi
Drumuri – Restrictii Se vor afisa drumuri rumuri restrictionate.
24
Baze de date si algoritmi
Drumuri Query Afiseasa drumurile si traseul lor.
25
Baze de date si algoritmi
Drumuri – Lucrari in derulare Afiseaza drumuri pe care se desfasoara lucrari.
26
Baze de date si algoritmi
Poduri- Admin01 Sunt afisati administratorii fiecarui pod.
27
Baze de date si algoritmi
RetAdmin-Admin Afiseaza administratorii fiec fiecarui drum .
28
Baze de date si algoritmi
29
Baze de date si algoritmi
30
Baze de date si algoritmi
31
Baze de date si algoritmi Admin01- RetAdmin03 Afiseaza ce drumuri administreaza fiecare sectie in parte parte.
32
Baze de date si algoritmi
Interogări de sortare a înregistrărilor Drumuri- Sort S-a efectuat sortarea drumurilor in ordine crescatoare.
33
Baze de date si algoritmi
34