Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
» Crearea bazelor de date si a jurnalelor de tranzactii


Crearea bazelor de date si a jurnalelor de tranzactii


Crearea bazelor de date si a jurnalelor de tranzactii

Bazele de date sunt entitati logice in cadrul carora SQL Server plaseaza tabele si indecsi. O baza de date se poate intinde pe unul sau mai multe fisiere ale sistemului de operare, dar un fisier nu poate contine mai multe baze de date.

Orice baza de date are asociat un jurnal de tranzactii. Jurnalele de tranzactii reprezinta zone de lucru pe care SQL Server le foloseste pentru a gestiona "un fel de imagine" a informatiilor din sistem, in starile "dinainte si dupa". Aceste informatii de "dinainte si dupa" sunt utilizate pentru a realiza anularea tranzactiilor, in caz de necesitate, precum si pentru restaurarea unei baze de date in cazul in care se impune o restaurare sau reincarcare. In versiunea 7.0 jurnalele de tranzactii se afla intr-un fisier separat si nu intr-o tabela, ca in versiunile anterioare.

Deci, jurnalul de tranzactii este locul in care SQL Server inscrie toate tranzactiile dintr-o baza de date inainte de aplicarea acestora asupra bazei de date.



In jurnal se inscriu doua tipuri de informatii:

  • Primul tip de informatii se refera la lucrul cu tranzactii din perspectiva programatorului. Este vorba de o forma de verificare in cadrul aplicatiei, prin care putem fi siguri ca o anumita operatie se efectueaza in totalitate.
  • Celalalt tip de informatii inscrise in jurnalul de tranzactii priveste imaginea continutului bazei de date inainte si dupa efectuarea de operatii. Adica, la actualizarea unei linii, in jurnalul de tranzactii se inregistreaza continutul liniei inainte si dupa actualizare.

In ambele cazuri, jurnalul de tranzactii este folosit pentru restaurarea bazei de date in situatia in care apare o eroare ce necesita anularea sau reluarea unor operatii inregistrate. Acesta este mijlocul prin care SQL Server asigura coerenta bazei de date, in raport de regulile gestionate de server, cat si cu prelucrarile efectuate de aplicatii.

SQL Server poate, teoretic, sa intretina pe un singur server 32.767 baze de date. Dimensiunea unei baze de date poate atinge maxim 1.048.516 TB. Un fisier baza de date poate fi mapat pe mai multe dispozitive fizice, cu ajutorul unor metode software sau hardware.

La crearea unei noi baze de date, SQL Server foloseste ca punct de pornire o macheta de baza de date, adica o baza de date model, care poate fi privita ca oferind obiectele implicite care vor fi implementate in baza de date din sistem.

Baza de date model este compusa din obiecte SQL Server standard :

utilizatorii bazei de date - singurul utilizator implicit este dbo (database owner)

rolurile din baza de date (sunt definite 10 roluri implicite)

tabele (modelul implicit contine 17 tabele care reprezinta tabelele din sistem in jurul carora va fi construita noua baza de date)

vederi (modelul contine 20 de vederi care ajuta la regasirea informatiei din tabelele sistem)

proceduri stocate (baza de date model nu contine nici o procedura stocata)

reguli (nu sunt definite reguli) restrictioneaza valorile care pot fi introduse in coloanele tabelelor

valori implicite (nu exista)

tipuri de date definite de utilizator

diagrame.

Crearea bazei de date si a jurnalului de tranzactii se poate face in doua feluri: fie utilizand administratorul de sistem SQL, fie cu ajutorul comenzii Create Database.

Daca nu sunt prevazute drepturi adecvate, SQL Server nu permite crearea unei baze de date (adica sa existe dreptul de administrator de sistem, sau utilizatorul sa fie inregistrat pentru unul din rolurile sysadmin sau dbcreator).

Comanda Create Database reprezinta metoda Transact - SQL de creare a unei baze de date.

Sintaxa este:

CREATE DATABASE nume_baza_de_date

[ ON [ , . n] ]

[ LOG ON [ , n] ]

[ FOR RESTORE ]

< specif_fis > :: =

( NAME = nume_fis_logic,

FILENAME = `nume_fis_so`

[ , SIZE = dim ]

[ , MAXSIZE = ]

[ , FILEGROWTH = increment_crestere ] )

unde:

nume_baza_de_date numele bazei de date care se creeaza, trebuie sa respecte regulile pentru denumiri de obiecte.

ON = specifica lista de fisiere in care este stocata partea de date a bazei de date.

PRIMARY = specifica fisierul care contine inceputul logic al datelor si tabelelor sistem.

O baza de date nu poate avea decat un singur fisier primar. Daca se omite acest parametru, primul fisier din lista este cel primar.

LOG ON = specifica lista de fisiere in care este stocat jurnalul de tranzactii. Daca nu se specifica nimic, jurnalul este creat ca avand 25% din dimensiunea totala a fisierelor de date.

NAME = nume_fis_logic = numele pe care SQL Server il va folosi ca referire la fisiere.

FILENAME = `nume_fis_so` = specifica numele fisierului din punct de vedere al sistemului de operare.

SIZE = specifica dimensiunea initiala a bazei de date.

MAXSIZE = specifica dimensiunea maxima la care poate ajunge baza de date. UNLIMITED arata ca baza de date poate creste oricat o permite spatiul liber de pe disc.

FILEGROWTH = indica cantitatea cu care poate creste baza de date.

Valoarea implicita = 256 KB

Valoarea minima = 64 KB

Orice valoare a incrementului este rotunjita la cel mai apropiat multiplu de 64 KB. Valoarea 0 impiedica cresterea bazei de date.

FOR RESTORE = impiedica accesul utilizatorului pana la efectuarea unei comenzi RESTORE asupra bazei de date.

Exemplul:

Create Database NewDatabase

ON

( NAME = NewDatabase_data,

FILENAME = `d : mssql7 data newdatabase_data.mdf `,

SIZE = 4,

FILEGROWTH = 1 MB )

LOG ON

( NAME = NewDatabase_log

FILENAME = ` d : mssql7 data newdatabase_log.ldf `,

SIZE = 2 MB

FILEGROWTH = 1 MB )





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate