Krijimi, zhvillimi, praktika ekskluzive e bazës së të dhënave SQL. SQL

Sergey Vorobyov
Inxhinier kryesor
SQL. Kursi bazë
www.aplana.ru

Përmbajtje
● Pjesa 1. Hyrje në SQL
● Pjesa 2. Gjuha e Përcaktimit të të Dhënave
Pjesa 3. Gjuha e manipulimit të të dhënave
Pjesa 4. DRL. Pyetje të thjeshta.
Pjesa 5. Marrja e të dhënave nga disa tabela.
● Pjesa 6. Funksionet agregate. Grupimi i të dhënave.
● Pjesa 7. Nën -pyetje.
Pjesa 8. Funksionet për të punuar me vargje, data dhe numra.
23

SQL. Kursi bazë
Pjesa 1. Hyrje në SQL
www.aplana.ru

Hyrje në SQL
SQL (Anglisht Structured Query Language - "gjuha e strukturuar
pyetjet ") është një gjuhë universale kompjuterike që përdoret për
krijimin, modifikimin dhe menaxhimin e të dhënave në bazat e të dhënave relacionale
të dhënave.
43

Hyrje në SQL
Baza e të dhënave - një listë ose grup listash të lidhura me
informacion
Sistemi i Menaxhimit të Bazës së të Dhënave (DBMS) - Special
softueri që menaxhon këto lista
53

Baza e të dhënave relacionale dhe jo relacionale
DB Relacionale - një bazë të dhënash e bazuar në një model relacional
te dhenat:
Të dhënat në bazën e të dhënave janë një grup tabelash;
Të dhënat plotësojnë disa kushte integriteti;
Mbështet operatorët e manipulimit të tryezës
(për shembull, marrja ose kopjimi i një tabele).
Baza e të dhënave jo -relacionale - hierarkike, e rrjetëzuar,
i orientuar drejt objekteve, NoSQL.
63

Si ndryshojnë bazat e të dhënave nga spreadsheets
1. Ruajtja e një numri të madh linjash
Spreadsheets kanë një numër të kufizuar rreshtash.
Miliona rreshta ruhen në bazën e të dhënave.
2. Shërbim i njëkohshëm i shumë përdoruesve
3. Siguria.
Përdoruesve u jepen privilegje vetëm në
tabela dhe veprime të veçanta.
4. Vetitë relacionale.
Të dhënat ruhen në tabela të ndryshme, midis tabelave
ka lidhje.
5. Kufizimet që garantojnë cilësinë e të dhënave.
73

Tabela
Rresht (rresht) - një rresht horizontal i qelizave, i lënë mënjanë për secilën
objekt tavoline.
Regjistro - të dhëna në një rresht.
Kolona - Përmban informacione të të njëjtit lloj.
Fusha - kryqëzimi i një kolone dhe një rreshti.
83

Bazat e ndërfaqes SQL
DBMS
93
Emri
Deshifrim
InterBase / FireBird
PSQL
SQL procedurale
IBM DB2
SQL PL
Gjuha procedurale SQL
Znj SQL Server / Sybase ASE
T-SQL
Transact-SQL
MySQL
SQL / PSM
SQL / Ruajtur në mënyrë të vazhdueshme
Modul
Oracle
PL / SQL
Gjuha procedurale / SQL
(bazuar në gjuhën Ada)
PostgreSQL
PL / pgSQL
Procedurale
Gjuha / PostgreSQL
(shumë e ngjashme me Oracle
PL / SQL)

10.

Dallimet në sintaksën e funksioneve DBMS
MSSQL
DB2
NUMERIKE
NUMRI
NUMERIKE
DATAD SHTAT
MONTH_ADD
(Data + 10 DIT)
EOMONTH
DITA E FUNDIT
DITA E FUNDIT
DATEDIFF
MONTH_BETWEEN
TIMESTAMPDIFF
E POSHME
E POSHME
UCASE / E PERMADHE
KONVERT
TO_CHAR
TO_CHAR
INITCAP
INITCAP
-
103
Oracle

11.

Sintaksa SQL
Funksionet dhe emrat e objekteve nuk janë të ndjeshëm ndaj shkronjave të mëdha:
SELECT = SELeCt.
Sidoqoftë, kur kërkoni nëpër fushat e tekstit, është e ndjeshme ndaj shkronjave të mëdha
SQL nuk është e ndjeshme ndaj mbështjelljes së linjës
Mungojnë karakteret e kërkuara, linjat e fundit
Mbështetur - komente me një rresht dhe
/ * me shumë rreshta * /
Customshtë e zakonshme që çdo transaksion të përfundohet me një pikëpresje, por
kur ekzekutoni komandat individuale, përdorimi i tyre nuk është
domosdoshmërisht
113

12.

Llojet e të dhënave
CHAR (n) - vargje me gjatësi konstante (deri në 256 bajtë në MS SQL Server), d.m.th.
futur më pak të dhëna në rresht - madhësia nuk do të ndryshojë
VARCHAR (n) - vargjet me gjatësi të ndryshueshme, d.m.th. kërkon shumë kujtesë
sa të dhëna
INTEGER - numër pa pikë dhjetore
NUMERIC (m, n) - përdoret për të ruajtur zero dhe pozitive ose
numrat negativë të fiksuar dhe të pikës lundruese. M SIGURIA (numri total i shifrave), n - SHKALLA (numri i shifrave në të djathtë të
pikë dhjetore). m / n - parametrat opsionalë
DATA-data në yyyy-mm-dd (ISO), dd / mm / yyyy (ANSI), dd-MON-yy format.
BOOLEAN - Lloji i të dhënave Boolean: true / false ose 1/0.
Gjithashtu, vlera e fushës mund të jetë NULL - do të thotë pa vlera -
qeliza boshe.
123

13.

Lloji DATE
Si parazgjedhje, ju mund të përfaqësoni një datë në bazën e të dhënave në formatin DD-MONYYYY (për shembull, '01 -FEB-1900 '):
INSERT INTO tabelën 1 (id, data_work) vlerat (1, ‘01 -FEB -1900 ’).
Ju gjithashtu mund të përdorni fjalën kyçe DATE. Për më tepër, tashmë për
formati i datës YYYY-MM-DD (p.sh. '1900-02-01'):
INSERT INTO tabelën 1 (id, data_work) vlerat (1, DATA '1900-02-01').
Gjithashtu në mënyrë alternative mund të përdorni llojin e datës + TIMESTAMP
për të vendosur jo vetëm datën, por edhe kohën:
INSERT INTO tabelën 1 (id, data_work) vlerat (1, ‘01 -FEB-1900-10.50.01 ’),
ato
1 shkurt 1900 10 orë 50 minuta dhe 1 sekondë (format dd-MON-yy
-hh.mm.ss.nnnnn)
133

14.

Konvertimi i llojeve të të dhënave në MSSQL
CONVERT (lloji i të dhënave, vargu, stili) - konvertoni një
formatin e të dhënave në një tjetër
Në simbole:
CONVERT (VARCHAR (20), GETDATE ())
Në datën
KONVERT (DATETIME, "14-11-2015", 105)
Në numër
KONVERT (NUMERIK, '1234657890 ")
143

15.

Konvertimi i Llojeve të të Dhënave në Oracle
TO_CHAR (vlera e hyrjes, formati) - konvertimi i datës,
numrat, koha për varg.
Formati: 'MUAJ DD', 'MUAJ DD, YYYY', 'DD / MM / YYYY', 'DAY MON, YY AD'
VITI
$9,999.00
Etj
TO_CHAR (SYSDATE, "MONTH DD")
TO_DATE (vlera e hyrjes, formati) - konvertoni vargun në
data. Formati: DD-MON-VVVV
Muaji dd, YYYY, HH: MI pasdite
Etj
TO_DATE ("02-JAN-2012", "DD-MON-VVVV")
TO_NUMBER (vlera e hyrjes, formati) - Shndërroni një varg në një numër.
TO_NUMBER ("123")
153

16.

Objekte të tjera të bazës së të dhënave
Një pamje është një objekt i bazës së të dhënave që nuk përmban
tabelat e tyre, por përmbajtja e tyre është marrë nga tabelat e tjera
ose shikime duke ekzekutuar një pyetje.
Skema është një grup i emërtuar i objekteve të bazës së të dhënave të lidhura.
Indeksi (indeksi) - objekti i krijuar për promovim
Performanca e kërkimit. Tabela e fshehur që përmban një
ose disa kolona të rëndësishme të tabelës dhe tregues për rreshtat
tavolina.
Kufizimi - kushtet që duhet të plotësohen
shënimet e futura nga përdoruesi.
163

17.

Objekte të tjera të bazës së të dhënave
Procedura e ruajtur - një objekt i bazës së të dhënave
e cila është një grup deklaratash SQL. Ruhet në bazën e të dhënave.
Thirrja e procedurës çon në ekzekutimin e përmbajtur në të
udhëzimet.
Funksioni - Ngjashëm me një procedurë të ruajtur, por kthehet
një vlerë që mund të përdoret në një më të madhe
operatori.
Trigger (shkaktues) - një procedurë që ekzekutohet automatikisht,
kur ndodh ndonjë ngjarje e dhënë.
Kursori (kursori) - një referencë në zonën kontekstuale të kujtesës. Duke përdorur
kursorin, mund të përpunoni veçmas secilën rresht të lidhur me
është një deklaratë SQL.
173

18.

Seksionet SQL
1. DDL - Gjuha e Përcaktimit të të Dhënave.
CREATE, ALTER, POSH, etj.
2. DCL - Gjuha e Kontrollit të të Dhënave.
Grant, Hiqni
3. DML - Gjuha e manipulimit të të dhënave
të dhëna). INSERT, PPRDITSIM, FSHIJ
4. Marrja e të dhënave - SELECT marrjen e të dhënave
5. Kontrolli i Transaksioneve (gjuhë për mbështetjen e procesit të transaksioneve).
KOMITETI, ROLLBACK, SAVEPOINT.
183

19.

SQL. Kursi bazë
Pjesa 2. Gjuha e Përcaktimit të të Dhënave
www.aplana.ru

20.

Gjuha e Përcaktimit të të Dhënave
1.
KRIJONI TABEL
Sintaksa e përgjithshme:
KRIJO TABEL emrin e tabelës (
fushë1 Lloji i fushës 1,
fushë2 Lloji i fushës2,
…, FieldN Fusha e tipitN);
KRIJO TABEL person_info (
person_id INTEGER NOT NULL,
first_name VARCHAR (15) JO NULL,
last_name VARCHAR (20) JO NULL,
gjinia CHAR (1),
ditelindja DATE,
paga NUMERIC (7,2));
203

21.

Gjuha e Përcaktimit të të Dhënave
2. ALTER TABELA (ndryshimi i tabelave)
ALTER TABELA emri i tabelës (SHTO<имя столбца> <определение столбца>}|
(NDRYSHO<имя столбца> <Определение столбца>) | (KOMUNA E PIKS<имя
kolona>)
3. TABELA E DROP -it (duke rënë tavolina)
TABELA DROP emri i tabelës (KUSHTET E KASKADIT);
4. TABELA E TRUNCATE
TRUNCATE TABLE emri i tabelës
213

22.

SQL. Kursi bazë
Pjesa 3. Gjuha e manipulimit të të dhënave
www.aplana.ru

23.

Gjuha e manipulimit të të dhënave
1. INSERT - Futni një rekord të vetëm.
INSERT INTO TABELA VLERAT (vlera e fushës 1, vlera e fushës 2, ..,
vlera e fushësN);
INSERT INTO emri i tabelës (fusha1, fusha3, ...) VLERAT (vlera e fushës1, vlera e fushës2, ...,
vlera e fushësN);
INSERT INTO person_info VLERAT (1, "John", "Smith", "M", "15-OCT-1973",
45568.56);
INSERT INTO person_info (person_id, emri i parë, mbiemri) VLERAT (5, Sarah ", 'Connor");
Me sukses.
INSERT INTO person_info VLERAT (NULL, "Jane", "Smith", "F", "8-AUG-1987",
I PAVLEFSHËM);
Gabim, sepse personi_id nuk mund të jetë NULL.
233

24.

Gjuha e manipulimit të të dhënave
Futni një grup regjistrimesh
HYR NO emrin e tabelës
SELECT ...;
KRIJO TABELN t2 (
first_1 VARCHAR (15),
last_1 VARCHAR (20),
ditëlindja_1 DATA);
INSERT N t2
SELECT first_name, last_name, ditëlindje
NGA person_info;
243

25.

Gjuha e manipulimit të të dhënave
HYR NO person_info VLERAT (2, "Sara", "Doe", "F", "9-OCT-1986",
29789.56);

29789.56);
Me sukses.
HYR NO person_info VLERAT (3, "Sara", "Doe", "F", "9-OCT-1986",
29789.56);
Tani le të fshijmë rekordin e dytë me person_id = 2
FSHIJ NGA person_info KU person_id = 2
253

26.

Gjuha e manipulimit të të dhënave
Integriteti i të dhënave
Integriteti i njësisë - përcakton një rresht të tabelës si një shembull unik
ndonjë entitet.
Çelësi kryesor - një kolonë ose grup kolonash është unike
duke identifikuar çdo hyrje.
Çelësi i jashtëm - pasqyrimi i marrëdhënieve midis tabelave. Vartës
tabela duhet të ketë një kolonë identike (ose grup kolonash) për tu ruajtur
vlerat që identifikojnë në mënyrë unike të dhënat kryesore.
Integriteti referues - nuk duhet të ketë shënime në tabelat e varësisë,
duke iu referuar të dhënave inekzistente të tabelës master.
263

27.

Gjuha e manipulimit të të dhënave
273

28.

Gjuha e manipulimit të të dhënave
Çelesi primar
ALTER TABELA emri i tabelës
SHTO ÇELEYS PRIMARE (emri i kolonës);
ALTER TABELA person_info
SHTO ÇELEYS PRIMARE (person_id);
Vlerat kryesore kryesore nënkuptojnë identifikim unik
Regjistrimet, respektivisht, vlerat nuk mund të përsëriten.
Dhe përsëri, le të përpiqemi të shtojmë një rekord me person_id = 2:
INSERT INTO person_info VLERAT (2, "Rita", "Blow", "F", "9-OCT-1975",
29789.56);
283

29.

Çelësi i jashtëm
ALTER TABLE emri slave_table_
SHTO KUNDRARNDRIMIN Emri i kufizimit ÇELEYS I HUAJ (emri i kolonës)
vartës
tabelat) REFERENCAT master_table_name;
KRIJO TABEL person_adresa (
person_id INTEGER,
adresa VARCHAR (200));
ALTER TABLE personi_adresa
SHTO KONTRASTIN person_fk_adresa
Çelësi i Huaj (person_id)
REFERENCAT person_info;
293

30.

Gjuha e manipulimit të të dhënave
INSERT INTO person_adres VLERAT (1, "Moska, rruga Arbat, 67-14");
INSERT INTO person_adres VLERAT (2, "Moska, rruga Arbat, 67-14");
Me sukses.
INSERT INTO person_adres VLERAT (4, "Zelenograd, Rruga e Gjelbër, 23");
Gabim. Përpiquni të futni një rekord vartës kur nuk është i pranishëm
regjistrimi kryesor përkatës.
INSERT INTO person_adres VLERAT (3, "Zelenograd, Rruga e Gjelbër, 23");
303

31.

Lidhja e tabelave në krijimin
Siç kemi diskutuar më herët, krijimi i
çelësat parësorë (KRYESOR FILLOR) dhe të huaj (ÇELEYS I HUAJ)
përmes komandave për të ndryshuar strukturën e tabelave ekzistuese. Gjithashtu
mund të shtoni këto konstruksione kur krijoni një tabelë:
KRIJO TABEL tab1 (
ID i plotë KRYESORE PRIMARE,
…..
313

32.

Gjuha e manipulimit të të dhënave
2. UPDATE - Ndryshimi i vlerave të kolonave të tabelës
A) Ndryshimi i të gjitha vlerave të një kolone tabele
PPRDITSO
VENDOS =
PPRDITSO person_adresa
Adresa SET = "Volgograd, rruga e parë, 15-20"
B) Ndryshimi i vlerave specifike të tabelës
PPRDITSO
VENDOS =
KU =
UPDATE person_adresa Adresa SET = "Volgograd, rruga e parë, 15-20"
KU person_id = 3;
PPRDITSO
VENDOS =
KU = [operatori]
PPRDITSO person_info PARA SET = paga * 2
KU person_id = 3;
323

33.

Gjuha e manipulimit të të dhënave
3. FSHIJ - Fshirja e rreshtave nga një tabelë
A) Fshirja e të gjitha vlerave të një kolone tabele
FSHIJ NGA
B) Heqja e vlerave specifike nga një tabelë
FSHIJ NGA
KU =
333

34.

