- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy A56 - megbízható középszerűség
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- One mobilszolgáltatások
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- VoLTE/VoWiFi
- Mobil flották
- Xiaomi 15 - kicsi telefon nagy energiával
- Google Pixel 8a - kis telefon kis késéssel
- Samsung Galaxy S25 - végre van kicsi!
Új hozzászólás Aktív témák
-
rednifegnar
senior tag
tobb fele mukodes van. altalaban van egy verzio x db fajlal (es persze van olyan hogy sok verziot kell huzni), x = 1-tol akar szazas mennyiseg.
ha nem sok a file akkor lefutattjuk kulon-kulon oket, de nyilvan egy fajl eleve tartalmaz sok utasitast (ezek vegyesen lehetnek minden felek: struktura modositasok, adatamodositasok, kulonfele programreszek mint tarolt eljarasok, triggerek stb). ha barhol hiba van le kell allni.
masik megoldas amikor soxor elofordul hogy ossze vannak mergelve egy db sql fajlba es az van lefuttatava.harmadik amikor egy fo fajl futtatja a kulonallo fajlokat.
megspekelve azzal hogy rendszerint tobb db is van egy egy ugyfelcsoportnal, lehet onallo dbk is meg semaban is kinek hogy van megrendelve konfigolva (ez ugye it fuggo is).
az mindig fontos hogy ha hiba van barhol akkor le kell allni es megnezni mi okozta, aztan azt kinyomozni korrigalni es utana folytatni (mondjuk ezen mar elhasal ez a nyamvadt management studio).
a dolgot cifrazza hogy meg tobbfele db kezelot is kell hasznalni, egyik kozuluk az mssql, es lehetoleg minel fuggetlenebbre kell mindent megirni hogy kezelheto maradjon minden (sql es programkod szinten is). -
rednifegnar
senior tag
igen talan az is lehet egy modszer de szeretnem minel egyszerubben (egysegesebben) tartani a scriptjeket, ezert nem annyira szeretnem teleirni ilyenekkel. igy is eleg szopo tobb szaz scriptet kulon kezelgetni mert o maskepp mukodik.
most megint nekifutottam a net turasnak. olybá tunik hogy az sql command modban
a:on error [ignore|exit]
nagyjabol ezt csinlaja. meg ha nem is olyan kulturalt modon mint mas isql-ekben, de legalabb megall hibanal. ami a gond hogy az sql command modot mindig kulon be kell kapcsolni, azt nem lehet script elejere beirni. plusz azt irjak lehet eltero futasi eredmenye a normal modhoz kepest. de meg nezegetem mikkel kell szamolni.
utobbi 1-2 evben kell komolyabban parhuzamosan mssql-re is dolgzonom es hat nem lettem egy mssql fan... -
LEAD-del pedig a következő sorokra lehet hivatkozni.
Performancia szempontjából nem tudom, hogy a LEAD/LAG vagy a self join a jobb megoldás, mert sosem teszteltem ezt. Ha vakon kellene fogadnom, akkor a LEAD/LAG-re tennék.
Az is igaz, hogy én csak MS SQL-ben dolgozom, nem tudom, hogy máshol léteznek-e ezek a függvények. -
Postas99
senior tag
Most azon vagyok hogy lecseréljem mert a verzió támogatja. Visual Studio Vb.net de írhatnám C#-ban is mert a feladat az hogy egy meglévő adatbázisból kell napi szinten egy bizonyos adatcsomagot kiszedni ez idáig 1 óra a kolleganőnek naponta és ha ezt egy háttér progi csinálja helyette és leteszi az adatokat akkor az havi szinten is 40 óra spórolás.
nyunyu:
A dátumra hogy miért igy van megoldva nem tudom de az adatbázisban így van letárolva:b.szemelyid b.leiras b.datumtol c.elemid d.datumig
xxx esemeny1 2021-12-01 valtozat1 2022-02-28
xxx esemeny1 2022-03-01 valtozat2 NULL
-
nyunyu
félisten
Szerintem nem akarod tudni, hogyan generáltam dinamikus SQLlel másik dinamikus SQLt, ami generálta helyettem a végleges kódot, ami ~500 táblából vasvillával hányja ki a GDPR érett ügyfelek összes kapcsolódó rekordját.
(Nem volt kedvem kézzel végignyálazni a foreign keyeket, plusz megírni a szükséges joinokat.)
-
nyunyu
félisten
Tarzan erős jeligére:
create table tabla (
ID number,
month number,
country char(2),
ertek number);
insert into tabla (ID, month, country, ertek)
values (1, 1, 'HU', 100);
insert into tabla (ID, month, country, ertek)
values (1, 2, 'HU', 200);
insert into tabla (ID, month, country, ertek)
values (1, 3, 'HU', 300);
insert into tabla (ID, month, country, ertek)
values (1, 1, 'AT', 50);
insert into tabla (ID, month, country, ertek)
values (1, 3, 'AT', 500);
insert into tabla (ID, month, country, ertek)
values (1, 1, 'DE', 100);
insert into tabla (ID, month, country, ertek)
values (1, 2, 'DE', 1000);
commit;
declare
v_orszagkod varchar2(4000);
v_sql varchar2(4000);
begin
select listagg('''' || country || '''', ', ')
within group (order by country)
into v_orszagkod
from (select distinct country from tabla);
--dbms_output.put_line(v_orszagkod);
v_sql := 'create table pivot_table as' || chr(13) || chr(10) ||
'select *' || chr(13) || chr(10) ||
'from tabla' || chr(13) || chr(10) ||
'PIVOT (' || chr(13) || chr(10) ||
' SUM(ertek)' || chr(13) || chr(10) ||
' FOR country' || chr(13) || chr(10) ||
' IN (' || v_orszagkod || ')' || chr(13) || chr(10) ||
')' || chr(13) || chr(10) ||
'where ID = 1' || chr(13) || chr(10) ||
'order by month';
--dbms_output.put_line(v_sql);
execute immediate v_sql;
end;
select *
from pivot_table; -
-
nyunyu
félisten
Szerintem sok különbség nincs köztük, ha megfordítod a táblák sorrendjét, akkor right lesz a left-ből, és fordítva
Nekem olyan logikátlannak tűnik, hogy egy kicsi vagy lyukacsos táblához joinoljak egy nagyobbat / tömöret, így én sem szoktam right joint használni, helyette mindig nagy táblához left join.
-
Ispy
nagyúr
De lehet szimplán data bindingel hozzákötni a sourcet a táblához, a controlokba megadod tervező nézetbe melyik hova kapcsolódik és akkor auto save van, sajnos már nem emlékszem a részletekre vagy 12 éve nem dolgoztam vele...hála égnek.
Szóval valami olyasmi rémlik, hogy a form tervező nézetben a propertiek között meg tudod adni a táblát és utána mondjuk egy textboxnak ami kiraksz rá ki tudod választani a fieldet a táblából, amit kezelnie kell, szóval ha csak ilyen fapad kell, azt talán meg lehet úszni vba kód nélkül.
-
Taci
addikt
Van egy kategória tábla (a cikkek és kategóriák kapcsolatairól), amiben a cikkek id-ja, és a kategóriák id-ja van, semmi más. Azt nem is szeretném bántani, mert 1-1 cikk id-hoz több kategória id is tartozhat, és ha mind után még odaírom szövegesen a kategóriák neveit, az egyrészt túl sok felesleges adat oda, plusz a "másik oldalról" is hiányozna ehhez a taskhoz adat, mert csak a cikk id-ját látom, a címét, szövegét nem.
Amit írtok (Ispy és DeFranco), ahhoz az kellene, hogy szerepeljen ez az adat (a "kiírt" kategórianév) valamelyik mezőben. De pont ez a kérdésem alapja, nem tudom, hol lenne jó helyen.
Viszont mivel kell lennie valahol, és a redundancia nem jó dolog, akkor talán az 1)-es megoldás a jobb.
-
crmtanulo
friss újonc
Azt írtam, hogy ezen az alapszinten vagyok, meg tudom tervezni a táblákat és kapcsolatokat és megcsinálni a lekérdezéseket.
Azt szeretném tudni, hogy hogyan tovább, mi a következő lépés?
Hiába keresek könyveket, csak olyanokat találok, hogy adott programokat hogyan kell használni, nem találom az elméleti hátteret.Ezért regisztráltam ide, úgy láttam, itt nagyon tapasztalt programozók vannak, tudják, hogyan kell elméleti síkon gondolkozni, ezt szeretném megtanulni.
-
Sokimm
senior tag
UPDATE new_table
SET new_table.Parameter1=old_table.Parameter1,
FROM new_table
INNER JOIN old_table ON old_table.AzonosParameter = new_table.AzonosParameter
;
Az uj tablat szeretném frissiteni, amiben beállítódik a Parameter1 (régiből az újba), az (FROM) új táblából..?
Egyesítsük az old table-t ha a régi és új tábla azonos paramétere egyezik.
Ez így nem megy.
Megint mit rontok el?
Most jön a merge próba. -
nyunyu
félisten
Tudom, Teradata huszonévvel ezelőtti szintaxisát emelték be az SQL Server 2008-ba, ami sosem volt szabványos.
Mondjuk a Teradatának volt egy olyan hasznos fícsöre, hogy csak a sikeresen illesztett sorokon updatelte a cél táblát, míg ha Oraclenek valami ilyesmit írtál:
UPDATE tábla1 u
SET u.valami = (select valami from másiktábla a where a.id=u.id);Akkor a nem illeszkedő sorokat is felülvágta NULL-lal
(Nem emlékszem pontosan az elszabott Oracle szintaxisra, helyette mindig MERGEet írtam.) -
nyunyu
félisten
GROUP BY az aggregáló függvényekhez (min, max, avg, sum...) kell, az mondja meg, hogyan csoportosítsa az adatokat aggregálás előtt.
Utána felsorolt oszlopokból képez egyedi halmazokat, és az aggregátor függvény oszlopában annak a halmazra lefuttatott függvényértéket fogod visszakapni.
-
kw3v865
senior tag
Jól gondolod. Végigmenni a sorokon (timestamp növekvő sorrendben van), és csoportosítani őket egy új view-ba (aztán summázni, és egyéb aggregáló műveletek végezni rajtuk). Úgy szeretném, hogy az egyes csoportok első és utolsó időpontja között max. 1 perc legyen a különbség. Tehát ha valamelyik érték túllépi az 1 percet, akkor az már a következő csoportba kell, hogy tartozzon, és akkor ismét 0-ról indul az "óra".
-
Ispy
nagyúr
Vagy ha bármely elemhez vonatkoztatva kell lekérni, akkor meg cross join -nal kell csinálni egy Decrates-szórzatot úgy, hogy datum1 minusz datum2 és ahol a különbség -60 és +60 között van azokat kiszűrni, és akkor megkapjuk egy táblázatba, hogy mely dátumokhoz mely dátumok vannak az 1 perces intervallumba előre, hátra.
Csak ettől lehet meghajlik a vas....
-
nyunyu
félisten
De ez egy realációs adatbázis, szóval lehet, hogy több táblából is kell törölni, lehet megfelelő sorrendben, mittudomén, innentől már egy db expert is megízzadna ezzel a feladattal.
Ne emlegesd, pont egy ilyen banki projekten dolgozom 1 hónapja...
Mindenféle custom Java alkalmazás alatti ~250 Oracle táblából kell kigyalulni a rég lejárt adatokat, de persze egyikhez sincs semmi doksi, fejlesztők már rég máshol dolgoznak, meg a táblák nagy részén nincsenek foreign keyek, nehogy véletlenül lássuk, melyik tábla melyikhez kapcsolódik adattartalomra.
ER diagram? Ha rajzolok, akkor talán lesz.Törlést végző cuccot elődeim szerencsére már megcsinálták, már csak az alkalmazások forráskódjából kell kihámoznunk, hogy mi hova joinolódik, hogy sorba rendezhessük a 250 táblát, hogy miből mit kell előbb törölni, és csak utána lehet a rájuk hivatkozó rekordokat.
-
tm5
tag
Az a helyzet, hogy sqlfiddleben vagdostam össze, internetes szösszenetek alapján.
Nem használtam MSSQL-t az elmúlt 8 évben, bár lehet a következő munkám már megint ott lesz.
Oracleben nyomultam mostanság, ott elég jó ez a FORMAT() dolog és valami hasonlót kerestem MSSQL-ben is. -
nyunyu
félisten
Egyébként ettől a where-es egyenlő dologtól kiráz a hideg, pedig még az iskolában is így tanították a táblák join-ját.
Na igen, mert némelyik DBben régen úgy kellett joinolni a táblákat, hogy FROM után felsoroltad őket, majd WHERE után a feltételek.
Aztán jött a szabványos JOIN írásmód, ami ezzel ekvivalens, de sokkal olvashatóbb.Én meg a WHERE t2.id=t1.id (+) feltételtől kaptam hülyét, hogy akkor ez most left vagy right join, melyik táblát joinoljuk melyikhez?
Nem szeretem ezt a régi Oracle szintaxist, inkább szabványosat írok.
-
nyunyu
félisten
Az a baj, hogy a nagyon korai, huszonévvel ezelőtti Teradata szintaxis ilyen galádságokat is megengedett:
update t1
set column=t2.column
where t2.id=t1.id;Vakarhattam egy darabig a fejemet, amikor SQL parsert kellett a naponta futó DWH kódok felméréséhez írnom, hogy ez vajon mi a francot jelent.
Ehhez képest a későbbi, FROMmal turbózott szintaxisuk kifejezetten olvasható.
Tudom, Oracle sem szabványos, de a szabvány SQL dialektikát azért nagyjából érti.
-
nyunyu
félisten
Ja igen, MS az SQL Server 2008 környékén nekiállt implementálni a Teradata szintaxist *, hátha át tud csábítani pár DWH júzert a méregdrága Teradatától.
De attól ez még nem szabványos, Oracle alatt biztosan NEM megy.
*: szabványos UPDATEben NINCS FROM, nem lehet táblákat felsorolni/joinolni.
-
bpx
őstag
A kérdés az volt, hogy azok a sorok kellenek amelyek ID-ja csak egyszer szerepel a táblában, továbbá igaz rájuk, hogy status = open, type = 477.
Nálad a status = open, type = 477 szűrés az aggregráció előtt történik, mert az a WHERE-ben van, nem a HAVING-ben.
Emiatt ha pl. így néz ki a tábla, akkor az eredményedbe mindkettő sor bekerül:
id | status | type
--------|--------|------
1 | open | 477
1 | closed | 476Erre nem teljesül az, hogy az ID csak egyszer szerepel, hiszen 2 sorban is ott van, és mivel csak az ID alapján történik a self join, visszadja az ID-hoz tartozó összes többi sort is, amelyekre a status = open, type = 477 nem teljesül.
A min(status) meg min(type) részhez annyi, hogy a having count(*) miatt eleve csak az 1 tagú csoportokat vizsgáljuk, ahova mindegy, hogy min vagy max vagy más csoport függvényt írok, de valamit muszáj, hogy megegye az aggregráció + having. A havingben ott van utána még a számunkra szükséges szűrés, ez az aggregáció után történik, és az 1 elemű csoportokból csak a nekünk szükségeseket hagyja meg.
Szerintem a kérdés direkt van ilyen egyszerűre fogalmazva, hogy meg lehessen oldani subquery meg analitikus függvény nélkül.
-
Louro
őstag
Abszolút jogos a kérdés, mert van kollégám, aki senior elemző és a left join-t és a right join-t nem ésszel használja. Nem érti a különbséget. (Amúgy a bérsáv miatt lett senior :/ )
Ha nem adatbázis beállítása a kérdés, hanem egy lekérdezés, akkor szerintem sokan tudunk itt segíteni.
-
bandi0000
nagyúr
Android Room-ot használok
Magyarázat kedvéért, pl
Van egy ételek tábla és egy hozzávalók, több a többhöz kapcsolat
Azt szeretném kivitelezni, hogy pl egy Checlist alapján kiválasztom a hozzávalókat, amiket belerakok egy tömbbe, vagy a nevét ami String, vagy az id-t ami Long, és egy lekérdezésbe meg le akarom kérdezni azokat az ételeket, amik tartalmazzák ezeket a hozzávalókat
-
tototos
addikt
A nagy probléma a jelenlegi rendszernél, hogyha valami lesz a kilens géppel az összes adat ott van rajta és elég körülményes azokból visszaállítani a programot működőképessé. Megoldás lehet a biztonsági mentés minden nap végén, de jobb lenne egy olyan megoldás hogy ha az egyik kliens nem működik akkor a másikat bekapcsolva máris lehet tovább dolgozni. Erre lehet megoldás egy szerver üzemeltetés, de egy adatbázis szerverért nem biztos, hogy gazdaságos. Ezért gondoltam valami netes megoldásra. A net ígyis mobilnet, és ha később van számlázva az kevésbé gond, mintha abszolút nincs mert kiesett a kliens gép.
-
Agony
aktív tag
Köszi, a gond az volt, hogy a kezdő időpontot az egyik sor tartalmazta a befejező időpontot meg ugye az azt követő.
Végül sikerült megszülni a megoldást. Feljoinoltam a feladat táblát saját magára, csak egy sor eltolással, így már megvolt a kezdő- és záró időpont a datediffhez és a sum is működött.
(select
sum(datediff(second,f.idopont,f2.idopont))
from feladat f join feladat f2 on f.igenykod=f2.igenykod and f.tetelzam+1=f2.tetelszam
where f.igenykod=igenyek.igenykod)Köszönöm szépen a választ!
-
kezdosql
tag
"A zseni nem csinal rendet, mert atlatja a kaoszt". - tartja a mondas.
(Azt persze nem teszik hozza, hogy bar emiatt mindig gyorsan eszreveszi a lenyeges dolgokat, de a tobbi papirt gyakran osszetepi vagy leonti kaveval, igy az adott helyzetben mellekes adatok karosodhatnak...) -
kezdosql
tag
Keress ra weben, hanyezerfele naptar es hasonlo alkalmazas van magukat "uzleti hataidonaplo" es hasonlonak hirdetve, mikozben tenylegesen van egy naptar nezet, lehet szoveget beirni es hasonlokat tenni, de pont a lenyeg, az adatok osszekapcsolasa reven a komplex lekerdezes hianyzik beloluk.
Vagy most jut eszembe, valamikor az outlook az ms-ben is azert lett nepszeru, mert az "uzleti hataridonaplo" illuzioval hirdettek, de tenylegesen nem volt igazi kapcsolat a naptar es a tobbi adat kozott. Arra volt jo, hogy meg lehetett tervezni a talalkozokat, de utolag, amikor arra voltal kivancsi, hogy adott szemellyel mikor talalkoztal, a naptart kellett vegiglapozni, hogy megtalald a bejegyzest.
Ilyen megoldasra talan a sqlite reven lehetoseg lenne, de allitolag pont az vele a gond, hogy a datum kezelese problemas, mert nincs datum tipus, hanem szovegkent vagy szamkent kezeli, de ezt Marton biztosan jobban tudja.
-
kezdosql
tag
Szerintem nem egeszen igy van.
Teny, hogy az Ashton Tate jo kezdemenyezeset a tipikus amerikai-angol szemlelet miatt darabokra szedtek, igy mar legalabb feltucatnyi modszert kell ismerni, mert mindenaron rengeteg uj allast akartak letrehozni.
A dBase-ben minden benne volt, a Clipper erre ratett egy lapattal, a vegeredmenybol exe-t csinalva laikusok altal kezelheto megodasokat produkalva. Volt egy megoldas, ami az adott feladatra tokeletesen mukodott, amig nem kellett a semat modositani.
Az altalad irt megoldas vezetett a mai remalomhoz, kell sql, php, html, css, javascript es egyebekhez erto szaki, es termeszetesen kell allando internet kapcsolat, es persze allandoan frissiteni kell mindent, stb.
Emiatt van rengeteg helyen az excel hasznalva, mert az egyszeru user tablazatokban es gorgetheto listakban akarja latni az adatokat.
Marton sqlite javaslataval ramutatott, hogy van megoldas server nelkuli adatbazis kezelesre, amit a c meg pascal es egyeb programok is hasznalnak, es valamikor volt "szoveges adatbaziskezelo" neven ilyesmire felbuzdulas es talan a nosql vagy hasonlok ismet ebbe az iranyba mennek majd.
A kerdes, mikor lesz hozzajuk fordito program, amivel ismet jo penzkereseti lehetoseg lesz programozoknak, mert ismet celszoftvereket lehet irni, amit "buta userek" is tudnak hasznalni es a cegek is boldogok, nem kell felleslegesen internet elofizetesre kolteni es az irodai gepeiket biztonsagos off-line modon tudjak hasznalni.
-
Apollo17hu
őstag
Az a gond, hogy nem végtáblában van szükségem az eredményre, mert egy automatizmus a további feldolgozás során használja.
@bpx: Próbálkoztam a NO_MERGE hinttel, de egyelőre sikertelenül.
A kód egyébként kb. így néz ki:
WITH
t1 as (...),
t2 as (...),
...
t20 as (...)
SELECT ...
FROM /*+ no_merge (t1 t2 ... t20) */
t1,
t2,
...,
t20,
() as tx
WHERE
tx.mezo = t1.mezo(+) AND
tx.mezo = t2.mezo(+) AND
...
tx.mezo = t20.mezo(+)Próbáltam LEFT JOIN szintaxisra is átírni a (+) kötéseket, de az sem segített.
A WITH-del lehet probléma? Azt olvastam, hogy még segít is az optimizer-nek, mert a legtöbb esetben előbb külön-külön számítja ki a WITH-ben lévő allekérdezések eredményét, és csak utána használja őket.Hogy érthető legyen: mondjuk t3-at, t7-et és t8-at cseréltem ki. Külön-külön minden t tábla minimális idő alatt lefut, néhányszáz sort eredményeznek. Ha csak t3-at (vagy csak t7-et vagy csak t8-at) cserélem ki, akkor 1 perc alatt lefut a kód. Ha már két táblát is kicserélek, akkor nem.
Sőt, ha lebutítom így a kódot:WITH
t3 as (...),
t7 as (...)
SELECT ...
FROM
t3,
t7,
() as tx
WHERE
tx.mezo = t3.mezo(+) AND
tx.mezo = t7.mezo(+)már ez sem fut le. Tehát a 3 új allekérdezés valahogy "összeakad", pedig <1 perc a futási idejük külön-külön.
-
kezdosql
tag
Esemény lehet egy mérkőzés, egy átigazolás.
Minden esemeny, ami datumhoz kotheto tortenes.
Kezdodik a csapatok kereteivel, annak jovahagyasaval, majd azon belul kijelolik, hogy kik vannak akezdo csapatban es kik a potencialis cserek, majd a meccsen kiderul, kik voltak a tenyleges cserek, stb. mind-mind esemeny.Ezt a sok csapat és sok személy dolgot meg nem értem vagy te nem érted a relációs adatbázis működését.
Szerintem erted, csak nem akarod elfogadni.
A csapatok, ugy latom, egyertelmuek szamodra.
A szemelyek pedig az emberek, akik adott idopontban lehetnek jatekosok, edzok vagy birok.
Az elso ket kategoria mindig adott csapathoz tartozik, az utolso mindig fuggetlen.En a "flag"-et nem ertem, meg sose hallottam rola.
Sokkal egyszerűbb lenne az élet, ha feldobnád ide a táblákat
"Feldobtam", a kerdes a kapcsolatok osszehozasa, mert id szerint csak a csapatok azonosithatok, a szemelyek eseteben esetenkent kell a statusza, hogy jatekos, edzo vagy biro.
Ezzel van problemam, ahogy te is irtad, "atfedes lehet", ezt kell valahogy kezelni. -
kezdosql
tag
Igen, hasonlora jutottam korabban en is, a biroknal kell egy ujabb segedtabla, mert csak a neveket lehet megadni, a meccsekkel egyutt van ertelmezve, hogy biro vagy partjelzo volt, a jatekosoknal is, hogy adott meccsen jatszott, kispadon ult vagy serult volt, stb.
Amin most tepelodok, amit Apollo irt, az esemenytabla, mert azt valahogy be kell illeszteni az elemzesbe, a szezonon beluli torteneseknel szakaszolni kell - pl. egyik csapat edzoje a masikhoz igazol, vagy amit korbban irtam, hogy december kozepen lecserelik a csatarsort es "uj csapat" jelenik meg.
-
kezdosql
tag
Nem tudom, mit vártál?
Empatiat, segitokeszseget, ertelmes valaszokat.
Sok konyv van adatbazisokrol, de egyet se talaltam arra, hogyan jutunk el az adatbazisokig.
Ugy tunik, ezzel a terulettel senki se foglalkozott, nincsen feldolgozva, nincsenek kategoriak, szakszavak, definiciok se, egyszeruen "adat"-rol beszel mindenki.A kommunikacios semaban van egyedul emlites "informacio es zaj" parosrol, de ott is szubjektiv kategoria, hogy mi az informacio es mi a zaj.
Adatnal is csak szubjektiv emlitesek vannak, hasznos, hasznalhato, felesleges, stb. ami mind-mind szubjektiv kategoria.
az adatbaziskeszitesnel is csak annyi szerepel, hogy elofeltetel az adattisztitas, ami az o ertelmezesukben azt jelenti, hogy mar megvan az adatsor, amibol - szinten szubjektiv modon - ki kell szedni az "oda nem valokat".
Ugy tunik, erre a teruletre nincsenek szakkonyvek, publikaciok, amit erosen furcsallok, mert mindenhol az elvaras, hogy legyen egy hasznalhato adatbazis, csakhogy azt nem a sult galamb hozza, ki kell alakitani.
Furcsa, hogy ennek meneterol egyikotok se ismer konyvet, amit ajanlhatott volna.
-
martonx
veterán
Hát a 2000-es években még akár menő is lehetett. Illetve lehetnek olyan speciális esetek, ahol a mai napig is megállhatja a helyét. Én pl. pár évvel ezelőtt kellett, hogy olyan alkalmazást csináljak, ami 3 féle tök különböző adatforrásból dolgozott (1 SQL tábla, 1 Access tábla és 1 excel sheet), erre az Access nagyon jó volt, mert lazán be tudja mindet nyalni, és utána az SQL-ével lehet queryzni az adatokat, majd onnan SQL-be lementettem a szépen mergelt adatokat.
De ez nagyon spéci dolog volt, értelmes üzleti rendszert akkor se alapoznék Access-re. -
GreenIT
tag
Mindenkinek koszonom a reagalasokat, egyben valaszolok:
1. Nem vagyok programozo, csak egy onkentes segito, akinek annyi a feladata, hogy mukodokepes gepet adjon at a tanaroknak.
2. Eeeeegen, anno nekem is acces2k-t tanitottak, mert abban lehetett gyorsan osszekattintgatni a kapcsolatokat.
Szerintem egyedul az a resze tartotta eletben - ha lett volna mysql-hez az access-ben levo grafikus megjeleniteshez hasonlo, azonnal a mennybe ment volna.A tanarok reszerol is az volt az igeny, hogy parancssorbol es editorokkal dolgoznak, de legyen mellette valami "grafikus megjelenites".
Ezert jott a xampp, abbol csak a mysql 5.39 server es 5.0 kliens megy apache 2.4 alatt (a tobbi program letiltva).
Tehat mysql 5-ben tudnak programozni es php 5.4 parancsokat hasznalni.
A phpmyadmin 4.2 pedig lehetoseget ad latni "grafikusan" az adatbazisok tablait, szerkezetet, es 25 soronkent listazni egy-egy tabla tartalmat.3. A gepek beuzemelve, egyedul azert nem tudom oket kiadni a kezembol, mert nem tudom letrehozni az indulo tablakat, amelyeknek nemcsak azonosaknak kell lenniuk, de importalni kell tudniuk csv-bol.
Koszonom a tippet, akkor phpmyadmin parancssorbol megprobalom, az "auto increment" hianyzik a "grafikus" phpmyadmin-os lehetosegek kozul.
Az se lenne rossz, ha a csv fajlbol importalas parancssorbol menne, mert tanulok legalabb megtanulnak a gepeles elonyeit a kattintgatasos marhasagokkal szemben, plane, amikor kiderul, hogy a kattintgatasos megoldas erosen butit a parancssoros lehetosegekhez kepest.
4. (csak info gyanant) A tanuloknak notepadplus-ben kell majd dolgozniuk, ezugyben is szamitok par visszajelzesre a tanaroktol, mert Visual Studio vagy Atom volt az eredeti elvaras, de azok mar eleve nem xp-re keszultek.
-
Ispy
nagyúr
Ms sqlben tudsz csinálni egy importáló scriptet is, amit csak lefuttatsz és bennt vannak az adatok, persze ez mehet fapadosan, meg lehet csinosítani, okosítani.
Gugli első találat
A táblába csinálsz egy identity column-t, ami primary key is egyben, így az garantáltan egyedi és futó sorszám lesz.
De akár azt is lehet, hogy van egy központi adatbázis, oda feltöltöd a csv-t scripttel vagy varázslóval és utána a komplett táblát scripteled ki insertbe és akkor csak ezt az inserted futtatod le a többi gépen, mindegy a lényeg, hogy sokféleképpen meg lehet oldani, manuális, fél automata vagy akár automata módszerrel is.
Sőt, a komplett adatbázist is tudod telepíteni scriptből és akkor a backup/restorral sem kell szenvedni, csak megnyitod a kis telepítő scripted F5 és kész az új adatbázis.
Később, ha lesz hálózat, akkor meg mehet source controlba az egész.
-
Peter Kiss
őstag
Table Variables and Transactions
Egy ponton rossz szavakat használ, de: "the table variable doesn’t participate in transactions".
Tipikus példa lehet felhasználásra, mikor egy nagyobb bármit futtatsz, és ilyen debug jellegű adatokat gyűjtesz, ha a tranzakciódat rollback-elni kell, akkor ezek a debug adatok még megmaradnak.
Mivel SQL Server-ről van szó, így az SQL Server Books Online ajánlott, minden is benne van, le van írva.
-
kem
addikt
Koszonom a valaszokat megprobalok valaszolni mindegyikre:
Ketto fele Subscription van. az egyikhez van pin rendelve a masikhoz meg csak teloszam. Ebbol csak az egyik variacioval kell foglalkoznunk azert szurjuk ezt itt. Atirom =re koszonom.
#3856 sztanozs:
ez alapján kellene excludolnia?
Igen ez az utolso filter amivel az osszes subscriptionbol kivonom azokat ahol deffinialva van a parameter. az erteke mindegy a lenyeg, hogy lehessen valtoztatni. Egyebkent ahol nincs deffinialva ott amutomatikusan orokli es mivel a hierarhiat kell valtoztatnom a nagyobb feladat soran ezert kell mindenkeppen fixalni ezen a szinten az ertekeket. Viszont ha nincs deffinialva akkor nem tudom atallitani.
itt egyenlőségjel helyett nem IN kellene?
Nem. Itt csak 1 ertekre van szuksegunk es azzal szurni.Kozben a tobbiek arra gondolnak, hogy valoszinuleg a tul nagy adathalmaz miatt kifut a memoriabol az egyebkent is memoriaban futo adatbazik csak valamiert ezt nem reportalja az OS logba vagy a Timesten logba szoval ez a kovetkezo dolog aminek utana nezek.
szerk:
Mrgvan a megoldas. a CREATE VIEW-ban kicsereltem a LIKE-ot =ra
create view waitRoomEnabled as
select s."UID" as SUBSCRIPTION_UID
from subscription s
join subscription_attribute sa on s."UID" = sa.SUBSCRIPTION_UID
join account a on s.OWNING_ACCOUNT_UID = a."UID"
join domain_parameter dp on sa.DOMAIN_PARAMETER_UID = dp."UID"
where dp.ID = 'waitRoomEnabled'
; -
marositech
senior tag
Most aza gond, hogy a kedves elődöm nem adta ki a passt. Így nem tudok belépni a database részre.
Össz-vissz az SQL 65 MB
Ha ilyen pofonegyszerű lenne, akkor minek bonyolítják? :\
Tehát azt mondod, hogy a 2005-ös backupot szépen befogadja a 2008-as?1GB RAM, 10 GB DATA és 1 CPU/4 MAG a korlát.
Kíváncsiságból kipróbálom a Te megoldásodat. -
marositech
senior tag
Lépcsőzetes frissítést kért az egyik számlázóprogram.
2005->2008->2014És a standard funkcióját nem is használja ki, elég neki az express.
Jelenleg azt agyaltam ki, hogy rátolok egy trialos standard 2008-ast, ott már tudok az editionokon változtatni. Kiválasztom az expresst és akkor már elvileg gond nélkül mehetne rá a 2014 express.
Bár a MSSQL backup restore funkciót nem nagyon ismerem.
-
mr.nagy
tag
Szia,
Erre gondoltál?
http://sqlfiddle.com/#!18/e6f55/2
Egy ilyen táblából kellene akár külön táblába, akár ezt felülírva,megcsinálni amit írtam.
-
pvt.peter
őstag
na közben megszültem...
kiderült azért nem ment, mert már az elejétől kezdve nem a megfelelő mezőre szűrtem...
mellesleg jó lett volna az első elgondolásom is, csak ugye nem adott vissza semmi értelmes eredményt, ezért hittem azt hogy vmit szarul csinálok
mindenesetre köszönöm a részletes és gyors választ
mellesleg a te tipped is jó volt a convert -tel
-
mckay
aktív tag
hejj, ha tudnám!
egyelőre az a cél, hogy ne nézzek a legalapabb fogalmaknál is kukán, amikor találkozom a senior-ral
gondolom nem Oracle fog szóba kerülni, ennyi sejthető, más nemez az SQLFiddle.com jó mókának tűnik, hátha laikusként is leesik valami, nyomogatni fogom holnap
:-)thx!
-
martonx
veterán
Meg tegyük hozzá, hogy az SQL a világ legegyszerűbb nyelve, alapból azt hiszem valami 23 kulcsszóból áll az SQL szabvány szerint (na jó ahogy látom az SQL szabvány is fejlődik [link] de ez a lényegen mit sem változtat). A lényeg, hogy a halmazelméletet, halmazműveleteket érteni kell hozzá, ami általános iskolás matematika, semmi extra
Szóval ez marhára nem olyan, amit alap szinten könyvből kellene tanulgatni. Picit utána kell olvasni, picit játszani kell SQL Fiddle-ön (létrehozni 2-3 táblát, beléjük tolni pár adatsort, és már mehet is). Vagy persze el lehet szórakozni komplett SQL telepítéssel, hozzájuk IDE telepítéssel, konfigurálással, majd jöhet ugyanaz, hogy táblákat készítesz, beléje sorokat teszel, és queryzed.
Új hozzászólás Aktív témák
Hirdetés
- Argos: Szeretem az ecetfát
- Linux kezdőknek
- Könyvajánló
- Bambu Lab 3D nyomtatók
- Apple iPhone 16 Pro - rutinvizsga
- TCL LCD és LED TV-k
- RAM topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- sziku69: Fűzzük össze a szavakat :)
- Vicces képek
- További aktív témák...
- DDR5 GAMER PC: Új RYZEN 7 8700F +RTX 4060/5060/4070/5070 +16-32GB DDR5! GAR/SZÁMLA! 50 FÉLE HÁZ!
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook 14" -80% i7-10610U 16/512 FHD
- Szép! HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 32/512 Iris Xe FHD Magyar
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 8/512 Iris Xe FHD Magyar
- 512 Gb-os NVME-k
- Azonnali készpénzes félkonfig / félgép felvásárlás személyesen / csomagküldéssel korrekt áron
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Csere-Beszámítás! Asus Rog Strix RTX 3070Ti 8GB GDDR6X Videokártya!
- Veszünk: PS5 Fat/Slim/Digital/Pro konzolt, játékokat, Portalt stb. Kérj ajánlatot!
- Eladó Új Motorola G31 4/64GB szürke / 12 hónap jótállással!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest