Cum se creează o bază de date în mediul SQL Server. Crearea bazei de date. Atașarea și detașarea bazelor de date

Exemplu de creație baza locala Date Microsoft SQL ServerînDOMNIȘOARĂ Studio vizual

Acest subiect prezintă soluția la problema creării unei baze de date tip SQL Server folosind MS Visual Studio. Sunt luate în considerare următoarele întrebări:

  • lucrul cu fereastra Server Explorer din MS Visual Studio;
  • crearea unei baze de date locale de tip SQL Server Database ;
  • crearea de tabele în baza de date;
  • editarea structurilor tabelelor;
  • conectarea tabelelor bazei de date între ele;
  • introducerea datelor în tabele folosind MS Visual Studio.

Sarcina

Folosind instrumentele MS Visual Studio, creați o bază de date de tip MS SQL Server cu numele Education. Baza de date conține două tabele Student și Session. Tabelele sunt interconectate printr-un anumit câmp.

Structura primului tabel „Student”.

Structura celui de-al doilea tabel „Sesiunea”.

Performanţă

1. Descărcați MS Visual Studio.

2. Activațifereastrăserver explorer.

Pentru a lucra cu baze de date, Microsoft oferă un server de baze de date ușor Microsoft SQL Server. Sunt diferite versiuni Microsoft SQL Server, de exemplu: Microsoft SQL Server 2005, Microsoft SQL Server 2008, Microsoft SQL Server 2014 și alte versiuni.

Puteți descărca aceste versiuni de pe site-ul web Microsoft www.msdn.com.

Acest server este excelent pentru a lucra cu baze de date. Este gratuit și are GUI pentru a crea și administra baze de date cu folosind SQL Instrument de management al serverului.

În primul rând, înainte de a crea o bază de date, trebuie să activați utilitarul Server Explorer. Pentru a face acest lucru, în MS Visual Studio trebuie să apelați (Fig. 1)

Vizualizare -> Server Explorer

Orez. 1. Apelați Server Explorer

După apel, fereastra Server Explorer va avea un aspect aproximativ, așa cum se arată în Figura 2.

Orez. 2. Fereastra Server Explorer

3. Crearea bazei de date „Educație”.

Pentru a crea o nouă bază de date bazată pe furnizorul de date Microsoft SQL Server, faceți clic pe nodul Conexiuni de date și apoi selectați „ Creați o nouă bază de date SQL Server...” (Fig. 3).

Orez. 3. Apelarea comenzii de creare a bazei date SQL Server

Ca urmare, fereastra " Creați o nouă bază de date SQL Server» (Fig. 4).

În fereastra (în câmpul „Nume server”) numele fișierului server local instalat pe computerul dvs. În cazul nostru, acest nume este „SQLEXPRESS”.

Câmpul „Nume nou bază de date:” indică numele bază creată date. În cazul nostru, acest nume este Educație.

Opțiunea Utilizați autentificare Windows trebuie lăsată neschimbată și faceți clic pe butonul OK.

Orez. 4. Creația noua baza Date SQL Server 2008 Express folosind MS Visual Studio 2010

După acțiunile efectuate, fereastra Server Explorer va lua forma prezentată în Figura 5. După cum se poate vedea din Figura 5, baza de date Education cu numele

sasha-pc\sqlexpress.Education.dbo

Orez. 5. Fereastra Server Explorer după adăugarea bazei de date Education

4. Obiecte baze de date educaționale.

Dacă extindeți baza de date Education (semnul „+”), puteți vedea o listă cu următoarele obiecte principale:

  • Diagrame baze de date - diagrame baze de date. Diagramele arată relațiile dintre tabelele bazei de date, relațiile dintre câmpuri mese diferite etc.;
  • Tabele - tabele în care sunt plasate datele bazei de date;
  • Vizualizări - vederi. Diferența dintre vederi și tabele este că tabelele bazei de date conțin date, în timp ce vizualizările de date nu, iar conținutul este selectat din alte tabele sau vederi;
  • Proceduri stocate - proceduri stocate. Sunt un grup de operatori înrudiți Limbajul SQL, care oferă flexibilitate suplimentară atunci când lucrați cu baza de date.

5. Crearea tabelului Student.

Pe acest moment baza de date Education este complet goală și nu conține niciun obiect (tabele, proceduri stocate, vizualizări etc.).

Pentru a crea un tabel, trebuie să apelați meniul contextual (faceți clic Click dreapta mouse) și selectați comanda „Add New Table” (Figura 6).

Orez. 6. Comanda pentru adăugarea unui tabel nou

Există o altă opțiune pentru adăugarea unui tabel de bază de date folosind comenzile din meniul Date:

Date -> Adăugați nou -> Tabel

Orez. 7. Opțiune alternativă adăugarea unui nou tabel

Ca rezultat, se va deschide o fereastră pentru adăugarea unui tabel, care conține trei coloane (Figura 8). În prima coloană „Numele coloanei” trebuie să introduceți numele câmpului corespunzător din tabelul bazei de date. În a doua coloană „Tipul de date” trebuie să introduceți tipul de date al acestui câmp. A treia coloană „Allow Nulls” indică opțiunea posibilității de absență a datelor în câmp.

Orez. 8. O nouă fereastră de creare a unui tabel

Folosind editorul de tabel, trebuie să creați tabelul Student așa cum se arată în Figura 9. Numele tabelului trebuie specificat când este închis.

În editorul de tabel, puteți seta proprietățile câmpului în fereastra Proprietăți coloane. Pentru a seta lungimea unui șir (nvchar) în caractere, fereastra Column Properties are o proprietate Length. Valoarea implicită pentru această proprietate este 10.

Orez. 9. Masa studentului

Următorul pas este să setați câmpul cheie. Acest lucru se face apelând comanda „Set Primary Key” de la meniul contextual Câmpuri Num_book. Legăturile dintre tabele vor fi stabilite folosind câmpul cheie. În cazul nostru, câmpul cheie este numărul cărții de înregistrare.

Orez. 10. Setarea câmpului cheie

După setarea cheii primare, fereastra tabelului va arăta așa cum se arată în Figura 11.

Orez. 11. Elevi de masă după formarea finală

Acum poți închide masa. În fereastra pentru salvarea tabelului, trebuie să specificați numele acestuia - Student (Fig. 12).

Orez. 12. Introducerea numelui tabelului Student

6. Creați tabelul Session.

Urmând modelul de creare a tabelului Student, este creat tabelul Session.

