SlideShare a Scribd company logo
1 of 26
Tipovi podataka
Primarni i strani ključ
Kreiranje baze i tabela
MySQL Community Edition
• Besplatna verzija najpopularnijeg sistema
otvorenog koda za upravljanje relacionim bazama
podataka
• Softver otvorenog koda podrazumeva postojanje
izvornog koda koji svaki korisnik može pregledati,
modifikovati i poboljšavati
• Nastao u Švedskoj, trenutno u vlasništvu kompanije
Oracle Corporation
• Radi u klijent/server okruženju
SQL (Structured Query Language)
• Strukturirani jezik upita
• Standardni (ISO/IEC standard) jezik sistema za
upravljanje relacionim bazama podataka
• ISO (International Organization for Standardization)
• IEC (International Electrotechnical Commission)
• Nastao 1974. godine u IBM-u
• 1987. godine standardizovan od strane ISO
• Trenutno je aktuelna verzija standarda iz 2016.
godine
Tipovi podataka
• Numerički
• Za datum i vreme
• Znakovni ili tekstualni
Numerički tipovi podataka
• Celi brojevi
• TINYINT (od -128 do 127)
• SMALLINT (od -32768 do 32767)
• MEDIUMINT (od -8388608 do 8388607)
• INT ili INTEGER, BIGINT
• Približni numerički tipovi
• FLOAT[(M,D)] – Mali (jednostruka preciznost (do 7
decimalnih mesta)) broj sa pokretnim zarezom
• DOUBLE[(M,D)] – Normalan (dvostruka preciznost (do
15 decimalnih mesta)) broj sa pokretnim zarezom
• M – ukupan broj cifara, D – broj cifara iza decimalne
tačke
Numerički tipovi podataka
• Tačni numerički tipovi
• INTEGER i njegove varijante
• DECIMAL[(M[,D])] – Broj sa fiksnim zarezom, osnovna
izračunavanja (+, -, *, /) sa preciznošću od 65 cifara
• DECIMAL se obično koristi za rad sa novčanim
vrednostima
Tipovi podataka za datum i vreme
• DATE – Datum, 'YYYY-MM-DD'
• DATETIME – Kombinacija datuma i vremena,
'YYYY-MM-DD HH:MM:SS'
• TIME – Vreme, 'HH:MM:SS'
• YEAR[(2|4)] – Godina kao dvocifreni ili
četvorocifreni broj
Tekstualni tipovi podataka
• CHAR(M)
• String (niz karaktera) fiksne dužine, brže učitavanje
• Prilikom smeštanja se dodaju space karakteri sve do
specificirane dužine
• M – dužina, do 255 karaktera
• VARCHAR(M)
• String promenljive dužine
• M – maksimalna dužina, do 65535 karaktera
• TINYTEXT, TEXT[(M)], MEDIUMTEXT, LONGTEXT
• Slično kao VARCHAR, nije moguće definisati
podrazumevanu vrednost za kolonu
Izbor tipa podataka
• Tekstualni tipovi dozvoljavaju unos slova, brojeva i
specijalnih karaktera
• Numeričke tipove podataka dodeljivati samo u
slučajevima kada se očekuje obrada podataka iz
kolone (vršenje izračunavanja)
• Plata (MEDIUMINT), Cena (Decimal(8,2)),
Ocena (TINYINT), …
• Broj telefona (VARCHAR), JMBG (CHAR(13)),
Broj indeksa (VARCHAR), …
• Kolonama u koje se smeštaju datum i/ili vreme
uvek dodeljivati odgovarajuće tipove podataka za
datum i vreme
Ostali atributi
• Kolona se može deklarisati kao NOT NULL (u istu se
mora upisati podatak prilikom dodavanja novog
reda) ili NULL
• NULL vrednost znači „nema podatka“
• Ako se ne navede ništa, pretpostavlja se da je NULL
atribut specificiran
• AUTO_INCREMENT
• Za kolone sa celobrojnim tipom podataka
• Prilikom dodavanja novog reda vrednost u koloni se
podešava na sledeću vrednost u nizu
• DEFAULT – Podrazumevana vrednost za kolonu
Primarni ključ
• Primarni ključ (PRIMARY KEY) – Kolona na osnovu
čijih vrednosti se može jednoznačno identifikovati
bilo koji red u tabeli
• Vrednosti u koloni moraju biti različite i ista je
deklarisana kao NOT NULL
• Prirodni (broj indeksa, JMBG, …) i veštački (id)
Strani ključ
• Strani ključ (FOREIGN KEY) – Kolona iz jedne tabele
(sekundarna tabela ili dete tabela) čije vrednosti
moraju da se „slažu“ sa, odnosno da odgovaraju,
vrednostima primarnog ključa u nekoj drugoj tabeli
(primarna tabela ili roditelj tabela)
Ustaljena praksa prilikom kreiranja
baze podataka
• Maksimalan broj karaktera za nazive baza podataka,
tabela, kolona i indeksa je 64 (nije isti za sve
sisteme)
• Reći što više sa što manje karaktera
• Nazivi ne treba da sadrže navodnike
• Nazivi ne treba da se završavaju space karakterom
• Nazivi baza podataka i tabela ne mogu sadržati
karaktere /  . ili karaktere koji nisu dozvoljeni u
operativnom sistemu Windows prilikom davanja
naziva folderima i fajlovima
Ustaljena praksa prilikom kreiranja
baze podataka
• Nazivi baza i tabela nisu osetljivi na velika i mala
slova
• Prilikom kreiranja i referenciranja baza i tabela
treba koristiti nazive sa malim slovima
• Kod rezervisanih reči SQL-a ne pravi se razlika
između malih i velikih slova
• Rezervisane reči treba pisati velikim slovima
Ustaljena praksa prilikom kreiranja
baze podataka
• CHARACTER SET atribut specificira skup karaktera
koji se koristi
• Skup karaktera je skup simbola i šifriranja
• Za naše karaktere treba koristiti UTF-8
• COLLATE atribut specificira uparivanje za taj skup
karaktera
• Uparivanje je skup pravila za poređenje karaktera u
skupu karaktera
Opis sintakse
• Uglaste zagrade ([]) ukazuju na opcione reči ili klauzule
• Alternative su razdvojene vertikalnim linijama (|)
• Kada jedna od alternativa može biti izabrana, iste su
smeštene unutar uglastih zagrada
• Kada jedna od alternativa mora biti izabrana, iste su
smeštene unutar vitičastih zagrada ({})
• (...) ukazuje na izostavljanje dela iskaza, sa namerom
da se prosledi kraća verzija kompleksnije sintakse
• (...) takođe ukazuje da se prethodni element sintakse
iskaza može ponavljati
Baza podataka poslovanje
Kreiranje baze podataka
• CREATE DATABASE db_name;
• CREATE DATABASE poslovanje;
• SHOW DATABASES;
• U nazivima baza i tabela ne treba koristiti
• Srpske karaktere
• Razmake (space karaktere), ako se želi efekat razmaka
treba koristiti donju crtu (_)
Biranje i brisanje baze podataka
• USE db_name;
• Baza sa datim nazivom će se koristiti kao
podrazumevana (tekuća) baza za iskaze koji slede
• USE poslovanje;
• DROP DATABASE db_name;
• Briše sve tabele u bazi podataka sa datim nazivom i
nakon toga briše i samu bazu podataka
Mašine za skladištenje i tipovi
tabela
• 11 mašina za skladištenje koje rade kao
manipulatori za različite tipove tabela
• MyISAM upravlja netransakcionim tabelama
• Visoka brzina smeštanja i preuzimanja podataka
• InnoDB radi sa transakcionim tabelama i ima
mogućnosti izvršavanja, rollback-a i oporavka
prilikom havarije
• Podrazumevana mašina za skladištenje
• Radi zaključavanje na nivou redova prilikom transakcija
• Maksimum performansi kada obrađuje velike količine
podataka
• Podržava spoljne (strane) ključeve
Kreiranje tabele
• CREATE TABLE tbl_name
(create_definition,...)
• create_definition:
column_definition
| PRIMARY KEY (index_col_name,...)
| {INDEX|KEY} [index_name] (index_col_name,...)
| UNIQUE [INDEX|KEY] [index_name] (index_col_name,...)
| FOREIGN KEY [index_name] (index_col_name,...)
[reference_definition]
• column_definition:
col_name data_type [NOT NULL | NULL]
[DEFAULT default_value] [AUTO_INCREMENT]
Indeksi
• Indeksiraju se kolone
• Indeksi se koriste da bi se brzo pronašli redovi sa
određenom vrednošću u koloni
• Pravljenje indeksa usporava unošenje podataka.
Indeksirane kolone treba koristiti samo onda kada
su stvarno neophodne.
• KEY (ključ) je normalno sinonim za INDEX (indeks)
• UNIQUE (jedinstveni) indeks kreira ograničenje
takvo da sve vrednosti u indeksu (odnosno koloni
koja je indeksirana) moraju biti različite
Kreiranje tabele
CREATE TABLE firma (
id TINYINT(3) UNSIGNED NOT NULL,
naziv VARCHAR(100) NOT NULL,
mesto VARCHAR(50),
adresa VARCHAR(50),
telefon VARCHAR(20),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kreiranje tabele koja sadrži strani
ključ
CREATE TABLE faktura (
id SMALLINT(5) UNSIGNED NOT NULL,
id_firme TINYINT(3) UNSIGNED NOT NULL,
datum DATE NOT NULL,
ulaz_izlaz CHAR(1) NOT NULL,
PRIMARY KEY (id),
KEY k_id_firme (id_firme),
CONSTRAINT fk_faktura_firma FOREIGN KEY (id_firme)
REFERENCES firma (id) ON DELETE CASCADE ON UPDATE
CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Kreiranje baze i tabela – Vežba
• Kreirati bazu podataka nastava i učiniti je tekućom
• Kreirati tabele profesor i predmet
• Definisati nazive kolona tabela i tipove podataka za iste
• Definisati primarne ključeve tabela
• Predavanja iz jednog predmeta drži samo jedan profesor.
Jedan profesor može držati predavanja iz više predmeta.
• Tabela predmet sadrži strani ključ
Izmena strukture tabele i brisanje
iste
• ALTER TABLE faktura
ADD COLUMN primio VARCHAR(50);
• ALTER TABLE faktura
DROP COLUMN primio;
• ALTER TABLE stavke_fakture
MODIFY COLUMN kolicina DECIMAL(6,2);
• ALTER TABLE stavke_fakture
CHANGE COLUMN dan_cena cena DECIMAL(10,2);
• DROP TABLE tbl_name;

More Related Content

What's hot

Formativno ocenjivanje
Formativno ocenjivanjeFormativno ocenjivanje
Formativno ocenjivanjeVerica Arula
 
Klasifikacija živih bića u pet carstava
Klasifikacija živih bića u pet carstavaKlasifikacija živih bića u pet carstava
Klasifikacija živih bića u pet carstavaIvana Damnjanović
 
6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računara6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računaraZoran Ilić
 
04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovidjudjujag
 
Prilozi i-predlozi
Prilozi i-predloziPrilozi i-predlozi
Prilozi i-predloziFlekica87
 
Kičmena moždina
Kičmena moždinaKičmena moždina
Kičmena moždinaEna Horvat
 
Aprilski rat i okupacija jugoslavije
Aprilski rat i okupacija jugoslavijeAprilski rat i okupacija jugoslavije
Aprilski rat i okupacija jugoslavijeDušan Novakov
 
Struktura računara prezentacija za 8. razred
Struktura računara prezentacija za 8. razredStruktura računara prezentacija za 8. razred
Struktura računara prezentacija za 8. razredDragisa Bojanic
 
Softver i hardver
Softver i hardverSoftver i hardver
Softver i hardverNatashaBN
 
Kako oceniti prezentaciju kriterijumi za ocenjivanje
Kako oceniti prezentaciju kriterijumi za ocenjivanjeKako oceniti prezentaciju kriterijumi za ocenjivanje
Kako oceniti prezentaciju kriterijumi za ocenjivanjeBiljana Atanackovic
 
čIste supstance i smeše
čIste supstance i smešečIste supstance i smeše
čIste supstance i smešeBiljana Ristic
 
Падежи - служба и значења
Падежи - служба и значењаПадежи - служба и значења
Падежи - служба и значењаИвана Цекић
 

What's hot (20)

Formativno ocenjivanje
Formativno ocenjivanjeFormativno ocenjivanje
Formativno ocenjivanje
 
Klasifikacija živih bića u pet carstava
Klasifikacija živih bića u pet carstavaKlasifikacija živih bića u pet carstava
Klasifikacija živih bića u pet carstava
 
Kontrolne vezbe i_testovi
Kontrolne vezbe i_testoviKontrolne vezbe i_testovi
Kontrolne vezbe i_testovi
 
Kontrolne vezbe sa_resenjima
Kontrolne vezbe sa_resenjimaKontrolne vezbe sa_resenjima
Kontrolne vezbe sa_resenjima
 
6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računara6. Uvod u informatiku - Hardver i softver računara
6. Uvod u informatiku - Hardver i softver računara
 
Зависне реченице
Зависне реченицеЗависне реченице
Зависне реченице
 
04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi04 procesor-ploca-magistrala-portovi
04 procesor-ploca-magistrala-portovi
 
Prilozi i-predlozi
Prilozi i-predloziPrilozi i-predlozi
Prilozi i-predlozi
 
Kičmena moždina
Kičmena moždinaKičmena moždina
Kičmena moždina
 
Aprilski rat i okupacija jugoslavije
Aprilski rat i okupacija jugoslavijeAprilski rat i okupacija jugoslavije
Aprilski rat i okupacija jugoslavije
 
Struktura računara prezentacija za 8. razred
Struktura računara prezentacija za 8. razredStruktura računara prezentacija za 8. razred
Struktura računara prezentacija za 8. razred
 
Anoreksija
Anoreksija Anoreksija
Anoreksija
 
Alkani
AlkaniAlkani
Alkani
 
Zdrava ishrana
Zdrava ishranaZdrava ishrana
Zdrava ishrana
 
Softver i hardver
Softver i hardverSoftver i hardver
Softver i hardver
 
Kako oceniti prezentaciju kriterijumi za ocenjivanje
Kako oceniti prezentaciju kriterijumi za ocenjivanjeKako oceniti prezentaciju kriterijumi za ocenjivanje
Kako oceniti prezentaciju kriterijumi za ocenjivanje
 
čIste supstance i smeše
čIste supstance i smešečIste supstance i smeše
čIste supstance i smeše
 
Alkoholizam
AlkoholizamAlkoholizam
Alkoholizam
 
Падежи - служба и значења
Падежи - служба и значењаПадежи - служба и значења
Падежи - служба и значења
 
Kičmena moždina
Kičmena moždinaKičmena moždina
Kičmena moždina
 

Similar to OKBP 3.2 Tipovi podataka. Primarni i strani ključ. Kreiranje baze i tabela

OKBP 3.1 Tipovi atributa entiteta i tipovi polja
OKBP 3.1 Tipovi atributa entiteta i tipovi poljaOKBP 3.1 Tipovi atributa entiteta i tipovi polja
OKBP 3.1 Tipovi atributa entiteta i tipovi poljaMilan Zdravković
 
R2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola Lazić
R2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola LazićR2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola Lazić
R2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola LazićNašaŠkola.Net
 
OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelom
OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelomOKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelom
OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelomMilan Zdravković
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Feguest199a1d0
 

Similar to OKBP 3.2 Tipovi podataka. Primarni i strani ključ. Kreiranje baze i tabela (7)

OKBP 3.1 Tipovi atributa entiteta i tipovi polja
OKBP 3.1 Tipovi atributa entiteta i tipovi poljaOKBP 3.1 Tipovi atributa entiteta i tipovi polja
OKBP 3.1 Tipovi atributa entiteta i tipovi polja
 
1.cas
1.cas1.cas
1.cas
 
R2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola Lazić
R2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola LazićR2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola Lazić
R2 MS Excel - Rad sa imenovanim grupama ćelija u Excel-u - Nikola Lazić
 
OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelom
OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelomOKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelom
OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelom
 
Pitanja Maturski Fe
Pitanja Maturski FePitanja Maturski Fe
Pitanja Maturski Fe
 
elementi pascala
elementi pascalaelementi pascala
elementi pascala
 
Upiti u Access-u
Upiti u Access-uUpiti u Access-u
Upiti u Access-u
 

More from Milan Zdravković

Investing in scientific startups - Perspective from both sides
Investing in scientific startups - Perspective from both sidesInvesting in scientific startups - Perspective from both sides
Investing in scientific startups - Perspective from both sidesMilan Zdravković
 
Discovery and validation with scientific method - the Lean Startup approach
Discovery and validation with scientific method - the Lean Startup approachDiscovery and validation with scientific method - the Lean Startup approach
Discovery and validation with scientific method - the Lean Startup approachMilan Zdravković
 
Key EURAXESS online platform functionalities and selected Extranet tools
Key EURAXESS online platform functionalities and selected Extranet toolsKey EURAXESS online platform functionalities and selected Extranet tools
Key EURAXESS online platform functionalities and selected Extranet toolsMilan Zdravković
 
Funding & Grants in Horizon Europe
Funding & Grants in Horizon EuropeFunding & Grants in Horizon Europe
Funding & Grants in Horizon EuropeMilan Zdravković
 
Open Science in HORIZON Grant Agreement
Open Science in HORIZON Grant AgreementOpen Science in HORIZON Grant Agreement
Open Science in HORIZON Grant AgreementMilan Zdravković
 
EURAXESS Online Tools To Support Researcher Career Development
EURAXESS Online Tools To Support Researcher Career DevelopmentEURAXESS Online Tools To Support Researcher Career Development
EURAXESS Online Tools To Support Researcher Career DevelopmentMilan Zdravković
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaMilan Zdravković
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaMilan Zdravković
 
UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNMilan Zdravković
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesaMilan Zdravković
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMilan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesMilan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...Milan Zdravković
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesMilan Zdravković
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesMilan Zdravković
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerMilan Zdravković
 

More from Milan Zdravković (20)

Investing in scientific startups - Perspective from both sides
Investing in scientific startups - Perspective from both sidesInvesting in scientific startups - Perspective from both sides
Investing in scientific startups - Perspective from both sides
 
Discovery and validation with scientific method - the Lean Startup approach
Discovery and validation with scientific method - the Lean Startup approachDiscovery and validation with scientific method - the Lean Startup approach
Discovery and validation with scientific method - the Lean Startup approach
 
Key EURAXESS online platform functionalities and selected Extranet tools
Key EURAXESS online platform functionalities and selected Extranet toolsKey EURAXESS online platform functionalities and selected Extranet tools
Key EURAXESS online platform functionalities and selected Extranet tools
 
Funding & Grants in Horizon Europe
Funding & Grants in Horizon EuropeFunding & Grants in Horizon Europe
Funding & Grants in Horizon Europe
 
Open Science in HORIZON Grant Agreement
Open Science in HORIZON Grant AgreementOpen Science in HORIZON Grant Agreement
Open Science in HORIZON Grant Agreement
 
EURAXESS Online Tools To Support Researcher Career Development
EURAXESS Online Tools To Support Researcher Career DevelopmentEURAXESS Online Tools To Support Researcher Career Development
EURAXESS Online Tools To Support Researcher Career Development
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesa
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesa
 
Social media promotion
Social media promotionSocial media promotion
Social media promotion
 
UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMN
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesa
 
UPRO00 - Uvod u BPM
UPRO00 - Uvod u BPMUPRO00 - Uvod u BPM
UPRO00 - Uvod u BPM
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjem
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
 
IT1 1.5 Analiza podataka
IT1 1.5 Analiza podatakaIT1 1.5 Analiza podataka
IT1 1.5 Analiza podataka
 
IT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubomIT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubom
 

Recently uploaded

Птице које можемо да пронађемо у Београду
Птице које можемо да пронађемо у БеоградуПтице које можемо да пронађемо у Београду
Птице које можемо да пронађемо у БеоградуИвана Ћуковић
 
Istorija okruzno takmicenje za 6. razred_20242024.pdf
Istorija okruzno takmicenje za 6. razred_20242024.pdfIstorija okruzno takmicenje za 6. razred_20242024.pdf
Istorija okruzno takmicenje za 6. razred_20242024.pdfpauknatasa
 
Istorija 6. razred opstinsko takmicenje 2022.pdf
Istorija 6. razred opstinsko takmicenje 2022.pdfIstorija 6. razred opstinsko takmicenje 2022.pdf
Istorija 6. razred opstinsko takmicenje 2022.pdfpauknatasa
 
Razvoj samopouzdanja kod skolskog deteta
Razvoj samopouzdanja kod skolskog detetaRazvoj samopouzdanja kod skolskog deteta
Razvoj samopouzdanja kod skolskog detetaNerkoJVG
 
Istorija okruzno takmicenje za 6. razred 2022. godine.pdf
Istorija okruzno takmicenje za 6. razred 2022. godine.pdfIstorija okruzno takmicenje za 6. razred 2022. godine.pdf
Istorija okruzno takmicenje za 6. razred 2022. godine.pdfpauknatasa
 
Istorija okruzno takmicenje za 7. razred 2022.pdf
Istorija okruzno takmicenje za 7. razred 2022.pdfIstorija okruzno takmicenje za 7. razred 2022.pdf
Istorija okruzno takmicenje za 7. razred 2022.pdfpauknatasa
 
Istorija opstinsko takmicenje za 6. razred - test_2024.pdf
Istorija opstinsko takmicenje za 6. razred - test_2024.pdfIstorija opstinsko takmicenje za 6. razred - test_2024.pdf
Istorija opstinsko takmicenje za 6. razred - test_2024.pdfpauknatasa
 
Istorija kljuc za okruzno takmicenje za 7. razred 2022. godine.doc
Istorija kljuc za okruzno takmicenje za 7. razred 2022. godine.docIstorija kljuc za okruzno takmicenje za 7. razred 2022. godine.doc
Istorija kljuc za okruzno takmicenje za 7. razred 2022. godine.docpauknatasa
 
Istorija ključ za okruzno takmicenje za 6. razred_2024
Istorija ključ za okruzno takmicenje za 6. razred_2024Istorija ključ za okruzno takmicenje za 6. razred_2024
Istorija ključ za okruzno takmicenje za 6. razred_2024pauknatasa
 
Profesionalna_orijentacija / Srednja Škola Hipokrat
Profesionalna_orijentacija / Srednja Škola HipokratProfesionalna_orijentacija / Srednja Škola Hipokrat
Profesionalna_orijentacija / Srednja Škola HipokratNerkoJVG
 
Istorija 6. razred okruzno takmicenje 2023 test.pdf
Istorija 6. razred okruzno takmicenje 2023 test.pdfIstorija 6. razred okruzno takmicenje 2023 test.pdf
Istorija 6. razred okruzno takmicenje 2023 test.pdfpauknatasa
 
Istorija kljuc za okruzno takmicenje za 6. razred 2022
Istorija kljuc za okruzno takmicenje za 6. razred 2022Istorija kljuc za okruzno takmicenje za 6. razred 2022
Istorija kljuc za okruzno takmicenje za 6. razred 2022pauknatasa
 

Recently uploaded (15)

Птице које можемо да пронађемо у Београду
Птице које можемо да пронађемо у БеоградуПтице које можемо да пронађемо у Београду
Птице које можемо да пронађемо у Београду
 
OIR-V10.pptx
OIR-V10.pptxOIR-V10.pptx
OIR-V10.pptx
 
Istorija okruzno takmicenje za 6. razred_20242024.pdf
Istorija okruzno takmicenje za 6. razred_20242024.pdfIstorija okruzno takmicenje za 6. razred_20242024.pdf
Istorija okruzno takmicenje za 6. razred_20242024.pdf
 
Istorija 6. razred opstinsko takmicenje 2022.pdf
Istorija 6. razred opstinsko takmicenje 2022.pdfIstorija 6. razred opstinsko takmicenje 2022.pdf
Istorija 6. razred opstinsko takmicenje 2022.pdf
 
Razvoj samopouzdanja kod skolskog deteta
Razvoj samopouzdanja kod skolskog detetaRazvoj samopouzdanja kod skolskog deteta
Razvoj samopouzdanja kod skolskog deteta
 
Istorija okruzno takmicenje za 6. razred 2022. godine.pdf
Istorija okruzno takmicenje za 6. razred 2022. godine.pdfIstorija okruzno takmicenje za 6. razred 2022. godine.pdf
Istorija okruzno takmicenje za 6. razred 2022. godine.pdf
 
Istorija okruzno takmicenje za 7. razred 2022.pdf
Istorija okruzno takmicenje za 7. razred 2022.pdfIstorija okruzno takmicenje za 7. razred 2022.pdf
Istorija okruzno takmicenje za 7. razred 2022.pdf
 
OIR12-L2.pptx
OIR12-L2.pptxOIR12-L2.pptx
OIR12-L2.pptx
 
Istorija opstinsko takmicenje za 6. razred - test_2024.pdf
Istorija opstinsko takmicenje za 6. razred - test_2024.pdfIstorija opstinsko takmicenje za 6. razred - test_2024.pdf
Istorija opstinsko takmicenje za 6. razred - test_2024.pdf
 
Istorija kljuc za okruzno takmicenje za 7. razred 2022. godine.doc
Istorija kljuc za okruzno takmicenje za 7. razred 2022. godine.docIstorija kljuc za okruzno takmicenje za 7. razred 2022. godine.doc
Istorija kljuc za okruzno takmicenje za 7. razred 2022. godine.doc
 
Istorija ključ za okruzno takmicenje za 6. razred_2024
Istorija ključ za okruzno takmicenje za 6. razred_2024Istorija ključ za okruzno takmicenje za 6. razred_2024
Istorija ključ za okruzno takmicenje za 6. razred_2024
 
Profesionalna_orijentacija / Srednja Škola Hipokrat
Profesionalna_orijentacija / Srednja Škola HipokratProfesionalna_orijentacija / Srednja Škola Hipokrat
Profesionalna_orijentacija / Srednja Škola Hipokrat
 
Istorija 6. razred okruzno takmicenje 2023 test.pdf
Istorija 6. razred okruzno takmicenje 2023 test.pdfIstorija 6. razred okruzno takmicenje 2023 test.pdf
Istorija 6. razred okruzno takmicenje 2023 test.pdf
 
OIR12-L1.pptx
OIR12-L1.pptxOIR12-L1.pptx
OIR12-L1.pptx
 
Istorija kljuc za okruzno takmicenje za 6. razred 2022
Istorija kljuc za okruzno takmicenje za 6. razred 2022Istorija kljuc za okruzno takmicenje za 6. razred 2022
Istorija kljuc za okruzno takmicenje za 6. razred 2022
 

OKBP 3.2 Tipovi podataka. Primarni i strani ključ. Kreiranje baze i tabela

  • 1. Tipovi podataka Primarni i strani ključ Kreiranje baze i tabela
  • 2. MySQL Community Edition • Besplatna verzija najpopularnijeg sistema otvorenog koda za upravljanje relacionim bazama podataka • Softver otvorenog koda podrazumeva postojanje izvornog koda koji svaki korisnik može pregledati, modifikovati i poboljšavati • Nastao u Švedskoj, trenutno u vlasništvu kompanije Oracle Corporation • Radi u klijent/server okruženju
  • 3. SQL (Structured Query Language) • Strukturirani jezik upita • Standardni (ISO/IEC standard) jezik sistema za upravljanje relacionim bazama podataka • ISO (International Organization for Standardization) • IEC (International Electrotechnical Commission) • Nastao 1974. godine u IBM-u • 1987. godine standardizovan od strane ISO • Trenutno je aktuelna verzija standarda iz 2016. godine
  • 4. Tipovi podataka • Numerički • Za datum i vreme • Znakovni ili tekstualni
  • 5. Numerički tipovi podataka • Celi brojevi • TINYINT (od -128 do 127) • SMALLINT (od -32768 do 32767) • MEDIUMINT (od -8388608 do 8388607) • INT ili INTEGER, BIGINT • Približni numerički tipovi • FLOAT[(M,D)] – Mali (jednostruka preciznost (do 7 decimalnih mesta)) broj sa pokretnim zarezom • DOUBLE[(M,D)] – Normalan (dvostruka preciznost (do 15 decimalnih mesta)) broj sa pokretnim zarezom • M – ukupan broj cifara, D – broj cifara iza decimalne tačke
  • 6. Numerički tipovi podataka • Tačni numerički tipovi • INTEGER i njegove varijante • DECIMAL[(M[,D])] – Broj sa fiksnim zarezom, osnovna izračunavanja (+, -, *, /) sa preciznošću od 65 cifara • DECIMAL se obično koristi za rad sa novčanim vrednostima
  • 7. Tipovi podataka za datum i vreme • DATE – Datum, 'YYYY-MM-DD' • DATETIME – Kombinacija datuma i vremena, 'YYYY-MM-DD HH:MM:SS' • TIME – Vreme, 'HH:MM:SS' • YEAR[(2|4)] – Godina kao dvocifreni ili četvorocifreni broj
  • 8. Tekstualni tipovi podataka • CHAR(M) • String (niz karaktera) fiksne dužine, brže učitavanje • Prilikom smeštanja se dodaju space karakteri sve do specificirane dužine • M – dužina, do 255 karaktera • VARCHAR(M) • String promenljive dužine • M – maksimalna dužina, do 65535 karaktera • TINYTEXT, TEXT[(M)], MEDIUMTEXT, LONGTEXT • Slično kao VARCHAR, nije moguće definisati podrazumevanu vrednost za kolonu
  • 9. Izbor tipa podataka • Tekstualni tipovi dozvoljavaju unos slova, brojeva i specijalnih karaktera • Numeričke tipove podataka dodeljivati samo u slučajevima kada se očekuje obrada podataka iz kolone (vršenje izračunavanja) • Plata (MEDIUMINT), Cena (Decimal(8,2)), Ocena (TINYINT), … • Broj telefona (VARCHAR), JMBG (CHAR(13)), Broj indeksa (VARCHAR), … • Kolonama u koje se smeštaju datum i/ili vreme uvek dodeljivati odgovarajuće tipove podataka za datum i vreme
  • 10. Ostali atributi • Kolona se može deklarisati kao NOT NULL (u istu se mora upisati podatak prilikom dodavanja novog reda) ili NULL • NULL vrednost znači „nema podatka“ • Ako se ne navede ništa, pretpostavlja se da je NULL atribut specificiran • AUTO_INCREMENT • Za kolone sa celobrojnim tipom podataka • Prilikom dodavanja novog reda vrednost u koloni se podešava na sledeću vrednost u nizu • DEFAULT – Podrazumevana vrednost za kolonu
  • 11. Primarni ključ • Primarni ključ (PRIMARY KEY) – Kolona na osnovu čijih vrednosti se može jednoznačno identifikovati bilo koji red u tabeli • Vrednosti u koloni moraju biti različite i ista je deklarisana kao NOT NULL • Prirodni (broj indeksa, JMBG, …) i veštački (id)
  • 12. Strani ključ • Strani ključ (FOREIGN KEY) – Kolona iz jedne tabele (sekundarna tabela ili dete tabela) čije vrednosti moraju da se „slažu“ sa, odnosno da odgovaraju, vrednostima primarnog ključa u nekoj drugoj tabeli (primarna tabela ili roditelj tabela)
  • 13. Ustaljena praksa prilikom kreiranja baze podataka • Maksimalan broj karaktera za nazive baza podataka, tabela, kolona i indeksa je 64 (nije isti za sve sisteme) • Reći što više sa što manje karaktera • Nazivi ne treba da sadrže navodnike • Nazivi ne treba da se završavaju space karakterom • Nazivi baza podataka i tabela ne mogu sadržati karaktere / . ili karaktere koji nisu dozvoljeni u operativnom sistemu Windows prilikom davanja naziva folderima i fajlovima
  • 14. Ustaljena praksa prilikom kreiranja baze podataka • Nazivi baza i tabela nisu osetljivi na velika i mala slova • Prilikom kreiranja i referenciranja baza i tabela treba koristiti nazive sa malim slovima • Kod rezervisanih reči SQL-a ne pravi se razlika između malih i velikih slova • Rezervisane reči treba pisati velikim slovima
  • 15. Ustaljena praksa prilikom kreiranja baze podataka • CHARACTER SET atribut specificira skup karaktera koji se koristi • Skup karaktera je skup simbola i šifriranja • Za naše karaktere treba koristiti UTF-8 • COLLATE atribut specificira uparivanje za taj skup karaktera • Uparivanje je skup pravila za poređenje karaktera u skupu karaktera
  • 16. Opis sintakse • Uglaste zagrade ([]) ukazuju na opcione reči ili klauzule • Alternative su razdvojene vertikalnim linijama (|) • Kada jedna od alternativa može biti izabrana, iste su smeštene unutar uglastih zagrada • Kada jedna od alternativa mora biti izabrana, iste su smeštene unutar vitičastih zagrada ({}) • (...) ukazuje na izostavljanje dela iskaza, sa namerom da se prosledi kraća verzija kompleksnije sintakse • (...) takođe ukazuje da se prethodni element sintakse iskaza može ponavljati
  • 18. Kreiranje baze podataka • CREATE DATABASE db_name; • CREATE DATABASE poslovanje; • SHOW DATABASES; • U nazivima baza i tabela ne treba koristiti • Srpske karaktere • Razmake (space karaktere), ako se želi efekat razmaka treba koristiti donju crtu (_)
  • 19. Biranje i brisanje baze podataka • USE db_name; • Baza sa datim nazivom će se koristiti kao podrazumevana (tekuća) baza za iskaze koji slede • USE poslovanje; • DROP DATABASE db_name; • Briše sve tabele u bazi podataka sa datim nazivom i nakon toga briše i samu bazu podataka
  • 20. Mašine za skladištenje i tipovi tabela • 11 mašina za skladištenje koje rade kao manipulatori za različite tipove tabela • MyISAM upravlja netransakcionim tabelama • Visoka brzina smeštanja i preuzimanja podataka • InnoDB radi sa transakcionim tabelama i ima mogućnosti izvršavanja, rollback-a i oporavka prilikom havarije • Podrazumevana mašina za skladištenje • Radi zaključavanje na nivou redova prilikom transakcija • Maksimum performansi kada obrađuje velike količine podataka • Podržava spoljne (strane) ključeve
  • 21. Kreiranje tabele • CREATE TABLE tbl_name (create_definition,...) • create_definition: column_definition | PRIMARY KEY (index_col_name,...) | {INDEX|KEY} [index_name] (index_col_name,...) | UNIQUE [INDEX|KEY] [index_name] (index_col_name,...) | FOREIGN KEY [index_name] (index_col_name,...) [reference_definition] • column_definition: col_name data_type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT]
  • 22. Indeksi • Indeksiraju se kolone • Indeksi se koriste da bi se brzo pronašli redovi sa određenom vrednošću u koloni • Pravljenje indeksa usporava unošenje podataka. Indeksirane kolone treba koristiti samo onda kada su stvarno neophodne. • KEY (ključ) je normalno sinonim za INDEX (indeks) • UNIQUE (jedinstveni) indeks kreira ograničenje takvo da sve vrednosti u indeksu (odnosno koloni koja je indeksirana) moraju biti različite
  • 23. Kreiranje tabele CREATE TABLE firma ( id TINYINT(3) UNSIGNED NOT NULL, naziv VARCHAR(100) NOT NULL, mesto VARCHAR(50), adresa VARCHAR(50), telefon VARCHAR(20), PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 24. Kreiranje tabele koja sadrži strani ključ CREATE TABLE faktura ( id SMALLINT(5) UNSIGNED NOT NULL, id_firme TINYINT(3) UNSIGNED NOT NULL, datum DATE NOT NULL, ulaz_izlaz CHAR(1) NOT NULL, PRIMARY KEY (id), KEY k_id_firme (id_firme), CONSTRAINT fk_faktura_firma FOREIGN KEY (id_firme) REFERENCES firma (id) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  • 25. Kreiranje baze i tabela – Vežba • Kreirati bazu podataka nastava i učiniti je tekućom • Kreirati tabele profesor i predmet • Definisati nazive kolona tabela i tipove podataka za iste • Definisati primarne ključeve tabela • Predavanja iz jednog predmeta drži samo jedan profesor. Jedan profesor može držati predavanja iz više predmeta. • Tabela predmet sadrži strani ključ
  • 26. Izmena strukture tabele i brisanje iste • ALTER TABLE faktura ADD COLUMN primio VARCHAR(50); • ALTER TABLE faktura DROP COLUMN primio; • ALTER TABLE stavke_fakture MODIFY COLUMN kolicina DECIMAL(6,2); • ALTER TABLE stavke_fakture CHANGE COLUMN dan_cena cena DECIMAL(10,2); • DROP TABLE tbl_name;