Alter table? Kakav export u txt, zamisli bazu od par milijuna recorda i moraš dodati polje...
Razvoj web-stranica - Rasprava
- poruka: 3.136
- |
- čitano: 587.084
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
A kako drugačije napraviti update tablice? Do sad sam exporto u txt, i kasnije ga ubacim u bazu
spojiš se na bazu i izvršiš sql upit/komandu "alter table...." i vrtiš palčeve dok baza odradi svoje.
Budem išao na MySQL. Ipak treba nekakva struktura.
Možda smo se svi razišli, što misliš pod:
A kako drugačije napraviti update tablice? Do sad sam exporto u txt, i kasnije ga ubacim u bazu
Update tablice se obično radi bez ikakvih exporta, samo zvekneš alter table i mir.
Dakle otvoriš što god koristiš za spajanje na bazu (phpmyadmin mislim da ima neki run sql prozorčić) i uvališ tamo nešto tipa
ALTER TABLE moja_tablica ADD moje_novo_polje VARCHAR(50);
i lupiš execute.
*edit*
A da bacim bonus :P
- MySQL: Imam dvije tablice, npr. račun i račun_log. Račun se identificira preko svog IDa. Da li da(ako da, kako?) povežem te dvije tablice preko IDa? Do sada sam trpao sve u bazu, a PHP je radio veze između tablica(očita iz jedne tablice, pa taj info koristi za drugi query za drugu tablicu).
racun_log treba imati polje id_racuna i to polje treba biti definirano kao foreign key na polje id u tablici racun.
To ti osigurava integritet podataka. Dok ti taj constraint postoji nećeš moći zapisati log po računu koji nije u tablici racuni, i nećeš moći obrisati racun koji ima zapise u racun_log tablici.
A kada trebaš dohvatiti podatke jednostavno join-aš tablice.
select polja,koja,trebam
from racun
join racun_log on racun.id = racun_log.racun_id
Update znam za Alter.
Ovo je zanimljivo, no problem je kad treba obrisati, pa se sve veze trebaju potrgati
Update znam za Alter.
Ovo je zanimljivo, no problem je kad treba obrisati, pa se sve veze trebaju potrgati
Zato se baze pažljivo dizajniraju. Nije to samo, ajmo napravit tablice i rokaj
Btw bez forgein ključa ne mogu JOIN koristiti.
Btw bez forgein ključa ne mogu JOIN koristiti.
Dakle prije nego ideš raditi web app, odrediš približno tablice i njihove relacije. Koje tablice će imati 1:1, 1:n, n:n, n:1 itd. Time kontroliraš što se događa kad radiš insert, update, delete i na kojim setovima podataka. Onda imaš točno određeno što se sve briše kad obrišeš nešto, a ne da se pitaš zašto si stavio foreign key svugdje pa ti sad briše ono što treba i ono što ne treba.
Evo ti jedan dobar alat za Mysql/MariaDB:
https://www.mysql.com/products/workbench/
Jel možeš ovo pojasniti
"Koje tablice će imati 1:1, 1:n, n:n, n:1 itd."?
Što to predstavlja?
Jel možeš ovo pojasniti
"Koje tablice će imati 1:1, 1:n, n:n, n:1 itd."?
Što to predstavlja?
1 user može imati samo 1 prebivalište (adresu) - 1:1 (tablica user može biti povezana samo sa jednim entitetom user_details preko foreign keya user_id)
1 user može imati više narudžbi - 1:n (tablica user može biti povezana sa više narudžbi preko foreign keya user_id u entitetu narudzba)
Više dobavljača može imati više proizvoda) - n:n - u tom slučaju trebaš pomoćnu tablicu dobavljaci_proizvodi koja sadržava ID_dobavljac i ID_proizvod, što čini njen složeni primarni ključ, dok su ID_dobavljac i ID_proizvod vanjski ključevi prema tablicama dobavljac i proizvod. Izvršavanjem selecta SELECT * FROM dobavljaci_proizvodi WHERE ID_dobavljac = "253", dobijes sve proizvode tog dobavljača.
Update znam za Alter.
Ovo je zanimljivo, no problem je kad treba obrisati, pa se sve veze trebaju potrgati
Brisanje je jednostavno samo treba ići pomalo unatrag :). Prvo obrisati sve iz racun_log po id-u racuna, i onda sam racun po id-u racuna.
Ili ako trebaš "arhivu" dodaš neko polje tipa vazi_do i ako nema datuma to je dobar podatak, a ako ima datum tamo
Možeš. Tablice se mogu joinati na poljima istog tipa, bez obzira da li su primary, foreign, index ili štogod.
Što se tiče dodavanja ili brisanja kolone, na produkcijskoj bazi s brojem redaka u milinonima, to traje poprilično, a moguće je da pukne...
Pogledaj i tri normalne forme kod dizajna BP. Kljucne rijeci su ti:
Normalizacija baze podataka (Database normalization)
Foreign key je kolona i ona bi trebala biti indexirana zbog perfomansi. Foreign key constraints je ona relacija koju kreiraš na razini baze s kojom možeš podesiti restrikcije i akcije pri brisanju i uređivanju podataka.
MySQL dopušta kreiranje foreign key constrainta isključivo na postojećem indexu. Nisam siguran da li foreign key constraints pomaže pri optimizaciji querya, glavna uloga je osiguravanje konzistentnosti podataka. Indexi značajno pomažu.
Jel ima netko ideju kako napraviti search bar sa selectom u Bootstrap 4
Znači kada kliknem na search input, otvori se select(dropdown ugl.) s listom nečega. Ako je ikako moguće bez JSa, samo CSS
Ako želiš funkcionalnost filtriranja selecta pomoću teksta upisanog u text input, to bez js ne ide.
Kad user klikne na input polje u koje može tipati, iznad njega se otvori select polje u kojem se nalaze prijedlozi. Ne mora bit select, može bit i drop up. S tipkama dropup radi, no s input polje ne radi.
Ako imaš vrlo kratku listu prijedloga, onda možeš imati jednostavnu skriptu koja samo dodaje klasu show ili hide na elemente koji počinju s upisanim izrazom ili ga sadrže.
Ako imaš dulju listu prijedloga, onda bi to trebao povlačiti dinamički sa servera prema upisanom pojmu.
Dobra večer! Oprostite an smetnji ukoliko upadam temom koja se možda ne uklapa u ovo što vi pišete.
Naime,moja web stranica nalazi se na blacklisti te mi je onemogućeno da sa svog wi-fi-a budem spojana na istu sa bilo kojeg računala u uredu.
Dok ljudi u mojoj okolinikoji nisu spojeni preko mog wi-fi nesmetano otvaraju stranicu.
Moj web master nešto popravi međutim sutradan opet s eponavlja ista pogreška.
Radila sam besplatne SEO analize stranice te se pokazuje nekoliko pogrešaka uz to što sam i na crnoj listi kod pregleda preko svoje ip adrese.
Također sam promjenila IP adresu kontaktirala sve moguće od iskona pa do mjesta gdje plaćam domenu,međutim,meni već 3 mjeseca nitko nije pomogao.
Da li možda imate slična iskustva ili preporuku neke osoba koja bi mi mogla pomoći da napokon riješim svoj problem koji mi uvelike otežava svakodnevni rad.
Unaprijed hvala!
Ako svima radi, vama unutar (uredske) mreže ne, onda je očigledno problem lokalno, kod vas. Tko god da održava tu mrežu on bi to trebao riješiti, ne iskon, ne hosting. Firewall, antivirus, DNS... Nešto od toga nije ok.
Hosting provider bi po ip adresi mogao naći razlog blokade.
Drugi mogući uzrok može biti neispravni DNS na router. To možeš pokušati riješiti postavljanjem open dns-ova u postavke mrežne.
Hvala,rekli su mi(hosting provider) da je pogrešna šifra od maila.Promjenila sam istu,međutim i dalje se pojavljuje problem.
Hvala puno.
Ovo zadnje neznam kako se radi.
Btw. jel znate kako napraviti sustav (logika) za FIFO i LIFO procjenu vrijednosti skladišta?
Za sad imam jedino prema zadnjoj kupnji(itema) i prosječna vrijednost itema.
Mislim da smo to radili na Računovodstvu 1 i 2 (prva dva razreda srednje) - odi u antikvarijat i kupi te dvije knjige iz bilo koje godine, trebat će ti za ERP.