Algjebra Relacionale dhe SQL-i - PowerPoint PPT Presentation

About This Presentation
Title:

Algjebra Relacionale dhe SQL-i

Description:

Title: Kronek-DBP-e10-PPT-Chapter02-Part01 Author: David J. Auer Last modified by: Fisnik Created Date: 1/24/2005 11:48:45 PM Document presentation format – PowerPoint PPT presentation

Number of Views:334
Avg rating:3.0/5.0
Slides: 61
Provided by: Davi796
Category:

less

Transcript and Presenter's Notes

Title: Algjebra Relacionale dhe SQL-i


1
Algjebra Relacionale dhe SQL-i
  • Kapitulli 2

2
Algjebra Relacionale
  • Algjebra relacionale paraqet një tërësi të plotë
    me operacione ndaj relacioneve që mundësojnë
    selektimin e të dhënave nga databaza relacionale.
  • Prodhimi kartezian
  • Unioni , Prerja , Zbritja
  • Projeksioni
  • q-join
  • Division (Pjestimi)

3
Shembull
  • R r1 r2 r3 S1 s1 s2
  • 1 x 3 3 p
  • 4 x 3 4 q
  • 3 y 4 4 p
  • 2 z 7
  • S2 s1 s2
  • 4 q
  • 2 m

4
Prodhimi kartezian
R x S2
r1 r2 r3 s1 s2 1 x 3 4 q 4 x 3 4 q 3 y 4 4 q 2 z
7 4 q 1 x 3 2 m 4 x 3 2 m 3 y 4 2 m 2 z 7 2 m
5
Projeksioni - Join
Projection R r2 , r3
r2 r3 x 3 y 4 z 7
q-join R r3 gt s1 S1
r1 r2 r3 s1 s2 3 y 4 3 p 2 z 7 3 p 2 z 7 4 q 2 z
7 4 p
6
Left Outer Join
Rr3 ls1S1
r1 r2 r3 s1 s2 1 x 3 3 p 4 x 3 3 p
3 y 4 4 q 3 y 4 4 p 2 z 7
7
Division - Pjestimi
Divide by Result DEND/DOR
DEND
P p1
S s1 s2
DOR 1
S P s1 p1 s1 p2 s1 p3 s1 p4 s1 p5 s1 p6 s2 p1 s
2 p2 s3 p2 s4 p2 s4 p4 s4 p5
P p2 p4
S s1 s4
DOR 2
P p1 p2 p3 p4 p5 p6
DOR 3
S s1
8
Structured Query Language - SQL
  • Structured Query Language (SQL) u zhvillua nga
    IBM në fund të viteve 1970.
  • SQL është bërë standard nacionnal në SHBA nga
    American National Standards Institute (ANSI) në
    1992 SQL-92.
  • Verzioni më i ri SQL3 ekziston dhe inkorporon
    disa koncepte të orientuara në objekte, por nuk
    përdoret gjërësisht nga DBMS produktet komerciale.

9
SQL si Nëngjuhë e të dhënave
  • SQL nuk është gjuhë e plotë programore si C, C,
    edhe Java.
  • SQL ëshë nëngjuhë për të dhëna për krijimin dhe
    procesimin e të dhënave dhe meta të dhënave
    (metadata) të databazës.
  • SQL është i gjithëpranishëm në DBMS produktet
    komerciale të klasave - enterprise.

10
SQL DDL dhe DML
  • SQL formulimet/pyetësorët mund të ndahen në dy
    kategori
  • Data definition language (DDL) formulime
  • Për krijimin e tabelave, relacioneve, dhe
    strukturave tjera.
  • Do ti shohim në kapitullin e shtatë.
  • Data manipulation language (DML) formulimet.
  • Për pyetësor dhe modifikim të të dhënave
  • Do ti shohim në këtë kapitull

11
Cape Codd Outdoor Sports
  • Cape Codd Outdoor Sports është një kompani
    fiktive që bën shitjen e prohimeve të nryshme.
  • Cape Codd Outdoor Sports
  • Ka 15 dyqane shitëse.
  • Ka një magazinë on-line në Internet.
  • Ka departament për postimin e porosive.
  • Të gjitha shitjet shënohen në Oracle databazë.

12
Struktura e shitjes e Cape Codd Retail
13
Nxjerrja e të dhënave që shiten në Cape Codd
Retail
  • Përdoren tre tabela RETAIL_ORDER, ORDER_ITEM,
    edhe SKU_DATA (SKU Stock Keeping Unit).
  • Të dhënat e nxjerra shndërrohen në
  • DBMS të ndryshëm? MS SQL Server
  • Në kolona të ndryshme ? OrderDate bëhet
    OrderMonth dhe OrderYear