Detyra praktike numër 1
1. Krijoni bazën e të dhënave të treguar në Fig. 1 (krijoni tabela dhe një çelës të huaj)
2. Futni të dhënat e mëposhtme në tabela.
Departamenti: (1, "Marketingu"), (2, "RD")
Emp: (1, 1, "James", 1000), (2, 2, "Smith", 2000)
3. Krijoni tabelën dept_arch me të njëjtën strukturë si tabela dept.
4. Futni të gjitha të dhënat nga tabela dept në tabelën dept_arch.
343

35.

Detyra praktike numër 1 (vazhdim)
5. Rritni pagën e Smithit me 15%.
6. Sigurohuni që regjistrimi i mëposhtëm nuk mund të futet në tabelën e departamentit: (2, "Shitjet"). Pse?
7. Sigurohuni që regjistrimi i mëposhtëm nuk mund të futet në tabelën emp: (3, 4, "E zezë", 3000,
"Aktive"). Pse?
8. Ndryshoni emrin e departamentit të RD në RandD (tabela dept).
9. Fshini hyrjen me emp_id = 1 nga tabela emp.
12. Hiqni të gjitha regjistrimet nga tabela emp.
13. Hidhni tabelën emp.
353

36.

SQL. Kursi bazë
Pjesa 4. DRL. Pyetje të thjeshta
www.aplana.ru

37.

Baza e të dhënave tona të trajnimit
373

38.

Gjuha e marrjes së të dhënave
SELECT - përzgjedhja e të dhënave. Ky seksion kërkohet në kërkesë dhe
lejon:
ZGJIDH fushë1, ... fushëN NGA tabelës1, .., tabelëKU gjendja
383
Përcaktoni një listë të kolonave dalëse
Përfshi kolonat e llogaritura
Përfshi konstantet
Riemërtoni kolonat e daljes
Specifikoni parimin e përpunimit të linjave të kopjuara
Përfshini funksione të përgjithshme

39.

Gjuha e marrjes së të dhënave
1.
Përcaktimi i një liste të kolonave dalëse
Lista e kolonave dalëse mund të specifikohet në disa mënyra:
... Specifikoni simbolin * për të përfshirë të gjitha kolonat në rezultatet e pyetjes
pyetje në një sekuencë natyrore.
... Listoni, në rendin e dëshiruar, vetëm ato që ju nevojiten<имена столбцов>.
SELECT person_code, first_name, last_name FROM person;
--Mund të ndryshojë rendin e kolonave
SELECT first_name, last_name, person_code FROM person;
393

40.

Bashkim
Lidhja e dy ose më shumë pjesëve të tekstit.
SELECT product_name + "u shit nga" + shitësi NGA blerja;
403

41.