Figura 13 arată imaginea tabelului de sesiuni după formarea finală. cheia principala(Cheie primară) este setată la câmpul Num_book. Numele tabelului este dat de Sesiune.

Orez. 13. Tabelul sesiunii

După ce s-au făcut pașii, Fereastra serverului Explorer va afișa două tabele Student și Session.

Astfel, orice număr de tabele poate fi adăugat la baza de date.

7. Editarea structurii tabelelor.

Există momente când trebuie să modificați structura unui tabel de bază de date.

Pentru a face modificări la tabelele bazei de date în MS Visual Studio, mai întâi trebuie să debifați opțiunea „Prevenire salvarea modificărilor”. care necesită recrearea mesei” așa cum se arată în Figura 14. În caz contrar, MS Visual Studio va bloca modificările aduse tabelului creat anterior. Fereastra Opțiuni prezentată în Figura 14 este apelată din meniul Instrumente în următoarea secvență:

Tools -> Options -> Database Tools -> Table and Database Designers

Orez. 14. Opțiunea „ Preveniți salvarea modificărilor care necesită recrearea tabelului

După personalizare, puteți modifica structura tabelului. Pentru aceasta, se folosește comanda „Open Table Definition” (Figura 15) din meniul contextual, care este apelată pentru tabelul selectat (clic dreapta mouse-ului).

Orez. 15. Apelarea comenzii „Open Table Definition”.

Această comandă se află și în meniul Date:

Date -> Definiție tabel deschis

Tabelul trebuie mai întâi selectat.

8. Stabilirea legăturilor între tabele.

În conformitate cu starea problemei, tabelele sunt interconectate prin câmpul Num_book.

Pentru a crea o relație între tabele, trebuie mai întâi (Figura 16):

  • selectați obiectul Diagrama bazei de date;
  • selectați comanda Add New Diagram din meniul contextual (sau din meniul Date).

Orez. 16. Apelarea comenzii pentru a adăuga o nouă diagramă

Ca rezultat, se va deschide o fereastră pentru adăugarea unei noi diagrame Add Table (Figura 17). În această fereastră, trebuie să selectați două tabele Sesiune și Student în succesiune și faceți clic pe butonul Adăugare.

Orez. 17. Fereastra pentru adăugarea tabelelor la diagramă

Orez. 18. Tabelele Student și Session după adăugarea lor la diagramă

Pentru a începe să stabiliți o relație între tabele, trebuie să faceți clic pe câmpul Num_book din tabelul Student și apoi (fără a elibera butonul mouse-ului) să îl trageți în câmpul Num_book din tabelul Session.

Ca rezultat, două ferestre se vor deschide secvenţial: Tables and Columns (Fig. 19) şi Foreign Key Relationship (Fig. 20), în care trebuie să lăsaţi totul aşa cum este şi să confirmaţi alegerea cu OK.

În fereastra Tabele și coloane sunt setate numele relației (FK_Session_Student ) și numele tabelelor părinte (Student) și copil.

Orez. 19. Fereastra Tabele și Coloane

Orez. 20. Fereastra de proprietăți ale relației

După acțiunile efectuate se va stabili relația dintre tabele (Figura 21).

Orez. 21. Relația dintre tabele Student și Session

Salvarea unei diagrame se face exact în același mod ca și salvarea unui tabel. Numele diagramei trebuie ales la discreția dvs. (de exemplu, Diagrama 1).

După setarea numelui diagramei, se va deschide fereastra Salvare, în care trebuie să confirmați alegerea (Figura 22).

Orez. 22. Confirmarea salvării modificărilor în tabele

9. Introducerea datelor în tabele.

Sistem Microsoft Visual Studio vă permite să introduceți direct date în tabelele bazei de date.

În cazul nostru, la stabilirea unei conexiuni (Fig. 19), a fost selectat tabelul primar (Primary Key Table) Student. Prin urmare, mai întâi trebuie să introduceți date în celulele acestui tabel special. Dacă încercați să introduceți mai întâi date în tabelul de sesiune, sistemul va bloca o astfel de intrare cu ieșirea mesajului corespunzător.

Pentru a apela modul de introducere a datelor în tabelul Student, trebuie să apelați comanda Show Table Data din meniul contextual (clic dreapta) sau din meniul Date (Fig. 23).

Orez. 23. Comanda Afișare date tabel

Se va deschide o fereastră în care trebuie să introduceți datele de intrare (Fig. 24).

Orez. 24. Introducerea datelor în tabelul Student

După introducerea datelor în tabelul Student, trebuie să introduceți datele în tabelul Session.

Când introduceți date în câmpul Num_book din tabelul Session, trebuie să introduceți exact aceleași valori care sunt introduse în câmpul Num_book din tabelul Student (deoarece aceste câmpuri sunt legate).

De exemplu, dacă valorile introduse în câmpul Num_book din tabelul Student sunt “101”, “102”, “103” (vezi Fig. 24), atunci aceste valori ar trebui introduse în câmpul Num_book din tabelul Session. Dacă încercați să introduceți o altă valoare, sistemul va afișa aproximativ următoarea fereastră (Fig. 25).

Orez. 25. Tabelele legate de mesajele de eroare de introducere a datelor Student și Session

Tabelul de sesiuni cu datele introduse este prezentat în Figura 26.

Microsoft SQL Server 005 - Un exemplu de creare a unui fișier „*.mdf” al unei baze de date locale Microsoft SQL Server în Microsoft Visual Studio

Introducere

Acest articol deschide un mic ciclu dedicat elementelor de bază ale interacțiunii cu baze de date (DB) în Java și introducere în SQL . Multe programe sunt ocupate cu procesarea și modificarea informațiilor, păstrându-le la zi. Deoarece datele sunt o parte foarte importantă a logicii programului, pentru acestea este adesea alocată o stocare separată. Informațiile din acesta sunt structurate și supuse unor reguli speciale pentru a asigura prelucrarea și stocarea corectă. Datele sunt accesate și modificate folosind limbaj special interogări - SQL (Structured Query Language). Sistemul de gestionare a bazelor de date- acesta este un software care asigură interacțiunea diferitelor programe externe cu datele și servicii aditionale(înregistrare, recuperare, backupși altele asemenea), inclusiv prin SQL. Adică, un strat software între date și programele externe care lucrează cu acestea. În această parte, vom răspunde la întrebările ce este SQL, ce este SQL server și vom crea primul program pentru interacțiunea cu SGBD.

Tipuri de SGBD