14
Formati i të dhënave të nxjerra nga shitja
15
Tabelat për nxjerrjen e të dhënave në MS SQL
Server
16
Komanda/formulimi SELECT
  • Korniza themelore e formulimeve të SQL është SQL
    SELECT formulimi
  • SELECT Emri_i_Kolonës(s)
  • FROM Emri_i_Tabelës(s)
  • WHERE Kushtet
  • Të gjitha SQL formulimet përfundojnë me
    pikë-presje ().

17
Disa kolona nga një Tabelë
  • SELECT Department, Buyer
  • FROM SKU_DATA

18
Specifikimi i rënditjes së kolonave
  • SELECT Buyer, Department
  • FROM SKU_DATA

19
Komanda DISTINCT
  • SELECT DISTINCT Buyer, Department
  • FROM SKU_DATA

20
Selektimi i të gjitha kolonave Komanda yllëz ()
  • SELECT
  • FROM SKU_DATA

21
Disa rreshta nga një Tabelë
  • SELECT
  • FROM SKU_DATA
  • WHERE Department 'Water Sports'

22
Kolona dhe rreshta specifike nga një Tabelë
  • SELECT SKU_Description, Buyer
  • FROM SKU_DATA
  • WHERE Department 'Climbing'

23
Using MS Access
24
Using MS Access (Continued)
25
Using MS Access (Continued)
26
Using MS Access - Results
27
Using MS SQL ServerSQL Query Analyzer
28
Using OracleSQLPlus
29
Using OracleQuest Softwares TOAD
30
Using MySQLMySQL Command Line Client
31
Using MySQLMySQL Query Browser
32
Sortimi i rezultateve ORDER BY
  • SELECT
  • FROM ORDER_ITEM
  • ORDER BY OrderNumber, Price

33
Dy lloje sortimeshRritës edhe Rënës
  • SELECT
  • FROM ORDER_ITEM
  • ORDER BY Price DESC, OrderNumber ASC
  • Shënim Nëse nuk specifikohet ndonjëra nga
    komandat ASC ose DESC, sortimi do të bëhet sipas
    ASC.

34
Opcionet e komandës WHERE AND
  • SELECT
  • FROM SKU_DATA
  • WHERE Department 'Water Sports'
  • AND Buyer 'Nancy Meyers'

35
Opcionet e komandës WHERE OR
  • SELECT
  • FROM SKU_DATA
  • WHERE Department 'Camping'
  • OR Department 'Climbing'

36
Opcionet e komandës WHERE - IN
  • SELECT
  • FROM SKU_DATA
  • WHERE Buyer IN ('Nancy Meyers',
  • 'Cindy Lo', 'Jerry Martin')

37
Opcionet e komandës WHERE NOT IN
  • SELECT
  • FROM SKU_DATA
  • WHERE Buyer NOT IN ('Nancy Meyers',
  • 'Cindy Lo', 'Jerry Martin')

38
Opcionet e komandës WHERE Intervale me BETWEEN
  • SELECT
  • FROM ORDER_ITEM
  • WHERE ExtendedPrice
  • BETWEEN 100 AND 200

39
Opcionet e komandës WHEREIntervale me simbole
matematikore
  • SELECT
  • FROM ORDER_ITEM
  • WHERE ExtendedPrice gt 100
  • AND ExtendedPrice lt 200

40
Opcionet e komandës WHERELIKE edhe Wildcards
  • SQL komanda LIKE mund të kombinohet me simbolet
    wildcard
  • SQL 92 Standard (SQL Server, Oracle, etc.)
  • _ Saktësisht një karakter
  • Bashkësi me një apo më shumë karaktere
  • MS Access (bazuar në MS DOS)
  • ? Saktësisht një karakter
  • Bashkësi me një apo më shumë karaktere

41
Opcionet e komandës WHERELIKE edhe Wildcards
  • SELECT
  • FROM SKU_DATA
  • WHERE Buyer LIKE 'Pete'

42
Opcionet e komandës WHERELIKE edhe Wildcards
  • SELECT
  • FROM SKU_DATA
  • WHERE SKU_Description LIKE 'Tent'

43
Opcionet e komandës WHERELIKE edhe Wildcards
  • SELECT
  • FROM SKU_DATA
  • WHERE SKU LIKE '2__'

44
Funksionet e integruara të SQL
  • Ezistojnë pesë funksione të integruara të SQL
  • COUNT
  • SUM
  • AVG
  • MIN
  • MAX

45
Funksionet e integruara të SQL
  • SELECT SUM (ExtendedPrice)
  • AS Order3000Sum
  • FROM ORDER_ITEM
  • WHERE OrderNumber 3000

46
Funksionet e integruara të SQL
  • SELECT SUM (ExtendedPrice) AS OrderItemSum,
  • AVG (ExtendedPrice) AS OrderItemAvg,
  • MIN (ExtendedPrice) AS OrderItemMin,
  • MAX (ExtendedPrice) AS OrderItemMax
  • FROM ORDER_ITEM