Gjuha e marrjes së të dhënave
2. Përfshirë kolonat e llogaritura
Kolonat e pyetjeve të llogaritura mund të jenë:
... Rezultatet e shprehjeve më të thjeshta aritmetike (+, -, /, * _ ose
bashkimi i vargut (+).
... Rezultatet e funksionit të grumbullimit (AVG | SUM | MAX | MIN |
COUNT)
413

42.

Gjuha e marrjes së të dhënave
3. Përfshirë konstantet
Kolonat mund të jenë numerike dhe
llojet e personazheve.
SELECT "Ekziston një kod i tillë", person_code, "for", first_name, last_name
NGA personi
423

43.

Gjuha e marrjes së të dhënave
4.
Riemërtimi i kolonave dalëse
Të llogaritura, si dhe çdo kolonë tjetër, nëse dëshironi,
mund të caktoni një emër unik duke përdorur një fjalë kyçe
AS:<выражение>AS<новое имя>
SELECT product_name + "u shit nga" + shitësi AS SOLDBY
NGA blerja;
Ju mund të vendosni pseudonime pa përdorur një fjalë kyçe, por me kufizime:
SELECT emri i produktit + "u shit nga" + shitësi SOLDBY
NGA blerja;
SELECT product_name + "u shit nga" + shitësi "Shitur nga"
NGA blerja;
433

44.

Gjuha e marrjes së të dhënave
5. Specifikimi i parimit të përpunimit të kopjimeve
DISTINCT - parandalon shfaqjen e linjave të kopjuara në dalje
vendosur Mund të specifikohet një herë për deklaratën SELECT.
Në praktikë, grupi i prodhimit fillimisht formohet,
urdhërohet, dhe pastaj hiqen kopjimet prej tij
vlerat. Kjo zakonisht merr një kohë të gjatë dhe nuk pason.
abuzim.
SELECT DISTINCT * NGA personi
ALL (parazgjedhje) - Aktivizon
rezultatet e pyetjes dhe vlerat e kopjuara
443

45.

Gjuha e marrjes së të dhënave
6.
Mundësimi i funksioneve agregate
Funksionet e grumbullimit (funksionet në grupe, statistikore ose
bazë) janë krijuar për të llogaritur disa vlera për
një grup linjash të dhëna. Përdoren agregatët e mëposhtëm
funksione:
AVG | SUM (<выражение) – подсчитывает среднее значение | сумму от
<выражение>.
MIN | MAX (<выражение>) - gjen maksimumin | vlera minimale.
COUNT (* |<имя столбца>) - numëron numrin e rreshtave
Por më shumë për këtë më vonë.
453

46.

Gjuha e marrjes së të dhënave
KU - një përzgjedhje e të dhënave që kënaq disa
kushtet.
ZGJIDH fushë1,… fushëNGA tabelë1, .., tabelëM KU
gjendja1, ... kushtY
463

47.

Gjuha e marrjes së të dhënave
Shembuj:
SELECT * NGA produkti KU NDLRMJET dSHT NULL data e fundit e aksioneve;
SELECT * NGA produkti KU data e fundit e rezervimit NUK NOTSHT NULL;
ZGJIDH emrin e produktit, çmimin e produktit, sasinë_në dorë
NGA produkti WHERE Sasia_me_dore> 150;
ZGJIDH emrin e produktit, çmimin e produktit NGA produkti
KU emri i produktit<>Zinkulator katror;
473

48.

Gjuha e marrjes së të dhënave
Ekzistojnë gjithashtu kushte më komplekse:
Hitet në set
<конструктор значений строки>NË (<подзапрос>|<набор конструкторов
vlerat e vargut>)
Përcaktohet një grup vlerash, të cilave objekti i krahasimit, i shkruar më parë
fjala kyçe IN, mund të përkasë ose jo. Nëse nën -pyetja nuk është
kthen rreshtat, atëherë kallëzuesi vlerëson në FALSE.
Shembuj për të punuar me grupe:
SELECT * NGA blerja KU KU shitësi IN ("CA", "BB");
SELECT * NGA blerja KU KU shitësi NUK N IN ("CA", "BB");
ZGJEDH * NGA blerja KU (shitësi + emri i produktit) në (("CA" + "E vogël
Widget "), (" GA "+" Chrome Phoobar "))
483

49.

Gjuha e marrjes së të dhënave
Gama e aksesorëve
<конструктор значений строки>NDËRMJET<конструктор
vlerat e linjës 1> AND<конструктор значений строки 2>
KRYESI PETRFSHIR është i ngjashëm me kallëzuesin IN, por në vend të elementeve
përcakton, përcakton kufijtë gjithëpërfshirës në të cilët [nuk duhet]
goditi vlerën e kontrolluar.
KU
çmimi i produktit JO MES 1 DHE 80;
493

50.

Gjuha e marrjes së të dhënave
Operatorët boolean
<предикат>(DHE | OSE | JO)<предикат>
Shënime: Operatorët Boolean lidhin një ose më shumë kallëzues për t'u formuar
e vetmja vlerë boolean është TRUE | FALSE. Përdorimi i kallëzuesve me
operatorët boolean, ju mund të rrisni ndjeshëm selektivin
aftësia për të zgjedhur rreshtat në rezultatin e pyetjes.
Kur përdorni operatorë boolean, veçanërisht operatorin NOT, ju duhet
zbatoni kllapat për të formuluar saktë kushtet (DHE
shkon para OR).

"% Widget" OSE çmimi i produktit< 20;
ZGJIDH emrin e produktit, çmimin e produktit NGA produkti KU emrin e produktit LIKE
"% Widget" DHE çmimi i produktit< 20;
503

51.

Gjuha e marrjes së të dhënave

ZGJIDH listën e fushave NGA listën e tabelave KU vlera e kontrollit LIKE
(model) (ESCAPE (emri i kalimit));
Çdo personazh i vetëm - _
SELECT person_code, first_name, last_name FROM person WHERE person_code LIKE "_A";
Çdo nënvarg -%
ZGJIDH emrin e produktit NGA produkti KU emri i produktit PIKRSHIKO "% Chrome%";
Nëse keni nevojë të gjeni tekst me një simbol% ​​(për shembull, emri i produktit
ab% cdef):
KU emri i produktit LIKE "ab $% c%" ESCAPE "$";
% E parë lexohet si një karakter në emër, e dyta - si çdo varg.
513

52.

Gjuha e marrjes së të dhënave
LIKE operatorin e përafërt të kërkimit
... ku emri i mesëm si '% s%'
... ku emri i mesëm si 'Dhe%'
... ku emri i mesëm si '% hiv'
... ku Mbiemri si ‘____ s’
523

53.

Gjuha e marrjes së të dhënave
LIKE operatorin e përafërt të kërkimit

zgjidhni emrin e produktit nga blerja
ku emri i produktit si "% Widget"
zgjidhni emrin e produktit nga blerja
ku emri i produktit si "widget% $%"
ik "$"
533

54.

Gjuha e marrjes së të dhënave
Renditja
ZGJIDH listën e kolonave NGA listën e tabelës KU gjendja
ORDER NGA lista e kolonave ASC (DESC);
Zbritës:
ZGJIDH emrin e produktit, çmimin e produktit NGA produkti
POROSIT ME ÇMIMIN E PRODUKTIT;
Ngjitës:
ZGJIDH emrin e produktit, çmimin e produktit NGA produkti
POROSIT ME emrin e produktit ASC;
543

55.

Detyra praktike numër 2
1. Shkruani një pyetje që tregon të gjithë tabelën e blerjeve.
2. Shkruani një pyetje që zgjedh kolonat e emrit të produktit dhe sasisë nga
Blini tavolina.
3. Shkruani një pyetje që zgjedh këto kolona në renditje të kundërt.
4. Shkruani një pyetje që del për secilën rresht të tabelës së personit
teksti i mëposhtëm:
filloi pune * Kolona e marrë
caktoni pseudonimin "Puna e Filluar".
5. Shkruani një pyetje që shfaq emrin e produktit, emrin e produktit
(tabela e produktit) për të cilat çmimi nuk është përcaktuar (NULL).
6. Shkruani një pyetje që shfaq emrin e produktit emrin e produktit
(tabela e blerjes), e cila shitet nga 3 në 23 copë.
* MSSQL nuk mbështet bashkimin e kolonave varchar dhe data. Përdorni operatorin
konvertimet: CONVERT (VARCHAR, punësuar)
3

56.

Detyra praktike numër 2 (vazhdim)
7. Shkruani një pyetje që shfaq emrat e punonjësve të cilët
punësuar më 1, 15 dhe 28 shkurt 2010.
8. Shkruani një pyetje që shfaq emrin e produkteve
emri i produktit (tabela e blerjes) e shitur nga punonjësit, mbiemrat e të cilëve fillojnë me "B".
9. Shkruani një pyetje që shfaq emrin e produkteve
emri i produktit (tabela e blerjes) e shitur nga punonjësit, mbiemrat e të cilëve nuk fillojnë me
"B"
10. Shkruani një pyetje që shfaq emrat dhe datën e punësimit
punonjësit, mbiemrat e të cilëve fillojnë me "B" dhe që janë pranuar
për të punuar para 1 marsit 2010.
11. Shkruani një pyetje që shfaq emrin e produkteve
emri i produktit dhe data e fundit e dorëzimit data e fundit e stoqeve (tabela
produkt) i quajtur Miniaplikacion i Vogël, Mesatar Widget dhe i Madh
Widget ose ato që nuk kanë një datë të fundit të dërgesës.
Rendit sipas rendit zbritës të datës së fundit të dorëzimit.
563

57.

SQL. Kursi bazë
Pjesa 5. Marrja e të dhënave nga tabela të shumta
www.aplana.ru

58.

Marrja e të dhënave nga tabela të shumta
ZGJIDH emrin e tabelës_1.emër_kolonë, emër tabele_2.
emri i kolonës
NGA emri i tabelës_1, emri i tabelës_2;

NGA blerja, person;
Produkt kartezian - përbërës pa
KU klauzola, e cila rezulton në çdo rresht
njëra tabelë kombinohet me secilën rresht të tjetrës
tavolina.
583

59.

Marrja e të dhënave nga tabela të shumta me një kusht
ZGJIDH emrin e tabelës_1.emër_kolonë, emër tabele_2. emri i kolonës
NGA emri i tabelës_1, emri i tabelës_2
KU KUJA_MASTER_tabela.çelësi_primar =
skllave_tabela_emër.çelës i jashtëm;
ZGJIDHni emrin e blerjes.produktit, emri person.first, personit.last
NGA blerja, person
KU person.person_code = buy.salesperson;
593

60.

Llojet e lidhjes
Ka edhe mënyra të tjera për t'u bashkuar në tabela me çelësa:
<таблица А> [<тип соединения>] BASHKOHU<таблица B>ON<предикат>
<тип соединения>përfaqëson një nga argumentet: INNER | (Majtas | E DREJTA |
E PLOT)
INNER - përfshin rreshta që kanë kolona me të dhëna që përputhen
bashkuar tavolina. Përdoret si parazgjedhje.
LEFT - përfshin të gjitha rreshtat e tabelës A (tabela e majtë) dhe të gjitha ato që përputhen
vlerat nga Tabela B. Kolonat e rreshtave të papërshtatshëm janë të mbushura me vlera NULL.
E DREJTA - përfshin të gjitha rreshtat e tabelës B (tabela e djathtë) dhe të gjitha ato që përputhen
Tabela A. vlerat janë e kundërta për bashkimin e majtë.
FULL - përfshin të gjitha rreshtat e të dy tabelave. Kolonat e rreshtave që përputhen
janë të mbushura me vlera reale, dhe rreshtat që nuk përputhen janë të mbushur me vlera NULL.
OUTER është një cilësues që do të thotë se linjat që nuk përputhen nga
tabela kryesore përfshihet së bashku me ato të përputhura.
603

61.

Opsionet për bashkimin e tabelave
adresë
telefoni
BASHKIMI I BRENDSHM
ZGJEDH * NGA adresa INTER P JRFUNDIMI i telefonit ON adresa.ClientID = phone.ClientID
613

62.

Opsionet për bashkimin e tabelave
adresë
telefoni
SELECT * NGA adresa, telefoni KU adresa.clientID = phone.ClientID
623

63.

Opsionet për bashkimin e tabelave
adresë
telefoni
LINI BASHKIM
ZGJEDH * NGA adresa LAR J HYRJE telefonin në adresën ON.ClientID = phone.ClientID
633

64.

Opsionet për bashkimin e tabelave
adresë
telefoni
BASHKIMI I DREJT
ZGJIDH * NGA adresa PORFUNDIMIN E DREJT të telefonit në adresën.ClientID = phone.ClientID
643

65.

Opsionet për bashkimin e tabelave
adresë
telefoni
BASHKOHU FULL
ZGJIDH * NGA adresa Plotëso telefonin ON adresën ON.ClientID = phone.ClientID
653

66.

Bashkohuni me operatorët
UNION kthen të gjitha rreshtat nga të dy deklaratat SELECT; i përsëritur
vlerat hiqen.
UNION ALL kthen të gjitha rreshtat nga të dy deklaratat SELECT; i përsëritur
tregohen vlerat.
INTERSECT kthen rreshtat që kthehen si nga e para ashtu edhe nga e dyta
deklarata SELECT.
EXCEPT kthen rreshtat që kthehen nga deklarata e parë SELECT,
duke përjashtuar ato që kthehen nga deklarata e dytë.
Numri dhe rendi i kolonave të kthyera nga SELECT nga të dy tabelat duhet
përkojnë.
663

67.

Bashkohuni me operatorët
ZGJIDH emrin e produktit
NGA blerja
POROSIT ME emrin e produktit
673
ZGJIDH emrin e produktit
NGA arkivi i blerjes
POROSIT ME emrin e produktit
ZGJIDH emrin e produktit
NGA blerja
BASHKIMI
ZGJIDH emrin e produktit
NGA arkivi i blerjes
POROSIT ME emrin e produktit

68.

Bashkohuni me operatorët
SELECT product_nam e
NGA blerja e M
U NI I GJITH
SELECT product_nam e
NGA Blerja_arkiv
O RD ER NGA 1
683
SELECT product_nam e
NGA blerja e M
PËRVEÇ
SELECT product_nam e
NGA Blerja_arkiv
O RD ER NGA 1
SELECT product_nam e
NGA blerja e M
N T TERSEKT
SELECT product_nam e
NGA Blerja_arkiv
O RD ER NGA 1

69.

NGA pseudonimi i zonës
Kur përdorni baza të mëdha me skema, është e zakonshme
duke përdorur pseudonimet:
SELECT purc.product_name, prod.laststockdate, pers.first_name,
pers.last_name
NGA blerja si purc,
Personi si pers,
Produkt i prodhuar
KU pers.person_code = purc.s shitës AND
emri i produktit = emri i purp.produktit;
693

70.

Detyra praktike numër 3
1. Shkruani një pyetje që nxjerr produktin kartezian të tabelave të produktit
dhe blerje.
2. Shkruani një pyetje që shfaq emrin e produktit të shitur
emri i produktit, sasia e sasisë (tabela e blerjes) dhe
sasia_në_ dorë (tabela e produktit).
3. Shkruani një pyetje që shfaq emrin e produktit, emrin e produktit
(blerja e tryezës), data e fundit e dorëzimit data e fundit (tabela
produkt) dhe mbiemri i shitësit (personi i tryezës).
4. Shkruani një pyetje që shfaq kolonat e emrit të produktit, emrit të parë,
emri i fundit i bashkimit të jashtëm të tabelave të blerjes dhe personit. Përdorni për tavolina
pseudonimet e shkurtra.
703

71.

Detyra praktike numër 3 (vazhdim)
5. Shkruani një kërkesë që shfaq të gjitha kodet që nuk përsëriten në blerje
shitësit
shitës nga tabela e blerjes_arkive.
6. Shkruani një pyetje që shfaq kodet e vetëm atyre shitësve nga
tabelat e blerjes, të cilat gjithashtu përmbahen në tabelën e blerjes_arqive.
7. Shkruani një pyetje që shfaq të gjithë kodet (përfshirë kopjimin)
shitës nga tabelat e blerjes dhe blerjes_arkivë.
713

72.

SQL. Kursi bazë
Pjesa 6. Funksionet agregate. Grupimi
të dhënave.
www.aplana.ru

73.

Operatorët e matematikës
Operatori matematik - simbolet që përfaqësojnë operacionet (+, -, *, /)
Llogaritjet duke përdorur të dhënat nga tabelat.
ZGJIDH emrin e produktit, çmimin e produktit * 1.07 NGA produkti;
ZGJIDH emrin e produktit, çmimin e produktit * sasinë_në dorë
NGA produkti;
SELECT emri i produktit, çmimi i produktit * 1.07 * sasia_në_ dorë çmimi i produktit * sasia_në dorë
NGA produkti;
ZGJIDH emrin e produktit, çmimin e produktit * (sasia_në dorë + 10)
NGA produkti;
733

74.

Operatorët e matematikës
Funksionet e grumbullimit (funksionet në grupe, statistikore ose bazë)
janë krijuar për të llogaritur disa vlera për një grup të caktuar
linjat.
1. SUM - përmbledh vlerat dhe kthen totalin.
SELECT SUM (sasia)
NGA blerja;
2. AVG - kthen vlerën mesatare për të specifikuarin
kolonë.
ZGJIDH AVG (çmimi i produktit)
NGA produkti;
743

75.

Operatorët e matematikës
3. MIN - Kthen vlerën minimale nga kolona e specifikuar.
ZGJIDH MIN (çmimi i produktit)
NGA produkti;
4. MAX - Kthen vlerën maksimale nga kolona e specifikuar.
SELECT MAX (çmimi i produktit)
NGA produkti;
753

76.

Operatorët e matematikës
5. COUNT - numëron regjistrimet.
SELECT COUNT (*)
NGA blerja; -numri i rreshtave duke përfshirë vlerat NULL
SELECT COUNT (emri i produktit)
NGA blerja; - vlerat në kolonë, duke injoruar NULL
763

77.

GRUPI NGA
Ky seksion është për grupimin e rezultateve të pyetjeve në grupe dhe llogaritjen
për secilën prej këtyre vlerave statistikore. Termi përdoret ndonjëherë
"Tabela e grupuar".
ZGJIDH emrin e produktit, SUM (sasia)
NGA blerja
GRUPI NGA emri i produktit;
V SELECT deklarata mund të aktivizohen disa funksione të grupit.
SELECT emrin e produktit, SUM (sasia) "Totali i Shitur", COUNT (sasi) Transaksionet
NGA blerja
GRUPI NGA emri i produktit;
773

78.

PASUR
KA - ka një nënseksion që synon të kufizojë numrin
rreshta në tabelën e grupuar dhe është pjesë e klauzolës GROUP BY.
Kallëzuesi i këtij seksioni është ndërtuar sipas të njëjtave rregulla semantike si
në klauzolën WHERE, por vetëm
ato kolona që specifikohen në klauzolën GROUP BY. Pjesa tjetër mund
përdorni vetëm brenda funksioneve të grumbullimit. Ky seksion
kufizon përbërjen e grupeve (nëngrupeve) të linjave në të cilat
rezultati i kërkesës. Grupet (nëngrupet) përfshijnë vetëm ata nga
bashkësia e vargjeve të mundshëm për vlerat e të cilave plotësohen kushtet
kallëzuesi i seksionit KA PASUR. Brenda seksionit HAVING, mund të përdorni
pyetje të futura me funksione grumbullimi dhe të ngjashme
nënpyetje.
783

79.

PASUR
Kjo do të thotë, duke përmbledhur sa më sipër, mund të ngushtoni
caktimi i nënseksionit për:
Me konstruktin HAVING, ju mundeni
grupet e filtrave.
HAVING punon për grupet në të njëjtën mënyrë si WHERE punon për regjistrimet individuale.
SELECT emrin e produktit, SUM (sasia) "Totali i Shitur",
COUNT (sasi) Transaksionet
NGA blerja
GRUPI NGA emri i produktit
KA SUM (sasi)< 5;
793

80.

Detyra praktike numër 4
1. Shkruani një pyetje që tregon se cili do të jetë çmimi i produktit_çmimi pas
një rritje prej 15%.
2. Shkruani një pyetje që tregon se sa produkte ka në tabelën e produkteve.
3. Shkruani një pyetje që tregon për sa produkte (tabela e produkteve) jo
tregohet çmimi.
4. Shkruani një pyetje që shfaq çmimet minimale dhe maksimale për produktet product_price.
5. Shkruani një pyetje që tregon se sa është rritur nga shitjet e secilit produkt
emrat.
6. Shkruani një pyetje që tregon se sa është rritur nga shitjet e secilit produkt
emrat. Shfaqni vetëm ato regjistrime për të cilat shitjet totale janë më të mëdha se 125.
803

81.

SQL. Kursi bazë
Pjesa 7. Nënpyetjet
www.aplana.ru

82.

Nënpyetje
Nënpyetja është normale ZGJIDH pyetjen e vendosur në operator
SELECT,
PPRDITSO
ose
FSHIJ.
Përdoret si burim i të dhënave për klauzolën FROM, ose
KU operator operativ mëmë.
823

83.

Nënpyetje
Ekzistojnë disa kufizime në përdorimin e nën -pyetjeve:
833
Nënpyetja duhet të zgjedhë vetëm një kolonë (përveç nënpyetjes me
kallëzuesi EXISTS), dhe lloji i të dhënave të rezultatit të tij duhet të përputhet me llojin
duke pasur parasysh vlerën e specifikuar në kallëzuesin.
Në disa raste, mund të përdorni fjalën kyçe DISTINCT për të garantuar
marrja e një vlere të vetme.
Ju nuk mund të përfshini një klauzolë ORDER BY dhe UNION në një nën -pyetje.
Nënpyetja mund të gjendet ose në të majtë ose në të djathtë të termit të kërkimit.
Nënpyetjet mund të përdorin funksione agregate pa një seksion
GRUPI NGA

84.

Nën -pyetje me një linjë
Nënpyetja e një linje të vetme është një nënpyetje që kthen vetëm 1 vlerë.
Karakteret e krahasimit përdoren me rezultatin e pyetjes së futur (=,<>, <, <=,
>, >=)
SELECT * NGA produkti
KU WHAT laststockdate = (SELECT datestockdock
NGA produkti WHERE product_name = "Miniaplikacion i vogël");
Shembull (duke përdorur funksioni agregat në një nën-pyetje me një rresht):
ZGJEDH * NGA produkti KU çmimi i produktit>
(SELECT AVG (product_price) NGA produkti);
843

85.

Nënpyetje me shumë rreshta
Nënpyetja me shumë rreshta është një nënpyetje që kthen vetëm> = 1
kuptim.
Nënpyetje të tilla nuk mund të krahasohen me
duke përdorur shenja barazie / pabarazie; ju duhet të përdorni funksionin
NË.
SELECT * NGA produkti
KU KA emrin e produktit IN
(ZGJIDH DnameSHIMIN e emrit të produktit nga blerja);
PPRDITSO produktin SET product_price = product_price * 0.9
KU emri i produktit NUK INSHT (ZGJIDH emrin e produktit të dalluar
NGA blerja);
853

86.

EKZISTON
EXISTS merr një nënpyetje si argument dhe
e vlerëson si të vërtetë nëse nënpyetja përmban
dalje, dhe ndryshe si false.
Nënpyetja ekzekutohet një herë dhe mund të përmbajë
kolona të shumta, pasi vlerat e tyre nuk kontrollohen,
por rezultati i pranisë së rreshtave është thjesht i fiksuar.
Shënime mbi kallëzuesin EXISTS:
EXISTS është një kallëzues që kthen TRUE ose FALSE, dhe
mund të përdoret vetëm ose në lidhje me boolean të tjera
shprehjet.
863

87.

EKZISTON
SELECT * NGA produkti
KU egziston
(SELECT * NGA blerja
KU produkt.product_name = blerje.name_prodhimi);
873

88.


ALL - krahasimi do të bëhet me të gjitha regjistrimet që
kthen një nënpyetje (ose vetëm të gjitha vlerat në grup). E vërtetë
do të kthehet vetëm nëse të gjitha regjistrimet që kthehen
nënpyetja do të plotësojë kushtin që keni specifikuar.
SELECT * NGA produkti
KU produkti_çmimi> = T ALL GJITHA (ZGJIDH produktin. Çmimin e produktit)
NGA blerja, produkti


Kërkesa do të kthejë të gjitha produktet nga tabela e produktit, çmimi i të cilave është më i lartë ose
barazohet me çmimin e secilit artikull të shitur me kodin e punonjësve "GA".
883

89.

Kushtet e grupit (operatorët e krahasimit).
ÇDO - krahasimi do të kthehet i vërtetë nëse kushti plotësohet të paktën një
një hyrje nga një nën -pyetje (ose grup).
ZGJEDH * NGA produkti KU çmimi i produktit> ÇDO (ZGJIDH
produkti.çmimi i produktit
NGA blerja, produkti
KU bli.product_name = product.product_name
DHE buy.salesperson = "GA");
Pyetja do të kthejë të gjitha regjistrimet nga tabela e produktit për të cilat çmimi i produktit
më shumë se çmimi i çdo produkti të shitur me kodin e punonjësve "GA".
DISA - bën të njëjtën gjë me ÇDO. Plotësisht i këmbyeshëm.
893

90.

Detyra praktike numër 5
1. Shkruani një pyetje që kthen të gjithë punonjësit që ishin punësuar në të njëjtën kohë
ditë si punonjës John Smith.
2. Shkruani një pyetje që kthen të gjitha produktet që janë nën çmimin mesatar.
3. Shkruani një pyetje që kthen të gjitha produktet që janë shitur më shumë se një
herë.
4. Output çmimi i mallrave, të cilat janë shitur më shumë se një herë, është rritur me 15%.
5. Duke përdorur klauzolën EXISTS, shkruani një pyetje që kthen të gjithë punonjësit,
i cili shiti diçka të paktën një herë.
6. Shkruani një pyetje që kthen të gjitha produktet nga tabela e produktit, çmimi i së cilës
më pak se çmimi i çdo artikulli të shitur nga një punonjës me kodin "GA".
7.shkruani një pyetje që do të kthejë të gjitha produktet nga tabela e produkteve që janë më pak të shtrenjta
çmimet e të paktën një produkti të shitur nga punonjësi me kodin "GA". Sigurohu
disa dhe ndonjë operator janë të këmbyeshëm.
903

91.

SQL. Kursi bazë
Pjesa 8. Funksionet për të punuar me vargje, data dhe
numrat
www.aplana.ru

92.

Funksionet për të punuar me numra
ROUND - rrumbullakon numrat në çdo saktësi të caktuar.
ROUND (vlera e hyrjes, numrat_ e_pikëve_decimalë)
ZGJIDH emrin e produktit, ROUND (çmimi i produktit, 0)
NGA produkti;
SELECT ROUND (1234.5678, 3) --MSSQL
SELECT ROUND (1234.5678, 3) NGA DUAL;
Funksioni ROUND
ROUND (1234.5678.4)
ROUND (1234.5678, 3)
ROUND (1234.5678, 2)
ROUND (1234.5678,1)
ROUND (1234.5678,0)
ROUND (1234.5678, -1)
ROUND (1234.5678, -2)
ROUND (1234.5678, -3)
923
Vlera e kthimit
1234.5678
1234.568
1234.57
1234.6
1235
1230
1200
1000
--Orakulli

93.

Funksionet për të punuar me numra
TRUNC - Shkurton një numër, duke zvogëluar saktësinë e tij.
Funksioni TRUNC
Vlera e kthimit
TRUNC (1234.5678.4)
1234.5678
TRUNC (1234.5678.3)
1234.567
TRUNC (1234.5678, 2) 1234.56
TRUNC (1234.5678,1)
1234.5
TRUNC (1234.5678.0)
1234
TRUNC (1234.5678, -1)
1230
TRUNC (1234.5678, -2) 1200
TRUNC (1234.5678, -3) 1000
933

94.

Tabelat mbështetëse
Tavolina zbukuruese
Për të kryer funksione pa u lidhur me tabela të veçanta në një numër DBMS
është e nevojshme të specifikoni një tabelë shërbimi, pasi SQL nënkupton
zgjidhni ... nga.
Oracle - DUAL
DB2 - SYSDUMMY1
SYBASE - DUMMY
MySQL - DUAL
MSSQL mungon. MSSQL njeh kërkesat e shërbimit pa
nevoja për të specifikuar një tryezë fals.
943

95.

Funksionet për të punuar me datat
GETDATE - Kthen datën aktuale.
zgjidhni getdate ();
DATEADD - Kthen datën e marrë si shumë e datës origjinale
data dhe intervali i bashkangjitur në komponentin e caktuar të datëspjesë të datës
data.
АDD_МONTHS (vlera, sasia, data e fillimit)
SELECT DATEADD (muaj, 1, GETDATE ());
SELECT DATEADD (viti, -2, GETDATE ());
953

96.

Funksionet për të punuar me datat
EOMONTH - Kthen ditën e fundit të çdo muaji të specifikuar
në datën që i kaloi (MSSQL 2012+).
EOMONTH (data)
ZGJIDH EOMONTH (GETDATE ());
ZGJIDH EOMONTH ("2015-03-15");
SELECT first_name, last_name, punësuar, EOMONTH (punësuar) +1
NGA personi;
963

97.

Funksionet për të punuar me datat
DATEDIFF - Kthen numrin e njësive që ndajnë dy data.
DATEDIFF (vlera, data e fillimit, data e përfundimit)
SELECT DATEDIFF (milisekonda, GETDATE (), SYSDATETIME ());
SELECT DATEDIFF (MUAJ, "17-Gusht-2012", GETDATE ());
973

98.

Funksionet për të punuar me tekstin
UPPER - vendos të gjithë karakteret në një varg me shkronjë të madhe.
LOWER - vendos të gjithë karakteret në një varg me shkronja të vogla.
INITCAP (oracle) - ndryshon rastin e një vargu në të përzier (shkronja e parë e secilit
fjalët do të jenë me shkronja të mëdha, pjesa tjetër e fjalës do të jetë me shkronjë të vogël).
ZGJIDH E PARA (emri i produktit) NGA produkti;
ZGJIDH LOWER (emri i produktit) NGA produkti;
ZGJIDH INITCAP ("ky TEXT kishte një kërkim të paparashikueshëm") NGA DUAL;
983

99.

Funksionet për të punuar me tekstin
LEN - përcakton gjatësinë e vargut.
ZGJIDH emrin e produktit, LEN (emrin e produktit) LENGTH
NGA produkti
KU LEN (emri i produktit)> 15;
993

100.

Funksionet për të punuar me tekstin
SUBSTRING - shkurton vlerën në parametër.
SUBSTRING (teksti burimor, filloni pozicionin e karakterit,
Personazhe)
SUBSTRING (rreshti 1, a, [, b])
Kthen pjesën "Linja 1" që fillon me numrin e karakterit a,
dhe që ka një gjatësi të karaktereve b. Nëse a = 0, kjo është e barabartë me
a = 1 (fillimi i vargut) nëse b është karaktere pozitive kthehen
nga e majta në të djathtë. Nëse b është negative atëherë duke filluar në fund të vargut dhe
konsiderohen nga e djathta në të majtë! Nëse b mungon, atëherë si parazgjedhje
të gjithë personazhet kthehen, deri në fund të vargut
100
3

101.

Funksionet për të punuar me tekstin
SELECT SUBSTRING (item_id, 1, 3) LOCATION,
SUBSTRING (artikulli_id, 5, 3) ITEM_NUMBER
NGA artikulli i vjetër;
101
3

102.

Funksionet për të punuar me tekstin
CHARINDEX- gjen pozicionin e personazhit (ose personazheve) që ndan elementet
linjat.
CHARINDEX (rreshti 1, rreshti 2, [, a])
Kthen vendndodhjen "rreshti 1", në "rreshtin 2". "linja 2" është duke u skanuar
majtas, duke filluar nga pozicioni a. Nëse a është negative, atëherë "rreshti 2" skanohet
në të djathtë. Parazgjedhja për a është 1, e cila rezulton në një pozicion,
ndodhia e parë, "rreshti 1", në "rreshti 2". Nëse jepet një, "rreshti 1" nuk është
u gjet, kthen 0
102
3

103.

Funksionet për të punuar me tekstin
CHARINDEX (karakteri i kërkimit, teksti_për_ kërkim, pozicioni
personazhi_fille)
SELECT item_desc, CHARINDEX (",", item_desc, 1)
NGA artikulli i vjetër;
103
3

104.

Folezimi i funksionit
SELECT item_desc, SUBSTRING (item_desc, 1, CHARINDEX (",", item_desc, 1))
KATEGORIA
NGA artikulli i vjetër;
104
3

105.

Folezimi i funksionit
105
3
SELECT item_desc,
SUBSTRING (item_desc, 1, CHARINDEX (",", item_desc, 1) -1) KATEGORIA,
SUBSTRING (item_desc, CHARINDEX (",", item_desc, 1) +2, 99) ITEM_SIZE
NGA artikulli i vjetër;

106.

Detyra praktike numër 6
1. Përdorimi i funksioneve për të punuar me datat dhe numrat, numëroni,
sa vjec je
2. Nxjerr rreshtin "I DI TUNS FUNKSIONET" në krye dhe
të vogla
3. Gjeni gjatësinë e kësaj rreshti.
4. Puna me kolonën buy.product_name, output:
tre personazhet e parë
të gjithë personazhet e mbetur duke filluar nga i katërti
rresht i plotë
106
3

107.

Burime të dobishme
http://sqlfiddle.com/ - një mjet që imiton një DB të zbrazët:
ju lejon të ekzekutoni një pjesë të konsiderueshme të DML, DDR dhe DR
kërkesat. Mbështet 5 dialekte kryesore
http://www.sql-tutorial.ru/ - një mësim interaktiv mbi SQL në
Rusisht
http://www.sql-ex.ru/ - një portal interaktiv për zgjidhjen
Detyrat SQL
https://dev.mysql.com/downloads/mysql/ - SQL Falas
server për OS të ndryshme
https://www.mysql.com/products/workbench/ - falas
mjet për të punuar me serverin MySql
107
3

108.

Faleminderit për vëmendjen!
Pyetjet tuaja?
Kompania Aplana
Sergey Vorobyov
Inxhinier i Testit Drejtues
+7-917-556-13-49
www.aplana.ru

Gjuha SQL. Kursi bazë.

Ky tutorial, i shkruar nga Evgeny Morgunov, mbulon bazat e gjuhës SQL - ky është një kurs bazë. Për më tepër, gjuha konsiderohet në lidhje me një sistem specifik të menaxhimit të bazës së të dhënave (DBMS) - PostgreSQL. Zbatimi i gjuhës SQL në secilën DBMS përputhet me standardin në një shkallë ose në një tjetër, por përveç funksioneve dhe aftësive të standardizuara, secili DBMS gjithashtu ofron shtesat e veta shtesë të gjuhës. PostgreSQL siguron mbështetje shumë të mirë për standardin e gjuhës SQL dhe gjithashtu ofron veçori shtesë interesante dhe të dobishme. Një nga avantazhet kryesore të PostgreSQL është zgjerueshmëria. Kjo do të thotë, për shembull, që një përdorues (i cili natyrisht është specialist i bazës së të dhënave) mund të zhvillojë llojet e tij të të dhënave. Këto lloje të të dhënave do të kenë të gjitha vetitë e llojeve të integruara të të dhënave dhe mund të vihen në punë pa ndalur serverin. Për më tepër, PostgreSQL është falas dhe me burim të hapur dhe është i disponueshëm në një larmi të gjerë platformash.

Ky tutorial mbulon jo vetëm të gjitha komandat bazë SQL, por edhe tema të tjera të tilla si indekset dhe transaksionet. Manuali është shkruar në atë mënyrë që të mund të përdoret si nën drejtimin e mësuesit ashtu edhe në mënyrë të pavarur. Supozohet se studentët kanë qasje në një DBMS të instaluar tashmë, prandaj procedura e instalimit PostgreSQL nuk mbulohet në detaje, por jepen vetëm udhëzime se ku mund të gjenden udhëzimet e instalimit. Ky tutorial ka për qëllim t'ju ofrojë aftësi praktike në përdorimin e gjuhës SQL. Materiali edukativ paraqitet në atë mënyrë që lexuesi të marrë shumë njohuri të rëndësishme si rezultat i përfundimit të detyrave në fund të secilit kapitull.

Kjo njohuri mund të mos paraqitet në tekstin kryesor të kapitujve. Supozohet se një pjesë e konsiderueshme e detyrave do të kryhen nga lexuesi në mënyrë të pavarur duke përdorur dokumentacionin për DBMS PostgreSQL, por shpesh jepen udhëzime për zbatimin e tyre.

Manuali ka për qëllim studentët që studiojnë në fushat 09.03.01 - "Informatikë dhe Inxhinieri Kompjuterike", 09.03.02 - "Sisteme dhe Teknologji Informative", 09.03.03 - "Informatikë e Aplikuar", 09.03.04 - "Inxhinieri Softuerike" dhe 02.03. 03 - "Mbështetje matematikore dhe administrim i sistemeve të informacionit". Mund të jetë e dobishme për një gamë të gjerë studentësh dhe profesionistësh që duan të njihen me bazat e gjuhës SQL në mjedisin e sistemit të menaxhimit të bazës së të dhënave PostgreSQL.

Botues - Postgres Professional

Viti i botimit - 2017

Formati i librit - PDF

SQL (zakonisht e shqiptuar "SIKWEL") qëndron për Structured Query Language. Shtë një gjuhë që ju mundëson të krijoni dhe punoni në bazat e të dhënave relacionale, të cilat janë koleksione të informacioneve të lidhura të ruajtura në tabela. Nëse po pyesni se ku të filloni të mësoni SQL, atëherë duhet të vini tek ne. Kompania jonë ju ofron kurse SQL, si dhe mësime SQL për fillestarët, pasi të keni studiuar të cilat mund të krijoni vetë një bazë të dhënash SQL. Mësimi i SQL është një kërkim shumë premtues. Ai përfshin leksione SQL, kurse të bazës së të dhënave SQL dhe kurse për pyetje SQL. Ekziston një mundësi për të marrë kurse SQL dhe për të kryer trajnime SQL nga e para, si dhe për të marrë kurse programimi SQL duke përdorur trajnime SQL në internet, pasi keni marrë një praktikë ekskluzive

Bota e bazave të të dhënave po bëhet gjithnjë e më e unifikuar, gjë që ka çuar në nevojën për një gjuhë standarde që mund të përdoret për të vepruar në një numër të madh të llojeve të ndryshme të mjediseve kompjuterike. Gjuha standarde do të lejojë përdoruesit që kanë përfunduar trajnimin SQL ose kurset e SQL Server që dinë një grup komandash t'i përdorin ato për të krijuar, marrë, modifikuar dhe komunikuar informacion, pavarësisht se ku punojnë.

Në botën tonë gjithnjë e më të ndërlidhur kompjuterike, një përdorues i pajisur me një gjuhë të tillë ka një avantazh të jashtëzakonshëm në përdorimin dhe sintetizimin e informacionit nga burime të ndryshme në mënyra të ndryshme. Prandaj, trajnimi i SQL Server dhe trajnimi i pyetjeve SQL janë shumë të rëndësishme.

Eleganca dhe pavarësia nga specifikat teknologji kompjuterike dhe mbështetja e tij nga udhëheqësit e industrisë në teknologjinë e bazës së të dhënave relacionale e ka bërë SQL, dhe ka të ngjarë të mbetet, gjuha standarde kryesore për të ardhmen e parashikueshme. Për këtë arsye, kushdo që dëshiron të punojë me bazat e të dhënave duhet të di SQL, të marrë një kurs bazë SQL ose të mësojë SQL nga e para dhe të mësojë një kurs bazë SQL.

Standardi SQL përcaktohet nga ANSI (Instituti Amerikan i Standardeve Kombëtare) dhe aktualisht është miratuar gjithashtu nga ISO (Organizata Ndërkombëtare për Standardizim). Sidoqoftë, shumica e programeve komerciale të bazës së të dhënave shtrijnë SQL pa njoftim ANSI, duke shtuar veçori të ndryshme të tjera në gjuhën që ata besojnë se do të jenë shumë të dobishme. Ata ndonjëherë shkelin disi standardin e gjuhës, megjithëse idetë e mira tentojnë të evoluojnë dhe së shpejti bëhen standarde të "tregut" në vetvete për shkak të dobisë së tyre. Dhe ju mund t'i mësoni të gjitha këto funksione duke marrë kurse trajnimi SQL në zyrën tonë ose duke marrë një studim online SQL.

Para se të përdorni SQL, duhet të kuptoni se çfarë janë bazat e të dhënave relacionale dhe si zhvillohen ato, si dhe të merrni një kurs trajnimi SQL dhe të mësoni mësimet e SQL Server në mënyrë që zhvillimi i një baze të dhënash SQL të mos duket si një ndërmarrje e komplikuar.

Siç e theksuam më herët, SQL qëndron për Structured Query Language. Eksplorimi i pyetjeve SQL dhe krijimi i pyetjeve kundër bazës së të dhënave është ndoshta aspekti më i përdorur i SQL. Në fakt, për kategorinë e përdoruesve të SQL, nuk ka gjasa që dikush ta përdorë këtë gjuhë për ndonjë gjë tjetër. Për këtë arsye, ne do të fillojmë mësimin tonë të gjuhës SQL duke diskutuar pyetjen dhe mënyrën se si ekzekutohet në atë gjuhë.

Query është një komandë që i jepni programit tuaj të bazës së të dhënave dhe që i thotë asaj të hedhë informacione të caktuara nga tabelat në memorie. Ky informacion zakonisht dërgohet drejtpërdrejt në ekranin e kompjuterit ose terminalit që po përdorni, edhe pse në shumicën e rasteve mund të dërgohet edhe në një printer, të ruhet në një skedar (si një objekt në kujtesën e kompjuterit), ose të paraqitet si hyrje në një tjetër komanda ose procesi.

Pyetjet zakonisht shihen si pjesë e DML. Sidoqoftë, meqenëse pyetja nuk ndryshon informacionin në tabela, por thjesht ia tregon përdoruesit, ne do t'i konsiderojmë pyetjet si një kategori e pavarur midis komandave DML që kryejnë veprime, dhe jo vetëm të tregojnë përmbajtjen e bazës së të dhënave.

Të gjitha pyetjet SQL përbëhen nga një komandë e vetme. Struktura e kësaj komande është mashtruese e thjeshtë sepse ju duhet ta zgjeroni atë për të kryer vlerësime dhe manipulime të të dhënave shumë komplekse. Kjo komandë quhet - SELECT.

Transkriptim

2 Kompania Profesionale Postgres EP Morgunov SQL GJUHA. TRAJNIMI KURS THEMELOR DHE UDHZUES PRAKTIK Moskë 2017

3 UDC LBC М79 М79 Morgunov, EP Language SQL. Kursi bazë: tekst mësimor-praktik. shtesa / PE Morgunov; ed. E. V. Rogova, P. V. Luzanova; Postgres profesionale. M., f. Ky mësim praktik është pjesa e parë, bazë, e kursit të trajnimit të gjuhës SQL të ofruar nga kompania ruse Postgres Professional. Materiali i trajnimit paraqitet me qëllim të përdorimit të sistemit të menaxhimit të bazës së të dhënave PostgreSQL. Manuali mund të përdoret si nën drejtimin e një mësuesi ashtu edhe për vetë-studimin e gjuhës SQL. Manuali ka për qëllim studentët që studiojnë në fushat e "Informatikës dhe Inxhinierisë Kompjuterike", "Sistemet dhe Teknologjitë e Informacionit", "Informatika e Aplikuar", "Inxhinieri Softuerike" dhe "Mbështetja dhe Administrimi Matematik i Sistemeve të Informacionit". Mund të jetë e dobishme për një gamë të gjerë studentësh dhe profesionistësh që duan të njihen me bazat e gjuhës SQL në mjedisin e sistemit të menaxhimit të bazës së të dhënave PostgreSQL. UDC BBK Postgres Professional, 2017 E. P. Morgunov, 2017

4 Përmbajtja Hyrje 5 1 Hyrje në bazat e të dhënave dhe SQL Cilat janë bazat e të dhënave dhe pse ato janë të nevojshme Konceptet bazë të modelit relacional Çfarë është SQL Përshkrimi i gjuhës i fushës dhe bazës së të dhënave të trajnimit Pyetje dhe detyra testimi Krijimi i një mjedisi pune Instalimi i një DBMS psql program PostgreSQL terminali ndërveprues Vendosja e bazave të të dhënave të trajnimit Pyetjet dhe detyrat e testimit Operacionet themelore me tabela 22 Pyetjet dhe detyrat e testit Llojet e të dhënave të PostgreSQL DBMS Llojet numerike Karakteret (vargjet) Llojet e datave / orëve Llojet e tipit boolean Tipat JSON Llojet e testit Pyetjet dhe detyrat Përcaktimi i të dhënave Bazat e gjuhës vlerat dhe kufizimet Integriteti Krijimi dhe fshirja e tabelave Modifikimi i tabelave Pamjet e bazave të të dhënave Skemat e testimit Pyetjet dhe detyrat Pyetje Karakteristikat shtesë të SELECT Komandat Lidhjet Grumbullimi dhe Grupimi i Pyetjeve Pyetje dhe detyra Testimi Modifikimi i të dhënave Futja e rreshtave në tabela Përditësimi i rreshtave në tabelat Fshirja e rreshtave nga tabela Testo pyetje dhe detyra

5 8 Indekset informacion i pergjithshem Indekse me shumë kolona Indekse unike Indekse të bazuara në shprehje Indekse të pjesshme Pyetjet dhe detyrat e rishikimit Transaksionet Niveli i izolimit LEXONI TCO PAKOMATUARIT Niveli i izolimit LEXONI I KOMITUAR Niveli i izolimit I LEXUAR T RE LEXUAR Niveli i izolimit SERIALIZIMI Shembull i përdorimit të transaksioneve Kyçet Kontrollimi i pyetjeve dhe detyrave Përmirësimi i performancës Koncepte themelore Skanimi i teknikave për bashkohet me Rowset Management Scheduler Management Query Optimization Pyetje Test dhe Detyra Burime të Rekomanduara 255 4

6 Hyrje Aktualisht, termi "bazë të dhënash" është i njohur për shumë njerëz, madje edhe ata që janë larg zhvillimit profesional të programeve kompjuterike. Bazat e të dhënave janë bërë një teknologji shumë e përhapur, e cila nga ana tjetër kërkoi më shumë njerëz për t’i dizajnuar dhe mirëmbajtur ato. Në rrjedhën e evolucionit të teorisë dhe praktikës së bazave të të dhënave, modeli i të dhënave relacionale është bërë standard de facto, dhe brenda këtij modeli është formuar një gjuhë programimi e specializuar që ju lejon të kryeni të gjitha operacionet e nevojshme me gjuhën e pyetjes të strukturuar ( SQL) të dhënat. Kështu, aftësia në gjuhën SQL është një komponent i rëndësishëm i kualifikimeve të një profesionisti të bazës së të dhënave. Ky tutorial mbulon bazat e gjuhës SQL në një kurs bazë. Për më tepër, gjuha konsiderohet në lidhje me një sistem specifik të menaxhimit të bazës së të dhënave (DBMS) PostgreSQL. Zbatimi i gjuhës SQL në secilën DBMS përputhet me standardin në një shkallë ose në një tjetër, por përveç funksioneve dhe aftësive të standardizuara, secili DBMS gjithashtu ofron shtesat e veta shtesë të gjuhës. PostgreSQL siguron mbështetje shumë të mirë për standardin e gjuhës SQL dhe gjithashtu ofron veçori shtesë interesante dhe të dobishme. Një nga avantazhet kryesore të PostgreSQL është zgjerueshmëria. Kjo do të thotë, për shembull, që një përdorues (i cili natyrisht është specialist i bazës së të dhënave) mund të zhvillojë llojet e tij të të dhënave. Këto lloje të të dhënave do të kenë të gjitha vetitë e llojeve të integruara të të dhënave dhe mund të vihen në punë pa ndalur serverin. Për më tepër, PostgreSQL është falas dhe me burim të hapur dhe është i disponueshëm në një larmi të gjerë platformash. Ky tutorial mbulon jo vetëm të gjitha komandat bazë SQL, por edhe tema të tjera të tilla si indekset dhe transaksionet. Manuali është shkruar në atë mënyrë që të mund të përdoret si nën drejtimin e mësuesit ashtu edhe në mënyrë të pavarur. Supozohet se studentët kanë qasje në një DBMS të instaluar tashmë, prandaj procedura e instalimit PostgreSQL nuk mbulohet në detaje, por jepen vetëm udhëzime se ku mund të gjenden udhëzimet e instalimit. Ky tutorial ka për qëllim t'ju ofrojë aftësi praktike në përdorimin e gjuhës SQL. Materiali edukativ paraqitet në atë mënyrë që lexuesi të marrë shumë njohuri të rëndësishme si rezultat i përfundimit të detyrave në fund të secilit kapitull. Kjo njohuri mund të mos paraqitet në tekstin kryesor të kapitujve. Supozohet se një pjesë e konsiderueshme e detyrave do të kryhen nga lexuesi në mënyrë të pavarur duke përdorur dokumentacionin për DBMS PostgreSQL, por shpesh jepen udhëzime për zbatimin e tyre. Detyrat në manual ndryshojnë në vështirësi. Ato më të vështirat, si dhe ato që kërkojnë shumë kohë për t'u përfunduar, shënohen me një yll. Detyrat mund të përfundojnë ndërsa studioni material mësimor kapitull specifik. Sidoqoftë, disa prej tyre janë komplekse në natyrë, kështu që për t'i përfunduar ato duhet të studioni të gjithë kapitullin ose të paktën disa seksione të tij. 5

7 Megjithëse manuali ka një fokus praktik dhe nuk është një kurs teorik, megjithatë, kapitulli i parë shkurtimisht, në një nivel elementar, përshkruan konceptet themelore të teorisë së bazës së të dhënave dhe modelin relacional. Kjo është bërë në mënyrë që studentët të fillojnë zotërimin praktik të gjuhës SQL pa vonesë, që nga ditët e para të semestrit akademik, edhe para momentit kur këto koncepte do të konsiderohen tërësisht në kursin e leksioneve. Në departamentet e teknologjisë së informacionit në universitetet ruse, bazat e të dhënave studiohen tradicionalisht në vitin e dytë ose të tretë. Për më tepër, kjo disiplinë, si rregull, zgjat një semestër. Sidoqoftë, numri i orëve akademike të studimit mund të ndryshojë. Nëse kurrikula ndan 36 orë për ushtrime praktike në këtë disiplinë, atëherë ne rekomandojmë shpërndarjen e mëposhtme të kohës për studimin e materialit në manual. Kapitulli 1. Hyrje në bazat e të dhënave dhe SQL Kapitulli 2. Krijimi i një mjedisi pune Kapitulli 3. Operacionet themelore me tabela Kapitulli 4. Llojet e të dhënave të bazës së të dhënave PostgreSQL Kapitulli 5. Bazat e përcaktimit të të dhënave Gjuha Kapitulli 6. Pyetjet Kapitulli 7. Modifikimi i të dhënave Kapitulli 8. Indekset Kapitulli 9. Transaksionet Kapitulli 10. Përmirësimi i Performancës 1 orë 1 orë 4 orë 4 orë 4 orë 4 orë 8 orë 4 orë 2 orë 4 orë 4 orë Kapitujt 1 dhe 2 mund të studiohen në një mësim dy-orësh, pasi PostgreSQL duhet të jetë tashmë i instaluar në klasë paraprakisht. Kapitulli 3 është një përmbledhje e shkurtër e veçorive themelore të gjuhës SQL, pasi ta studiojnë atë, studentët duhet të jenë të vetëdijshëm për mënyra të thjeshta për të përdorur të gjitha komandat themelore të gjuhës. Ky kapitull nuk është shumë i vështirë, por i gjatë, kështu që duhen katër orë për ta studiuar atë. Kapitulli 4 diskuton llojet bazë të të dhënave të përdorura në PostgreSQL. Ky është një kapitull i madh, por përmban një pjesë të madhe të detyrave dhe ushtrimeve. Studentët pritet të zotërojnë vetëm teknikat bazë për përdorimin e llojeve të të dhënave në katër orë. Dhe në mënyrë që njohuritë të konsolidohen, rekomandohet t'i referoheni materialit të këtij kapitulli (përfshirë ushtrimet) në procesin e studimit të kapitujve të mbetur të manualit, nëse është e nevojshme, për të sqaruar disa veçori të përdorimit të specifikave llojet. Ne rekomandojmë shpërndarjen e kohës së caktuar për studimin e këtij kapitulli si më poshtë: dy orë për katër paragrafët e parë të llojeve numerike dhe vargore, datën / orën dhe llojet boolean, dy orë të tjera për vargjet dhe llojet json / jsonb. Për të ekzekutuar pyetje në bazën e të dhënave, duhet të keni një kuptim të mirë të strukturës së tij, marrëdhënies së tabelave. Prandaj, Kapitulli 5, i cili diskuton bazat e gjuhës së përcaktimit të të dhënave, është shumë i rëndësishëm nga pikëpamja e një studimi të detajuar të tabelave të bazës së të dhënave të Transportit Ajror dhe përgatitjes për zotërimin e Kapitullit 6. Meqenëse materiali i kapitullit bazohet në faktin që baza e të dhënave është vendosur tashmë në kompjuterin e studentit, atëherë mos futni komanda që kërkohen për të krijuar tabela. Kjo ju lejon të zvogëloni kohën e kaluar duke studiuar kapitullin. Ky tutorial merr një qasje që së pari shikon komandat e përcaktimit të të dhënave dhe pastaj komandat e manipulimit të të dhënave. Prandaj, Kapitulli 5, "Bazat e gjuhës së përcaktimit të të dhënave", i paraprin Kapitullit 6.

8 kapitulli 6 "Kërkesat". Sidoqoftë, qasja e zgjedhur nuk zbatohet në mënyrë shumë të ngurtë: në kapitullin e përgjithshëm 3, merren parasysh komandat themelore, përfshirë pyetjet e thjeshta. Dhe pyetjet janë tashmë një gjuhë e manipulimit të të dhënave. Kapitulli 5 ka katër orë kohë studimi. Gjatë mësimit tuaj të parë dy orësh, ju do të studioni dy paragrafët e parë, të cilët mbulojnë tema të tilla si kufizimet e integritetit dhe krijimin dhe fshirjen e tabelës. Mësimi i dytë dyorësh duhet t'i kushtohet studimit të tre paragrafëve të mbetur. Ata flasin për mënyrat e modifikimit të tabelave, si dhe pamjet dhe skemat e bazës së të dhënave. Kapitulli 6 është pjesa qendrore e manualit, kështu që duhen tetë orë për të studiuar, më shumë se kapitujt e tjerë. Përbëhet nga katër seksione. E para merret me veçoritë e ndryshme shtesë të komandës SELECT. Kjo përfshin gjëra të tilla si klauzolat LIMIT dhe OFFSET, operatori LIKE, dhe shprehjet e rregullta në KETU klauzola, dhe më shumë. Sidoqoftë, materiali i këtij paragrafi nuk është i vështirë, mjafton të lini një orë për ta studiuar atë. Paragrafi i dytë shpjegon mënyrën e bashkimit të tabelave. Kjo është një temë më komplekse dhe kërkon dy orë për të studiuar. Paragrafi i tretë merret me grumbullimin dhe grupimin. Ai gjithashtu mbulon një temë kaq të rëndësishme dhe interesante si funksionet e dritareve. Ky paragraf kërkon gjithashtu një mësim dy orësh. Seksioni më i vështirë i këtij kapitulli është i katërti. Bëhet fjalë për nën -pyetje. Në veçanti, ajo mbulon një temë kaq të rëndësishme dhe interesante si shprehjet e zakonshme të tabelës (CTE). Për të studiuar materialin në këtë paragraf, duhet të ndani tre orë. Kapitulli 7 përmban të gjitha komandat për ndryshimin e të dhënave: futjen e rreshtave, përditësimin e tyre dhe fshirjen e tyre. Meqenëse këto komanda janë përdorur tashmë për detyra të thjeshta në kapitujt e mëparshëm, ky kapitull diskuton mënyra më të avancuara për t'i përdorur ato. Ka shumë ushtrime në të, ato përbëjnë gjysmën e vëllimit të tij. Ne ju rekomandojmë që të kaloni dy orë duke eksploruar se si të fusni rreshtat në tabela, dhe dy orë të tjera duke parë se si të azhurnoni dhe fshini rreshtat. Kapitulli 8 ka të bëjë me indekset, është i vogël, kështu që mund të njiheni me të në një mësim dy orësh. Meqenëse indekset janë të lidhura ngushtë me çështjet e performancës, domethënë shpejtësinë e pyetjes, do të ishte e këshillueshme, pasi të studioni kapitullin e fundit, të ktheheni në Kapitullin 8 dhe të shikoni komandat dhe pyetjet e paraqitura në të, duke ditur tashmë për komandën EXPLAIN. Kapitulli 9 i kushtohet transaksioneve. Mekanizmat e ekzekutimit të tyre kanë shumë hollësi, prandaj, ndërsa studioni këtë kapitull, duhet të eksperimentoni dhe të përpiqeni të shpjegoni rezultatet e marra. Kapitulli i fundit 10 diskuton çështjet e produktivitetit. Ky kapitull mund të duket shumë abstrakt dhe kompleks për një kurs fillestar SQL, por megjithatë është shumë i rëndësishëm. Studentët duhet të mësojnë të lexojnë planet e ekzekutimit të pyetjeve dhe të kuptojnë qëllimin e secilit operacion të paraqitur në plan. Dhe zotërimi i artit të optimizimit të pyetjeve do të marrë shumë kohë dhe përvojë, dhe nuk do të vijë menjëherë. Në rast se ndahen 54 orë për trajnim praktik në disiplinën "Bazat e të dhënave" në kurrikulë, mund të ndryshoni shpërndarjen e propozuar të orëve mësimore. Veçanërisht në Kapitullin 4, ju mund t'i kushtoni më shumë kohë llojeve të të dhënave 7

9 json / jsonb dhe vargje. Kapitulli 6 jep një vështrim më të detajuar të funksioneve të dritareve dhe shprehjeve të zakonshme të tabelës. Ndërsa studioni Kapitullin 9 mbi transaksionet, mund të jetë e vlefshme të zhvilloni një aplikacion të thjeshtë që përdor transaksionet dhe të eksperimentoni me atë aplikacion duke kryer sesione të shumta paralelisht dhe duke ndryshuar nivelet e izolimit të transaksionit. Si pjesë e Kapitullit 10, ka kuptim të kthehemi te komandat dhe pyetjet në Kapitullin 8 dhe të shqyrtojmë planet për ekzekutimin e tyre duke përdorur komandën EXPLAIN. Për shkak të kohës shtesë, të gjitha detyrat dhe ushtrimet me kompleksitet të shtuar (të shënuara me një yll) mund të merren parasysh. Kështu, shpërndarja e kohës mund të jetë si më poshtë: Kapitulli 1. Hyrje në bazat e të dhënave dhe SQL Kapitulli 2. Krijimi i një mjedisi pune Kapitulli 3. Operacionet bazë me tabela Kapitulli 4. Llojet e të dhënave të PostgreSQL DBMS Kapitulli 5. Bazat e gjuhës së përcaktimit të të dhënave Kapitulli 6. Pyetjet Kapitulli 7. Modifikimi i të dhënave Kapitulli 8. Indekset Kapitulli 9. Transaksionet Kapitulli 10. Rritja e produktivitetit 1 orë 1 orë 4 orë 6 orë 6 orë 12 orë 6 orë 4 orë 8 orë 8 orë 6 orë Udhëzuesi përdor lloje të ndryshme të shkronjave për të nxjerrë në pah fragmente teksti në varësi të destinacionit të tyre. Komandat e futura nga përdoruesi si në mjedis sistemi operativ dhe në mjedisin e shërbimeve psql janë me shkronja të theksuara të njëpasnjëshme. Për shembull: psql -d demo -U postgres ose SELECT mesatare (totali i shumës) NGA rezervimet; Rezultatet e komandave të sistemit operativ dhe komandat SQL të ekzekutuara në mjedisin e shërbimeve psql janë të shtypura me shkronja monospaced. Për shembull, në përgjigje të EXPLAIN SELECT * NGA avionët; ekrani do të shfaqë sa vijon: PLANI I PYETJEVE Seq Scan në aeroplanë (kosto = rreshta = 9 gjerësi = 52) (1 rresht) Shpresojmë që studimi i materialit në këtë tutorial do t'ju ndihmojë të përmirësoni aftësitë tuaja dhe të zgjeroni horizontet tuaja profesionale. tetë

10 1 Hyrje në bazat e të dhënave dhe SQL Ky kapitull është hyrës. Në të, ne do të mbulojmë bazat e bazave të të dhënave, cili është modeli relacional dhe pse keni nevojë për SQL. Një temë shumë e rëndësishme e këtij kapitulli do të jetë përshkrimi i fushës lëndore, në bazë të së cilës do të hartohet baza e të dhënave të trajnimit, e cila do të shërbejë si një platformë për mësimin e gjuhës SQL. Ky tutorial ka për qëllim kryesisht për zotërimin praktik të gjuhës SQL, dhe jo për studimin e teorisë së bazës së të dhënave, prandaj, për të studiuar teorinë, duhet t'i drejtoheni burimeve autoritare, një listë e të cilave jepet në fund të mësimit. 1.1 Cilat janë bazat e të dhënave dhe pse keni nevojë për to Teknologjitë e bazës së të dhënave nuk kanë ekzistuar gjithmonë. Sidoqoftë, edhe para futjes së tyre në praktikë, njerëzit gjithashtu mblodhën dhe përpunuan të dhëna. Një nga mënyrat e ruajtjes së të dhënave ishin të ashtuquajturat skedarë të sheshtë, të cilët kishin një strukturë shumë të thjeshtë: të dhënat ruheshin si regjistrime, të ndara në fusha me gjatësi fikse. Në jetën reale, marrëdhëniet komplekse shpesh lindin midis elementeve të të dhënave, të cilat duhet të transferohen në një bazë të dhënash elektronike. Kur përdorni skedarë të sheshtë, këto marrëdhënie janë të vështira për t'u organizuar, dhe madje edhe më të vështira për t'i ruajtur ato kur ndryshoni ose fshini artikujt individualë të të dhënave. Një nga konceptet bazë në teorinë e bazës së të dhënave është modeli i të dhënave. Mund të themi se karakterizon mënyrën e organizimit të të dhënave dhe metodat kryesore të qasjes në to. Së pari, u propozuan modele hierarkike dhe të dhënash të rrjetit. Sidoqoftë, gjatë evolucionit të teorive dhe ideve, u zhvillua një model i të dhënave relacionale, i cili tani është dominues. Prandaj, bazat e të dhënave të tipit relacional mbizotërojnë në ditët e sotme. Karakteristika e tyre karakteristike është fakti që të dhënat perceptohen nga përdoruesi si tabela. Përdoruesi ka operatorë për marrjen e të dhënave nga tabelat, si dhe për futjen e të dhënave të reja, përditësimin dhe fshirjen e të dhënave ekzistuese. Një nga avantazhet e një baze të dhënash relacionale është aftësia e saj për të ruajtur marrëdhëniet midis artikujve të të dhënave, duke eleminuar nevojën që një programues të bëjë këtë punë rutinë dhe që kërkon shumë kohë. Ditët para se teknologjitë e bazës së të dhënave relacionale të ishin miratuar gjerësisht, programuesit duhej të zbatonin manualisht në gjuhët procedurale ato që tani quhen përditësime të çelësave të huaj të cascading ose regjistrime kaskaduese nga tabelat (skedarët) vartës. Këtu, fjala "me dorë" do të thotë që për të kryer këto operacione, ju duhet të shkruani kod, i përbërë nga komanda elementare, duke ju lejuar të arrini në secilin rekord të përditësuar ose të fshirë. Kjo qasje për të punuar me bazat e të dhënave u quajt një programues navigimi i cili e drejtoi programin në një algoritëm specifik për gjetjen e regjistrave. Le të japim si shembull një situatë të thjeshtë: në një bazë të dhënash të ndërtuar në bazë të skedarëve, ruhen informacionet për studentët dhe notat e tyre të provimit, për më tepër, të dhënat personale të studentëve ruhen në një skedar, le ta quajmë me kusht "Studentë", dhe notat e provimit në një dosje tjetër, të cilën le ta quajmë "Vlerësime". Nëse dëshironi të fshini informacionin për një student specifik dhe provimin e tij 9

11 nota, jo vetëm që do të duhet të kryeni operacionin e fshirjes së një regjistrimi specifik nga skedari "Studentët", por gjithashtu organizoni një lak për të gjetur dhe fshirë ato regjistrime nga skedari "Notat" për të cilat fusha kryesore ka të njëjtën vlerë si fushë në rekordin e fshirë nga skedari "Studentët". Duke punuar me bazat e të dhënave relacionale, programuesi lirohet nga programimi në nivelin "atomik", sepse gjuhët moderne për "komunikimin" me këto baza të të dhënave janë deklarative. Kjo do të thotë që për të marrë një rezultat, mjafton vetëm të tregoni se çfarë duhet të merret, por nuk kërkohet të përshkruani një metodë për marrjen e rezultatit, domethënë mënyrën e marrjes së tij. Sistemi i bazës së të dhënave është një sistem i kompjuterizuar për ruajtjen, përpunimin dhe lëshimin e informacionit me kërkesë të përdoruesve. Një sistem i tillë përfshin softuer dhe harduer, vetë të dhëna dhe përdorues. Sistemet moderne të bazës së të dhënave janë zakonisht me shumë përdorues. Në sisteme të tilla, disa përdorues mund të hyjnë njëkohësisht në bazën e të dhënave. Softueri kryesor është sistemi i menaxhimit të bazës së të dhënave. Në anglisht quhet sistemi i menaxhimit të bazës së të dhënave (DBMS). Përveç një DBMS, një sistem i bazës së të dhënave mund të përfshijë shërbime, mjete për zhvillimin e aplikacioneve (programeve), mjete të dizajnimit të bazës së të dhënave, gjenerues të raporteve, etj. Përdoruesit e sistemeve me baza të të dhënave ndahen në një numër kategorish. Kategoria e parë janë programuesit e aplikacioneve. Kategoria e dytë janë përdoruesit përfundimtarë për të cilët është kryer e gjithë puna. Ata mund të hyjnë në bazën e të dhënave duke përdorur programe aplikimi ose aplikacione universale që përfshihen në softuerin e vetë DBMS. Shumica e DBMS-ve kanë një të ashtuquajtur procesor të gjuhës së pyetjeve që lejon përdoruesin të futë komanda në një gjuhë të nivelit të lartë (siç është SQL). Kategoria e tretë e përdoruesve janë administratorët e bazës së të dhënave. Përgjegjësitë e tyre përfshijnë: krijimin e një baze të dhënash, zgjedhjen e mënyrave optimale të qasjes në të, kufizimin e autoritetit të përdoruesve të ndryshëm për të hyrë në informacione të caktuara në bazën e të dhënave, kryerjen e një kopje rezervë të bazës së të dhënave, etj. Sistemi i bazës së të dhënave mund të ndahet në dy komponentë kryesorë: a server dhe një grup klientësh (ose ndërfaqe të jashtme). Serveri është DBMS. Klientët janë aplikacione të ndryshme të shkruara nga programuesit e aplikacioneve ose aplikacione të ngulitura të furnizuar me DBMS. Një server mund t'i shërbejë shumë klientëve. DBMS moderne përfshijnë një fjalor të të dhënave. Kjo është pjesa e bazës së të dhënave që përshkruan të dhënat aktuale të ruajtura në të. Fjalori i të dhënave ndihmon DBMS të kryejë funksionet e tij. 1.2 Konceptet themelore të modelit relacional Çdo fushë teknologjike ka terminologjinë e vet. Ekzistojnë terma bazë mbi të cilët bazohet i gjithë arsyetimi i mëtejshëm. Terma të tillë nënkuptojnë 10

12 janë gjithashtu të pranishëm në fushën e bazave të të dhënave. Tani do të flasim shkurtimisht për to. Në epokën para lindjes së teorisë relacionale, bazat e të dhënave u shikuan tradicionalisht si një koleksion i dosjeve të regjistrave, dhe regjistrimet, nga ana tjetër, u ndanë në fusha të veçanta. Fusha ishte një njësi elementare e të dhënave. Në bazat e të dhënave relacionale, përdoruesi percepton të dhënat në formën e tabelave. Prandaj, termi "skedar" korrespondon me termin "tabelë", në vend të termit "regjistrim" përdoret termi "rresht", dhe në vend të termit "fushë" termi "kolonë" (ose "kolonë"). Kështu, tabelat përbëhen nga rreshta dhe kolona, ​​në kryqëzimin e të cilave duhet të ketë vlera "atomike" që nuk mund të ndahen në elementë më të vegjël pa humbur kuptimin. Në teorinë formale të bazave të të dhënave relacionale, këto tabela quhen relacione, kështu që bazat e të dhënave quhen relacionale. Marrëdhënia është një term matematikor. Kur përcaktohen vetitë e marrëdhënieve të tilla, përdoret teoria e bashkësive. Në lidhje me këtë teori, rreshtat e tabelës do të quhen tuple, dhe kolonat quhen atribute. Një relacion ka një titull, i cili përbëhet nga atribute dhe një trup, i cili përbëhet nga tufa. Numri i atributeve quhet shkalla e marrëdhënies, dhe numri i tupleve quhet numri kardinal. Përveç teorisë së grupeve, një nga themelet e teorisë relacionale është një degë e tillë e logjikës matematikore si llogaritja kallëzuese. Kështu, në teorinë dhe praktikën e bazave të të dhënave, ekzistojnë tre grupe termash. Ndonjëherë termat nga grupe të ndryshme përdoren në mënyrë të ndërsjellë, të tilla si shënimi dhe vargu. Siç thamë më lart, në bazat e të dhënave relacionale, përdoruesi i percepton të dhënat në formën e tabelave. Konsideroni një sistem të thjeshtë me vetëm dy tabela. Së pari "Studentët": libri i klasës Emri i plotë Seria e dokumenteve Numri i dokumentit Ivanov Ivan Petrovich Klimov Andrey Ivanovich Novikov Nikolai Yurievich Dhe i dyti "Përparimi": Libri i klasës Lënda Viti akademik Semestri Vlerësimi Fizikë 2016 / Matematikë 2016 / Fizikë 2016 / Fizikë 2016 / Kur punoni me bazat e të dhënave, shpesh ju duhet të ndiqni kufizime të ndryshme, të cilat mund të jenë për shkak të specifikave të një fushe të caktuar lëndore. Duke thjeshtuar situatën reale, ne do të pranojmë kufizimet e mëposhtme: 11

13 numri i librit të klasave përbëhet nga pesë shifra dhe nuk mund të jetë negativ (universitete të ndryshme përdorin skema të ndryshme për caktimin e numrave në librat e klasave, këto skema mund të jenë shumë më të komplikuara se ajo e miratuar nga ne dhe mund të marrin parasysh, për shembull, vitin kur studenti hyri në universitet); seria e dokumentit të identitetit është një numër katër shifror, dhe numri i dokumentit të identitetit është një numër gjashtë shifror; numri i semestrit mund të marrë vetëm dy vlera 1 (semestri i vjeshtës) dhe 2 (semestri pranveror); shenja mund të marrë vetëm tre vlera 3 (të kënaqshme), 4 (të mira) dhe 5 (të shkëlqyera): nuk pranohet të vendosni shenja të tjera në librat e regjistrimeve. Për të identifikuar rreshtat në tabela dhe për të lidhur tabelat së bashku, përdoren të ashtuquajturat çelësa. Një çelës i mundshëm është një kombinim i atributeve të tabelës që identifikon në mënyrë unike rreshtat në një tabelë. Çelësi mund të përbëhet nga vetëm një atribut i tabelës. Për shembull, në tabelën "Studentët", ky identifikues mund të jetë atributi "Numri i librit të klasës". Dy nga atributet e tij të marra së bashku mund të shërbejnë gjithashtu si një çelës i mundshëm për këtë tabelë: "Seria e dokumentit të identitetit" dhe "Numri i dokumentit të identitetit". Asnjë prej tyre vetëm nuk mund të përdoret si identifikues unik. Në këtë rast, çelësi do të jetë i përbërë. Në këtë rast, është e rëndësishme që çelësi potencial të mos jetë i tepërt, domethënë asnjë nëngrup i atributeve të përfshira në të nuk duhet të ketë vetinë unike. Një çelës i mundshëm që përfshin dy atributet e përmendura nuk është i tepërt. Çelësat janë të nevojshëm për adresimin në nivelin e rreshtit (regjistrimit). Nëse ka më shumë se një çelës potencial në tabelë, njëri prej tyre zgjidhet si i ashtuquajturi çelës primar, dhe pjesa tjetër do të jenë çelësa alternativë. Konsideroni tabelat "Studentët" dhe "Performanca". Supozoni se tabela "Studentët" nuk përmban një rresht me numrin e librit të klasave 55900, atëherë nuk ka kuptim të përfshini një rresht me këtë numër të librit të klasës në tabelën "Notat". Kështu, vlerat e kolonës "Numri i librit të klasës" në tabelën "Notat" duhet të jenë në përputhje me vlerat e së njëjtës kolonë në tabelën "Studentët". Atributi i Gradebook Number në tabelën e Notave është një shembull i asaj që quhet çelës i huaj. Tabela që përmban çelësin e huaj quhet tabela e referencës. Tabela që përmban çelësin përkatës të kandidatit quhet tabela e referuar. Në raste të tilla, çelësi i jashtëm thuhet se i referohet çelësit kandidat në tabelën e referuar. Një çelës i huaj mund të jetë i përbërë, domethënë, mund të përfshijë më shumë se një atribut. Çelësi i jashtëm nuk ka nevojë të jetë unik. Problemi i sigurimit që baza e të dhënave nuk përmban vlera të pavlefshme të çelësit të huaj njihet si një problem integriteti referential. Kufizimi që vlerat kryesore të huaja duhet të përputhen me vlerat kryesore të kandidatit quhet një kufizim i integritetit referential (kufizim referential). DBMS është përgjegjës për zbatimin e kufizimeve të integritetit referent, dhe zhvilluesit i kërkohet vetëm të specifikojë atributet që shërbejnë si të jashtme 12

14 çelësa. Shpesh supozohet në hartimin e bazës së të dhënave që kur një rresht fshihet nga një tabelë e referuar, rreshtat përkatës nga tabela e referuar gjithashtu duhet të fshihen, dhe kur vlera e një kolone të referuar nga një çelës i huaj ndryshon, vlerat e çelësit të huaj në tabelën e referuar duhet të ndryshojë. Kjo qasje quhet fshirje (përditësim). Ndonjëherë përdoren metoda të tjera. Për shembull, në vend që të fshini rreshtat nga tabela e referuar, këto rreshta thjesht zëvendësojnë vlerat e atributeve të përfshira në çelësin e huaj me të ashtuquajturat vlera NULL. Këto janë vlera të veçanta që nënkuptojnë "asgjë" ose asnjë vlerë, ato nuk përputhen me vlerën "zero" ose "varg bosh". NULL përdoret në bazat e të dhënave dhe si vlerë e paracaktuar kur asnjë vlerë specifike nuk është futur nga përdoruesi. Çelësat kryesorë nuk mund të përmbajnë vlera NULL. Transaksioni është një nga konceptet më të rëndësishme në teorinë e bazës së të dhënave. Do të thotë një grup operacionesh në bazën e të dhënave, të konsideruara si një njësi e vetme dhe e pandashme e punës, e kryer plotësisht ose aspak, nëse ka pasur një lloj dështimi gjatë ekzekutimit të transaksionit. Kështu, transaksionet janë një mjet për të siguruar qëndrueshmërinë e të dhënave. Në bazën tonë të të dhënave, një transaksion mund të jetë, për shembull, dy operacione: fshirja e një rreshti nga tabela "Studentët" dhe fshirja e rreshtave të lidhur me çelësin e huaj nga tabela "Notat". 1.3 Çfarë është SQL Language SQL është një gjuhë jo procedurale që është mjeti standard për të punuar me të dhëna në të gjitha DBMS-të relacionale. Operatorët (komandat) e shkruara në këtë gjuhë tregojnë vetëm për DBMS se çfarë rezultati duhet të merret, por nuk përshkruajnë procedurën për marrjen e këtij rezultati. Vetë DBMS përcakton se si ekzekutohet komanda e përdoruesit. Në gjuhën SQL, tradicionalisht ekziston një grup DDL Language Definition Language, një DML Language Manipulation Language, dhe një Data Control Language DCL. Deklaratat e Gjuhës së Përkufizimit të të Dhënave (DDL) përfshijnë komanda për krijimin, modifikimin dhe fshirjen e tabelave, pamjeve dhe objekteve të tjera të bazës së të dhënave. Kapitujt 5 dhe 8 i kushtohen këtyre komandave në mënyrë të detajuar.Deklaratat e Gjuhës së Manipulimit të të Dhënave (DML) janë komanda për marrjen e rreshtave nga tabelat, futjen e rreshtave në tabela, përditësimin dhe fshirjen e rreshtave. Këto komanda diskutohen në detaje në Kapitujt 6 dhe 7. Operatorët DCL nuk përfshihen në këtë tutorial, pasi PostgreSQL ju lejon të bëni pa i përdorur ato në fazën fillestare të mësimit të SQL. 13

15 1.4 Përshkrimi i domain -it dhe mostrës së bazës së të dhënave Për të treguar të gjitha tiparet themelore të gjuhës SQL, na duhet një bazë të dhënash. Kjo bazë të dhënash nuk duhet të jetë shumë komplekse ose të marrë shumë kohë për tu mësuar. Por, në të njëjtën kohë, duhet të jetë mjaft e larmishme në mënyrë që kërkesat ndaj tij të duken të besueshme, pothuajse të njëjta si në punën reale. Le të zgjedhim transportin ajror të udhëtarëve si zonë lëndore. Përshkrimi dhe përshkrimi origjinal i bazës së të dhënave të Transportit Ajror mund të gjenden në adresat dhe ru / docs / postgrespro / current / demodb-bookings.html. Shpresojmë se kjo zonë do të jetë e njohur për shumë lexues të tutorialit tonë. Sigurisht, për qëllime edukative, situata reale thjeshtësohet qëllimisht, por të gjitha gjërat themelore ruhen. Pra, një linjë ajrore e caktuar ruse kryen transport ajror të udhëtarëve. Ajo ka flotën e vet të avionëve të modeleve të ndryshme. Çdo model avioni ka një kod specifik të caktuar nga Shoqata Ndërkombëtare e Transportuesve Ajror (IATA). Në këtë rast, ne do të supozojmë se avionët e të njëjtit model kanë të njëjtat struktura kabine, d.m.th., rendi i uljes dhe numërimi i vendeve në kabinat e klasës së biznesit dhe ekonomisë. Për shembull, nëse është një model Sukhoi SuperJet-100, atëherë sedilja 2A i përket klasës së biznesit, dhe sedilja 20D i përket klasës ekonomike. Klasa e biznesit dhe klasa ekonomike janë variacione të të ashtuquajturës klasë shërbimi. Linja ajrore jonë kryen fluturime midis aeroporteve ruse. Çdo aeroporti i është caktuar një kod unik me tre shkronja, dhe përdoren vetëm shkronja të mëdha të alfabetit latin. Këto kode nuk caktohen nga vetë linja ajrore, por nga organizata speciale që menaxhojnë transportin ajror të udhëtarëve. Shpesh emri i aeroportit nuk përkon me emrin e qytetit të cilit i përket ky aeroport. Për shembull, në qytetin e Novosibirsk, aeroporti quhet Tolmachevo, në qytetin e Yekaterinburg, Koltsovo, dhe në Shën Petersburg, Pulkovo. Për më tepër, disa qytete kanë më shumë se një aeroport. Menjëherë, si shembull, kujtoj Moskën me aeroportet e saj Domodedovo, Sheremetyevo dhe Vnukovo. Le të shtojmë një detaj më të rëndësishëm: çdo aeroport karakterizohet nga koordinata gjeografike, gjatësi dhe gjerësi gjeografike, si dhe një zonë kohore. Rrugët e fluturimit midis qyteteve janë duke u formuar. Sigurisht, çdo rrugë e tillë kërkon të tregoni jo vetëm qytetin, por edhe aeroportin, pasi, siç thamë, mund të ketë më shumë se një aeroport në një qytet. Si thjeshtim i realitetit, ne vendosim që itineraret të mos kenë ndalesa, d.m.th. Kjo do të thotë, ata do të kenë vetëm një aeroport nisjeje dhe një aeroport destinacioni. Çdo rrugë ka një numër gjashtë shifror, duke përfshirë numrat dhe shkronjat e alfabetit latin. Bazuar në listën e rrugëve, formohet një orar fluturimi (ose fluturimi). Orari tregon kohën e planifikuar të nisjes dhe kohën e planifikuar të mbërritjes, si dhe llojin e avionit që kryen këtë fluturim. Kur fluturimi kryhet në të vërtetë, bëhet e nevojshme të merren parasysh informacione shtesë, përkatësisht: koha aktuale e nisjes dhe koha aktuale e mbërritjes, si dhe statusi i fluturimit. Statusi i fluturimit mund të marrë një numër vlerash: 14

16 E planifikuar (mundësia e rezervimit hapet një muaj); Me kohë (regjistrimi hapet një ditë më parë); Me vonesë (fluturimi i vonuar); U nis (u largua); Mbërriti (mbërriti); Anuluar Tani le t'i drejtohemi pasagjerëve. Fluturimi fillon me rezervimin e një bilete ajrore. Tani është praktikë e zakonshme lëshimi i biletave elektronike. Çdo biletë e tillë ka një numër unik 13-shifror. Brenda kuadrit të një procedure rezervimi, mund të lëshohen disa bileta, por secila procedurë e tillë ka një numër unik prenotimi gjashtë-shifror (kod), i përbërë nga shkronja të mëdha të alfabetit latin dhe numra. Për më tepër, për secilën procedurë prenotimi, regjistrohet data e rezervimit dhe llogaritet kostoja totale e biletave të lëshuara. Çdo biletë, përveç numrit të saj trembëdhjetë shifror, përmban identifikuesin e udhëtarit, si dhe emrin dhe mbiemrin e tij (në transkriptimin latin) dhe informacionin e kontaktit. Numri i dokumentit të identitetit përdoret si identifikues i udhëtarit. Sigurisht, një pasagjer mund të ndryshojë dokumentin e tij, dhe nganjëherë edhe mbiemrin dhe mbiemrin e tij, gjatë kohës së kaluar midis rezervimit të biletave në ditë të ndryshme, kështu që është e pamundur të thuhet me siguri se ndonjë biletë specifike është lëshuar për të njëjtin pasagjer. Çdo biletë elektronike mund të përmbajë më shumë se një fluturim. Ekspertët i quajnë këto segmente të regjistrimeve të fluturimit. Një shembull i pranisë së disa segmenteve është si në vijim: Krasnoyarsk Moscow, Moscow Anapa, Anapa Moscow, Moscow Krasnoyarsk. Në të njëjtën kohë, është e mundur të lëshoni disa bileta për pasagjerë të ndryshëm brenda të njëjtit rezervim. Për çdo fluturim, tregohet numri i fluturimit, aeroportet e nisjes dhe destinacionit, orari i nisjes dhe mbërritjes dhe kostoja e fluturimit. Për më tepër, tregohet e ashtuquajtura klasë e shërbimit: ekonomike, biznesi, etj. Kur një pasagjer mbërrin në aeroportin e nisjes dhe kalon regjistrimin e një bilete, lëshohet një e ashtuquajtur kalim hipjeje. Ky kupon shoqërohet me një biletë ajrore: kuponi përmban të njëjtin numër si bileta elektronike e këtij pasagjeri. Për më tepër, bileta përmban numrin e fluturimit dhe numrin e ulëses në aeroplan. Gjithashtu tregohet numri i lejes së hipjes, numri rendor i caktuar gjatë procesit të regjistrimit për këtë fluturim. Si kujtesë, çdo vend në kabinën e avionit korrespondon me një klasë të caktuar shërbimi. Ky informacion merret parasysh gjatë regjistrimit të biletave dhe lëshimit të kartave të konviktit. Nëse, për shembull, një pasagjer ka blerë një biletë me një klasë të shërbimit ekonomik, atëherë karta e tij e hipjes do të tregojë numrin e sediljes në kabinën e klasës ekonomike, por jo në kabinën e klasës së biznesit. Duke ndjekur përshkrimin e mësipërm të fushës lëndore, mund të krijoni një bazë të dhënash model të destinuar për të mësuar gjuhën SQL. Meqenëse mësimi ynë ka të bëjë kryesisht me mësimin e gjuhës SQL, duke mos zotëruar artin e dizajnit të bazës së të dhënave, ne do t'ju tregojmë vetëm Figurën 15.

17 Rezervimet Aeroportet Rezervimet Aeroportet # libri_ref * libri_data * totali_shumë # kodi i aeroportit * emri i aeroportit * qyteti * gjatësia gjeografike * gjerësia gjeografike * brezi kohor Biletat Biletat # bileta_nuk * libër_ref * pasagjeri_idhe mbërritja e planifikuar * nisja_ aeroporti * aeroporti i mbërritjes * statusi * kodi i avionit aktual_dalja aktuale_arritja Aeroplanët Aeroplanët # kodi_i aeroplanit * modeli i distancave_kalimet e hipjes Kalimet e uljeve Vende Vende si marrëdhëniet dhe atributet e tyre. Llojet specifike të të dhënave, çelësat kryesorë dhe të huaj, si dhe kufizimet e vendosura në atributet dhe tabelat, ne do t'i tregojmë në kapitujt pasues në procesin e shikimit të komandave SQL të krijuara për të krijuar fizikisht tabela në një bazë të dhënash. Ky diagram mund të gjendet në faqen e internetit të Postgres Professional në adresat e listuara në fillim të këtij seksioni. Testoni pyetje dhe detyra 1. Cilat grupe operatorësh dallohen në gjuhën SQL? 2. Jepni një përkufizim joformal të koncepteve bazë të modelit të të dhënave relacionale: relacion, tuple, atribut. 3. Për çfarë shërbejnë çelësat e huaj në tabelat relacionale? 4. Cili është çelësi potencial? 5. * Sugjeroni një shembull të një çelësi kandidat të tepërt për njërën nga tabelat në bazën e të dhënave të Transportit Ajror dhe shpjegoni pse do të ishte e tepërt. 16

6. * Në zbatimin aktual të bazës së të dhënave të Transportit Ajror, supozohet se avionët e të njëjtit model mund të kenë vetëm një plan urbanistik të kabinës. Imagjinoni që menaxhmenti ka vendosur të marrë parasysh mundësinë për të pasur paraqitje të ndryshme për secilin model. Cilat tabela do të duhet të modifikohen në këtë rast dhe si? A keni nevojë të krijoni tabela shtesë? 17

19 2 Krijimi i një mjedisi pune Para se të filloni të mësoni SQL drejtpërdrejt, duhet të hyni në serverin PostgreSQL. Kjo mund të bëhet, për shembull, në një laborator kompjuterik ose duke hyrë në një server të largët përmes një terminali. Sidoqoftë, mund të krijoni një mjedis pune për veten dhe kompjuterin tuaj lokal duke instaluar versionin e plotë të PostgreSQL DBMS, domethënë programet e serverit dhe klientit. Në këtë rast, do të keni shumë më tepër autoritet për të konfiguruar dhe përdorur PostgreSQL. Në pjesën e fundit të këtij kapitulli, ne do t'ju tregojmë se si të vendosni bazën e të dhënave të trajnimit të Transportit Ajror të mbushur me të dhëna të besueshme të përgatitura posaçërisht. 2.1 Instalimi i bazës së të dhënave Meqenëse ky tutorial ka të bëjë me mësimin e gjuhës SQL dhe jo bazat e administrimit të bazës së të dhënave PostgreSQL, ne do t'ju japim vetëm një udhëzues të shpejtë se ku mund të gjeni udhëzimet e instalimit. Ju duhet të filloni duke zgjedhur kompletin e shpërndarjes DBMS që dëshironi të instaloni. Ju mund të zgjidhni opsionin origjinal PostgreSQL ose atë të ofruar nga Postgres Professional. Quhet Postgres Pro dhe përmban jo vetëm të gjitha funksionet dhe modulet që vijnë me shpërndarjen standarde, por edhe punë shtesë të bëra nga Postgres Professional. Për të mësuar bazat e gjuhës SQL, këto shpërndarje janë njësoj të përshtatshme. Sidoqoftë, dokumentacioni rus përfshihet vetëm me PostgreSQL. Pasi të vendosni për një çantë specifike të shpërndarjes DBMS, duhet të zgjidhni një sistem operativ. PostgreSQL mbështet shumë sisteme, duke përfshirë versione të ndryshme të Linux, si dhe Windows. Rekomandohet të instaloni versionin më të fundit të qëndrueshëm të DBMS. Nëse keni zgjedhur të përdorni shpërndarjen origjinale PostgreSQL, mund të gjeni udhëzime se si ta instaloni në sisteme të ndryshme operative në Nëse keni zgjedhur një shpërndarje PostgreSQL, atëherë shkoni te më e fundit. Pas instalimit të PostgreSQL dhe Postgres Pro në Windows, do të duhet të ndërmerren hapa shtesë për të siguruar që përdorimi i alfabetit rus në terminalin interaktiv psql është i drejtpërdrejtë. Shërbimi psql diskutohet në pjesën tjetër. Procesi i instalimit do të krijojë një llogari përdoruesi DBMS të quajtur postgres. Nuk keni nevojë të krijoni llogari shtesë për të studiuar këtë udhëzues. tetëmbëdhjetë

20 Pasi të keni instaluar një ose një çantë shpërndarjeje PostgreSQL, duhet të mësoni se si të filloni serverin e bazës së të dhënave, sepse përndryshe është e pamundur të punoni me të dhëna. Si ta bëni këtë është përshkruar në detaje në dokumentacionin në seksionin 18.3 "Fillimi i serverit të bazës së të dhënave". Këtë seksion mund ta gjeni në current / server-start.html. Kur instaloni DBMS në mjedisin Windows, krijohet një shërbim për të filluar automatikisht serverin PostgreSQL kur sistemi operativ fillon. Pasi të keni mbaruar punën me serverin, duhet ta ndaloni (fikni) atë. Rendi i veprimeve në një situatë të tillë përshkruhet në dokumentacionin në seksionin 18.5 "Mbyllja e serverit". Ju mund ta gjeni këtë seksion në postgresql / 9.6 / server-shutdown.html. 2.2 Programi psql terminali ndërveprues PostgreSQL Për të hyrë në serverin e bazës së të dhënave, PostgreSQL vjen me terminalin interaktiv psql. Për ta ekzekutuar atë, duhet të futni komandën psql. Kur përdorni programin psql në një mjedis Windows, shkronjat e alfabetit rus mund të shfaqen gabimisht. Për ta eleminuar këtë, në vetitë e dritares në të cilën funksionon psql, ndryshoni fontin në Lucida Console dhe përdorni komandën chcp për të ndryshuar faqen e kodit aktual në CP1251: chcp 1251 Në mjedisin e shërbimeve psql, mund të futni jo vetëm SQL komandat, por edhe komanda të ndryshme shërbimi, të mbështetura nga vetë programi. Për të marrë një referencë të shpejtë për të gjitha komandat e shërbimit, futni \? Shumë nga këto komanda fillojnë me \ d karaktere. Për shembull, për të parë një listë të të gjitha tabelave dhe pamjeve të krijuara në bazën e të dhënave me të cilën jeni lidhur aktualisht, futni komandën \ dt. Për shembull, studentët, duhet të futni komandën \ d studentët Për të marrë një listë të të gjitha komandave SQL , duhet të ekzekutoni komandën \ h Për të shfaqur një përshkrim të një komande specifike SQL, për shembull, CREATE TABLE, duhet ta bëni këtë: \ h CREATE TABELA 19

21 Ky mjet ju lejon të zvogëloni sasinë e hyrjes manuale duke plotësuar hyrjen e komandës me psql. Për shembull, kur futni një komandë SQL, mund të përdorni tastin Tab për të përfunduar fjalën kyçe të komandës së futur ose emrin e tabelës së bazës së të dhënave. Për shembull, kur futni komandën CREATE TABLE ..., mund të futni karakteret "cr" dhe shtypni tastin Tab.Psql do ta plotësojë këtë fjalë para se të "krijojë". Ju mund të bëni të njëjtën gjë me fjalën TABELA. Për ta futur atë, thjesht futni shkronjat "ta" dhe shtypni butonin Tab. Nëse futni shumë pak shkronja që psql të identifikojë në mënyrë unike fjalën kyçe, nuk do të ndodhë mbushje. Por në këtë rast, mund të shtypni butonin Tab dy herë dhe të merrni një listë të të gjitha fjalëve kyçe duke filluar me kombinimin e shkronjave që keni futur. 2.3 Vendosja e bazës së të dhënave të mostrës Pas përfundimit të instalimit të serverit të bazës së të dhënave, ne mund të kalojmë drejtpërdrejt në pyetjen se si të vendosim bazën e të dhënave të mostrës së Transportit Ajror të përgatitur nga Postgres Professional në grupin tuaj PostgreSQL. Faqja e internetit e kompanisë ka një seksion të dedikuar për këtë bazë të dhënash, mund ta gjeni duke ndjekur lidhjen Ofrohet në tre versione, që ndryshojnë vetëm në sasinë e të dhënave: versioni më kompakt përmban të dhëna për një muaj, mbulon versioni i mesëm një periudhë kohore prej tre muajsh, dhe versioni më i plotë përfshin të dhëna për një vit të tërë. Të gjitha të dhënat u krijuan duke përdorur algoritme të veçanta për të siguruar "besueshmërinë" e tyre. Ne ju rekomandojmë që të filloni me versionin kompakt të bazës së të dhënave të Transportit Ajror, dhe pasi të keni fituar një përvojë në shkrimin e pyetjeve SQL, do të instaloni versionin e plotë dhe tashmë në të do të jeni në gjendje të "ndjeni" më mirë hollësitë e ndryshme të punës me të mëdhenj vëllimet e të dhënave, për shembull, vlerësojnë efektin e indekseve në shpejtësinë e qasjes në të dhëna. Hapi i parë për vendosjen e bazës së të dhënave është të shkarkoni një kopje rezervë të bazës së të dhënave të zipuar nga lidhja zip. Pastaj ju duhet të hiqni skedarin nga arkivi: unzip demo_small.zip Skedari i nxjerrë quhet demo_small.sql. Tani do të krijojmë një bazë të dhënash të quajtur demo në grupin tuaj PostgreSQL. Versioni më i shkurtër i komandës do të jetë: psql -f demo_small.sql -U postgres demo.log 2> demo.err Ju mund të ndani stdout dhe stdout për gabime. Mesazhet normale do të ridrejtohen në skedarin demo.log dhe mesazhet e gabimit në skedarin demo.err. Vini re se nuk duhet të ketë hapësirë ​​midis numrit 2, i cili përshkruan përshkrimin e daljes së mesazhit të gabimit standard dhe shenjës ">", e cila tregon ridrejtimin e daljes. njëzet

22 Nëse është më e përshtatshme për ju që të grumbulloni të gjitha mesazhet në një skedar të zakonshëm, atëherë duhet ta bëni këtë: psql -f demo_small.sql -U postgres> demo.log 2> & 1 Vini re se e gjithë shprehja 2> & 1 në fund të komandës shkruhet pa hapësira. Ai i thotë sistemit operativ të drejtojë mesazhet e gabimit në të njëjtin vend si mesazhet normale. Nëse skedari ynë SQL do të ishte shumë i madh, atëherë do të ishte e mundur të ekzekutohej komanda në sfond duke vënë një "&" në fund të rreshtit të komandës dhe të shikonim ecurinë e procesit në kohë reale duke përdorur komandën tail. psql -f demo_small.sql -U postgres> demo.log 2> & 1 & tail -f demo.log Zgjidhni një nga opsionet e komandës për vendosjen e bazës së të dhënave dhe ekzekutoni këtë komandë. Gjithçka është gati! Mund të lidheni me bazën e të dhënave të re: psql -d demo -U postgres Pyetje dhe detyra sigurie 1. Përfundoni procedurën e instalimit PostgreSQL në sistemin operativ të zgjedhur nga ju. 2. Njihuni me programin psql duke përdorur ndihmën e integruar, si dhe komandën psql -help 3. Përveç shërbimit psql, ka programe të tjera të përdorimit të përgjithshëm për të punuar me serverin e bazës së të dhënave PostgreSQL, për shembull, pgadmin. Shtë një mjet i fuqishëm grafik. Instaloni programin pgadmin vetë dhe mësoni bazat e punës me të. 4. Vendosni bazën e të dhënave të mostrës. Mundohuni të lidheni me të duke përdorur mjetin psql. Përdorni komandën \ q për të dalë nga programi. 21

23 3 Operacionet themelore me tabela Gjuha SQL është shumë e larmishme, ajo përfshin një numër komandash, të cilat, nga ana tjetër, ndonjëherë kanë shumë parametra dhe fjalë kyçe. Por le të fillojmë me një përmbledhje të shpejtë të veçorive kryesore të gjuhës SQL. Në këtë kapitull, do të mësoni se si të futni të dhëna në një bazë të dhënash, të zotëroni metodat themelore të marrjes së informacionit nga baza e të dhënave, dmth. Marrjen e mostrave, dhe gjithashtu të mësoni se si mund të bëni ndryshime në informacionin e ruajtur në bazën e të dhënave dhe të fshini të dhënat që janë nuk janë më të nevojshme. Ekziston një traditë e mirë në praktikën e mësimit të gjuhëve të huaja. Tashmë në mësimin e parë, studenti mëson disa ndërtime dhe fjalë themelore gramatikore që i lejojnë atij të thotë disa nga frazat më të thjeshta, por, megjithatë, praktikisht të dobishme. Ne do ta ndjekim këtë traditë. Në këtë pjesë të mësimit tonë, ju do të mësoni komandat bazë SQL që do t'ju lejojnë të kryeni operacionet themelore. Ju do të mësoni komanda më komplekse (dhe interesante) në kapitujt në vijim. Le të themi disa fjalë për qasjen tonë ndaj punës. Në parim, ekzistojnë dy mënyra të mundshme për organizimin e punës së një studenti (nxënësi). Mënyra e parë është si më poshtë: studenti përdor një bazë të dhënash që tashmë përmban të gjitha tabelat e nevojshme dhe objektet e tjera të bazës së të dhënave, të përgatitura paraprakisht nga autori i tekstit mësimor ose specialist tjetër i kualifikuar. Në të njëjtën kohë, një grup i caktuar i të dhënave të nevojshme tashmë është futur në tabela, kështu që menjëherë mund të vazhdoni me ekzekutimin e pyetjeve në këto tabela. Metoda e përshkruar duket shumë tërheqëse sepse kërkon më pak përpjekje në fazën fillestare të zotërimit të gjuhës SQL. Sidoqoftë, sipas mendimit tonë, një metodë tjetër është më e saktë. Ndoshta, është më shumë kohë, por kur e përdorni, ju merrni një ndjenjë më të mirë, siç thonë ata, për procesin e krijimit të tabelave dhe futjen e shënimeve në këto tabela. Dhe duke kryer pyetje të ndryshme në bazën e të dhënave, do të jetë më e lehtë për ju të vlerësoni saktësinë e rezultatit të ekzekutimit të pyetjes, pasi keni futur të gjitha të dhënat vetë dhe për këtë arsye mund të supozoni në mënyrë të arsyeshme se çfarë rezultatesh prisni të shihni në ekran. Natyrisht, metoda e parë mund të jetë shumë e dobishme kur mësoni veçori më komplekse, të avancuara të gjuhës SQL, të cilat janë të vështira për t'u kuptuar pa përdorur grupe të mëdha të të dhënave, dhe nuk është racionale të futni manualisht grupe të mëdha të të dhënave në bazën e të dhënave. Do të ishte shumë më racionale që ato të gjenerohen automatikisht nga softueri. Në Kapitullin 1, ne përshkruam fushën e lëndës, kështu që tani mund të fillojmë të krijojmë drejtpërdrejt tabela në bazën e të dhënave. Për të ekzekutuar të gjitha komandat dhe operacionet pasuese, ne do të përdorim mjetin psql të përfshirë në shpërndarjen standarde PostgreSQL. Baza e të dhënave demo duhet të vendoset tashmë në kompjuterin tuaj. Procesi i krijimit të tij përshkruhet në Kapitullin 2. Tani ekzekutoni programin psql dhe lidheni me këtë bazë të dhënash duke përdorur llogarinë e përdoruesit të postgres: psql -d demo --U postgres Përdorni komandën CREATE TABLE për të krijuar tabela në SQL. Sintaksa e tij e plotë paraqitet në dokumentacionin PostgreSQL, dhe sintaksa e thjeshtuar është: 22


Postgres Professional E. P. Morgunov PostgreSQL. Bazat e mësimit të gjuhës SQL Shën Petersburg "BHV-Petersburg" 2018 UDC 004.655 BBK 32.973.26-018.2 М79 Morgunov, EP М79 PostgreSQL. Bazat

Gjuha SQL Ligjërata 6 Indekset E. P. Morgunov Universiteti Shtetëror Siberian i Shkencës dhe Teknologjisë i emëruar pas Akademikut M.F. Reshetnev Krasnoyarsk Instituti i Informatikës dhe Telekomunikacionit [email -i i mbrojtur]

Bratchikov I.L. 41. Bazat e hartimit të bazës së të dhënave. Metodat për ndërtimin e një DBMS. SQL, shembuj zbatimi. Bazat e bazave të të dhënave moderne. 1. Përkufizimet bazë. Terminologjia. Në letërsi mund të gjeni

Tema 10. Bazat e teknologjisë së bazës së të dhënave Teknologjia e bazës së të dhënave është një nga arritjet kryesore të informatikës, e përdorur për ndërtimin e sistemeve kompjuterike të informacionit dhe aplikacioneve që zbatojnë informacionin

KONCEPTET THEMELORE T OF BAZAVE TAT TAT DHNAVE 1. Zgjidhni procedurën e duhur për hartimin e një baze të dhënash a) Zgjidhjen e problemit të transmetimit të të dhënave b) Analizën e fushës, duke marrë parasysh kërkesat e përdoruesve përfundimtarë c)

