220 likes | 511 Views
ADO.NET. ADO.NET ir tehnoloģija, kura nodrošina mijiedarbību ar datu bāzēm. Ir izstrādātas vairākas klases, kuras realizē šo tehnoloģiju un ļauj nolasīt un ierakstīt informāciju SQL Server, Oracle, MS Access un citās datu bāzēs. Apskatīsim ADO.NET tehnoloģiju uz MS SQL Server datu bāzes piemēra.
E N D
ADO.NET ADO.NET ir tehnoloģija, kura nodrošina mijiedarbību ar datu bāzēm. Ir izstrādātas vairākas klases, kuras realizē šo tehnoloģiju un ļauj nolasīt un ierakstīt informāciju SQL Server, Oracle, MS Access un citās datu bāzēs. Apskatīsim ADO.NET tehnoloģiju uz MS SQL Server datu bāzes piemēra. Pirms pētīt ADO.NET klašu funkcionalitāti, ir nepieciešams iepazīties ar MS SQL Server DBVS un valodas SQL pamatiem. Darbam ar MS SQL Server ļoti ērti ir izmantot MS SQL Server Management Studio. Tā ir grafiskā utilīta ar dažādiem veidiem (dizaineriem), kuri būtiski atvieglo darbu ar datu bāzi. MS Visual Studio 2005 Standard Edition iekļauj sevī MS SQL Server Express ierobežoto versiju, kuras funkcionalitāte ir pilnībā pietiekama neliela un vidēja izmēra datu bāžu veidošanai. SQL Server Management Studio utilītu jāinstalē atsevišķi (tas ir brīvi pieejams Microsoft weblapā.
Datu bāzes nosaukums Izvēlētās datu bāzes tabulas Datu bāzes skatījumi SQL Server Management Studio
Šeit var pievienot jauno rindu SQL Server Management Studio Jaunas tabulas pievienošanas secība ir šāda: peles labais taustiņš uz Tables un New Table. Tad ieraksta kolonnu nosaukumus, definē katras kolonnas datu tipus un izvēlas citus papildus ierobežojumus (primārā atslēga, tukšo vērtību esamība utt.). Informācijas ierakstīšanai tabulā izmanto komandu Open Table:
1. Izvēlas New Query 2. Ieraksta pieprasījumu 3. Izpilda pieprasījumu 4. Pieprasījuma rezultāti SQL Server Management Studio Neskatoties uz to, ka vairākās darbības ir iespējams veikt ar grafisko utilītu, tomēr reālās pielietojuma programmās būs jāizmanto pieprasījumi, kurus veido ar SQL valodas palīdzību. Management Studio ļauj rakstīt SQL pieprasījumus un izpildīt tos, interaktīvi iegūstot tās izpildes rezultātus.
Relāciju datu bāzes Relāciju modelis bija mēģinājums vienkāršot datu bāzes struktūru. Tajā nebija norāžu uz priekštečiem un pēctečiem, bet visi dati tika pasniegti tabulu veidā, kuras sadalītas rindās un kolonnās. Relāciju datu bāze ir tad, kad visi dati, kas pieejami lietotājam, tiek organizēti tabulu veidā, bet visas operācijas ar datiem ir operācijas ar šīm tabulām. Tabulas Relāciju datu bāzē katrai tabulai ir unikāls nosaukums, kas apraksta tās saturu. Katrai tabulai ir vismaz viena kolonna. ANSI/ISO standartā netiek minēts par maksimāli pieļaujamo kolonnu skaitu tabulā, tomēr gandrīz visās DBVS šī robeža pastāv – 255 kolonnas.
Tabula var saturēt jebkuru rindu skaitu, pie tam, tā var nesaturēt arī nevienu rindu. Šāda tabula saucas par tukšu tabulu. Tā saglabā savu struktūru, bet tajā nav nekādu datu. Atšķirībā no tabulas kolonnām, rindām nav noteiktas secības. Tas nozīmē, ka, secīgi izpildot divus vienādus pieprasījumus, nav garantijas, ka rindas būs uzrādītas vienā un tajā pašā secībā (ja nav kārtošanas). Primārās atslēgas Tā kā rindas relāciju tabulā nav sakārtotas, nav iespējams izvēlēties rindu pēc tās numura tabulā. Pareizi organizētā relāciju datu bāzē katrā tabulā ir viena vai vairākas kolonnas, kurās vērtības visās rindās ir atšķirīgas. Šāda kolonna saucas par tabulas primāro atslēgu. Ir gadījumi, kad primārā atslēga ir tabulas kolonnu kombinācija. Šāda primārā atslēga tiek saukta par salikto primāro atslēgu.
MFR_ID PRODUCT_ID DESCRIPTION PRICE REI 2A45C Remover 2750 ACI 2FU5J Reducer 355 QSA 22YB3 Reducer 400 ... ... ... ... Kolonna MFR_ID norāda izstrādājumu ražotāju identifikatorus, kolonnā PRODUCT_ID doti izstrādājumu identifikatori, DESCRIPTION satur izstrādājuma nosaukumu un PRICE izstrādājuma cenu. It kā kolonna PRODUCT_ID var kalpot par primāro atslēgu, tomēr dažādi ražotāji var piešķirt vienādu identifikatoru dažādiem izstrādājumiem. Šādai tabulai primārā atslēga būs kolonnu MFR_ID un PRODUCT_ID kombinācija. Tabula, kurā visas rindas atšķiras viena no otrās, matemātiskā terminoloģijā tiek saukta par attiecību (tieši tāpēc tādas DB sauc par relāciju – angļu “relation”).
Viena no relāciju datu modeļa atšķirībām no iepriekšējiem modeļiem ir tiešu norāžu trūkums saikņu priekštecis / pēctecis realizācijai. Šīs saiknes ir realizētas ar vienādām datu vērtībām dažādās tabulās. Viena no galvenajām SQL priekšrocībām ir spēja nolasīt šādā veidā saistītus datus. Ārējā atslēga ir tabulas kolonna, kurā vērtības sakrīt ar citas tabulas primārās atslēgas vērtībām. Kolonnu skaits primārajā un ārējā atslēgā sakrīt, tādēļ arī ārējā atslēga tāpat kā primārā var būt kolonnu kombinācija. Ārējās atslēgas ir neatņemama relāciju datu modeļa sastāvdaļa, jo ar to palīdzību tiek realizēta saistība starp tabulām.
ADO.NET arhitektūra ADO.NET satur šādas vārdvietas, kuras realizē pieeju pie dažāda veida datiem: System.Data satur galvenās klases, kuras realizē ADO.NET tehnoloģiju; System.Data.Common satur papildus klases, kuras realizē dažādus datu provaiderus; System.Data.SqlClient satur klases darbam ar MS SQL Server; System.Data.OleDb satur klases darbam ar OLE DB Server; System.Data.Odbc satur klases darbam ar datubāzēm ar ODBC draiveriem; System.Data.SqlTypes satur klases darbam ar SQL datu tipiem, kas ļauj paātrināt darbu ar SQL; System.Xml satur klases darbam ar XML.
Apvienotā un sadalītā vide Apvienotā vide (connected environment) ir pats vienkāršākais gadījums, kad programma izveido pieslēgumu datu bāzei un šīs pieslēgums tiek uzturēts visa darba laikā. Šīs pieejas priekšrocības ir: viegla kontrole, pielietojuma un datu bāzes realizācijas vienkāršums. Apvienotās vides ir efektīvas tikai darbam vienā datorā vai nelielā lokālā tīklā, savukārt, strādājot ar attālināto datu bāzi caur Internet, stipri paaugstinās servera un tīkla noslodze, un darbs tādā sistēmā kļūst praktiski neiespējams. Šī trūkuma novēršanai izmanto otro pieeju darbam ar datu bāzēm, kuru sauc par sadalīto vidi (disconnected environment). Šajā gadījumā pielietojuma programma pieslēdzas datu bāzei, nolasa nepieciešamus datus un pārtrauc savienojumu. Kad visas izmaiņas ar datiem ir paveiktas, tiek izveidots jauns pieslēgums, un informācija tiek ierakstīta datu bāžē. Sadalītās sistēmas trūkumi var būt tad, kad dati, ar kurām strādā lietotājs, var būt nodzēsti vai izmainīti, kas var izraisīt konfliktus. Tādēļ dažreiz pielieto abu iepriekš minēto pieeju kombināciju, lai nodrošināt efektīvāku programmas darbu.
Objektu mijiedarbība SQL Server gadījumā SqlCommand SqlConnection SQL Server Darbs apvienotā vidē ADO.NET satur dažas klases, kuras nodrošina darbu sadalītā vidē: Connection – realizē darbu ar savienojumu; Command – ļauj izpildīt komandas darbam ar datu bāzes informāciju; DataReader – kursors, kurš ļauj pārvietoties pa datu bāzes ierakstiem. SqlDataReader
Objektu mijiedarbība SQL Server gadījumā RAM SQL Server DataSet SQL Server .NET provaiders Darbs sadalītā vidē Darbam sadalītā vidē tiek izmantotas divas speciālās klašu kopas: DataSet – ļauj nolasīt datus no datu bāzes un manipulēt ar tām lokāli; .NET datu provaideri – ļauj pievienoties datu bāzei, nolasīt datus lokālā atmiņā un pēc to apstrādes ierakstīt datu bāzē.
Darbs sadalītā vidē Vispārīgā gadījumā darbs sadalītā vidē sastāv no šādiem soļiem: • Atvērām pieslēgumu ar datu bāzi. • Aizpildām DataSet objektu ar datiem no datu bāzes ar DataAdapter metodes palīdzību. • Aizvērām pieslēgumu (dati tiek saglabāti klienta-datora lokālā atmiņa, bet servera resursi atbrīvojas). • Darbs ar DataSet objekta saturu. • Atkal atvērām pieslēgumu. • Atjaunojām datus datu bāzē no DataSet objekta. • Aizvērām pieslēgumu.
Izvēlas DataBase Pārējām nākošajā solī Vienkāršā pielietojuma izveide Izveidojam jaunu Windows aplikāciju un izpildām komandu Data – Add Data Source.
Izvēlas New Connection Pēc tam MS SQL Server Turpina tālāk Vienkāršā pielietojuma izveide Nākošajā solī izvēlas New Connection un norāda SQL Serveru.
Ieraksta servera vārdu Pēc tam izvēlas datu bāzes nosaukumu Vienkāršā pielietojuma izveide
Saglabāt pieslēgumu konfigurācijas failā Ieraksta pieslēguma nosaukumu Vienkāršā pielietojuma izveide Tālāk ir iespējams saglabāt pieslēgumu programmas konfigurācijas failā (rekomendēts, jo pēc tam nepieciešamības gadījumā var pamainīt pieslēguma parametrus tikai vienā vietā).
Izvēlas objektu, kura datus izmantosim Ieraksta DataSet objekta nosaukumu Vienkāršā pielietojuma izveide
Vienkāršā pielietojuma izveide Pievienojam formai DataGridView objektu un piesaistām to mūsu DataSet objektam. Tad var formatēt iegūto datu izvadu (var nerādīt visas tabulas kolonnas, var parādīt tās ar citu nosaukumu utt.). Rezultātā mūsu programma parāda informāciju no datu bāzes.
Vienkāršā pielietojuma izveide Datu attēlošanas veidu var modificēt, izmantojot data sources logu (Data – Show Data Sources). Tad izvēlas nepieciešamo datu avotu un izvēlas tam Detail skatu. Pēc tam var definēt katras tabulas kolonnas izskatu formā (nospiež uz kolonnas nosaukuma un izvēlas vajadzīgo). Atkarībā no kolonnas datu tipa, var būt dažādas iespējas. Kad visiem elementiem izskats ir noteikts, ar peles kreiso taustiņu pārvelk datu avotu uz formas.
Vienkāršā pielietojuma izveide Tagad uz formas ir redzami dati no tabulas Employees no Northwind datu bāzes. Trūkst vēl navigāciju pogu, kurus var pievienot ar Toolbox elementu BindingNavigator. Šī elementa piesaiste datu avotam notiek ar īpašību BindingSource.
Šķirstīšanas pogas Pievienot ierakstu Nodzēst ierakstu Vienkāršā pielietojuma izveide Rezultātā programmai parādās standarta pogas darbībām ar datu bāzes ierakstiem: Visas šīs rīkjoslas pogas ir konfigurējamās. Var pievienot un noņemt papildus pogas.