Post on 03-Sep-2019
transcript
De la specificatii
la o baza de date SQL Server
Agenda
Specificatii
Mediul de lucru
Baza de date
Performanta
Link-uri utile
Q & A
1
2
3
4
5
6
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,pentru aplicații distribuite
Mic Mic Mic Mare (zeci, sute)
aplicații sau baze de date satelit
Fără Poate, cu încărcare minimă
Da, cu încărcare medie
Da, cu încărcare 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
• Revizuirea specificatiilor
• Mediul de lucru – SSMS
• Notiuni si reguli despre T-SQL
• Creare tabele si relatii
• Verificare specificatii
Agenda
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