Hyrje Ky libër ka për qëllim zhvilluesit që përdorin Oracle si sistemin e tyre të menaxhimit të bazës së të dhënave (DBMS). Prandaj, ky libër nuk i kushton shumë hapësirë ​​trajtimit të çështjeve

Opsioni 1 Zgjidhni përgjigjen e saktë. Ekziston vetëm një përgjigje e mundshme e saktë. 1. Një sistem informacioni është a) Çdo sistem i përpunimit të informacionit b) Një sistem tekstual i përpunimit të informacionit

Gjuha SQL Ligjërata 3 Bazat e gjuhës së përcaktimit të të dhënave E. P. Morgunov Universiteti Shtetëror Siberian i Shkencës dhe Teknologjisë i emëruar pas akademikut M.F. Reshetnev Krasnoyarsk Instituti i Informatikës dhe Telekomunikacionit

Gjuha SQL Ligjërata 5 Ndryshimi i të dhënave E. P. Morgunov Universiteti Shtetëror Siberian i Shkencës dhe Teknologjisë i emëruar pas Akademikut M. F. Reshetnev Krasnoyarsk Instituti i Informatikës dhe Telekomunikacionit [email -i i mbrojtur]

Systems Sistemet e informacionit dhe bankat e të dhënave. Kushti më i rëndësishëm për të siguruar funksionimin efektiv të çdo organizate është prania e një sistemi të zhvilluar informacioni. Një sistem informacioni është një sistem

