Documente Academic
Documente Profesional
Documente Cultură
Realizat:Florea Cristina
Verificat:Jumbei Olga
Chișinău 2016
Cuprins
Introducere............................................................................................................................................2
3.Elaborarea proiectului......................................................................................................................11
3.2.1.Interogări.............................................................................................................................12
3.2.2.Rapoarte..............................................................................................................................23
4.Descrierea interfeței.........................................................................................................................30
4.1.Autentificarea............................................................................................................................30
4.2.Înregistrarea...............................................................................................................................32
4.3.Meniul administratorului...........................................................................................................33
4.4.Meniul utilizatorului..................................................................................................................36
Concluzii.............................................................................................................................................42
Bibliografie.........................................................................................................................................43
Anexe..................................................................................................................................................44
Introducere
Arta cinematografică,sau altfel cunoscută ca cea dea șaptea artă a aparut pentru prima oară în
Franța,spre sfirșitul secolului XIX.Abia atunci au apărut pentru prima oară noțiunea de film și de
cinematografie.Mult timp,filmul și procesul de filmare a fost considerat doar un amuzament,și era
tratat cu dispreț de oamenii serioși.Cu trecerea timpului,această industrie a început să aducă venit,și
la scurt timp ea s-a răspindit prin toata lumea.
În ultimii 20 de ani,industria cinematografică s-a dezvoltat foarte mult,astfel încât ea a devenit una
din cea mai bogată industrie,veniturile căruia poate ajunge la milioane și chiar
miliarde.Astfel,vizionarea filmelor a devenit pasiunea a multor oamenii.
Am elaborat o aplicație destinată pentru oferirea informațiilor generale despre filme și despre
companiile ce au produs aceste filme-FilmStudio Production.De asemenea,utilizatorii vor avea
posibilitatea de cauta filmul dorit după denumirea de filme,după gen,tară sau anul producerii.
Aplicatia dată este elaborată in Microsoft Visual Studio Express 2013 cu ajutorul platformei
Framework .NET 4.5
1.Proiectarea bazei de date
Sistemele de gestiune a bazelor de reprezintă totalitatea programelor utilizate pentru crearea,
interogarea și întreținerea unei baze de date. Include două categorii de module: module care sunt
comune cu cele ale sistemelor de operare ale calculatoarelor și module cu funcții specifice bazei de
date. Subsistemele monitor conțin programele de control al perifericelor și sistemul de gestiune a
fișierelor. Subsistemele externe sunt alcătuite din procesorul de definiție și programul de
administrare.
au loc
1
M au loc 1
Vanzări Filme
filmează
Companii
1.2.Crearea și descriere modelului relațional
1.3.Normalizarea și crearea bazei de date
Când proiectăm o bază de date, dorinţa noastră este de a reprezenta cât mai corecte informaţiile şi să
diminuăm cât mai mult posibilitatea de a ajunge la informaţii eronate (dacă nu putem elimina de tot
acest neajuns). Pentru a ajunge la această performanţă, trebuie să folosim normalizarea.
Normalizarea presupune urmarea unor reguli prin care baza de date se poate normaliza până la un
anumit grad. Dacă o cerinţă nu este satisfăcută, relaţia trebuie dezcompusă în mai multe relaţii, care
individual satisfac cerinţele formei normale.Normalizarea se execută trecând prin toate formele
normale, până la forma normală cerută. La proiectarea unei baze de date trebuie să ajungem cel puţin
la forma normală unu, dar ca să evităm toate anomaliile descrise mai înainte, este recomandat
aducerea bazei de date la BCNF.
Observație. Dacă o entitate se găsește în prima formă normală și UID-ul său este format dintr-un
singur atribut atunci ea se găseşte automat în a doua formă normală.
3. A treia formă normală
A treia formă normală necesită ca fiecare coloană care nu este cheie să depindă de întreaga cheie
primară, dar și ca toate coloanele care nu sunt chei să fie reciproc independente.
Un alt mod de a spune aste este că fiecare coloană care nu este cheie trebuie să depindă de întreaga
cheie primară și numai de cheia primară
Filme
Nr. Numele câmpului Tipul de date Descriere
ord
Actori
Nr. Numele câmpului Tipul de date Descriere
ord
Filmări
Nr. Numele câmpului Tipul de date Descriere
ord
Vânzări
Nr. Numele campului Tipul de date Descriere
ord
Asupra datelor din baza de date se vor putea efectua următoarele seturi de operații:
-Interogări(SELECT este comanda cea mai utilizată, este folosită pentru obtinerea datelor din bazele
de date.)Interogările pot fi de selecție, excludere, modificare, obținere a unor totaluri, medii,
interogări încrucișate.
-Rapoartele,adică documente de ieșire pentru sintetizarea și prezentarea datelor din tabele sau
grafice. Un raport răspunde de obicei unei anumite întrebări, cum ar fi „Câte filme au fost lansate în
anu l2015?” sau „Care sunt top 10 cele mai scumpe filme?”. Fiecare raport poate fi formatat pentru a
prezenta informațiile în cel mai vizibil mod posibil, precum și printarea lor.
Prin securitatea bazelor de date se înțelege protejarea bazelor de date împotriva folosirii neautorizate
a lor și în special a modificărilor și distrugerilor nedorite de date și a citirilor nepermise de date.
Pentru realizarea securitătii datelor din baza de date se utilizeaza controale tehnice și administrative.
Diferitele protecții pot fi indicate prin intermediul limbajului de prelucrare a datelor. Porțiunile din
baza de date ce pot fi folosite de utilizator pot fi definite prin operații de selecție și proiecție care fac
invizibile alte porțiuni ale bazei de date. Conducerea organizației, care este proprietara bazei de date,
trebuie să ia măsuri de securitate care reduc riscul de a se pierde informații sau de a se distruge
informații. Prin pierdere de informații se poate înțelege că se pierde caracterul privat al
informațiilor, ele devin accesibile unui grup mai mare de persoane decât cel prevăzut. Nu
întotdeauna "scurgerile" de informatii lasă urme, deci nu se materializează întotdeauna în schimbări
detectabile la nivelul bazei de date.
Problema securității cuprinde aspecte legale, sociale și etice, aspecte privind controlul fizic (pază și
posibilități de blocarea accesului la terminale), aspecte de politie (fixarea condițiilor de acces),
aspecte operaționale (modul de stabilire a parolelor), aspecte privind controlul hard (modul de acces
hard la diferite componente), securitatea sistemului de operare (protejarea informațiilor și anularea
rezultatelor intermediare pentru ăastrarea secretului datelor) aspecte privind noțiunea de proprietate
asupra datelor din baza de date și altele asemănătoare.
Trebuie să menționăm aici că furturile și fraudele nu sunt neapărat legate de baza de date, ele sunt
un factor de risc pentru întreaga organizație, gravitatea acestor fapte depinzând și de profilul
organizatiei in cauză.
3.Elaborarea proiectului
Pentru a crea tabele se utilizează instructiunea SQL CREATE TABLE,unde specificăm urmatoarele
informații:
Cind creem un tabel ,numele tabelului specificat nu trebuie sa existe,astfel se genereaza o eroare.
Inserarea datelor se efectueaza cu instructiunea INSERT care este folosita pentru adăugarea de
înregistrări menţionându-se câmpurile şi valorile acestora. Se utilizează pentru operaţii simple, care
presupun lucrul cu un număr redus de înregistrări. Are sintaxa:
Reguli:
- valorile din clauza VALUES vor avea aceeaşi natură cu câmpurile din clauza INTO
- Dacă un câmp are specificaţia NOT NULL, este obligatorie introducerea unei valori pentru aceasta
3.2.1.Interogari
Instructiunea SELECT este cea mai des utilizate intructiunea SQL.Rolul acesteia consta in regasirea
informatiilor dintr-unul sau mai multe tabele.Pentru a utiliza instructiunea SELECT trebuie de
precizat:ce anume dorim sa selectam si locatia de unde selectam datele.
Exemple:
1.Interogarea care va afisa filmele din genul comedie din ultimii 5 ani.
Setul dinamic:
Setul dinamic:
Setul dinamic:
4.Interogarea care va afisa lista companiilor de producere a filmelor ,tara carora nu este SUA
Setul dinamic:
5.Interogarea care va afisa lista actritelor nascute nu mai devreme de anul 1990
SELECT nume,prenume FROM Actori
WHERE sex='f' and data_nast>='01.01.1990'
Setul dinamic:
6.Interogarea care va afisa top 10 cele mai scumpe filme si incasarile lor
Setul dinamic:
7.Interogarea care va afisa top 10 cele mai bune filme.Se va extrage denumirea
filmului,genul,tara,bugetul,data lansarii si ratingul filmului.
Setul dinamic:
8.Interogarea care va afisa lista filmelor produse in SUA si in alte tari,unde ratingul filmului este intre 5.0
si 5.5
Setul dinamic:
9.Interogarea care va afisa lista actorilor care s-au filmat in cel putin 3 filme.Se va extrage
numele,prenumele sexul si data nasterii a actorului si se va aranja in ordine alfabetica
Setul dinamic:
10.Interogarea care va afisa lista cu bugetul cel mai mare din ultimii 15 ani.
Setul dinamic:
11.Interogarea care va afisa lista filmelor a caror incasari este mai mica ca bugetul filmului.
12.Interogarea care va afisa lista actorilor si filmele in care s-au filmat iar ratingul filmelor este mai mic
de 6.0
Setul dinamic:
13.Interogarea care va afisa top 10 companii care au filmat cele mai multe filme.Se va ordona descrescator
conform numarului de filme produse.
Setul dinamic:
14.Interogarea care va afisa lista filmelor ce au castigat foarte putin din vanzari.
Setul dinamic:
Setul dinamic:
17.Interogarea care va afisa lista filmelor fantasy cu bugetul mai mare de 100 mln.
Setul dinamic:
SELECT den_film,gen,buget
FROM Filme
WHERE buget<3000000
Setul dinamic:
19.Interogarea care va afisa lista top 10 companii si a filmelor produse de aceste companii
Setul dinamic:
Setul dinamic:
3.2.2.Rapoarte
Rapoartele reprezinta documente ce pot fi afisate pe ecran,tiparite pe hirtie sau salvate intr-un
fisier.Rapoartele permit doar extragerea datelor,nu si modificarea lor.
Pentru crearea rapoartelor Microsoft SQL Server ne ofera o gama completa de instrumente si
servicii.Unu dintre ele este Microsoft SQL Server Reporting Services(MS SSRS) destinat pentru
crearea,distribuirea si gestiunea rapoartelor despre datele extrase din BD.
Exemple:
Codul:
Design-ul:
2.Date despre top 10 cele mai bune filme
Codul:
Design-ul:
3.Date despre actori ce s-au filmat in cel putin 2 filme
Codul:
Desig-nul:
4.Date despre vanzari nereusite.
Codul:
Design-ul
Codul:
Design-ul :
6.Date despre top 10 companii cu cele mai multe filme produse
Codul:
Design-ul:
7.Date despre filme din genul Comedie din ultimii 5 ani.
Codul:
Design-ul:
Codul:
Design-ul:
9.Informatii suplimentare despre filme.
Codul:
Design-ul:
10.Tinerii actori.Informatii
Codul:
Design-ul:
Rezultatul rapoartelor vezi Anexa,Rapoarte
4.Descrierea interfetei
4.1.Autentificarea
Al treilea label este are rol de link intern.La declansarea evenimentului MouseHover label3 iti va mari
dimensiunea textului iar la declansarea evenimentului MouseLeave acesta isi va reveni la starea initiala.La
declansarea evenimentului click asupra acestui label se va deschide formularul de inregistrare.
Butonul Renunta are aceiaasi destinatie ca si la formularul de logare.Fiecare textBox este destinat fiecarui
camp din tabelul Utilizatori.
Initial,am modificat proprietatea textBoxului destinat parolei.Proprietatea UseSystemPasswordChar va
avea valoarea true,adica textul din acest textBox va fi mascat.La declansare evenimentului
CheckedChange asupra CheckBox-ului 1,textul din TextBoxul destinat va fi afisat,adica proprietatea
UseSystemPasswordChar va avea valoarea false.
Un alt detaliu semnificatif este ca la labelurile care contin simbolul “*” la sfirsit ,semnifica ca textBoxurile
sunt obligatorii,adica aceste campuri din tabelul Utilizatori au constrangerea NOT NULL.Deci,daca nu va
fi introdus nimic in aceste campuri la ecran va aparea mesajul: Eroare!Nu ati introdus toate campurile
obligatorii.
Campurile email si adresa au constrangerea NULL si in asa fel,la inregistrare aceaste pot fi lasate goale.
4.3.Meniul administratorului
Pentru a elabora formularul cu meniu administratorului am folosit un Tab control si am adaugat6 tab-
uri,fiecare tab pentru un anumit tabel.Exemplu:
Dintre paginile de tab practic nu exita nici o diferenta de design.Unica diferenta este ca la pagina Vanzari
si Filmari nu am adaugat textBoxul destinat cautarii in tabel.Nu am vazut sensul sa fac cautare in tabelele
cu putine campuri.
Pe fiecare pagina exista textBoxuri destinate campurilor din tabele,si etichete destinate pentru
exemplificare.Sunt,deasemenea ,controale de tip dataGridView pentru a putea fi vazute datele din
tabele.De asemenea,pe fiecare pagina de tab sunt 4 butoane:Nou,Adauga,Sterge si
Inapoi.Initial,proprietate textBoxurile Enable are valoare false,adica textBoxurile nu sunt accesibile.
Butonul Nou este destinat pentru a modifica proprietatea Enable a textBox-urilor si la declansarea
evenimentului Click asupra butonului Nou,proprietatea Enable ia valoare true.Situatie asemanatoare sunt
si la restul paginilor.
Butonul Adauga este destinat pentru adaugarea datelor in tabele.Acest lucru este posibil doar in caz cind a
fost deja declansat evenimentul click la butonul Nou.Acelasi lucru e si la restul pagilor.
Butonul Sterge,este destinat pentru stergerea anumitor campuri.Pentru a sterge un anumit camp ,este
necesat de a selecta campul din dataGridView si de apasat pe butonul Sterge.Situatie similara si la restul
paginilor.
Butonul Inapoi este destinat pentru a se intoarce la formularul de logare.Iar de acolo avem posibilitatea de
a ne loga ca user,sau de a iesi din aplicatie.
4.4.Meniul utilizatorului
Pentru a elabora meniul utilizatorilor am utilizat deasemenea un tabControl.Aici am adaugat doar 3
pagini:Navigator filme,Profilul meu,Setari.
Pe prima pagina,Navigator filme,se afla un control de tip dataGridView care va contine datele din tabelul
Filme si un control de tip textBox destinat cautarii.Initial,este posibila doar cautarea dupa denumirea
filmului,dar daca apasam pe labelul de “Cautare avansata” ,atunci va aparea controle de tip checkBox si
textBox.
Utilizatorul are posibilitatea de a cauta informatii dupa genul filmului,tara in care a fost produs filmul sau
anul in care a fost produs.Data checkBox-urile nu sunt alese,atunci textBoxurile nu sunt accesibile.
In urmatoarea imagine este aratata cautarea doar dupa denumirea filmului.Asadar,se vede clar ca nu e
nevoie de a apasa un buton pentru a cauta,ci pur si simplu de a scrie in textBox:
Pagina Setari este destinata pentru a modifica setarile de design.Pe aceasta pagina am pus doar un
pictureBox cu o imagine si butoane destinate pentru modificarea culorii de fundal si a stilului.
Pentru a utiliza aceasta aplicatie sunt necesare următoarele componente hardware și soft :
Procesor x64 Procesor; AMD Opteron, AMD Athlon 64, Intel Xeon cu
Intel EM64T, Intel Pentium IV cu EM64T x86 Procesor;
Pentium III-compatibil sau mai rapid
Memorie RAM RAM Minimum 1GB (4GB sau mai mult , este recomandat),
pentru aplicatie minimum recomandat este 512Mb.
Soft Exisgente
Pe parcursul practicii am reușit să înțeleg mai bine cum funcționează Sistemul de Gestionare a
Bazelor de date și am învățat să creez aplicații prin intermediul platformei .NET și a limbajului
C#.Acest limbaj de programare mi s-a părut destul de interesant și de ușor,în comparație cu alte
limbaje de programare.La elaborarea aplicației FilmStudio Production de un mare ajutor mi-a fost și
cunoștințele în domeniu programării orientate pe obiecte.Această aplicație este destinată în special
amatorilor de filme,dar sper că va fi pe placut majorității.Desigur,pe parcursul a acestor 2
săptămîni,am avut foarte multe erori și am întîmpinat greutăți,dar datorită cunoștințelor și a dorinței
de a învăța am reușit să le rezolv.
Astfel,în perioada acestei practici am înțeles că cunoștințele acumulate în anul 3 de studii au avut un
rol foarte important în elaborarea acestui raport,dar și a aplicației propriu zise.
Bibliografie
https://ro.wikipedia.org/wiki/SQL
https://ro.wikipedia.org/wiki/C_sharp
https://ro.wikipedia.org/wiki/ASP.NET
http://office.microsoft.com/ro-ro/access-help/despre-interogarile-sql-mdb-
HP005188412.aspx
http://office.microsoft.com/ro-ro/excel-help/combinarea-de-date-din-mai-multe-surse-de-
date-HA103993145.aspx
Anexe
Nr.1.Scenariu de creare a BD
create database Movies
use Movies
Nr.2.Inserarea datelor
insert into Companii(idcomp,denumire,tara)values
(1,'20th Century Fox','SUA'),
(2,'Ardmore Studios','Irlanda'),
(3,'Bavaria Film','Germania'),
(4,'BBC Films','Marea Britanie'),
(5,'Blue Sky Studios','SUA'),
(6,'The Bridge Studios','Canada'),
(7,'CBS Films','SUA'),
(8,'Cinecitta','Italia'),
(9,'Cinema City International','China'),
(10,'Columbia Pictures','SUA'),
(11,'Constantin Film','Germania'),
(12,'Crystal Sky Pictures','SUA'),
(13,'Disneynature','Franta'),
(14,'DreamWorks','SUA'),
(15,'Dovzhenko Film Studios','Ukraina'),
(16,'Entertainment One','Canada'),
(17,'Full Moon Features','SUA'),
(18,'Gaumont Film Company','Franta'),
(19,'Genius Products','Australia'),
(20,'Globo Filmes','Brazilia'),
(21,'Gorky Film Studio','Rusia'),
(22,'Hollywood Pictures','SUA'),
(23,'Ilumination Entertaiment','SUA'),
(24,'Legendary Pictures','SUA'),
(25,'Lenfilm','Rusia'),
(26,'Lions Gate Entertaiment','Canada')