Documente Academic
Documente Profesional
Documente Cultură
Raport
privind practica de producţie
la specialitatea Informatica
A elevei grupei I-1345
Florea Cristina
Tema:Evidenţa abonaţilor unei companii
Baza de practică : Moldtelecom S.A
Chişinău 2017
Cuprins
Introducere.................................................................................................................................................2
4.Protecţia datelor....................................................................................................................................12
5.1. Tabele.............................................................................................................................................15
5.2.Vederi..............................................................................................................................................15
7.3.Ştergerea datelor.............................................................................................................................21
Concluzii....................................................................................................................................................22
Bibliografie................................................................................................................................................23
Anexe........................................................................................................................................................24
1
Introducere
La finele anului patru de studii din cadrul Centrului de Excelenţă în Informatică şi Tehnologii
Informaţionale am ajuns la cea mai importantă etapă din toţi aceşti ani: practica de producţie .
Practica de producţie reprezintă etapa finală a procesului educaţional din colegiu. Aceasta are ca
scop oferirea elevilor,studenţilor experienţă profesională, testarea deprinderilor ,cunoştinţelor şi
aptitudinilor profesionale. În cadrul acestei etape studenţii au posibilitatea de a se acomoda cu
regimul de lucru. De asemenea practica de producţie oferă elevilor o şansa de angajare la servici
în urma finalizării acesteia.
La începutul practicii de producţie eram în căutarea unei teme potrivite şi actuale pentru
proiectul ce urma să-l realizez. Soluţia pentru acest obstacol a fost găsită în cadrul unităţii
economice la care eu realizam practica : „Moldtelecom S.A „
Datorită cooperării dintre mine şi personalului a acestei companii am găsit o temă destul de
potrivită şi actuală atât pentru mine, cât şi pentru alte companii. Tema acestei baze de date este
„ Evidenţa clienţilor a unei companii”.
În urma aceste baze de date am creat aplicaţia Abonaţi, o aplicaţie potrivită pentru obţinerea
informaţiilor despre clienţi. Accesul la această aplicaţie o are doar administratorul. Astfel, datele
personale despre clienţi nu sunt afişare oricui.
Cu aplicaţia Abonaţi administratorul are acces la date despre clienţi şi are posibilitatea de a
manipula aceste date, precum : excluderea unor date învechite, adăugarea unor noi clienţi în baza
de date , modificarea unor informaţii despre clienţi , şi totodată administratorul are posibilitatea
de a oferi acces la date altor persoane, prin oferirea unui nume şi parole ce vor fi salvate într-un
tabel aparte.
2
1.Studiul bazei de practică
Baza de practică aleasă a fost Moldtelecom S.A.
În prezent, compania deține poziția de lider pe piața serviciilor de telefonie fixă (96,5%) și pe
cea a serviciilor de acces la Internet în bandă largă (70,3%). De asemenea, după volumul
vânzărilor, primul loc pe acest segment de piață îi revine tot companiei Moldtelecom, cu o cotă
de piață de circa 57%
Performanțele companiei sunt reflecția investițiilor de circa 700–800 milioane lei alocate anual,
în implementarea de tehnologii și servicii noi, precum și îmbunătățirea continuă a relației cu
abonații săi. Abonații justifică efortul și așteptările companiei, înregistrând, în 2011, cifra record
de 1,124 milioane de abonați. Numărul abonaților este într-o continuă creștere, atingând o
densitate de 33% la 100 de locuitori.
Telefonie Fixă
Serviciul de bază al companiei Moldtelecom este telefonia fixă. Cota de piață a serviciului de
telefonie fixă era de 96,5% în primul trimestru al anului 2011 cu 1.124.000 abonați.
În anul 2007 a fost lansat serviciul de telefonie fixă fără fir (Wireless Local Loop - WLL) cu
denumirea comercială „Amplus”. Serviciul se bazează pe tehnologia CDMA și utilizează
standardul CDMA2000 1X în banda de frecvență 450 MHz. Avantajul acestei tehnologii constă
în faptul că permite utilizarea serviciilor telefonice chiar și în regiunile unde conectarea la
rețeaua de telefonie tradițională este dificilă sau chiar imposibilă. Telefonia Amplus prestează
3
servicii similare telefoniei tradiționale: primirea și efectuarea apelurilor, accesarea rețelei
Internet și multe alte servicii suplimentare.
Serviciul telegraf permite expedierea telegramelor prin intermediul telofonului, iar destinatarul
va primi mesajul sub forma de telegramă. Video Telefonia permite comunicarea prin apel video
între două sau mai multe persoane situate atât pe teritoriul Republicii Moldova (național), cât și
peste hotarele ei (internațional).
Internet
După numărul de abonați, în primul trimestrul din 2011, cota de piață a companiei Moldtelecom
după numărul de abonați era de 70,9%[3]. După cifra de afaceri, cota de piață a Moldtelecom era
de 76,2%. În 2008 a început extinderea rețele de fibră optică FTTx și a fost lansat serviciul de
acces la internet în bandă largă „MaxFiber”. Acest serviciu oferă conexiuni simetrice cu viteze
de până la 100 Mbps descărcare și încărcare, atât pentru resursele locale MD-IX, cât și cele
externe. Inițial serviciul era disponibil în Chișinău, însă treptat a fost extins și în centrele
raioanale și localitățile mari.
„MaxDSL” este serviciul de internet oferit prin intermediul tehnologiei ADSL. Acesta oferă
conexiune la viteze de până la 20 Mbps descărcare și încărcareServiciul MaxDSL este disponibil
în majoritatea localităților din Republica Moldova. În primul trimestru din 2011 au fost
înregistrati 169.900 abonați MaxDSL .
4
2.Proiectarea bazei de date
Clienţi Adrese
1 1
deţine aparţine
M M
Conturi
Users
5
2.2.Crearea modelului relaţional
Modelul relațional al datelor, folosit în acest moment de majoritatea sistemelor de gestiune aflate
pe piață a fost introdus in anul 1970 prin articolul lui Edgar Frank Codd ”A relational model for
large shared databanks”. Acest model are o singură structură de date – relația și tabelul. O bază
de date relațională reprezintă un ansamblu de relații (tabele) grupate în jurul unui subiect bine
definit. O relație este redată printr-un tabel, în care fiecare rând reprezintă o înregistrare distinctă,
iar fiecare coloană – un atribut.
6
2.3.Normalizarea bazei de date
Normalizare reprezintă un proces formal de analiză a relaţiilor bazare pe cheile primare. Aceasta
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 descompusă pentru a satisface condiţia formei
normale.
Normalizarea se execută trecând prin toate formele normale,până se ajunge la forma normală
cerută. La proiectarea bazei de date trebuie să ajungem cel puţin la forma normală unu,dar este
recomandat de a ajunge până la forma normală 3 sau BCFN.
A Doua Formă Normală(FN2) cere ca toate elementele unei tabele să fie dependente funcţional
de totalitate cheii primare. Dacă unul sau mai multe elemente sunt dependente funcţional numai
de o parte a cheii primare, atunci ele trebuie să fie separate în tabele diferite. Dacă tabela are o
cheie primară formată din numai un atribut, atunci ea este automat în FN2.
A Treia Formă Normală(FN3) cere ca atributele non-cheie ale unei relaţii să depindă numai de
chei candidate ale acelei relaţii. Toate atributele non-cheie trebuie să fie mutual independente.
7
2.4.Descrierea fizică a modelului
Pentru crearea bazei de date Abonaţi au fost utilizate următoarele tabele:
Clienţi
Adrese
Cont
8
Users
9
3.Crearea bazei de date
Scenariu de creare a bazei de date:
use Abonati
Gen varchar(10) not null check (gen like 'masculin' or gen like 'femenin') ,
10
create table Cont
Tip_cont varchar(20) not null check (Tip_cont like 'credit' or Tip_cont like
'credit limitat' or Tip_cont like 'debit') ,
11
4.Protecţia datelor
Prin securitatea bazelor de date se înțelege protejarea datelor împotriva folosirii neautorizate a
lor și în special a modificărilor și distrugerilor nedorite. Pentru realizarea securității datelor din
baza de date se utilizează controale tehnice si administrative.
citire neautorizată
modificări neautorizate
distrugeri de date
Pentru protecţia bazei de date se pot lua măsuri de asigurare a securităţii la mai multe nivele:
12
La nivel SGBD, sistemul oferă anumite facilităţi care sprijină protecția datelor
1. Identificarea utilizatorilor.
Fiecărui utilizator în parte i se acordă anumite drepturi de operare pe diferite porțiuni din baza de
date la diferite nivele cum ar fi relația, înregistrarea, pagina, atributul, etc. Drepturile se referă la
posibilitatea citirii, inserării, ștergerii sau modificării datelor respective. Identificarea se face de
obicei prin parole stabilite fie de administratorul bazei de date, fie de utilizator.
Deoarece s-ar putea ajunge la date și prin alte mijloace decât prin intermediul SGBD-ului se
poate face o protecție prin păstrarea codificată a datelor pe suportul magnetic. Decodificarea
datelor se poate face numai după identificarea utilizatorului prin gărzi asociate lui.
Abilitatea view-urilor de a „ascunde” o parte din informaţiile din baza de date poate fi utilizată și
pentru stabilirea unui anumit grad de securitate a datelor. În unele sisteme nu sunt acceptate
modificări prin intermediul view-urilor. Astfel de view-uri se numesc read-only și sunt utilizate
mai ales în aplicațiile în care datele pot fi citite de toți utilizatorii (baze de date publice) dar
modificările se fac numai cu aprobarea administratorului/proprietarului bazei de date.
Se ține evidentă strictă a drepturilor de acces ale fiecărui utilizator la porțiuni din baza de date și
se fixează reguli de transmitere de la un utilizator la altul a dreptului de acces.
Forme de autorizare:
Conducerea organizaţiei, care este proprietară a 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 informaţii
lasă urme, deci nu se materializează întotdeauna în schimbări detectabile la nivelul bazei de date.
Trebuie de menționat 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
organizației în cauză.
14
5.Administrarea obiectelor din baza de date
În urma procesului de proiectare a bazei de date au fost create următoarele obiecte:
Tabele
Vederi
5.1. Tabele
Au fost create următoarele tabele:
Tabela Adrese – deoarece clienții pot fi și din străinătate, a fost creat un tabel separat
pentru adrese.Aici se includ : id-ul adresei , adresa personala (deținută de un client) , tara
din care provine un anumit client, denumirea localității , denumirea străzii, numărul
localității(dacă acesta există) , numărul străzii (dacă acesta există) , tipul localității ( oraș,
sat sau comună)
Tabela Users – tabela users a fost creată strict pentru aplicație (pentru logare). Deoarece
baza de date Abonați este o bază de date ce poate conține date personale despre clienți, o
măsură de protecție ar fi rectricționarea accesului la baza de date. Astfel, tabela Users
este utilizată la crearea autentificării.
Scenariu de crearea a tabeleor și a inserării datelor în aceste tabele se află în Anexa (1)
5.2.Vederi
În cadrul creării bazei de Abonaţi au fost creare următoarele vederi:
Vederea DetaliiCont2 – conţine informaţii despre clienţii a căror cont ,dintr-un motiv sau
altul , a fost suspendat.
15
6.Proiectarea interfeţei grafice
Pentru a crea un design atrăgător şi modern am instalat pachetul Material Skin în aplicaţie. Acest
pachet conţine instrumente speciale care ne ajută la crearea unei interfeţe atrăgătoare.
Interfaţa de logare:
1.Tabela Clienţi
16
2.Tabela Adrese
3.Tabela Cont
17
4. Tabela Users
Pe fiecare pagină sunt amplasate câte un dataGridView cu datele din tabela corespunzătoare,
textBox-uri pentru inserarea şi modificare datelor şi patru butoane pentru manipularea datelor.
TextBox-urile sunt direct legate cu datele, astfel modificarea lor va fi mult mai uşoară.
18
7.Manipularea bazei de date din aplicaţie
19
7.2.Modificarea datelor din aplicaţie
Modificarea datelor are loc în felul următor:
Codul sursă pentru modificarea datelor din fiecare tabelă se află în Anexa (4)
20
7.3.Ştergerea datelor
Ştergerea datelor se face în felul următor:
1. Fie specificăm în textBox ClientID id-ul câmpului pe care dorim să-l ştergem , fie
selectăm direct din dataGridView un câmp. Id-ul acestui câmp va apărea automat în
textBox-ul ClientID
2. Facem click pe butonul Şterge.
3. Aşa cum nu se observă în dataGridView că câmpul a fost şters ,facem click pe butonul
Refresh.
Codul sursă pentru ştergerea datelor din tabelă se află în Anexa (4)
21
Concluzii
Periodata stagiului practicii de producţie a fost probabil cea mai importantă şi tensionată
perioadă din anii de studiu de la Centru de Excelenţă în Informatică şi Tehnologii
Informaţionale.
Ca student absolvent pot spune că această etapă a fost una foarte importantă : am reuşit să înţeleg
cum are loc procesul de lucru , care sunt cerinţele faţă de mine ca lucrător, care sunt avantejele
unui job în domeniu IT .
Totodată , perioada practicii de producţie a demonstrat încă odată calitatea studiilor obţinute în
cadrul Centrului de Excelenţă în Informatică şi Tehnologii Informaţionale: studiile obţinute aici
mi-au fost foarte utile pe toată perioada practicii.
Aceste şase săptămâni de practică m-au ajutat să înţeleg mai multe lucruri.Astfel, am devenit
parte dintr-un colectiv prietenos, şi totodată am reuşit să obţine experienţă şi informaţii necesare
depre condiţiile şi avantajele de muncă în domeniu IT.
Practica de producţie a fost o perioadă foarte frumoasă şi favorabilă pentru formarea mea
profesională.
22
Bibliografie
1. https://github.com/IgnaceMaes/MaterialSkin
2. https://github.com/ButchersBoy/MaterialDesignInXamlToolkit
3. https://stackoverflow.com/questions/10063770/how-to-add-a-new-row-to-datagridview-
programmatically
4. http://csharp.net-informations.com/datagridview/csharp-datagridview-add-column.htm
5. https://msdn.microsoft.com/en-
us/library/system.windows.forms.datagridview.rows(v=vs.110).aspx
6. https://www.codeproject.com
23
Anexe
Anexa (1)
create table Clienti
(
IDClient int not null primary key,
Nume varchar(100) not null ,
Prenume varchar(100) not null ,
Patrimonimic varchar(50) not null ,
Gen varchar(10) not null check (gen like 'masculin' or gen like 'femenin') ,
Tel_serviciu varchar(15) null ,
Tel_mobil varchar(20) not null ,
Email varchar(50) not null ,
DataNastere date not null ,
LocNastere varchar(100) null
)
24
alter table Cont
add constraint fk_Cont_Client foreign key (IDClient) references Clienti(IDClient)
--##############################################--
--##############################################--
25
Anexa (2)
create view ClientiChisinau as
select Nume,Prenume,Patrimonimic,Gen from Clienti
where LocNastere like 'Chisinau'
--##############################################--
--##############################################--
26
Anexa (3)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
using MaterialSkin;
namespace Abonati
{
public partial class Form1 : MaterialSkin.Controls.MaterialForm
{
SqlConnection con = new SqlConnection(@"Data Source=DOX-
ПК\SQLEXPRESS;Initial Catalog=Abonati;Integrated Security=True");
public Form1()
{
InitializeComponent();
MaterialSkinManager skin = MaterialSkinManager.Instance;
skin.Theme = MaterialSkinManager.Themes.LIGHT;
skin.AddFormToManage(this);
skin.ColorScheme = new
ColorScheme(Primary.Blue800,Primary.Blue900,Primary.Blue500,Accent.Cyan700,Te
xtShade.WHITE); }
} } }
27
Anexa (4)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
using MaterialSkin;
namespace Abonati
{
public partial class Form2 : MaterialSkin.Controls.MaterialForm
{
public Form2()
{
InitializeComponent();
MaterialSkinManager skin = MaterialSkinManager.Instance;
skin.Theme = MaterialSkinManager.Themes.LIGHT;
skin.AddFormToManage(this);
skin.ColorScheme = new ColorScheme(Primary.Blue800,
Primary.Blue900, Primary.Blue500, Accent.Cyan700, TextShade.WHITE);
}
28
}
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Clienti
(IDClient,Nume,Prenume,Patrimonimic,Gen,Tel_serviciu,Tel_mobil,Email,DataNast
ere,LocNastere)VALUES
(@ID,@Name,@LastName,@Name2,@Gender,@Work,@Telefon,@Mail,@Date,@Place)",
con);
cmd.Parameters.AddWithValue("@ID",ClientID.Text);
cmd.Parameters.AddWithValue("@Name", Nume.Text);
cmd.Parameters.AddWithValue("@LastName", Prenume.Text);
cmd.Parameters.AddWithValue("@Name2", Patrimonimic.Text);
cmd.Parameters.AddWithValue("@Gender", Gen.Text);
cmd.Parameters.AddWithValue("@Work", TelServici.Text);
cmd.Parameters.AddWithValue("@Telefon", TelMobil.Text);
cmd.Parameters.AddWithValue("@Mail", Email.Text);
cmd.Parameters.AddWithValue("@Date", Data.Text);
cmd.Parameters.AddWithValue("@Place",Loc.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Inserare reusita!");
con.Close();
29
{
30
private void materialRaisedButton6_Click(object sender, EventArgs e)
{
con.Open();
SqlCommand cmd = new SqlCommand("Update Adrese set Adr_personala
= '" + PersonalAdress.Text + "',Tara = '" + Tara.Text + "',Den_localitate='"
+ DenLoc.Text + "',Den_strada='" + DenStr.Text + "',Nr_localit='" +
NrLoc.Text + "',Nr_str='" + NrStr.Text + "',Tip_localit='" + TipLoc.Text + "'
where IDAdresa like '" + AdresaID + "'", con);
cmd.ExecuteNonQuery();
con.Close();
dataGridView2.Refresh();
MessageBox.Show("Modificare reusita!");
}
cmd.Parameters.AddWithValue("@IDAdress", AdresaID.Text);
cmd.Parameters.AddWithValue("@PersonalAdress",
PersonalAdress.Text);
cmd.Parameters.AddWithValue("@Tara", Tara.Text);
cmd.Parameters.AddWithValue("@DenLocal", DenLoc.Text);
cmd.Parameters.AddWithValue("@DenStr", DenStr.Text);
cmd.Parameters.AddWithValue("@NumarLoc", NrLoc.Text);
cmd.Parameters.AddWithValue("@NumarStr", NrStr.Text);
cmd.Parameters.AddWithValue("@TipLocal", TipLoc.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Inserare reusita!");
con.Close();
}
31
cmd.Parameters.AddWithValue("@Dencont",DenCont.Text);
cmd.Parameters.AddWithValue("@Tip",TipCont.Text);
cmd.Parameters.AddWithValue("@Statut",StatutCont.Text);
cmd.Parameters.AddWithValue("@Inc",DataIncContract.Text);
cmd.Parameters.AddWithValue("@Exp",DataExpContract.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Inserare reusita!");
con.Close();
}
32
TelUser.Text + "',NumeAdmin='" + NumeAdmin.Text + "',Parola='" + Pass.Text+
"' where Nume ='"+NumeUser.Text+"'",con);
cmd.ExecuteNonQuery();
con.Close();
dataGridView4.Refresh();
MessageBox.Show("Modificare reusita!");
}
}
}
}
33
34
35