Kapitulli 1. Fillimi Si funksionon një bazë e të dhënave Microsoft Access Dizajnimi i një strukture të të dhënave Fazat e punës me një bazë të dhënash Le të Fillojmë Ndërfaqja e përdoruesit Qasja në 2007 Customize Items

Kapitulli 3. Instalimi dhe ekzekutimi i versionit me shumë përdorues Kërkesat dhe kushtet ... 1 Si të instaloni SBiC ++ në rrjet ... 2 Instalimi dhe konfigurimi i serverit dhe klientit Pervasive.SQL ... 3 Instalimi i programit .. 4. Përgatitja

BANKA E DETYRAVE TEST TESTIMIT Disiplinë akademike Drejtimi Niveli i përgatitjes Departamenti B1.B.12 Menaxhimi i të dhënave 09.03.02 Sistemet e informacionit dhe teknologjitë universitare Metodat dhe instrumentet e matjes dhe automatizimit

Bazat e të dhënave Zhvillimi i teknologjisë kompjuterike u krye në dy drejtime kryesore: përdorimi i teknologjisë kompjuterike për kryerjen e llogaritjeve numerike; përdorimi i teknologjisë kompjuterike

Universiteti Teknik Shtetëror i Moskës Bauman Dega Kaluga Yu. E. Gagarin, S. V. Ponomarev APLIKIMI I GJUHS SQL NC MS ACCESS Guide Studimi UDC 681.3.06 LBC 32.973

