Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


SQL - Baze podataka 1, Rezime od Baze podataka

Baze podataka 1. SQL. 2020/2021. Elektrotehnički fakultet ... Napisati SQL upit koji ispisuje sve podatke iz tabele Komitent. SELECT *. FROM Komitent.

Tipologija: Rezime

2022/2023

Učitan datuma 13.01.2023.

Njegoje_Zdravko
Njegoje_Zdravko 🇸🇷

5

(2)

47 dokumenti

1 / 120

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
Baze podataka 1
SQL
2020/2021
Elektrotehnički fakultet
Univerzitet u Beogradu
Katedra za računarsku tehniku i informatiku
Autori:
Miloš Cvetanović
Stefan Tubić
Filip Hadžić
Ta ma ra Š ek u la ra c
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Delimični pregled teksta

Preuzmite SQL - Baze podataka 1 i više Rezime u PDF od Baze podataka samo na Docsity!

Baze podataka 1

SQL

2020/ Elektrotehnički fakultet Univerzitet u Beogradu Katedra za računarsku tehniku i informatiku Autori: Miloš Cvetanović Stefan Tubić Filip Hadžić Tamara Šekularac

SQL (Structured Query Language)

  • SQL je struktuirani upitni jezik koji omogućava pristup podacima u sistemima za upravljanje relacionim bazama podataka.
  • SQL možemo podeliti na četiri dela:

1. DDL (Data Definition Language):

CREATE, DROP, ALTER, RENAME,…

2. DML (Data Manipulation Language):

SELECT, INSERT, UPDATE, DELETE

3. DCL (Data Control Language)

GRANT, REVOKE

4. TCL (Transaction Control Language)

COMMIT, ROLLBACK,…

  • Svaka kompanija definiše svoj SQL za potrebe svoje baze: SQLite , MSSQL, MySql, PostgreSQL, Oracle, …

Model baze nad kojom se rade upiti MESTO IdMes PostBr Naziv KOMITENT IdKom Naziv Adresa IMA_SEDISTE (0,N) (0,1) FILIJALA IdFil Naziv Adresa E RACUN IdRac Status BrojStavki DozvMinus Stanje E E STAVKA IdSta RedBroj Datum Vreme Iznos E E (1,N) (1,1) UPLATA Osnov ISPLATA Provizija

Opis baze nad kojom se rade upiti Banka putem svojih filijala (prati se naziv i adresa) u raznim mestima (prate se poštanski broj i naziv) opslužuje svoje komitente (prati se naziv i adresa) koji mogu biti bez mesta, a u trenutku prvog pojavljivanja u banci prijavljuju sedište u određenom mestu. Svaki komitent može da ima više računa u svakoj od filijala (prate se status, broj stavki, dozvoljeni minus, i stanje), a mora imati bar jedan račun. Status računa može biti aktivan, blokiran ili ugašen. Račun postaje blokiran kada pređe u nedozvoljeni minus, a aktivira se kada stanje pređe u dozvoljeni minus. Komitenti sa svojih računa vrše transakcije putem stavki prometa (prate se redni broj, datum i vreme) koje mogu biti uplate (prati se osnov i iznos) ili isplate (prati se iznos i provizija), pri čemu je to moguće u bilo kojoj filijali.

Primeri (prikaz određenih kolona)

  1. Napisati SQL upit koji ispisuje nazive svih komitenata. SELECT Naziv FROM Komitent
  2. Napisati SQL upit koji ispisuje naziv i adresu svakog komitenta. SELECT Naziv, Adresa FROM Komitent

Primeri (sortiranje)

  1. Napisati SQL upit koji ispisuje sve podatke iz tabele Komitent sortirane po nazivu u rastućem poretku. SELECT * FROM Komitent ORDER BY Naziv
  2. Napisati SQL upit koji ispisuje sve podatke iz tabele Komitent sortirano po nazivu u opadajućem poretku. SELECT * FROM Komitent ORDER BY Naziv DESC ASC sortira vrednosti u rastućem poretku i ona je podrazumevana. DESC sortira vrednosti u opadajućem poretku

Primeri (WHERE)

  1. Napisati SQL upit koji ispisuje sve podatke iz tabele Racun, za račune koji na stanju imaju tačno - 55000 dinara. SELECT * FROM Racun WHERE Stanje = - 55000
  2. Napisati SQL upit koji ispisuje sve podatke iz tabele Racun, za račune kod kojih je stanje pozitivno. SELECT * FROM Racun WHERE Stanje> 0 Moguće operacije poređenja: <, <=, >, >=, =, !=

Primeri (WHERE)

  1. Napisati SQL upit koji ispisuje sve podatke iz tabele Racun samo za blokirane račune. SELECT * FROM Racun WHERE Status = 'B'
  2. Napisati SQL upit koji ispisuje sve podatke iz tabele Racun, za blokirane račune koji imaju stanje manje od - 50000 dinara. SELECT * FROM Racun WHERE Status = 'B' AND Stanje < - 50000

Primeri (WHERE)

15. Napisati SQL upit koji ispisuje sve podatke iz tabele Racun, za račune

koji imaju stanje izmedju - 12000 i 10000 dinara. I varijanta: SELECT * FROM Racun WHERE Stanje>=-12000 AND Stanje<= 10000 II varijanta: SELECT * FROM Racun WHERE Stanje BETWEEN - 12000 AND 10000 Between obuhvata obe granične vrednosti.

Primeri (prikaz izračunatih kolona)

16. Napisati SQL upit koji ispisuje stanje računa, kamatnu stopu i vrednost

kamate za sve račune koji su u minusu. Kamatna stopa ima vrednost od 3 %. SELECT Stanje, 3, Stanje*-0. FROM Racun WHERE Stanje< 0

17. Napisati SQL upit koja za svaki račun ispisuje sve podatke i dodatno

informaciju o tome da li će biti izvan dozvoljenog minusa kada mu se obračuna kamata za račune koji su trenutno u minusu. SELECT , Stanje 1 .03<-DozvMinus FROM Racun WHERE Stanje< 0 Nazivi kolona u tabeli su uneti izrazi.

Primeri (DISTINCT)

  1. Napisati SQL upit koja za račune koji nisu u nedozvoljenom minusu ispisuje koliko mogu još maksimalno para da podignu. SELECT IdRac, Stanje +dozvMinus FROM Racun WHERE Stanje > - dozvMinus
  2. Napisati SQL upit koji ispisuje sve različite nazive komitenata (nazivi bez ponavljanja). SELECT DISTINCT Naziv FROM Komitent

Primeri (NULL vrednosti)

  1. Napisati SQL upit koji ispisuje račune koji su ugašeni (ugašeni računi imaju Stanje NULL). SELECT * FROM Racun WHERE Stanje IS NULL
  2. Napisati SQL upit koji ispisuje račune koji nisu ugašeni (ugašeni računi imaju Stanje NULL). SELECT * FROM Racun WHERE Stanje IS NOT NULL Upoređivanje NULL vrednosti sa <, <=, >=, >, =, != uvek vraća false.

Primeri (agregatne funkcije)

  1. Napisati SQL upit koji ispisuje prosečno stanje na računima. SELECT AVG(Stanje), SUM(Stanje)/COUNT(Stanje), SUM(Stanje)/COUNT(*) FROM Racun AVG računa prosečnu vrednost samo onih kolona koje nisu NULL COUNT broji samo one kolone koje nisu NULL

Primeri (spajanje dve tabele)

  1. Napisati SQL upit koji za svaki račun ispisuje naziv komitenta čiji je račun i stanje na računu. SELECT Naziv, Stanje FROM Komitent, Racun WHERE Komitent.IdKom = Racun.IdKom ili SELECT Naziv, Stanje FROM Komitent K, Racun R WHERE K.IdKom = R.IdKom