Sorin Grecu - academiadesoftware.ro · unei baze de date si organizarea tabelelor astfel incat sa...

Post on 03-Sep-2019

18 views 0 download

Transcript of Sorin Grecu - academiadesoftware.ro · unei baze de date si organizarea tabelelor astfel incat sa...

www.essensys.roSorin Grecu

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

www.essensys.roSorin Grecu