1. Informacioni dhe të dhënat 2. Konceptet themelore të sistemeve me bazat e të dhënave Sistemet kompjuterike të informacionit me bazat e të dhënave janë sisteme informacioni, matematikore, softuerësh, gjuhësore, organizative

PDM STEP SUITE version 5.0 Udhëzime instalimi PDM STEP Suite Udhëzime për programuesin e sistemit. Pjesa 1 Qendra R & D e SHA "Logjistika e Aplikuar" 2019 PDM STEP Suite v.5.0. Udhëzimi i Programuesit të Sistemit

1 nga 6 Ligjërata 1. Arkitektura e sistemit të bazës së të dhënave. Funksionet e administratorit të sistemit të bazës së të dhënave në sistemin e informacionit të korporatës. Objektet e bazës së të dhënave. 1.1 Arkitektura e Sistemit të Baza e të Dhënave ANSI / SPARC ... 1

P CONRMBAJTJA HYRJE ... 3 1 KESRKIMI I DEKLARATS S S SUBJEKTIT DHE PROBLEMIT ... 4 2 NDILRTIMI I NJ MO MODELI INFOLOGJIK ... 5 3 DISAJNIMI DATALOGJIK I BAZS S DATAVE ... 6 3.1 Zgjedhja e një sistemi kontrolli