47
Funksionet e integruara të SQL
  • SELECT COUNT() AS NumRows
  • FROM ORDER_ITEM

48
Funksionet e integruara të SQL
  • SELECT COUNT
  • (DISTINCT Department)
  • AS DeptCount
  • FROM SKU_DATA

49
Aritmetika në lomandën SELECT
  • SELECT Quantity Price AS EP,
  • ExtendedPrice
  • FROM ORDER_ITEM

50
String Funksione në SELECT komandën
  • SELECT DISTINCT RTRIM (Buyer)
  • ' in ' RTRIM (Department) AS Sponsor
  • FROM SKU_DATA

51
Komanda GROUP BY
  • SELECT Department, Buyer,
  • COUNT() AS
  • Dept_Buyer_SKU_Count
  • FROM SKU_DATA
  • GROUP BY Department, Buyer

52
Komanda GROUP BY
  • Në përgjithësi, WHERE vendoset përpara GROUP BY.
    Disa DBMS produkte nuk e marrin parasysh këtë,
    por për ma sigurt gjithmonë vendosni WHERE
    përpara GROUP BY.
  • Operatori HAVING i kufizon grupet që paraqiten në
    rezultat.
  • Ndonjëherë paraqitet paqartësi në formulimet që
    kanë edhe WHERE edhe HAVING. Rezultati mund të
    ndryshojë, pra për të eliminuar paqartësitë të
    SQL gjithmonë vendosni WHERE përpara HAVING.

53
Komanda GROUP BY (Vazhdim)
  • SELECT Department, COUNT() AS
  • Dept_SKU_Count
  • FROM SKU_DATA
  • WHERE SKU ltgt 302000
  • GROUP BY Department
  • ORDER BY Dept_SKU_Count

54
Komanda GROUP BY (Vazhdim)
  • SELECT Department, COUNT() AS
  • Dept_SKU_Count
  • FROM SKU_DATA
  • WHERE SKU ltgt 302000
  • GROUP BY Department
  • HAVING COUNT () gt 1
  • ORDER BY Dept_SKU_Count

55
Nxjerrja e të dhënave nga më shumë tabela
Nënpyetësorët
  • SELECT SUM (ExtendedPrice) AS Revenue
  • FROM ORDER_ITEM
  • WHERE SKU IN
  • (SELECT SKU
  • FROM SKU_DATA
  • WHERE Department 'Water Sports')
  • Note SELECT i dytë është nënpyetësor - subquery.

56
Nxjerrja e të dhënave nga më shumë tabela
Nënpyetësorët
  • SELECT Buyer
  • FROM SKU_DATA
  • WHERE SKU IN
  • (SELECT SKU
  • FROM ORDER_ITEM
  • WHERE OrderNumber IN
  • (SELECT OrderNumber
  • FROM RETAIL_ORDER
  • WHERE OrderMonth 'January'
  • AND OrderYear 2004))

57
Nxjerrja e të dhënave nga më shumë tabela Joins
  • SELECT Buyer, ExtendedPrice
  • FROM SKU_DATA, ORDER_ITEM
  • WHERE SKU_DATA.SKU ORDER_ITEM.SKU

58
Nxjerrja e të dhënave nga më shumë tabela Joins
  • SELECT Buyer, SUM(ExtendedPrice)
  • AS BuyerRevenue
  • FROM SKU_DATA, ORDER_ITEM
  • WHERE SKU_DATA.SKU ORDER_ITEM.SKU
  • GROUP BY Buyer
  • ORDER BY BuyerRevenue DESC

59
Nxjerrja e të dhënave nga më shumë tabela Joins
  • SELECT Buyer, ExtendedPrice, OrderMonth
  • FROM SKU_DATA, ORDER_ITEM, RETAIL_ORDER
  • WHERE SKU_DATA.SKU ORDER_ITEM.SKU
  • AND ORDER_ITEM.OrderNumber
  • RETAIL_ORDER.OrderNumber

60
Nënpyetësorët vs. Joins
  • Edhe nënpyetësorët dhe joins procesojnë tabela të
    shumëfishta.
  • Nënpyetësori mund të përdoret për nxjerrjen e të
    dhënave nga fillimi/maja (top) e tabelës.
  • Join mund të përdoret për marrjen e të dhënave
    nga numër i ndryshëm tabelash, përfshirë edhe
    top table të nënpyetësorëve.
  • Në kapitullin 7, do të studiojmë nënpyetësorët e
    koreluara. Ky lloj i nënpyetësorëve mund të
    realizojë punë që nuk mund të realizohen me anë
    të joins.
Write a Comment
User Comments (0)
About PowerShow.com