Există mai multe tipuri de SGBD în funcție de metoda de organizare a stocării datelor:
  • Ierarhic. Datele sunt organizate într-o structură arborescentă. Exemplu - Sistemul de fișiere, care începe de la rădăcina discului și apoi crește cu ramuri de fișiere tipuri diferiteși dosare de diferite grade de imbricare.
  • Reţea. Modificare ierarhică, fiecare nod poate avea mai mult de un părinte.
  • Orientat pe obiecte. Datele sunt organizate sub formă de clase/obiecte cu atributele și principiile lor de interacțiune conform OOP.
  • Relațional. Datele acestui tip de SGBD sunt organizate în tabele. Tabelele pot fi legate între ele, informațiile din ele sunt structurate.
Într-o serie de articole, vom considera SGBD-urile relaționale (ca fiind cele mai comune) folosind exemplul H2 și vom crea o aplicație de la zero care emulează aparența unui schimb. Întrebare: De ce nu PostgreSQL, MySQL, MSSQL sau Oracle? Răspuns: Pentru a nu fi distras de instalarea unui set separat de programe. Personalizare suplimentară, crearea unei baze de date, complexitățile lucrului în diferite sisteme de operare, versiuni. Pentru a lucra cu H2, trebuie să efectuați un minim de acțiuni. Dar nimic nu împiedică schimbarea actualului H2 JDBC într-un SGBD relațional de la alt producător (se schimbă doar șirul de adresă a serverului și numele clasei de driver).

SQL

Programele externe formează interogări către SGBD în limbajul de gestionare a datelor Structured Query Language. Ce este SQL și prin ce diferă de limbajele obișnuite de programare? Una dintre caracteristicile SQL este declarativitatea. Acesta este, SQL este un limbaj declarativ. Aceasta înseamnă că atunci când introducem comenzi, adică când creăm interogări către serverul SQL, descriem exact ce vrem să obținem și nu în ce fel. Se trimite la server interogare SELECT* DE LA CLIENT (traducere aproximativă din SQL în rusă: „faceți o selecție din tabelul CLIENT, selecția constă din toate rândurile tabelului”), vom obține date pentru toți utilizatorii. Nu contează cum și de unde serverul descarcă și generează datele care ne interesează. Principalul lucru este să formulați corect cererea.
  • Ce este SQL Server și cum funcționează? Interacțiunea cu SGBD are loc pe bază de client-server. niste program extern trimite o cerere sub formă de operatori și comenzi în limbajul SQL, SGBD-ul o prelucrează și trimite un răspuns. Pentru simplitate, să presupunem că SQL Server = DBMS.
Dacă știi să conduci o mașină de pasageri de o singură marcă, cel mai probabil că nu ai probleme speciale te poți urca la volan și altele. Elementele de bază ale conducerii sunt aceleași peste tot, cu excepția micilor detalii. La fel și pentru serverele SQL diferiți producători- fiecare dintre ele are propria sa versiune de SQL, dar satisface standardele date (SQL92, SQL2003...). Vom folosi instrucțiunile și comenzile din SQL92. Principalele instrucțiuni SQL sunt împărțite în următoarele grupuri:
  • Limbajul de definire a datelor ( DDL) – definițiile datelor. Crearea structurii bazei de date și a obiectelor acesteia;
  • Limbajul de manipulare a datelor ( DML) - interacțiunea efectivă cu datele: inserare, ștergere, modificare și citire;
  • Limbajul de control al tranzacțiilor ( TCL) – managementul tranzacțiilor;
  • Limbajul de control al datelor ( DCL) – gestionarea drepturilor de acces la date și structurile bazelor de date.
Într-o serie de articole, vom lua în considerare primele trei grupuri, acordând o atenție deosebită DML.

JDBC

În anii 80 ai secolului trecut calculatoare personale precum PC XT/AT au cucerit piața. Acest lucru se datorează în mare parte modularității designului lor. Aceasta înseamnă că utilizatorul ar putea pur și simplu să schimbe unul sau altul parte constitutivă computerul dumneavoastră (procesor, placă video, discuri etc.). Această proprietate minunată s-a păstrat până în zilele noastre: schimbăm placa video și actualizăm driverul (uneori chiar se actualizează singur, în mod automat). Cel mai adesea, nimic rău nu se întâmplă cu astfel de manipulări și programe existente va continua să lucreze cu sistemul actualizat fără reinstalare. În mod similar, pentru lucrul în Java cu un SGBD. Pentru a standardiza munca cu serverele SQL, interacțiunea cu acesta poate fi realizată printr-un singur punct - JDBC (Conectivitate la baza de date Java). Este o implementare a pachetului java.sql pentru a lucra cu DBMS. Producătorii tuturor serverelor SQL populare lansează drivere JDBC pentru ei. Luați în considerare diagrama de mai jos. Aplicația folosește instanțe de clase din java.sql. Transmitem apoi comenzile necesare pentru a obține/modifica datele. Mai departe java.sql prin driver jdbc interacționează cu SGBD și ne returnează rezultatul final. Pentru a trece la DBMS-ul altui producător, este adesea suficient să schimbați JDBC și să îl executați setări de bază. Restul programului rămâne neschimbat.

Primul program

Să trecem la partea practică. Să creăm un proiect Java cu JetBrains IDE IntelliJ IDEA . observa asta Ultima ediție Edition conține un instrument minunat pentru lucrul cu SQL și baza de date - Data Grip. Cu toate acestea, este plătit pentru majoritatea utilizatorilor. Deci, în scopuri educaționale, rămâne să folosim publicul IntelliJ IDEA Community Edition. Deci: Acum ne putem conecta la DBMS și ne putem deconecta de la acesta. Fiecare pas este reflectat în consolă. Când vă conectați la SGBD pentru prima dată, este creat un fișier de bază de date bursa de valori.mv.db .

Analiza codului

De fapt cod: pachet sql. demonstrație; import java. sql. *; clasa publică StockExchangeDB( // Bloc de declarare constant public static final String DB_URL = „jdbc:h2:/c:/JavaPrj/SQLDemo/db/stockExchange”; public static final String DB_Driver = "org.h2.Driver" ; public static void main(String args)( try( Class.forName(DB_Driver) ; //Verificați prezența unui driver JDBC pentru a funcționa cu baza de date Conexiune de conectare = DriverManager. getConnection(DB_URL) ; //conexiune la baza de date System. afară. println ( „Conexiunea DBMS a reușit”.); conexiune. închide(); // se deconectează de la baza de date Sistem. afară. println ( „Deconectarea de la DBMS a fost finalizată”.); ) catch (ClassNotFoundException e) ( e. printStackTrace () ; // manipularea erorilor Class.forName Sistem. afară. println ( „Driverul JDBC pentru DBMS nu a fost găsit!”); ) catch (SQLException e) ( e. printStackTrace () ; // gestionarea erorilor DriverManager.getConnection Sistem. afară. println("Eroare SQL!"); ) ) )

Bloc de constante:

  1. DB_Driver: Aici am definit Nume driver, care poate fi găsit, de exemplu, făcând clic pe biblioteca inclusă și extinzându-i structura în directorul lib al proiectului curent.
  2. DB_URL: Adresa bazei noastre de date. Constă din date separate de două puncte:
  3. Protocol=jdbc
  4. Furnizor (producător/nume) DBMS=h2
  5. Locația SGBD, în cazul nostru calea către fișier (c:/JavaPrj/SQLDemo/db/stockExchange). Pentru DBMS de rețea, aici sunt indicate suplimentar numele sau adresele IP servere la distanță, numerele portului TCP/UDP și așa mai departe.

Eroare la procesare:

Metodele de apelare din codul nostru pot returna erori la care ar trebui să fii atent. Pe această etapă doar informăm despre ele în consolă. Rețineți că erorile atunci când lucrați cu un SGBD sunt cele mai des SQLException.

Logica de lucru:

  1. Class.forName(DB_Driver) - asigurați-vă că este prezent driverul JDBC corespunzător (pe care l-am descărcat și instalat mai devreme).
  2. DriverManager.getConnection(DB_URL) – stabiliți o conexiune DBMS. Pe baza adresei transmise, JDBC va determina tipul și locația DBMS-ului nostru și va returna o conexiune pe care o putem folosi pentru a comunica cu baza de date.
  3. connection.close()– închideți conexiunea la DBMS și părăsiți programul.
În următoarea parte a ciclului, ne vom familiariza cu instrucțiunile DDL și tipurile de date SQL, precum și vom crea structura inițială a bazei de date și o vom completa cu tabele.

Tipul de limbaj folosit într-un anumit SGBD este numit dialectSQL. De exemplu, se numește dialectul Oracle DBMS PL/ SQL; dialectul este folosit în MSSQL Server și DB2 Tranzac- SQL; în Interbase și Firebird– isql. Fiecare dialect al SQL este compatibil într-o anumită măsură cu standardul SQL, dar poate avea diferențe și extensii de limbaj specifice, așa că pentru a afla sintaxa unui anumit operator SQL, ar trebui să vă uitați mai întâi la Ajutor SGBD specific.

Pentru operațiunile pe baze de date și tabele, standardul sql oferă operatori:

Următoarea este sintaxa SQL92 pentru aceste instrucțiuni. Deoarece sintaxa lor în SGBD poate diferi de standard, este recomandat să vă referiți la sistemul de ajutor SGBD în timpul laboratorului.

Numele obiectelor bazei de date (tabele, coloane etc.) pot consta din caractere alfanumerice și caracterul de subliniere. Caracterele speciale (@$# etc.) indică de obicei un tip special de tabel (sistem, temporar etc.). Nu este recomandat să folosiți simboluri naționale (rusești), spații și cuvinte rezervate în nume, dar dacă sunt folosite, atunci astfel de nume trebuie scrise între ghilimele „..” sau în paranteza patrata [..].

Mai departe, la descrierea construcțiilor de instrucțiuni SQL, se va folosi următoarea notație: părțile opționale ale construcției sunt scrise între paranteze drepte; desenele alternative sunt separate printr-o bară verticală | ; bretele () marchează blocuri logice de construcție; elipsă indică faptul că partea anterioară a construcției poate fi repetată de mai multe ori. Construcțiile „extinse” sunt scrise între paranteze unghiulare< >.

Crearea bazei de date

CREAȚI BAZĂ DE DATE numele bazei de date

Eliminarea uneia sau mai multor baze de date

DROP BAZA DE DATE numele bazei de date[,numele bazei de date…]

Declararea bazei de date curente

UTILIZARE Numele bazei de date --în SQL Server și MySQL

SETARE BAZĂ DE DATE Nume_ bazele_ date - în firebird

Creați un tabel

CREAȚI TABEL nume_tabel (

<описание_столбца> [, <descriere_coloană> |

<constrângere de integritate_tabel>…]

< descriere_coloană>

Nume_coloană TIP DE

(NO ACTION|CASCADE|SET DEFAULT|SET NULL)]

TIP DE Coloana poate fi fie un tip de date standard (vezi Tabelul 1), fie un nume de domeniu (vezi 6.2).

Unele SGBD vă permit să creați coloane calculate (calculate coloane). Acestea sunt coloane virtuale, a căror valoare nu este stocată în memoria fizică, ci este calculată de serverul DBMS de fiecare dată când această coloană este accesată conform formulei specificate la declararea acestei coloane. Formula poate include valorile altor coloane din acest rând, constante, funcții încorporate și variabile globale.

Descrierea unei coloane calculate în SQL Server este:

<описание_столбца> Nume_coloană LA FEL DE expresie

Descrierea coloanei calculate în pasăre de foc se pare ca:

<описание_столбца> Nume_coloană CALCULAT DE<expresie>

MySQL 3.23 nu acceptă coloane calculate.

< >

CONSTRÂNGERE nume_constrângere_integritate

(UNIQUE|CHEIE PRIMARĂ)( lista_de_coloane_formând_cheia)

| CHEIE STRĂINĂ ( listă_ coloane_FK)

REFERINȚE nume_tabel(listă_coloană_PK)

(NO ACTION|CASCADE|SET DEFAULT|SET NULL)]

(NO ACTION|CASCADE|SET DEFAULT|SET NULL)]

|VERIFICARE( stare_test)

Unele SGBD-uri permit declararea tabelelor temporare (existente doar în timpul sesiunii). În SQL Server, numele tabelelor temporare trebuie să înceapă cu # (tabelele temporare locale, vizibile numai pentru utilizatorul care le-a creat) sau ## (tabelele globale, vizibile pentru toți utilizatorii); MySQL folosește cuvântul cheie TEMPORARY pentru a crea tabele temporare, de exemplu:

CREATEMPORARMASA… (Consultați CREATE TABLE pentru sintaxă).

Modificarea structurii unui tabel

Folosit pentru a schimba tipul de coloană al tabelelor existente, pentru a adăuga și elimina coloane și constrângeri de integritate.

ALTER TABLE nume_tabel

Modificarea tipului unei coloane (în SQL Server și Firebird)

ALTER COLONA Nume_coloană tip nou

Modificarea tipului, numelui și constrângerilor unei coloane (în MySQL)

SCHIMBA COLONA Nume_coloană <descriere_coloană>

Adăugarea unei coloane obișnuite sau calculate

|ADĂUGAȚI<descriere_coloană>

Adăugarea unei constrângeri de integritate

| ADĂUGA

<constrângere de integritate_tabelă>

Ștergerea unei coloane

|COLOANĂ PIDURI Nume_coloană

Eliminarea unei constrângeri de integritate

| CONSTRINGERE DE CĂDARE nume_constrângere_integritate

Activați sau dezactivați verificarea constrângerii de integritate

în MSSQLServer

|(VERIFICARE|NU VERIFICARE) CONSTRINGERE

{Lista de nume_constrângeri_integritate|TOATE)

Ștergerea unui tabel

DROP TABLE nume_tabel



În continuare, luați în considerare cum să declarați constrângeri de integritate declarativă atunci când creați tabele noi cu comanda CREATETABLE sau modificați structura tabelelor existente cu comanda ALTERTABLE (acestea sunt descrise mai detaliat în secțiunea 4.2).

1. Disponibilitatea obligatorie a datelor (valori NULL)

Este declarat prin cuvântul NULL (coloana poate avea celule goale) sau NOT NULL (este necesară coloana). Valoarea implicită este NULL.

Exemplu de creare a tabelului 7:

CREAMASA Clienti(

Numele clientului NVARCHAR(60) NU NUL,

Data de nastere DATA NUL,

Telefon CHAR(12)); -- de asemenea, NULL în mod implicit

2. Valoare implicită (MOD IMPLICIT)

Puteți seta o valoare implicită pentru fiecare coloană a tabelului. Dacă nu este specificată nicio valoare nouă atunci când o celulă este modificată, serverul introduce o valoare implicită. Valoarea implicită poate fi NULL, o constantă, o expresie calculată sau o funcție de sistem.

Luați în considerare un exemplu de creare a unui tabel Comenzi(Comenzi). Coloană Data comandă implicit la data curentă și coloana Cantitate(număr) este implicit 0.

CREAȚI TABEL Comenzi(

OrderNum INT NU NUL, -- Număr de ordine

Data comandă DATETIME NU NUL-- Data comandă

MOD IMPLICIT GetDate(),

Funcția GetDate() returnează data curentă 8

Cantitate SMALLINT NU NUL-- numărul de mărfuri, MOD IMPLICIT 0);

3. Declarația cheilor primare (CHEIA PRINCIPALA)

O cheie primară simplă este declarată ca PRIMARYKEY atunci când este creat un tabel. De exemplu,

CREAMASA Personal( -- tabelul „Angajați”

TabNum INTPRIMARcheie, -- cheia principala

Wnume NVARCHAR(40) NUNUL, -- NUMELE COMPLET

... -- descrierea altor coloane);

O cheie primară compusă este declarată diferit:

-- metoda 1 (adPKla crearea unui tabel)

CREAȚI TABEL Clienti(

PassSeria NUMERIC(4,0)NU NUL,-- serie pasapoarte

PasNumber NUMERIC(6,0)NU NUL,-- cameră pasapoarte

Nume NVARCHAR(40)NU NUL,

Telefon CHAR(12),

-- declarația cheii primare compuse

CONSTRÂNGERE Clienti_PK

PRIMAR cheie(PasSeria,PasNumber));

-- calea 2(PKdeclarat după crearea tabelului)

-- mai întâi creați un tabel fărăPK

CREA MASA Clienti(

PassSeria NUMERIC(4,0)NU NUL,--serie pasapoarte

PasNumber NUMERIC(6,0)NU NUL,--cameră pasapoarte

Numele clientului NVARCHAR(40)NU NUL,

Telefon CHAR(12));

-- modificare Meseadăuga RK

MODIFICA MASA Clienții

ADĂUGA CONSTRÂNGERE Clienti_PK

PRIMAR cheie(PasSeria,PasNumber);

4. Unicitatea coloanelor (UNIC)

Ca Primar cheie specifică faptul că o coloană sau un grup de coloane nu poate conține valori duplicate, dar nu este PK. Toate coloanele declarate ca UNIQUE trebuie să fie NOTNULL. Un exemplu de declarare a unei coloane unice simple:

CREAȚI TABEL elevi(

SCCod INT PRIMAR cheie, -- surogat RC

FIO NVARCHAR(40) NU NUL, -- NUMELE COMPLET

Cartea Recordurilor CHAR(6) NU NUL UNIC); -- Numar record

Un exemplu de declarare a unui câmp unic compus:

CREA MASA Personal(-- masa " Angajatii"

TabNum INT CHEIE PRIMARĂ, -- personal cameră

Wnume NVARCHAR(40) NU NUL, -- Numele complet

PassSeria NUMERIC(4,0) NU NUL, -- serie pasapoarte

PasNumber NUMERIC(6,0) NU NUL, -- cameră pasapoarte

-- anunț compozit unic câmpuri

CONSTRÂNGERE Staff_UNQ UNIC(PasSeria,PasNumber));

5. Restricții pe valorile coloană (VERIFICA)

Această constrângere vă permite să specificați un interval, o listă sau o „mască” de valori de coloană valide logic.

Exemplu de creare a unui tabel Muncitorii(Angajați):

CREAMASA Muncitorii(

-- numere de personal din 4 cifre

TabNum INT CHEIE PRIMARĂ

VERIFICA(TabNum ÎNTRE 1000 ȘI 9999),

Nume VARCHAR(60) NU NUL, -- Numele complet angajat

-- podeascrisoare " m" sau " și"

Gentry CHAR(1) NU NUL

VERIFICA(Gentry ÎN("m","f")),

Vârsta de cel puțin 14 ani

Vârstă SMALLINT NU NUL VERIFICA(vârsta>=14),

--Nr certificat de asigurare de pensie (cu masca)

PensionCert CHAR(14)

VERIFICA(Pensiune Sert CA ""));

Acest exemplu prezintă diferite tipuri de verificări. Intervalul de valori valide este indicat de constructul BETWEEN...AND; conditii normale (ca pentru coloana Vârstă) utilizați semne de comparație =,<>, >, >=, <, <=, связанные при необходимости логическими операциямиAND,OR,NOT(например,Vârstă>=14ȘI Vârstă<=70); для указания списка допустимых значений используется предикатINи его отрицаниеNOTIN; конструкция

CA masca_valoare_validă CU EXCEPTIA lista_de_excluderi

este utilizat pentru a seta masca valorilor valide ale coloanei șir. Masca folosește două caractere speciale: "%" - un subșir arbitrar și "_" - orice caracter unic. Construcția EXCEPT este opțională.

În condiția de selecție VERIFICARE, pot fi comparate valorile a două coloane ale aceluiași tabel și a coloanelor din tabele diferite.

Fiecare dintre noi întâlnește și folosește în mod regulat diverse baze de date. Când selectăm o adresă de e-mail, lucrăm cu o bază de date. Bazele de date folosesc servicii de căutare, bănci pentru a stoca datele clienților și așa mai departe.

Dar, în ciuda utilizării constante a bazelor de date, chiar și pentru mulți dezvoltatori de sisteme software există multe „puncte albe” din cauza interpretărilor diferite ale acelorași termeni. Vom oferi o scurtă definiție a termenilor de bază ale bazei de date înainte de a analiza limbajul SQL. Asa de.

Bază de date - un fișier sau un set de fișiere pentru stocarea structurilor ordonate de date și a relațiilor lor. Foarte des, o bază de date se numește sistem de management - este doar un depozit de informații într-un anumit format și poate funcționa cu diverse DBMS.

Masa - Să ne imaginăm un folder care stochează documente grupate după un anumit atribut, de exemplu, o listă de comenzi pentru ultima lună. Acesta este tabelul din computer. Un tabel separat are propriul nume unic.

Tip de date - tipul de informații care pot fi stocate într-o anumită coloană sau rând. Pot fi numere sau text de un anumit format.

Coloană și rând- toți am lucrat cu foi de calcul care au și rânduri și coloane. Orice bază de date relațională funcționează cu tabele în același mod. Rândurile sunt uneori numite înregistrări.

cheia principala- fiecare rând de tabel poate avea una sau mai multe coloane pentru a-l identifica în mod unic. Fără o cheie primară, este foarte dificil să actualizați, să modificați și să ștergeți rândurile dorite.

Ce este SQL?

SQL(Engleză - limbaj de interogare structurat) a fost dezvoltat doar pentru lucrul cu baze de date și este în prezent standardul pentru toate DBMS populare. Sintaxa limbajului constă dintr-un număr mic de operatori și este ușor de învățat. Dar, în ciuda simplității externe, permite crearea de interogări sql pentru operații complexe cu o bază de date de orice dimensiune.

Din 1992 a existat un standard general acceptat numit ANSI SQL. Definește sintaxa și funcțiile de bază ale operatorilor și este susținut de toți liderii de piață DBMS, cum ar fi ORACLE. Este imposibil să acoperim toate posibilitățile limbajului într-un articol mic, așa că vom lua în considerare pe scurt doar interogările SQL de bază. Exemplele arată clar simplitatea și posibilitățile limbajului:

  • crearea de baze de date și tabele;
  • eșantionarea datelor;
  • adăugarea înregistrărilor;
  • modificarea și ștergerea informațiilor.

Tipuri de date SQL

Toate coloanele dintr-un tabel de bază de date stochează același tip de date. Tipurile de date din SQL sunt aceleași ca și în alte limbaje de programare.

Crearea de tabele și baze de date

Există două moduri de a crea baze de date noi, tabele și alte interogări în SQL:

  • Instrucțiuni SQL prin consola DBMS
  • Utilizarea instrumentelor de administrare interactive incluse cu serverul de baze de date.

O nouă bază de date este creată de către operator CREAȚI BAZĂ DE DATE<наименование базы данных>; . După cum puteți vedea, sintaxa este simplă și concisă.

Creăm tabele în baza de date folosind instrucțiunea CREATE TABLE cu următorii parametri:

  • numele tabelului
  • numele coloanelor și tipurile de date

De exemplu, să creăm un tabel de mărfuri cu următoarele coloane:

Cream un tabel:

CREATE TABLE Marfa

(commodity_id CHAR(15) NOT NULL,

vendor_id CHAR(15) NOT NULL,

nume_marfă CHAR(254) NULL,

preț_marfă DECIMAL(8,2) NULL,

commodity_desc VARCHAR(1000) NULL);

Tabelul are cinci coloane. După numele vine tipul de date, coloanele sunt separate prin virgule. Valoarea unei coloane poate fi goală (NULL) sau trebuie completată (NOT NULL), iar aceasta este determinată în momentul creării tabelului.

Selectarea datelor dintr-un tabel

Operatorul de selecție a datelor este cea mai frecvent utilizată interogare SQL. Pentru a obține informații, trebuie să specificați ce vrem să alegem dintr-un astfel de tabel. Mai întâi un exemplu simplu:

SELECTAȚI nume_marfă FROM Mărfuri

După instrucțiunea SELECT, specificăm numele coloanei pentru obținerea informațiilor, iar FROM definește tabelul.

Rezultatul executării interogării va fi toate rândurile de tabel cu valori Commodity_name în ordinea în care au fost introduse în baza de date, adică. fără nicio sortare. O clauză ORDER BY suplimentară este folosită pentru a ordona rezultatul.

Pentru a interoga pe mai multe câmpuri, enumerați-le separate prin virgule, ca în exemplul următor:

SELECTAȚI ID-ul mărfii, numele_marfei, prețul_marfei FROM Mărfuri

Este posibil să obțineți valoarea tuturor coloanelor dintr-un rând ca rezultat al interogării. Pentru aceasta, se folosește semnul „*”:

SELECTAȚI * DIN MARFĂ

  • În plus, SELECT acceptă:
  • Sortarea datelor (instrucțiunea ORDER BY)
  • Selectați în funcție de condiții (UNDE)
  • Termen de grupare (GROUP BY)

Adăugarea unei linii

Pentru a adăuga un rând la un tabel, sunt folosite interogări SQL cu instrucțiunea INSERT. Adăugarea se poate face în trei moduri:

  • adăugați o nouă linie întreagă;
  • parte dintr-un șir;
  • rezultatele interogării.

Pentru a adăuga un rând complet, trebuie să specificați numele tabelului și valorile coloanelor (câmpurilor) noului rând. Iată un exemplu:

INSERT INTO Commodity VALUES ("106", "50", "Coca-Cola", "1,68", "Fără alcool ,)

Exemplul adaugă un produs nou la tabel. Valorile sunt specificate după VALUES pentru fiecare coloană. Dacă nu există o valoare corespunzătoare pentru coloană, atunci trebuie specificat NULL. Coloanele sunt populate cu valori în ordinea specificată la crearea tabelului.

Dacă adăugați doar o parte dintr-un rând, trebuie să specificați în mod explicit numele coloanelor, ca în exemplu:

INSERT INTO Commodity (commodity_id, vendor_id, commodity_name)

VALUES ("106 ", '50", "Coca Cola",)

Am introdus doar identificatorii produsului, furnizorul și numele acestuia, iar restul câmpurilor am lăsat goale.

Adăugarea rezultatelor interogării

INSERT este folosit în primul rând pentru a adăuga rânduri, dar poate fi folosit și pentru a adăuga rezultatele unei instrucțiuni SELECT.

Schimbați datele

Pentru a modifica informațiile din câmpurile unui tabel de bază de date, trebuie să utilizați instrucțiunea UPDATE. Operatorul poate fi utilizat în două moduri:

  • Toate rândurile din tabel sunt actualizate.
  • Doar pentru o anumită linie.

UPDATE constă din trei elemente principale:

  • tabelul în care este necesar să se facă modificări;
  • numele câmpurilor și noile lor valori;
  • condițiile de selectare a rândurilor de schimbat.

Luați în considerare un exemplu. Să presupunem că prețul unui produs cu ID=106 s-a modificat, așa că acest rând trebuie actualizat. Scriem următorul operator:

UPDATE Mărfuri SET pretul_marfă = "3.2" WHERE id_marfă = "106"

Am specificat numele tabelului, în cazul nostru Marfă, unde se va efectua actualizarea, apoi după SET - noua valoare a coloanei și am găsit înregistrarea dorită prin specificarea valorii ID dorite în WHERE.

Pentru a modifica mai multe coloane, specificați mai multe perechi coloană-valoare separate prin virgule după instrucțiunea SET. Să ne uităm la un exemplu în care numele și prețul produsului sunt actualizate:

UPDATE Commodity SET commodity_name='Fanta', commodity_price = "3.2" WHERE commodity_id = "106"

Pentru a șterge informații dintr-o coloană, o puteți seta la NULL dacă structura tabelului o permite. Trebuie amintit că NULL este exact „nicio” valoare și nu zero sub formă de text sau număr. Eliminați descrierea produsului:

UPDATE Commodity SET commodity_desc = NULL WHERE commodity_id = "106"

Eliminarea rândurilor

Interogările SQL pentru ștergerea rândurilor dintr-un tabel sunt executate cu instrucțiunea DELETE. Există două cazuri de utilizare:

  • anumite rânduri din tabel sunt șterse;
  • toate rândurile din tabel sunt șterse.

Un exemplu de ștergere a unui rând dintr-un tabel:

DELETE FROM Commodity WHERE commodity_id = „106”

Dupa DELETE FROM specificam numele tabelului in care se vor sterge randurile. Clauza WHERE conține o condiție prin care rândurile vor fi selectate pentru ștergere. În exemplu, ștergem linia de produse cu ID=106. Specificarea UNDE este foarte importantă. omiterea acestei declarații va șterge toate rândurile din tabel. Acest lucru este valabil și pentru modificarea valorii câmpurilor.

Instrucțiunea DELETE nu specifică numele coloanelor sau metacaracterele. Îndepărtează complet rândurile, dar nu poate elimina o singură coloană.

Utilizarea SQL în Microsoft Access

Folosit de obicei interactiv pentru a crea tabele, baze de date, pentru a gestiona, modifica, analiza date din baza de date și pentru a implementa interogări SQL Access printr-un designer de interogări interactiv convenabil (Query Designer), folosind care puteți construi și executa imediat instrucțiuni SQL de orice complexitate.

Este acceptat și modul de acces la server, în care Access DBMS poate fi folosit ca generator de interogări SQL către orice sursă de date ODBC. Această capacitate permite aplicațiilor Access să interacționeze cu orice format.

Extensii SQL

Deoarece interogările SQL nu au toate caracteristicile limbajelor de programare procedurale, cum ar fi bucle, ramuri etc., furnizorii de SGBD dezvoltă propria versiune de SQL cu caracteristici avansate. În primul rând, acesta este suport pentru procedurile stocate și operatorii standard ai limbajelor procedurale.

Cele mai comune dialecte ale limbii:

  • Baza de date Oracle - PL/SQL
  • Interbase, Firebird - PSQL
  • Microsoft SQL Server - Transact-SQL
  • PostgreSQL - PL/pgSQL.

SQL pe web

SGBD-ul MySQL este distribuit sub Licența Publică Generală GNU. Există o licență comercială cu capacitatea de a dezvolta module personalizate. Ca parte integrantă, este inclus în cele mai populare ansambluri de servere de Internet, precum XAMPP, WAMP și LAMP, și este cel mai popular DBMS pentru dezvoltarea aplicațiilor pe Internet.

A fost dezvoltat de Sun Microsystems și este întreținut în prezent de Oracle Corporation. Suportă baze de date de până la 64 de terabytes, standard de sintaxă SQL:2003, replicare a bazelor de date și servicii cloud.

Adnotare: Definește procesul de creare a unei baze de date. Sunt descriși operatorii pentru crearea și modificarea bazei de date. Se are în vedere posibilitatea de a specifica un nume de fișier sau mai multe fișiere pentru stocarea datelor, dimensiunilor și locațiilor fișierelor. Sunt analizați operatorii pentru crearea, modificarea și ștergerea tabelelor de utilizatori. Oferă o descriere a opțiunilor pentru declararea coloanelor din tabel. Sunt prezentate conceptul și caracteristicile indicilor. Sunt luați în considerare operatorii pentru crearea și modificarea indecșilor. Se determină rolul indicilor în creșterea eficienței executării instrucțiunilor SQL.

Bază de date

Crearea bazei de date

În diferite SGBD, procedura de creare a bazelor de date este de obicei atribuită numai administratorului bazei de date. În sistemele cu un singur utilizator, baza de date implicită poate fi formată direct în timpul instalării și configurării DBMS-ului propriu-zis. Standardul SQL nu definește modul în care ar trebui create bazele de date, astfel încât fiecare dialect al limbajului SQL adoptă de obicei o abordare diferită. Conform standardului SQL, tabele și alte obiecte de bază de date există în anumite medii. Printre altele, fiecare mediu constă dintr-unul sau mai multe directoare, iar fiecare director constă dintr-un set de scheme. O schemă este o colecție numită de obiecte de bază de date care sunt legate între ele într-un fel (toate obiectele dintr-o bază de date trebuie descrise într-o schemă). Obiectele schema pot fi tabele, vederi, domenii, aserțiuni, mapări, interpretări și seturi de caractere. Toate au același proprietar și multe valori implicite comune.

Standardul SQL lasă dezvoltatorilor DBMS liber să aleagă un mecanism specific pentru crearea și distrugerea directoarelor, dar mecanismul de creare și ștergere a schemelor este reglementat de instrucțiunile CREATE SCHEMA și DROP SCHEMA. Standardul mai precizează că în cadrul unei instrucțiuni de creare a schemei ar trebui să fie posibilă definirea gamei de privilegii disponibile pentru utilizatorii schemei create. Cu toate acestea, modul exact în care sunt definite astfel de privilegii variază de la DBMS la DBMS.

În prezent, instrucțiunile CREATE SCHEMA și DROP SCHEMA sunt implementate în foarte puține SGBD. Alte implementări, cum ar fi MS SQL Server, utilizează instrucțiunea CREATE DATABASE.

Crearea unei baze de date în MS SQL Server

Procesul de creare a unei baze de date în sistemul SQL server constă din două etape: mai întâi, baza de date în sine este organizată, iar apoi baza de date care îi aparține Jurnal de tranzacții. Informațiile sunt plasate în fișierele corespunzătoare cu extensii *.mdf (pentru baze de date) și *.ldf. (pentru Jurnal de tranzacții). Fișierul bazei de date înregistrează informații despre obiectele principale (tabele, indecși, vizualizări etc.) și despre fișier Jurnal de tranzacții– despre procesul de lucru cu tranzacțiile (controlul integrității datelor, starea bazei de date înainte și după tranzacții).

Crearea unei baze de date în sistemul SQL server se realizează prin comanda CREATE DATABASE. Trebuie remarcat faptul că procedura de creare a unei baze de date în SQL Server necesită drepturi de administrator de server.

<определение_базы_данных>::= CREATE DATABASE database_name [<определение_файла>[,...n] ] [,<определение_группы>[,...n] ] ] [ LOG ON (<определение_файла>[,...n] ) ] [ PENTRU ÎNCĂRCARE | pentru atașare]

Luați în considerare principalii parametri ai operatorului prezentat.

Atunci când alegeți un nume de bază de date, ar trebui să vă ghidați după regulile generale pentru denumirea obiectelor. Dacă numele bazei de date conține spații sau orice alte caractere nevalide, acesta este cuprins între delimitatori (ghilimele duble sau paranteze pătrate). Numele bazei de date trebuie să fie unic în cadrul serverului și nu poate depăși 128 de caractere.

Când creați și modificați o bază de date, puteți specifica numele fișierului care va fi creat pentru aceasta, puteți modifica numele, calea și dimensiunea inițială a acestui fișier. Dacă în procesul de utilizare a bazei de date este planificată plasarea acesteia pe mai multe discuri, atunci puteți crea așa-numitele fișiere de bază de date secundare cu extensia *.ndf. În acest caz, informațiile principale despre baza de date se află în fișierul primar (PRIMARY), iar dacă nu există suficient spațiu liber pentru acesta, informațiile adăugate vor fi plasate în fișierul secundar. Abordarea utilizată în SQL Server permite ca conținutul unei baze de date să fie răspândit pe mai multe volume de disc.

Opțiunea ON specifică o listă de fișiere de pe disc pentru a găzdui informațiile stocate în baza de date.

Parametrul PRIMARY specifică fișierul primar. Dacă este omis, atunci primul fișier din listă este fișierul principal.

Opțiunea LOG ON specifică lista fișierelor de pe disc care urmează să fie plasate Jurnal de tranzacții. Nume fișier pentru Jurnal de tranzacții generat din numele bazei de date și adăugat la sfârșit cu caractere _log.

Când creați o bază de date, puteți defini un set de fișiere din care va consta. Fișierul este definit cu următorul construct:

<определение_файла>::= ([ NAME=nume_logic_fișier,] FILENAME="nume_fișier_fizic" [,SIZE=dimensiune_fișier ] [,MAXSIZE=(dimensiune_max_fișier |NELIMITATĂ ) ] [, FILEGROWTH=cantitate_de_creștere])[,...n]

Aici nume de fișier logic este numele fișierului după care va fi recunoscut la executarea diverselor comenzi SQL.

Numele fizic al fișierului este destinat să indice calea completă și numele fișierului fizic corespunzător care urmează să fie creat pe hard disk. Acest nume va rămâne în spatele fișierului la nivel de sistem de operare.

Parametrul SIZE specifică dimensiunea inițială a fișierului; dimensiunea minimă a parametrului este de 512 KB, dacă nu este specificat, valoarea implicită este de 1 MB.

Parametrul MAXSIZE specifică dimensiunea maximă a fișierului bazei de date. Când este setată la NELIMITAT, dimensiunea maximă a bazei de date este limitată de spațiul liber pe disc.

Când creați o bază de date, puteți activa sau dezactiva creșterea automată a dimensiunii acesteia (aceasta este determinată de parametrul FILEGROWTH) și să specificați creșterea folosind o valoare absolută în MB sau un procent. Valoarea poate fi specificată în kilobytes, megabytes, gigabytes, terabytes sau procente (%). Dacă este specificat un număr fără sufixul MB, KB sau %, valoarea implicită este MB. Dacă dimensiunea pasului de creștere este specificată ca procent (%), dimensiunea este mărită cu procentul specificat din dimensiunea fișierului. Dimensiunea specificată este rotunjită la cel mai apropiat 64 KB.

Pot fi incluse fișiere suplimentare în grup:

<определение_группы>::=FILEGROUP nume_grup_fișier<определение_файла>[,...n]

Exemplul 3.1. Creați o bază de date și, pentru date, definiți trei fișiere pe unitatea C, pentru Jurnal de tranzacții- două fișiere pe unitatea C.

CREAȚI ARCHIVĂ BAZĂ DE DATE ÎN PRIMAR (NAME=Arch1, FILENAME='c:\user\data\archdat1.mdf', SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Arch2, FILENAME='c:\user \data\archdat2.mdf', SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Arch3, FILENAME='c:\user\data\archdat3.mdf', SIZE=100MB, MAXSIZE=200, FILEGROWTH =20) LOG ON (NUME=Archlog1, FILENAME='c:\user\data\archlog1.ldf', SIZE=100MB, MAXSIZE=200, FILEGROWTH=20), (NAME=Archlog2, FILENAME='c:\user \data\archlog2.ldf', SIZE=100MB, MAXSIZE=200, FILEGROWTH=20) Exemplul 3.1. Crearea bazei de date.

  • Serghei Savenkov

    un fel de recenzie „rare”... parcă s-ar grăbi undeva