Në kushtet moderne, kur automatizoni ndërmarrjet, duhet të merreni me kërkesa të ndryshme dhe shpesh diametralisht të kundërta për kontabilizimin e seksioneve të njëjta të kontabilitetit. Sipas dokumentacionit

Disiplina akademike "Bazat e të dhënave dhe menaxhimi i tyre" për studentët e specialitetit Informatikë e Aplikuar (diplomë bachelor) 080800.62 Leksion 15 MODELE T OF ORGANIZIMIT T OF HYRJES NAS BAZA TAT DHATNAVE Pyetje edukative: 1. Arkitekturë

Gjuha SQL Ligjërata 7 Transaksionet E. P. Morgunov Universiteti Shtetëror Siberian i Shkencës dhe Teknologjisë i emëruar pas Akademikut M.F. Reshetnev Krasnoyarsk Instituti i Informatikës dhe Telekomunikacionit [email -i i mbrojtur]

Teknologjitë kompjuterike të informacionit Moduli 13. Karakteristikat e përgjithshme të DBMS 1 OBJEKTIVAT MODULE Pasi të keni studiuar modulin, do të jeni në gjendje të: flisni për funksionalitetin Qasja në DBMS; di tiparet

Sistemi Elektronik i Menaxhimit të Dokumenteve Arkhivaris Manuali i Instalimit Moskë, 2008 2 ABSTRAKT Ky dokument përshkruan grupin e dorëzimit të produktit softuerik "EVFRAT-Menaxhimi i Dokumenteve

