Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Hieronymus: Rosszindulatú tevékenységek ellenőrzése IP alapján
- Torda: Így lehet fillérekből prémium okosotthon rendszert építeni 2025-ben
- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- juhi11: Karácsony esély, hogy észrevegyük: mások is valakik - még Isten is
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Inv1sus
#1497
üzenetére
"A kategóriákat '|' jellel elválasztva rakom be az adatbázisba"
Ez az, amit kerülj el, válaszd szét rendesen. Sok sort fog eredményezni, de az nem baj. Annyi sor lesz, ahány taget/terméket/akármit akarsz hozzákapcsolni az adott entitáshoz.Leegyszerűsítve:
termékek tábla
-----------------------
id ; termék neve; kategóriák
123 ; én termékem ; kategória1|kategória765HELYETT
termékek tábla
-----------------------
id ; termék neve
123; én termékemkategóriák tábla
-----------------------
id; kategória neve
1; kategória1
765; kategória765termékek-kategóriák összekapcsoló tábla
-------------------------------
id; termék_id; kategória_id
1; 123; 1
2; 123; 765 -
Inv1sus
addikt
Visszatértem
![;]](//cdn.rios.hu/dl/s/v1.gif)
Egy újabb problémába futottam bele, de valószínűleg ez lesz most már az utolsó.
Tehát:Van egy adott termék. Ez a termék lehetséges, hogy egyszerre több kategóriában is szerepel, mint pl. "Ragasztók" és "Ragasztók és tömítők".
A kategóriákat '|' jellel elválasztva rakom be az adatbázisba, tehát ez a termék felvéve így néz ki a 'category_url' oszlopon belül:
"Ragasztók|Ragasztók és tömítők"A honlapon egy menüpontra kattintva jelenleg így olvasom ki a termékeket pl:
WHERE products.category_url LIKE '%Ragasztók%'Ezzel az a probléma, hogy ha a termék csak a "Ragasztók és tömítők" kategóriában szerepel, a "Ragasztók" kategóriában ugyanúgy meg fog jelenni, mivel megfelel a fenti feltételnek. Ha viszont ezt használom:
WHERE products.category_url LIKE 'Ragasztók'
Akkor meg csak azokat fogja mutatni, amik pontosan a 'Ragasztók' nevű kategóriával rendelkeznek.Én ez utóbbit preferálnám (tehát wildcard nélkül, hogy pontosak legyenek a találatok), de ehhez szét kellene valahogy szednem a mezőben megadott kategóriákat (amik jelenleg így néznek ki néha "Ragasztók|Ragasztók és tömítők").
Ebben még tudtok segíteni?

-
Jeti1
tag
válasz
lakisoft
#1495
üzenetére
Jelen esetben SQL Server 2008 R2. Egyébként SQL Server 2000-től SQL Server 2008 R2-ig vagyok kénytelen foglalkozni az SQL Serverekkel. Várhatóan bővül a sor nemsokára az SQL Server 2012-vel.
Akkor, ha jól értem, csak szimplán Integration Services-ben FTP Task-ot használok, aztán azt ütemezem Management Studióban Job-bal. Mondjuk nem tudom, hogy FTP Task-kal egyszerre több fájlt is lehet-e küldeni vagy ahhoz trükközni kell, de ma utána nézek ennek.
-
Jeti1
tag
Hogy tudnám megoldani egyszerűen és kényelmesen azt, hogy ütemezetten fájlokat töltsön fel az SQL szerverem egy FTP tárhelyre? Én az Integration Services-nek az FTP Taskjára gondoltam, mint megoldás. Szükségem lesz az Integration Services-en belül másra is? Az FTP Task ütemezhető? Nem foglalkoztam még ezzel a témával és most se öltem még bele sok időt, de gondoltam érdeklődök mielőtt próbálkoznék, tesztelgetnék.
-
Inv1sus
addikt
válasz
Apollo17hu
#1492
üzenetére
Megcsináltam. Így sztanozs által felvetett probléma is meg lett oldva. Köszi!

-
Apollo17hu
őstag
válasz
Inv1sus
#1490
üzenetére
A discounts táblában fel kéne venned mégegy mezőt, ami a kedvezmény típusát jelölné (százalékos, konkrét érték stb.), így a discounts.discount értékét nem kellene figyelned. A CASE WHEN utasításban pedig a kedvezmény típusát jelölő mező értékét vizsgálnád. (Ez alapján lenne szorzás/osztás vagy összeadás/kivonás vagy egyéb művelet.)
-
-
Inv1sus
addikt
Hú, nehéz szülés volt, de sikerült, hála nektek
. Egy kicsit én is félreérthető voltam. A nyertes query:(CASE
WHEN discounts.discount LIKE '' THEN products.price
WHEN discounts.discount > 100 THEN products.price - discounts.discount
WHEN discounts.discount < 100 THEN products.price * ((100 - discounts.discount)/100)
ELSE products.price
END) as active_priceSzóval az volt a lényeg, hogy egyszerre egy termékre csak egy kedvezmény elérhető, de az többféle lehet.

Köszi mégegyszer

-
válasz
Inv1sus
#1485
üzenetére
Ne adj egyszerre több típusú kedvezményt - általában egyébként sem összevonhatók a kedvezmények (vagy ha van több féle, akkor ne keverd őket, hanem számold ki melyik ár az alacsonyabb és jelenítsd meg azt).
Amúgy :
SELECT ..., Vetelar, (Vetelar - Engedmeny) * (1 - Kedvezmeny) AS KedvezmenyesAr, ...Ahol:
Vetelar - az eredeti vételár pl. 30 000
Engedmeny - a termék (vagy terméktípus) engedménye, pl 1 000
Kedvezmeny - a termékre (terméktípusra) adott kedvezmény pl. 10% (0.1)
KedvezemenyesAr - a végső ár az összes levonással együtt... -
Inv1sus
addikt
válasz
Inv1sus
#1484
üzenetére
Na, a 'holnapból' több nap lett sajnos.

Most neki akartam állni de rájöttem, hogy nem fog menni. Mint írtam, többféle kedvezmény lehet és mindegyiket máshogy kellene kiszámolni:
10%, 1000Hogy mondom meg, hogy azt a 10%-ot úgy számolja, hogy azt majd át kell alakítania 0.9-re és szoroznia az összeggel, 1000-nél meg, hogy kivonja azt?
-
Inv1sus
addikt
Valószínűleg igen. Köszönöm nektek, holnap reggel kipróbálom.
-
Inv1sus
addikt
Sziasztok!
Ideiglenes értékek alapján lehetséges rendezni egy táblát?
Részletesebben:
Vannak termékeim. Ezeknek mind van egy normál ára, illetve némelyik termék lehet akciós (10%, -1000 FT stb). Szeretném ár szerint rendezni, de úgy, hogy a kiszámolt kedvezményes ár alapján. Lehetséges ezt valahogy kivitelezni? -
martonx
veterán
No, de mind a NoSQL, mind a hagyományos SQL-ek, annyi cuccot tartanak memóriában, amennyit csak tudnak, vagy amennyit kell.
Tehát ha most a teszt db-idben mind a 10 táblában van 10-10 sor adat, így persze, hogy egyik sql sem foglal sok memóriát. Csakhogy ez éppen semmit nem jelent, mert ha mind a 10 táblában lesz táblánként 200.000 adat, és ezeket másodpercenként 10-szer lekéri a webszerver, akkor mindjárt más lesz a leányzó fekvése.
Plusz a webszerver terhelése is gondolom nulla. Majd ha párhuzamosan 10-20 kérést fog kiszolgálni, és mindegyikre indít 1-1 VM-et, a maga 30-40 Mbyte-jával, akkor fogsz te nagyot nézni, és azt mondani, hogy pedig még a laptop-omon is milyen pöpecül futott minden, míg egymagam fejlesztgettem.
Nem véletlen, hogy kereskedelmi java hosting szinte sehol sincs (bár ennek szvsz másik oka a milliónyi java-s nyelvjárás is), ellentétben a PHP-s, ASP.NET-es hosting cégekkel, amikkel Dunát lehetne rekeszteni. -
Lacces
őstag
válasz
martonx
#1473
üzenetére
Lehet, nem tudom, épp ezért kérdeztem, hogy mekkora jó. Én laptopon futatom a linux + java webszervert (Jetty - baromi jó, gyors és keveset eszik ajánlom mindenkinek) + mongot + (jelenleg mysql), de összeségében még nem láttam őket együtt 1GB ram felé menni
Bár úgy vettem észre, hogy nincs nagy különbség Windows Server 2008 + IIS + mongo + mssql ,és a fentebb említett java-s megoldás között hardver zabálásban.
Te így kezdetnek mennyi memóriát mondanál? (mongo + postgresql esetleg egy Win-es megoldásnál?)
-
martonx
veterán
"itt anti tárolt eljárás szellemiség van" - szóval gányoltok, vagy annyira kicsiben játszotok.
Mondok egy gyors példát, hogy mikor jó a tárolt eljárás és egyáltalán nem csak ASP.NET-nél![;]](//cdn.rios.hu/dl/s/v1.gif)
Egy táblába be kell szúrnod egy adatot, más táblák adainak függvényében.
Ezt megoldhatod úgy, hogy fogod, lekéred az adatokat 3-4 táblából a webszerverre, majd kódban megvizsgálgatod őket, ezek alapján összeraksz egy insert-et, és beszúrod az adatokat. Ez így mondjuk 4-5 DB-hez nyúlást jelent, mindig felépíted/feléleszted a kapcsolatot, az adatok jönnek mennek feleslegesen, kezeled a kivételeket stb...Ehelyett írhatsz egy tárolt eljárást, amivel SQL DB-n belül tudod megoldani ugyanezt. Egy adatbázis hívással, nulla felesleges adatmozgással.
-
martonx
veterán
na, ezt felejtsd el nagyon gyorsan. A NoSQL-ek jellemzően memóriában futnak, minél inkább ott tartják az adatbázisukat. Ezért is szokták javasolni, hogy NoSQL-t 64 bites oprendszerekre tegyünk, hogy bőven legyen alattuk memória. 1Gb memóriában fusson egy oprendszer, meg egy NoSQL és még erre akarsz rakni SQL szervert, meg web kiszolgálót is???
Ráadásul ha jól vettem ki a szavaidból a webkiszolgálást Java alapokon tervezed, ami alá a webszerverek nem éppen a karcsú memória igényeikről híresek. Ez így nagy bukta lesz. -
martonx
veterán
válasz
lakisoft
#1461
üzenetére
Fejlesztőként, de néha muszáj valamennyit üzemeltetnem is.
Abszolút nem szeretnék belemenni MS SQL, Oracle flame war-ba. Vannak olyan képességei az Oracle-nek, amikben valószínűleg jobb (a motorháztető alatt értem), de az általad írt példák éppen nem ilyenek, hanem tökéletesen szubjektív szintaktikai példák. -
Lacces
őstag
válasz
Sk8erPeter
#1470
üzenetére
Az sulitiltás.
Jó, akkor majd ha olyan hobbi projektnél tartok, akkor majd jövők kérdezek a tárolt eljárásokról, ha úgy érzem. Igen, igen, már el is felejtettem, hogy saját nevet adhatok neki, nem rondítom el stb.
A programozás "művészete" - már el is felejtettem.Köszönöm a választ mindenkinek!

-
Sk8erPeter
nagyúr
"suli-ban" sulitiltás?
![;]](//cdn.rios.hu/dl/s/v1.gif)
A tárolt eljárás pedig sokszor jó kis segítség tud lenni, például ASP.NET-ben. Amúgy a tárolt eljárás arra is jó, hogy nem kell a query-vel elrondítanod az alkalmazásod kódját, hanem az adatbázisban tartod azt, aminek épp ott a helye, vagy amit úgy érzel, nyugodtan rábízhatsz az adatbázisra, és azt terheled a feladat megoldásával, stb. Meg így adhatsz neki egy jó beszédes nevet, aztán meghívhatod az alkalmazásod kódjából a megfelelő paraméterek átadásával. Csomó mindent el lehet intézni benne, ami csúnya lenne alkalmazásból, vagy épp nem akarsz ORM-et igénybe venni rá, satöbbi. -
Lacces
őstag
válasz
lakisoft
#1468
üzenetére
Egyelőre nem lesz tárolt eljárás, egyéb logika sem szerintem. Igyekszem mindig a legegyszerűbb megoldást vállalni.
Tárolt eljárásnál egy kicsit hogy is mondjam még extrém kezdő vagyok, amikor még az ADO.NET-et tanultam akkor írkálgattam, de a könyv példái alapján nem éreztem úgy, hogy kell-e nekem tárolt eljárás.
Nem tudom, hogy mikor kéne használni, meló helyen sem láttam, itt anti tárolt eljárás szellemiség van, suli-ban még azt a kurzust nem vettem fel.
Egyelőre egyszerű lekérdezésekkel megtudtam ezt valósítani.
Migrálás lehet nem is lenne, végül is a postgresql sem látszik rossznak. -
lakisoft
veterán
Ez az átvinni dolgot migrálásnak hívják és elég kemény tud lenni ha adatbázis specifikusra van megírva a szerkezet is. MySQL -> Oracle migráción dolgozom éppen és elég kemény dolgok adódnak néha.
.Az adatbázis szerkezetétől, komplexitásától függ.
Tárolt eljárások lesznek? vagy egyéb logika lesz beépítve?
-
Lacces
őstag
és lakisoft, köszi.
Akkor már csak annyi kérdésem lenne, hogy hogyan lehet tábla szerkezetet és adatokat egyik adatbázisból a másikba könnyen átvinni?
Elsősorban PostgreSQL-ből Oracle-be történő adat migráció érdekel. (csak az egyiknél lenne kérdéses... ha bevállik a weblap, akkor a többi weboldalhoz képest, rengeteg adat tárolódna és mozogna benne egy nap - vagy simán kudarc lesz
)
De lehet akkor már lesz elég nyereség és felfogadok innen valakit a PH-ról, hogy oldja meg.
Csak nem akarom a kezdők hibáját elkövetni és már az elején elrontani.A válaszokat meg már előre köszönöm

-
bpx
őstag
"Kliensekre volt felrakva, a db szerver..."
jó, az iskolai (egyetemi) géppark nem a sebességéről híres

"Csak az a gondom, hogy én szeretnék VPS-t bérelni, amin futna olyan 4-6 oldal lenne rajta, 1 mongodb és egy rdbms is.
1GB ram, 2magos cpu, 50GB-ra menne, és nem tudom mennyire bírná a szerver. Esetleg ilyen tapasztalatod van ezügyben?"ezügyben sajnos nincs
1 GB memória elég kevés, de ha ezek valami minimál oldalak, akkor elképzelhetőnek tartom, hogy elég lehet
kérdés, hogy erre tényleg kell-e neked Oracle, vagy elég valami pehelysúlyú rdbmslakisoft: én nem emlékszem rá hogy ez így ki lett volna tárgyalva

-
lakisoft
veterán
VPS-re nem érdemes Oracle-t rakni, mert nem lesz valami sebes és elég drága lesz a VPS config ára hogy menjen egyáltalán az OracleDB. Lásd itt már kitárgyaltuk a témát.
-
Lacces
őstag
Kliensekre volt felrakva, a db szerver...
Igen, ezt a leírást én is láttam, meg olyat is olvastam, hogy 1 gépen 1 adatbázis szerver legyen.
" and use one CPU on the host machine."Csak az a gondom, hogy én szeretnék VPS-t bérelni, amin futna olyan 4-6 oldal lenne rajta, 1 mongodb és egy rdbms is.
1GB ram, 2magos cpu, 50GB-ra menne, és nem tudom mennyire bírná a szerver. Esetleg ilyen tapasztalatod van ezügyben? -
Lacces
őstag
válasz
martonx
#1460
üzenetére
Na, ez már jobban tetszik, amit írsz.
OracleDB-nek az ingyenes része mennyire használható? Mennyire zabálja a hardvert? (Suliban valahányszor az Oracle adatbázishoz nyúltunk csak úgy ette a kliensek memóriáját). Ingyenes MS SQL-ben is gondolkoztam, de a linux integrációról nem olvastam semmi pozitívat.
De az ingyenes OracleDB-vel felkeltetted az érdeklődésemet!
-
lakisoft
veterán
válasz
martonx
#1460
üzenetére
Nem tudom fejlesztőként vagy üzelemtetőként töltöd a munkaóráidat adatbázisok között?
Beépített függvényekben az Oracle sokkal szerteágazóbb, testreszabhatóbb, részletesebb megoldásokat kínál, míg az MSSQL ebből a szempontból sokkal elnagyoltabb. (Hozzátenném, hogy napi szinten fejlesztek MSSQL2008 alatt.) Pl.: Random függvény Oracle-ben és MSSQL-benUi: Nagyon szeretek T-SQL-ben dolgozni, de tény hogy megvannak a maga korlátai. Ez Oracle-nél is így van de ott "komolyabb"* megoldásokkal lehet találkozni.
*A szakmai szememnek tetszőbb, szakma által jobban elfogadott, konvenció követőbb
-
martonx
veterán
válasz
lakisoft
#1459
üzenetére
Miért is nincs értelme az összehasonlításnak? Ráadásul nem is hasonlítottam össze, tényt közöltem, hogy az Oracle tudatosan tartja bután a MySQL-t. Persze fejlődget, de tudatosan hagyják ki belőle azokat a funkciókat, amitől horizontálisan jól skálázható, központilag könnyen üzemeltethető lenne (backup, mirror, stb...), adattárházként használható, azaz amitől a nagyvállalati szegmens számára vonzó lehetne.
Mivel a kolléga erre volt kíváncsi, illetve mások is kérdezték, hogy miben jobb a PostgreSQL. Pont a fentiekben jobb (minusz adattárház, mert az abban sincs igazán).
Ettől még nagyon is össze lehet hasonlítani mindent mindennel, pláne amikor DB platform választás előtt áll valaki.
Én is csak mellékesen jegyeztem meg, hogy én személy szerint nem választanék se MySQL-t, se PostgreSQL-t. Manapság egész jó ingyenes verziói vannak az Oracle db-nek, ennél többet tud az ingyenes MS SQL. Induláshoz ezek bőven elegek. Aztán, ha bejött a nagy üzlet, akkor el lehet gondolkodni ezek fizetős verzióin, illetve amit nagyon ajánlok az a felhő. Amazonws, azure, google felhője, már mindenkinek van felhő szolgáltatása, és szépen csökkengetnek az árak. -
lakisoft
veterán
válasz
martonx
#1457
üzenetére
A MySQL vs. Oracle összehasonlításnak nincs értelme. Nem ugyan arra a piacra készült így nem lehetnek egymás konkorensei. Sokat fejlődött a MySQL mióta az Oracle átvette a Sun-tól.
MSSQL vs. Oracle vs. PostgreSQL ennek az összehasonlításnak talán már több értelme lenne. -
martonx
veterán
válasz
Sk8erPeter
#1456
üzenetére
Mert a motorháztető alatt, illetve skálázhatóság (gondolok itt elsősorban a fürtőzésekre, azaz horizontális skálázhatóságra) szempontjából a PostgreSQL sokkal többet tud, sokkal finomabbra hangolható.
És ahogy mondtam, az már más kérdés, hogy a userek 99%-a ezeket a MySQL-hez képest extrának számító feature-öket az életben soha nem is fogja kihasználni.
Ellenpéldának meg ott van a Facebook, de ők már rég agyonhack-elték mind a PHP-t, mind a MySQL-t, és jó példák arra, hogy szarból is lehet várat építeni, ha erre több milliárd dollárod van.Másrészt bevallom nem vagyok 100%-osan naprakész ez ügyben. Postgre-nal lemaradtam a 9-es főverziónál, MySQL-t érdemben utoljára 5.4-eset használtam. Szóval lehet, hogy közben MySQL lépett előre, bár magának az Oracle-nek sem érdeke, hogy igazi konkurenciát támasszon házon belül az Oracle DB-nek.
-
martonx
veterán
Ha kocka vagy a szó jó értelmében, akkor mindenhez PostgreSQL-t érdemes használni (már persze MySQL összehasonlításban, én egyébként MS SQL-re szavaznék a jelenlegi SQL felhozatalban).
Ha nem akarsz belemélyedni, csak annyit akarsz, hogy menjen, és az alapfunkciókat használod, akkor a MySQL elsőre szvsz jobban kézre áll. -
Lacces
őstag
válasz
Sk8erPeter
#1452
üzenetére
Óóóóó
kapcsoló tábla... hogy ez nem jutott eszembe itt...
pedig még le is írtam, hogy 1...n kapcsolat... -
Sk8erPeter
nagyúr
"-labels ( ez egy olyan varchar lenne, ahol a label_id-k vanak tárolva, például ilyen formátumban: |1|34|45|54| ) - magyarul, minden egyes label_id | | között lenne."
Ha hatékony megoldást keresel, egyből le kéne, hogy essen, hogy ez aztán garantáltan nem lesz az.
Amúgy sem értem, minek kéne ilyen pipe-pal elválasztva tárolnod, amikor létrehozol neki egy külön táblát...
A product id-val kéne összekapcsolnod, aztán kész.
Csak gondolj bele, hogy hogyan tudnál ezek között hatékonyan keresni, ha stringben egybe van b@szva... hatékonyan sehogy. -
Lacces
őstag
Hello,
1. Milyen webalkalmazáshoz érdemes a PostgreSQL-t használni? (én sok mindent olvastam, de eddig például az olyan webalkalmazás jutott eszembe, ahol egyszerre egyidejűleg több lekérés fut, mint előny mysql). Esetleg olyan, mint az amazon weboldal? Esetleg például a Neptun?

2. Találtam a neten shoprenter.hu, és elgondolkoztam a koncepción..., mint adatbázis. Webáruház bérlés, csak feltöltik termékekkel.
És a termékeknek, különböző tulajdonságaik vannak. Amelyek dinamikusan változnak.
Például: Kenyérnek - színe, íze, súlya van, Mobil telefonnak, meg legalább 30... és ezen gondolkoztam, hogy ezt hogyan lehetne a leghatékonyabban tárolni egy RDBMS-ben, hiszem minden egyes termékhez különböző mennyiségű "jellemzője" van. Főleg úgy, hogy például szeretném a termékeket majd szűrni bizonyos tulajdonság alapjánNekem erre egy olyan tippem lenne, hogy vannak Product tábla, aztán van olyan tábla, hogy Labels (termék tulajdonságoknak). Product 1...n Labels kapcsolat van.
Product:
-id
-... (sok egyéb)
-labels ( ez egy olyan varchar lenne, ahol a label_id-k vanak tárolva, például ilyen formátumban: |1|34|45|54| ) - magyarul, minden egyes label_id | | között lenne.Labels:
-label_id (címke típusa például: érintőképernyős telefonok id-ja, vagy 1 kilós kenyerek id-ja.)
-label_title ( címke típusa például: érintőképernyős telefonok szövege, vagy 1 kilós kenyér szövege)Szerintetek ez lenne a legjobb megoldás, így lehetne a legkönnyebben megvalósítani RDBMS-ben?
Én legalább is így csinálnám. -
Jeti1
tag
válasz
martonx
#1443
üzenetére
Én valami ilyesmit szeretnék, csak az internetről vadászott példában szereplő exe kiterjesztésű fájl helyett egy saját bat kiterjesztésűt akarok futtatni: [link]
A bat fájlom normál módon elindítva megcsinálja, amit kell, viszont SQL Server Agent-tel vezérelve szeretném lefuttatni minden nap egy bizonyos időpontban.A bat fájl windows kötegfájl, ha jól tudom. Ebben az esetben a második pontodban írtaknak megfelelek.
-
válasz
Apollo17hu
#1441
üzenetére
Azám'! Szóval?
-
Jeti1
tag
Ha ütemezetten SQL Job-ként batch file-t akarok futtatni, akkor a Jobom Operating System (CmdExec) típusú legyen, aztán parancsként megadom, hogy exec és rámutatok a batch file-omra?
A parancs megadása, ahogy én elképzeltem: exec C:\feladatok\feladat1.bat
Én úgy vélem így kellene, ki is próbáltam az elképzelésem, de nem futott le a Job. Elvileg nem találja a file-t.
-
Apollo17hu
őstag
válasz
csabyka666
#1440
üzenetére
főiskolai beadandó? hajrá!
![;]](//cdn.rios.hu/dl/s/v1.gif)
-
Üdv mindenkinek!
Előre elnézést kell kérnem, hogy ilyen nevetségesen egyszerű témában kérem a segítségeteket, de nem találtam alkalmasabb topicot. Szóval...
Meg kellene valósítanom egy komplett adatbázist, a nulláról indulva: specifikáció -> ER modell -> relációs modell -> Access-es megvalósítás. Sajnos nincs sok gyakorlatom a témában, ezért ötleteket várnék - ti mit és hogyan csinálnátok?Kiindulásnak annyi adott, hogy egy autóalkatrész-katalógust szeretnék megvalósítani. Vannak alkatrészek és gyártók (plusz amit még javasoltok). A cél az lenne, hogy egy on-line alkatrész-adatbázishoz hasonlót hozzak létre, ahol a felhasználó különféle szűrések szerint tud keresni a rekordok között.
Olyanra gondolok, hogy ha például ugyanaz az alkatrész jó Opel Astra-hoz, és mondjuk Suzuki Swift-hez, akkor ezt megtalálja a kereső...stb.Persze tetszőlegesen el lehet (kell) bonyolítani, mert az is kikötés, hogy azért ne faék egyszerűségű legyen a feladat.
A gondom az, hogy nem csináltam még ilyet, és nem is nagyon látom a végét. Merre lenne érdemes elindulnom? Minden ötlet/megoldás érdekel!
Köszi a segítséget előre is!
-
klambi
addikt
válasz
Sk8erPeter
#1435
üzenetére
semmi, csak kérdeztem van-e valami más lehetőség...
-
klambi
addikt
szevasztok!
olyan gondom lenne hogy van 1 sql lekérdezésem, avg-van benne de vagy 20 tizedesig kiírja, ezt hogy toom megoldani hogy csak egész számra írja ki az átlagot?(sql developerben)
-
rum-cajsz
őstag
válasz
perempe
#1431
üzenetére
jééé, tőlem tanulsz? kérdezz inkább.

Ha szenvedni akarsz, akkor az Accessben azt kell csinálnod, amit már itt korábban leírtak.
De én egy Mysql adatbázis telepítést javasolnék a gyakorláshoz, kb 1 perc.
Ez az egyik legegyszerűbb csomag, amiben mysql is van: http://www.easyphp.org/ -
válasz
perempe
#1427
üzenetére
Query szerkesztőnél nem a varázslót indítod el, hanem csinálsz egy üres query-t azt megnyitod edit müdban és a nézetnél átkapcsolsz SQL-re.
Amúgy az MSAccess SQL szintakszisa a legkevésbé szabványkövető. Azon csak akkor gyakorolj, ha kifejezetten az Access SQL-t kell megtanulnod. -
perempe
veterán
MS Access-ben hogyan tudom az sql parancsait gyakorolni egy .mdb adatbázison? van erre vmi word doksi?
-
Geryson
addikt
válasz
Sk8erPeter
#1424
üzenetére
Szia Brian!
Majdnem egy sorozatban játszunk... 
Akkor jól sejtettem, hogy Order by cikkszam, de valami miatt ezt nem hajtja végre...

Szerk.: Megvaaan! Bent maradt a pontosvessző a select * sor végén. Köszönöm!

-
Geryson
addikt
Mesterek! Melyik paranccsal rakom sorrendbe egy bizonyos oszlop adatait?
Sort vagy Order vagy ilyesmi, nem? A "cikkszam" oszlop adatait szeretném sorrendbe tenni...
-
martonx
veterán
Ahogy mondtam a backup-ot sokféleképpen lehet értelmezni. Nálunk pl. a fő DB szerverről real time mirror-ing van más helyen lévő szerverre.
Szóval backup-ról most nem beszélve, szerintem minimum az alábbiakat érdemes legalább hétvégente lefuttatni:Check Database Integrity
Shrink Database
Reorganize Index
Rebuild Index
Update Statistics -
Jeti1
tag
válasz
martonx
#1420
üzenetére
Minden adatbázis szerver esetén a Management rész alatt létrehozható (varázslóval is) egy úgynevezett Maintenance Plan. Ezt a Maintenance Plant nyílván többféleképpen is el lehet készíteni, s arra lennék kíváncsi, hogy szerinted hogyan kellene, mire mondod azt, hogy ez már egy megfelelő beállítás, mondjuk egy adatbázis mentési terv esetén.
Így most már remélem érthetően sikerült leírnom, hogy mi érdekel.Ezen a videón a Maintenance Plan varázslójával állítanak be egy ütemezett teljes db mentést: [link]
-
Jeti1
tag
válasz
martonx
#1418
üzenetére
Köszi! Így azért egyszerűbb volt, mint utána járni a dolgoknak!
Gondolom te használod az SQL Azure technológiát, nem csak ismerkedsz vele, ahogy én.Ha már te ennyire otthon vagy az adatbázisok, SQL témában, akkor kérdeznék még valamit. Szerinted, hogy néz ki egy elfogadható és egy ideális karbantartási terv adatbázisok esetén?
-
martonx
veterán
Elmondom én, hogy mik hiányoznak az Azure-ból TSQL szinten:
Elosztott tranzakciók
Elosztott lekérdezések
FILESTREAM Data
Beépített Full-Text Search
CLR
Service Broker
Fizikai szerver és katalógus
Adatbázis Mirroring
Extended Stored Procedures
Tábla particionálásEzek egy része már mostanra is deprecated technológia, azaz nem kellene használni. Másik része pedig a felhőből fakadóan felesleges pl. Adatbázis Mirroring. És van ami tényleg hiányozhat ilyen pl. a Full-Text Search, vagy a CLR, ha ezeket használjátok.
-
Jeti1
tag
válasz
martonx
#1416
üzenetére
1. Az adatbázisok átlagban 4-5 GB-osak és esténként nem dolgoznak rajtuk normál esetben. Ez alapján azt hiszem a NAS jó megoldás lesz mentések tárolásra, a normál adattárolásra pedig több gyors merevlemez, ha ez a verzió valósul meg.
2. Egyetértek veled, de a programozók többségben vannak. Valószínűleg összegyűjtöm majd a különbségeket és oda adom nekik olvasásra, hogy ne hallomások alapján ítéljünk meg egy felhőbeli megoldást.
-
martonx
veterán
1. mint mondtam az SQL szerverek általános szűk keresztmetszete az IO teljesítmény. Ezen vagy a meghajtók számának növelésével, vagy a meghajtók gyorsaságával (SSD-re cseréjével) lehet segíteni. Ha nem nagyok a DB-k, vagy a pénz nem számít, akkor mindenképpen az SSD-s megoldást javaslom. Ha éjszaka nem dolgoznak a DB szerveren, akkor mehet ezen a mentés, és elég azokat akár egy NAS-on tárolni. Ha éjjel-nappal pörög a DB szerver, akkor jobb, ha egy másik gép végzi a mentést.
2. a programozóid véleménye alapvetően butaság. Valóban nem 100%-os az átfedés az Azure és az SQL Server 2012 között, de ez csak ott jelentkezik, hogy nem tudod egy az egyben áttenni a DB-ket Azure-ra. Mostanra ez már elég szépen dokumentálva van, és ha valaki rászánja azt az 1-2 órát az életéből, és végre ott van a DB Azure-on, akkor már csak egy connection stringet kell kicserélni a programban, és az észre se veszi, hogy DB-t váltottak alatta.
-
Jeti1
tag
válasz
martonx
#1411
üzenetére
1. Hasznos és jó, amit írsz. Két kérdés azonban felmerült bennem. Érdemes lehet odafigyelni arra, hogy a leggyorsabb winchesterekkel legyen felszerelve a gép és a rendszer esetleg SSD-ről működjön? A másik szerverre azért lenne szerinted szükség, hogy az végezze a mentést vagy azon tárolódjanak a mentések? Adattárolásra elég lehet egy NAS is.
2. A felhőszolgáltatás már régebben is eszembe jutott és pont az Azure megoldással foglalkoztam. Szerintem használható lenne, de még mindig sokan félnek tőle, nem tartják elég megbízhatónak... A programozók ráadásul nem rajongtak az ötletért, mert bizonyos dolgokat másként kellene megoldaniuk, mint eddig tették. Több dolgot illetően eltér egymástól az SQL Azure és SQL Server kezelése.
Ha már szóba jött a RAID, van egy nagyon jó oldal, ahol megadhatod a lemezek számát, hogy egy lemez milyen kapacitású és a RAID típusát, az pedig kiírja, hogy mennyi lesz a hasznos terület, az írás-olvasás gyorsaságot és a hibatűrést. A weboldal: RAID Calculator
-
Sk8erPeter
nagyúr
Azt sem írtad, milyen SQL konkrétan. Ha már vágod az SQL-t, elvileg mindegynek kéne lennie, melyiket használod, gyorsan át tudsz állni rá.
Nekem pl. MySQL-hez a dbForge Studio for MySQL jött be eddig legjobban, de még nyilván van hatszáz másik fasza program.
Microsoft SQL Serverhez meg persze Microsoft SQL Server Management Studio. -
UBO
csendes tag
Helló mindenkinek!
A napokban elkezdtem ismerkedni az sql lekérdezésekkel, mivel kontrolling területen szeretnék elhelyezkedni és pályakezdőként szeretnék kis plusszot nyújtani
A kérdésem, hogy melyik programot érdemes használni aminek ha megtanulom a kezelését gond nélkül átválthatok akár másik programra is ha adott helyen olyan nem lesz.
Tulajdonképpen arra lennék kíváncsi melyik felhasználóbaráti és legérthetőbb.
Válaszotokat előre is köszönöm. -
martonx
veterán
Én a helyedben két dolgon gondolkoznék el nagyon erősen 300 fő kiszolgálása, kb. 100 egyidejű felhasználó esetén.
1. Venni egy szervert, amiben két processzoros alaplap van, de első körben csak 1 processzort használni benne. Ugyanígy a maximális vinyó számot se használnám ki, hanem mondjuk néhány (minimum 3 ugye) vinyóval egy RAID 5 vagy 10-es tömböt használnék (nem vagyok egy HW-s raid szakértő, hogy melyik a jobb, melyikhez minimum hány vinyó kell, szóval lehet most hülyeséget mondtam). Ekkor a RAID miatt megvan benne a hibatűrés, de a kevés vinyószám miatt az IO elérés lassú lesz. És mondjuk kezdetnek 8-16GB memóriát tennék bele. Ezzel neki lehetne vágni a műveletnek, fokozatosan átterhelni rá a mostani DB-ket, és monitorozni, hogy ez így kb. mit bír, a felhasználók mennyire panaszkodnak? Ha panaszkodnak, akkor lehet látni az adatokból, hogy IO, vagy CPU vonalon kell erősíteni (netán mindkettő). Erős IO használatnál kell a ramot is bővíteni, mert ugye a sok ram csökkenti az IO használatot. És ne felejtsük el, hogy kell egy kis teljesítményű szerver, ami backup-olja az adataidat, ettől helyileg teljesen elkülönítve.
2. Elfelejted az egész hardveres marháskodást és felhőbe viszed az egész cuccot. Ott aztán mindent úgy skálázol, ahogy jónak látod, meg ahogy a pénztárcád engedi. Az AWS-t, vagy az Azure-t javaslom, nekem az Azure-al vannak pozitív tapasztalataim. Mostanában jelent meg a T Systems, meg az Invitel is a saját felhő szolgáltatásaikkal, azokat nem ismerem. A felhő szvsz nem olcsó, de megspórolod a hardver árát, plusz a villanyszámlát havonta, a meghibásodásokat, hardveres kollega fizetését, db admin kollegát (na jó ezt nem teljesen) stb...
-
Jeti1
tag
válasz
martonx
#1408
üzenetére
Azt hiszem tényleg nem voltam elég konkrét. Nagyjából 15-20 céget kellene kiszolgálni, ahol cégenként kb. 10-15 fővel lehet számolni, s minden cégnek 2-3 adatbázisa lenne. Egy cégen belül nagyjából 4-5 ember csatlakozna egyidejűleg az adatbázishoz. Így már tudsz konkrétabb választ adni?
Ha kell még valamilyen adat, akkor írd meg, aztán leírom. Persze teljesen pontos számokat nem tudok mondani, mert egyelőre még elméletben, a fejemben létezik ez az egész ötlet. Agyalgatok azon, hogy egy központosítás mennyire reális és kb. mennyibe kerülne, mert talán jobban megérné, mint minden egyes mikro vállalkozáshoz, pici céghez kihelyezni egy szervert, s azt konfigurálni.
Természetesen kösi az eddigi válaszod is, mert elgondolkodtatott 1-2 dolgot illetően. -
martonx
veterán
Hány egyidejű felhasználója lesz? A közepes, vagy annál nagyobb teljesítmény nagyon szubjektív. Egy 16 processzoros (processzoronként 6 mag) szerver a maga több TByte memóriájával vajon közepes, vagy komoly gépnek számít? És amikor két szekrénnyi storage van mögötte? És ha 10 ilyen kiépített gép van fürtözve?
Ez a téma iszonyú relatív. Véleményem szerint egy SQL szervernek a legtöbbet a storage számítja. Egy több tucat vinyós (SSD-ről nem is beszélve) storage már elég szép teljesítményre képes. Emellett fontos még a sok memória, mert minél több táblát tud memóriába tartani az SQL annál kevesebbszer kell a vinyókhoz nyúlnia.
Összességében már egy mezei 1 processzoros (ami azért legyen egy modern minimum 4-6 magos processzor) szerver, a bele préselhető maximális vinyószámmal (hasraütés szerűen 8-10, SSD sokszoros gyorsulást jelent a hagyományos vinyókhoz képest), és az alaplapba tehető maximális memória mennyiséggel (szintén hasraütés szerűen 32GB) simán kiszolgálhat egy 1-200 fős céget, feltéve ha az ügyviteli rendszer jól ki van optimalizálva, plusz van kismillió ismeretlen tényező, ami ezt befolyásolhatja.
A sávszélesség is szubjektív, hogy kinek mi a megfelelő. Nekünk pl. 40 mbites dedikált vonalaink vannak a vidéki városokhoz, ezeken keresztül zökkenőmentes az adatok (nem csak adatbázis adatok, hanem komplett internet forgalom) áramlása.
Mivel semmi konkrét infót nem adtál, ezért csak nagyon nagy általánosságokat tudtam leírni. -
Jeti1
tag
Nem teljesen ide illő kérdés, de szorosan kapcsolódik az SQL témához. Szerintetek egy közepes vagy annál kicsit nagyobb teljesítményű SQL szervernek milyennek kell lennie? Elsősorban gondolok itt a processzora, memóriára, merevlemezre, RAID technológiára...
Még az is érdekelne, hogy ha az SQL szerver különböző adatbázisait különböző helyekről, különböző cégek használnák az országban, akkor milyen internetkapcsolat, ami elfogadható? 100 Mbit, 1000 Mbit, 10 000 Mbit? Az, hogy dedikált sávszélesség legyen-e vagy nem, az nem kérdés és a fix IP cím szükségessége se.
-
-
Petya25
őstag
Stringet építenék rekordokból.
Egy lekérdezés eredményét (1 mező, több rekord) bele szeretném tolni egy stringbe pl egy változóba.
Erre lenne valami egyszerű megoldása valakinek? -
válasz
zolynet
#1395
üzenetére
Nem rekurzív, hanem kurzor - csak hasonlóan hangzik

De ide kurzor sem kell, csak egy while loopdeclare @counter int
declare @csum int
set @counter = 0
set @csum = 0
while @counter < 10
begin
set @counter = @counter + 1
set @csum = @counter + @csum
insert into simple_table values(@counter, @csum)
endpersze ha nem counter-t kell beletenni, hanem egy másik táblából értékeket, akkor már kell a kurzor (meg ugye az értékeket célszerű sorbarakni, hogy az eredmény determinisztikus legyen - ha annak kell lennie)...
Új hozzászólás Aktív témák
- Anglia - élmények, tapasztalatok
- Samsung Galaxy S23 Ultra - non plus ultra
- Nintendo Switch 2
- Battlefield 6
- Autós topik
- Nvidia GPU-k jövője - amit tudni vélünk
- Kritikát kapott a Nintendo konzolgyilkos felhasználói szerződése
- Windows 10
- Vezeték nélküli fülhallgatók
- EA Sports WRC '23
- További aktív témák...
- Inno3D GeForce RTX 4070 Ti X3 12G - Karácsonyi akcióban!
- Redragon Kumara K552 RGB Brown Switch magyar billentyűzet
- Lenovo Thinkpad P1 Gen 6 - i9-13980HX, 32GB, 2TB SSD, 16" WQUXGA (3840 2400), RTX 4090
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5070 Ti 16GB GAMER PC termékbeszámítással
- Keresünk Galaxy S22/S22+/S22 Ultra
- 365 NAPRA RÉSZLETRE BANKMNETES KAMATMENTES , GAMER PC ,LAPTOPOK , GAMER SZÉKEK , GAMER MONITOROK
- BESZÁMÍTÁS! MSI B650 R7 7700 64GB DDR5 1TB SSD RX 7900 XTX 24GB Lian Li LANCOOL 216 ARGB 850W
- Apple Watch Series 7 41mm GPS,Újszerű,Dobozával,12 hónap garanciával
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
![;]](http://cdn.rios.hu/dl/s/v1.gif)


. Egy kicsit én is félreérthető voltam. A nyertes query:

. Csak cégesnél láttam.
)
pedig még le is írtam, hogy 1...n kapcsolat...




