0% au considerat acest document util (0 voturi)
22 vizualizări29 pagini

Curs2 SQL

Încărcat de

Adrian Paraschiv
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
22 vizualizări29 pagini

Curs2 SQL

Încărcat de

Adrian Paraschiv
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

Sorin Grecu

[Link]
De la specificatii

la o baza de date SQL Server


Agenda

1 Specificatii
2 Mediul de lucru
3 Baza de date
4 Performanta
5 Link-uri utile
6 Q&A
1 Specificatii
2 Mediul de lucru
2 Mediul de lucru

• Limbajul T-SQL

• Tipuri de date

• Notiuni

• Reguli

• IDE-uri
2 Mediul de lucru Limbajul T-SQL

• T-SQL = Transact SQL = implementarea Microsoft a SQL Standard.


• Este limbajul cu care aplicatiile interactioneaza cu SQL DB Engine.
• Contine:
• comenzi (DECLARE, SELECT, CREATE),
• variabile (@NumberOfRecords),
• elemente de control de flux (CASE, IF, WHILE),
• elemente de limbaj (NULL, --, /* */)
• operatori (aritmetici, logici, de comparare, de asignare)
• Nu este case-sensitive - nici pentru comenzi, nici pentru denumirile
variabilelor sau a tabelelor (SELECT vs select vs Select)
2 Mediul de lucru Tipuri de date

• Numerice
• Exacte (bit, decimal, numeric, int, smallint, bigint, money, smallmoney,
tinyint)
• Aproximative (float, real)
• Data si timp (date, time, datetime, datetime2, smalldatetime, datetimeoffset)
• String (char, varchar, nchar, nvarchar)
• Binare (binary, varbinary)
• Altele (timestamp, hierarchyid, uniqueidentifier, xml, table)
2 Mediul de lucru Notiuni

• Tabela = o colectie de inregistrari organizate pe coloane.


• Primary Key (PK) = o coloana care contine valori nenule, unice. Serveste la
identificarea in mod unic a fiecarui rand din tabela.
• Index = o structura asociata cu o tabela care permite regasirea rapida a
inregistrarilor.
• Foreign Key (FK) = o relatie intre doua tabele. Asociaza randuri dintr-o tabela
cu randuri din alta tabela. Este o constrangere persistenta.
• Join = o alaturare de tabele bazata pe o relatie logica intre ele.
2 Mediul de lucru Notiuni

• Relatii = tipuri de legaturi intre tabele. Pot fi:


• 1 : 1 – one-to-one
• 1 : n – one-to-many
• n : m – many-to-many
• Normalizare = metoda formala de identificare a atributelor unice ale entitatilor
unei baze de date si organizarea tabelelor astfel incat sa nu existe informatii
redundante.
• Tranzactie = operatie sau grup de operatii care se efectueaza impreuna.
2 Mediul de lucru Notiuni

• CRUD = acronim privind operatiile asupra unei tabele


• C = Create = INSERT
• R = Retrieve = SELECT
• U = Update = UPDATE
• D = Delete = DELETE

Cele patru operatii fundamentale in lucrul cu bazele de date.


2 Mediul de lucru Notiuni

• ACID = acronim privind caracteristicile unei tranzactii


• A = atomic – totul sau nimic
• C = consistent – starea bazei de date inainte si dupa tranzactie.
• I = izolat – fiecare tranzactie se executa izolat de celelalte
• D = durabil – modificarile effectuate de tranzactie sunt persistate in baza
de date
2 Mediul de lucru Reguli

• Toate comenzile T-SQL incep cu un cuvant cheie.

DECLARE @NumardeInregistrari INT

SET @NumardeInregistrari = 0

@NumardeInregistrari = 0

Must declare the scalar variable "@NumardeInregistrari".

Incorrect syntax near '@NumardeInregistrari'.


2 Mediul de lucru Reguli

• Delimitatorul pentru stringuri este apostroful ’’

DECLARE @DenumireCurs VARCHAR(100) = 'Programarea


orientata pe obiecte'
2 Mediul de lucru Reguli

• Comenzile pot fi scrise pe mai multe randuri

SELECT [MaterieId]
,[Denumire]
,[Prescurtare]
,[Detalii]
FROM [Materie]

DECLARE @DenumireCurs VARCHAR(100) = 'Programarea


orientata pe obiecte'
2 Mediul de lucru Reguli

• Obiectele pot fi referite folosind notatia cu 4 elemente

SELECT [MaterieId]
,[Denumire]
,[Prescurtare]
,[Detalii]
FROM [ESSENSYS-CURS].[UPBOrar].[dbo].[Materie]

• ESSENSYS-CURS = serverul SQL


• UPBOrar = baza de date
• dbo = schema
• Materie = tabela
2 Mediul de lucru IDE-uri

• SQL Server Management Studio (SSMS)


• Object Explorer
• Query Window
• SQL Server Profiler

• Visual Studio 2017


• Server Explorer
• Query Window
• Data and Schema Compare

Intellisense, syntax checking, debugger, execution plan


3 Baza de date

DEMO
4 Performanta
4 Performanta
4 Performanta
4 Performanta

Simptome ale unei probleme de performanță:

 aplicațiile merg greu

 uneori apar erori de timeout

 serverul SQL ocupă 99% din procesor și / sau din memorie

 IO este foarte mare


4 Performanta

DEV QA STAGE PROD

număr de înregistrări Relativ mic Mediu Ridicat Ridicat

încărcarea serverului SQL Scăzută Scăzută Medie Mare

număr de utilizatori Mic Mic Mic Mare

concurență Scăzută Medie (artificială) Medie (artificială) Mare (reală)

utilizarea bazelor de date Intermitentă Intermitentă Continuă Continuă

număr de servere SQL, Mic Mic Mic Mare (zeci, sute)


pentru aplicații distribuite
aplicații sau baze de date Fără Poate, cu încărcare Da, cu încărcare Da, cu încărcare
satelit minimă medie mare
4 Performanta

Tooluri:

• SQL Server Profiler

• Execution plan

• Testare, testare, testare!


5 Link-uri utile

Database Engine & tools

SQL Server downloads


SQL Server Management Studio (SSMS)
SQL Server Tools

Documentatie

SQL Server Database Engine


Tutorial: SQL Server Management Studio
Tutorial: Getting Started with the Database Engine
Tutorial: Writing Transact-SQL Statements
Performance Monitoring and Tuning Tools
Agenda

• Revizuirea specificatiilor

• Mediul de lucru – SSMS

• Notiuni si reguli despre T-SQL

• Creare tabele si relatii

• Verificare specificatii
6 Q&A
Exercitii:

• Cititi specificatia si identificati elementele


corespondente in baza de date
• Extindeti baza de date cu functionalitati
(view-uri)
• Documentati noile functionalitati si extindeti
documentatia proiectului
Sorin Grecu
[Link]

S-ar putea să vă placă și