BAZAT E TAT DHATNAVE (DB). SISTEMET E KONTROLLIT DB DB Dispozita të përgjithshme Qëllimi i çdo sistemi informacioni është përpunimi i të dhënave në lidhje me objektet në botën reale. Në kuptimin e gjerë të fjalës, baza e të dhënave është një koleksion informacioni rreth

Hyrje në bazat e të dhënave. Hyrje në SQL. Qendra Arsimore Sumy Software Quality Assurance (QA) Netcracker 2016 1 Mësoni më poshtë Çfarë është një bazë të dhënash Klasifikimi i bazës së të dhënave DBMS Klientë DBMS

1.1 Bazat e bazës së të dhënave 1.1.1. Bazat e të dhënave dhe sistemet e menaxhimit të bazës së të dhënave. Baza e të dhënave të modeleve të të dhënave (DB) është një koleksion i emëruar i të dhënave të strukturuara që lidhen me një të caktuar

Duket se ishte kohët e fundit, por çfarë ndryshimesh të rëndësishme kanë ndodhur që atëherë! Ndërsa autori po përgatitej të printonte librin e Programimit Profesional SQL Server 7.0 në fillim të vitit 1999

Hyrje në teorinë e bazës së të dhënave Leksioni 1 Skica e ligjëratës Konceptet themelore Organizimi i të dhënave në bazën e të dhënave Llojet e modeleve të të dhënave Arkitektura e bazës së të dhënave Klasifikimi i bazës së të dhënave Server 2008. Leksioni 1 2 Konceptet bazë Server 2008. Leksion

Shtojca 4 Nënsistemi i proceseve dhe kontrollit të llogaritjeve PTRMBAJTJA 1. Informacion i përgjithshëm ... 2 2. Modelimi i gjendjeve dhe proceseve të punës ... 2 2.1. Menaxhimi i listës së grupeve shtetërore ... 2 2.2. Krijim

Softacom CRM Udhëzues instalimi Version 2.1. 1 Udhëzues instalimi Softacom CRM. Përmban një përshkrim të procesit të instalimit të sistemit. Përmbajtja 1 HYRJE ... 3 1.1 Të përgjithshme për sistemin ... 3 1.2 Veçoritë

Puna laboratorike 4 "Krijimi i marrëdhënieve midis tabelave" Qëllimi i punës: studimi i teknologjisë së krijimit të strukturës së një baze të dhënash relacionale në Microsoft Office Qasja 2007 1. Fjalë e shkurtër teorike

Rezervimet logjike Temat Rezervat logjike dhe fizike Kopjimi i tabelave individuale Rezervimi dhe restaurimi i bazave të të dhënave dhe grupit 2 Llojet e kopjeve rezervë Logjikë

HYRJA MIKROSOFT: LIDHJE, FUSHA T C LLOGARITURA, KRIJIMI I FORMS SUT BUTONAVE P AR DB I. LIDHJET E TABELAVE Baza e të dhënave moderne zakonisht përbëhet nga shumë tabela të lidhura së bashku. Një nga qëllimet e krijimit të një strukture të mirë

UNIVERSITETI KOMBTAR I AVIACIONIT Departamenti i Informatikës së Aplikuar Puna e kursit Tema: DBMS Microsoft Access Krijimi dhe përpunimi i një baze të dhënash Qëllimi i punës: zotëroni teorikisht dhe praktikisht teknikat themelore të punës

Transaksionet dhe Qasja Njëkohore: Krahasimi i Zbatimeve të PostgreSQL dhe Oracle Egor Rogov, Postgres Professional Pse e gjithë kjo? rezultati i pyetjes Pse e gjithë kjo? rezultati i pyetjes Transaksionet Atomiciteti të gjithë

@ DB, DBMS 1. Një strukturë e të dhënave e karakterizuar nga nënshtrimi i objekteve të nivelit më të ulët ndaj objekteve të nivelit të lartë quhet A. tabelare B. relacionale * C. hierarkike D. rrjet 2. dallues

Udhëzuesi i Instalimit VOGBIT 2010 Përmbajtja Hyrje ... 4 Kërkesa për Softuer dhe Pajisje ... 5 Sekuenca e instalimit ... 6 Instalimi i Softuerit ... 7 Kërkimi dhe Marrja e Licencës ...

Fazat e zhvillimit të bazës së të dhënave Si rregull, jo-profesionistët punojnë me bazat e të dhënave, kështu që kërkesat e mëposhtme për një bazë të dhënash mund të formulohen. Zhvilluesit, kur krijojnë një bazë të dhënash, duhet të përqëndrohen në këto

Sistemi i menaxhimit të bazës së të dhënave Qasja Përfunduar nga Chibinova Nazlygul Niyazovna, studente e Fakultetit të Gjuhëve të Huaja të Institutit Elabuga të Universitetit Federal Kazan (Privozhsky). Shkencore

Informatikë Leksion 5 MS Access Sistemet e informacionit Aplikimet për ruajtjen, rimbushjen, redaktimin dhe përdorimin e sasive të mëdha të të dhënave Nën përdorim nënkupton, në rastin më të thjeshtë, qasje

Përmbajtja Parathënie ... 3 Pjesa I. Bazat e të dhënave, DBMS dhe modelet e të dhënave Kapitulli 1. Qëllimi i teknologjisë së bazës së të dhënave. Funksionet dhe përbërësit kryesorë të sistemeve të menaxhimit të bazës së të dhënave ..........................................

Laboratori për monitorimin dhe automatizimin e procesit arsimor. Udhëzues Administratori për Rishikimin e Faqes Mbështetëse të Procesit Arsimor 3 datë 18/12/15. Korotkov D.S., Zhuchok I.O. Aktivizo / Çaktivizo

Kapitulli 6 Teoria e bazës së të dhënave 6.1. Koncepte të përgjithshme 6.2. Modelet e të dhënave 6.3. Baza e të dhënave relacionale 6.4. Modelet dhe bazat e të dhënave post-relacionale 6.5. Dizajni i bazës së të dhënave Sistemet moderne të informacionit,

Lab 9 Eksplorimi i aftësive të formimit të pyetjes në Microsoft Access 2007 duke përdorur SQL... Qëllimi: 1. Të studiojë rendin e formimit të pyetjeve duke përdorur SQL në Microsoft Access

Kompleksi i përgatitjes së dokumenteve të informacionit aeronautik Krijimi i bazës së të dhënave aeronautike Dispozita të përgjithshme Burimi kryesor i informacionit aeronautik të kompleksit është baza e të dhënave relacionale e aeronautikës

1. Mjetet e vlerësuara të monitorimit. Pyetjet e paraqitura për pjesët e disiplinës të sondazhit (për diskutim): Seksioni 1. Hyrje në bankat e të dhënave 1. Koncepti i një banke të dhënash (BnD). Përbërësit BnD. 1.1 Informative

Leksion 2 1 Nga fjalori: Arkitekturat e sistemeve të informacionit Sistemi i informacionit është një grup i dokumenteve të organizuar (organizuar nga dokumente) dhe teknologjive të informacionit, duke përfshirë përdorimin e

J. Bowman, S. Emerson, M. Darnovski NJ GUID PRAKTIKE P SR SQL Ky libër do të ndihmojë edhe kur manuali më i mirë i përdoruesit nuk është i dobishëm. Temat që shpesh anashkalohen mbulohen këtu.

Sistemi elektronik i menaxhimit të dokumenteve Arkhivaris Manuali i instalimit Moskë, 2009 2 ABSTRAKT Ky dokument përshkruan grupin e dorëzimit të produktit softuerik "EVFRAT-Menaxhimi i dokumentit.



Artikujt e lidhur: