Hirdetés

2024. május 2., csütörtök

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  MySQL topic

Hozzászólások

(#2001) laracroft


laracroft
aktív tag

Sziasztok,
van egy ILYEN táblám.
Hogyan tudnám megtudni Hát Izsák utolsó 2 bejelentkezése között eltelt időt?

Előre is kösz a válaszokat :)

(#2002) Apollo17hu válasza laracroft (#2001) üzenetére


Apollo17hu
őstag

Nem ismerem a MySQL szintaktikát, de úgy lehetne, hogy rászűrsz name = 'Hát Izsák' -ra, a kapott rekordok mellé pedig számlálót képzel analitikus függvénnyel [rank(), rownum() stb.] a datetime mező csökkenő sorrendje szerint. Ha ez kész, akkor a számláló 1-es és 2-es értékét tartod meg, ezt a két dátumot kell kivonnod egymásból (előbbiből az utóbbit).

(#2003) laracroft válasza Apollo17hu (#2002) üzenetére


laracroft
aktív tag

Köszönöm a gyors választ ;)
Értem a lényeget, de sajnos az egymásba ágyazott szintaktikához is elég koki vagyok :(
Amit elértem az csupán az, hogy sorrendbe tudtam rakni a rekordokat úgy, hogy lássam melyik rekordot kell kivonnom (1.) melyikből (2.) .

SET @sor_szam = 0;
select ACCOUNT,DATETIME, (@sor_szam:=@sor_szam + 1) AS num from NAPLO
where ACCOUNT='2801'
ORDER BY DATETIME desc

Erre kérnék még tőletek segítséget.
köszi

[ Szerkesztve ]

(#2004) kezdosql


kezdosql
tag

Phpmyadmin-ban kell kezelnem mysql tablakat, excelbol importalva, de par problema adodott.

Ugy tudom, Carchar eseteben max 255, text eseteben max 64kB hosszo lehet a szoveg,
Viszont van longtext tipus is.
A longtext tipus eseteben milyen hosszu lehet a beviendo szoveg?

Az utf8 helyett utf16 valoban felere csokkenti a rogzitheto szoveg hosszat?

Az alapveallitas utf8mb4_general_ci, ezt attegyem utf8_hungarian_ci -re vagy utf8mb4_hungarian_ci -re?
Mi a kulonbseg mb4-nel?

Excelbe exportalt csv visszaimportalasa eseten hogyan biztosithato, hogy varchar es text ne keveredjen es ne csonkolodjon?

(#2005) TpS válasza laracroft (#2003) üzenetére


TpS
őstag

Nem használok mysql-t, ezt informix alatt csináltam, ezért csak ansi sql-lel, viszont ez így elég nagy költségű futtatás.

[ Szerkesztve ]

(#2006) csongi


csongi
veterán

Sziasztok!
Mysql futtatasahoz,milyen parameterek kellenek ahhoz, hogy a megfelelo erossegu gepet ala tudjam tenni?
Kepes a program tobb magot es tobb szalat hasznalni?

(#2007) martonx válasza csongi (#2006) üzenetére


martonx
veterán

Nyilván képes :D
Azt javaslom, hogy kezdd el kicsiben, aztán monitorozd a terhelést, és majd kiderül, hogy mi kell alá.

Én kérek elnézést!

(#2008) csongi válasza martonx (#2007) üzenetére


csongi
veterán

A kicsiben alatt mit értesz?
Ez már elég összetett, innen már csak felfele van:)
Win-es környezeteben fut, jelenleg egy I5 ös gépen, és nem szeretnék havi 20ezreket fizetni bérleménybe.
Ezért egy saját szerveren futna, mint ahogy most is.
Csak nem tudom mi lenne a jobb,, egy 8 magos fx vagy 4/8 ryzen, vagy egy 6.generációs i5?

A felhasználók száma kb 10-20 lenne jelenleg, maximum. Ennek fele kb egyszerre terhelné a gépet.
Számolások és nagy adatbázis szűréssel.

Azért kérdezem mert nem én írom a mysql-t. én a szellemi tőkét adom hozzá, hogy milyen programot kell írni.
És egy idő után szeretném saját szerverre átvinni.

(#2009) martonx válasza csongi (#2008) üzenetére


martonx
veterán

Még mindig nem írtál éppen semmi konkrétumot, ami alapján bullshiten kívül bármi érdemi választ lehetne neked adni :D
Nyilván mivel nem te írod a rendszert, nem is fogsz tudni ennél konkrétabbat kérdezni, ergo ez így parttalan.

Mindenesetre annak esetleg járj utána, hogy a fejlesztők valóban jól végzik a dolgukat? Mert a 10-20 felhasználó, aminek a fele párhuzamosan használja a rendszert, nagyon kicsi számok, szinte nulla terhelést kellene, hogy okozzanak.
Hogy mi a nagy adatbázis, hidd el az is relatív. Van aki a több ezer rekordot már nagynak érzi, van aki meg milliárd rekordokkal, és TerraByte-okkal számol.

Én kérek elnézést!

(#2010) kezdosql válasza csongi (#2008) üzenetére


kezdosql
tag

A kicsiben alatt mit értesz?

Pl. max. 10 ezer rekordos napi adatforgalom.

A felhasználók száma kb 10-20 lenne jelenleg, maximum. Ennek fele kb egyszerre terhelné a gépet.
Számolások és nagy adatbázis szűréssel.

???
Van ezer termeked, amit a felhasznalok weben lekerdeznek pl. szin es meret szerint, vagy a felhasznalok orankent feltoltenek tobb ezer ujabb rekordot es azokat rendszeresen elemzik?

Azért kérdezem mert nem én írom a mysql-t

Perszehogynem, a mysqlt evtizedek ota megfelelo szakemberek irjak, mi csak telepitjuk es hasznaljuk. ;]

(#2011) sonar válasza csongi (#2008) üzenetére


sonar
addikt

Én csak is intelben gondolkodnék, RAM legyen rendesen kimaxolva meg I/O teljesítményed is legyen.
Én ritkán futottam olyanba bele, hogy a CPU legyen a limit. Előbb szokott az IO meg a RAM elfogyni.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2012) csongi


csongi
veterán

Egybe válaszolnék.
Jelenleg kevés rekord van, de ez hamar eléri a 15-20ezres nagyságot.
ezekből kell kiválasztani a megfelelőt, és a kiválasztással együtt több számolást is el kell végezni.
Ez böngésző felületen, neten keresztül történik.
A szerver gigabites hálózaton van, sávszéllel nagy gond nem lenne.
Csak ez a program futna, semmi más. Ram 16Gb.

(#2013) martonx válasza csongi (#2012) üzenetére


martonx
veterán

15-20 ezres nagyság az abszolút nudli :D
Bármelyik otthon kikukázott Celeronon röhögve el kell futnia :D

Én kérek elnézést!

(#2014) csongi válasza martonx (#2013) üzenetére


csongi
veterán

Köszi :)
Ez jó hír akkor.
Köszi....
Akkor a net lesz a nagy befolyásoló tényező :)

(#2015) sonar válasza martonx (#2013) üzenetére


sonar
addikt

No no, és ha minden VARCHAR -ban van letárolva Indexelés nélkül. ;)
Akkor aztán tud füstölni fölöslegesen a vas. Én már láttam olyan slow query logot aminél kiderült, hogy a lekérdezés koncepciója volt sz&r. 1M rekordból 500k-t nézett át. Aztán mikor átirtam akkor meg 1M-ből 200 rekord átnézése után köpte az eredményt.

De én továbbra is azt mondom, hogy IO meg RAM amire oda kell figyelni. De egyébként 15-20k rekord nem egy terhelés MySQL-nek.

Apropó. 8-ast próbálta már vki? Mik a tapasztalatok?

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2016) martonx válasza sonar (#2015) üzenetére


martonx
veterán

Nyilván bármit meg lehet írni végtelen szarra. Ezért is írtam, hogy az egy dolog, hogy aggódunk, hogy milyen vas kell 15-20 user, meg akár több tízezer adatsor alá :D :D :D
Első körben azt kell elérni, hogy a programozók írják meg normálisra a rendszert, mert addig olyan kényelmes bemagyarázni a naív ügyfélnek, hogy ehhez 8 magos vas kell, meg nem elég a 16 Gb ram :D
Miközben normálisan megírva akár egy Celeronon 2 Gb rammal röhögve kellene futnia.
Nyilván a konkrétumok ismerete nélkül mindez csak okoskodás, de mennyi ilyet láttam már.

Legutóbb olyanba futottunk bele, hogy megkeresett egy ügyfél, hogy már több programozó csapat vérzett el azon, hogy másfél millió soros adattáblában kellene keresni, mindenféle szűréssel, a szűrések kombinációjában részeredményeket mutatni az egyes elemekhez, azaz tényleg elég komplex a dolog, és senki nem tudja az egyes szűrések közötti időt 5 másodperc alá vinni a 8 magos 30Gb memóriás szerverén futtatva (miközben a szerver is vért izzad).
Mi nulláról megírtuk neki a rendszert úgy, hogy 40ms körül szórva jönnek meg a keresés eredmények, és ritkán jár 5% felett a szerver terhelés :D
Ezen úgy belelkesedett, hogy most íratja velünk újra az összes régi PHP - MySql-es szarját (Asp.Net Core + MSSQL-re, de az architektúra ebben a kontextusban nem is annyira érdekes).

Én kérek elnézést!

(#2017) Panhard


Panhard
tag

Sziasztok. Egy weblapon van egy választómező:

<select id="ev" onchange="beir()">
<option value='2018'>2018</option>
<option value='2017'>2017</option>
<option value='2016'>2016</option>
<option value='2015'>2015</option>
<option value='2014'>2014</option>
<option value='osszes'>Összes</option>
</select>

Ez egy sql lekérdezért csinál:

$result = mysqli_query($con, "SELECT * FROM helyek WHERE (YEAR(date) = '".$_GET["datum"]."')");

A kérdésem az, hogy van-e valami megoldás arra, ha az "összes" értéket választom ki, akkor az összes évet visszaadja.
Valami olyan, amit a $_GET["datum"]-nál a 'datum' helyett beírni, hogy ne kelljen feltételekkel több lekérdezés között választani.

Jelenleg csak olyan megoldást találtam, ha az 'összes' van kiválasztva, akkor egy másik lekérdezést csinálok, amiben nincs benne a feltétel.

(#2018) martonx válasza Panhard (#2017) üzenetére


martonx
veterán

Egyrészt ez így tipikusan sql injection problémás kód :D vagy inkább :(

Másrészt, ha YEAR(date) = 2018 helyett YEAR(date) IN (2018, 2017, 2016 ... ) szintaktikát használsz, akkor máris működik, amit szeretnél. Ehhez nyilván majd egy kis PHP kód módosítás is kelleni fog, hogy ilyen kinézetre hozd a GET-ben kapott paramétereket.

Én kérek elnézést!

(#2019) Panhard válasza martonx (#2018) üzenetére


Panhard
tag

Valójában több feltétel van több értékkel, nem csak az év. Minden feltételnél ott van az "összes" lehetőség is.
Próbáltam a LIKE '%'-ot, ez jó. Így csak egy lekérdezés lesz php-ban. A % visszaad mindent.

sql injection problémánál arra gondolsz, hogy GET paramétert ne tegyünk közvetlenül SQL lekérdezésbe, hanem először php-ben ellenőrizzük le az értékét?

(#2020) martonx válasza Panhard (#2019) üzenetére


martonx
veterán

Részben erre gondolok, részben meg arra, hogy könyörgöm olvass már utána, hogy mit csinálsz, és mi az anyám kínja az az sql injection, és hogy hogy illik ez ellen védekezni PHP esetén.

[ Szerkesztve ]

Én kérek elnézést!

(#2021) sonar válasza martonx (#2020) üzenetére


sonar
addikt

hát jah legalább egy input validation-t illenék csinálni...

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2022) ArthurShelby


ArthurShelby
addikt

Hali!
Még kezdő vagyok, és ismerkedek a dolgokkal.
Van egy asus routerem, és arra szeretnék föltenni wordpress szervert. Ahhoz van egy leírás, viszont a mysql-nél elakadok. Egyrészt mert már régi/elavult a leírás (már php7 van a tárolóban) és ki kell javítgatni, illetve a van olyan csomag, ami nincs benne (php5-mod-mysql), de annyit már kiderítettem, hogy php7-mod-mysqli kell helyette.
Aztán itt akadok el:
mysql_install_db --force
"chown: unknown user root
Cannot change ownership of the database directories to the 'root'
user. Check that you have the necessary permissions and try again".

Erre később kaptam ezt a választ: [link]
Lényege számomra az, hogy kicsit több csomagot teszek fel, és az /opt/etc/mysql/my.cnf fájlban a user-nél a root-ot át kell írni adminra, illetve a bind-address-t 0.0.0.0-ra.
De ez sem lesz megoldás:
Ilyen hibaüzeneteim vannak: "cat: can't open '/opt/var/run/mysqld.pid': No such file or directory"
De a mysqld.sock is hiányzik.

Valaki tud ilyesmibe segíteni, vagy van valamilyen tapasztalata?

[ Szerkesztve ]

A rosszban mindig van valami megtévesztően jó, különben nem választanánk a rosszat

(#2023) martonx válasza sonar (#2021) üzenetére


martonx
veterán

Input validation pont, hogy nem sql injection ellen való, noha nyilván lehet olyan eset, hogy pont megvéd.

Én kérek elnézést!

(#2024) sonar válasza martonx (#2023) üzenetére


sonar
addikt

Az is része, hogy mondjuk query-be nem tudsz oda nem való karaktert beküldeni.
Az biztos, hogy www-re ilyet kitenni nem szabad.

#2022 - mysql-server rendben felment? Nem volt semmi error?
opkg install mysql-server

[ Szerkesztve ]

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2025) martonx válasza sonar (#2024) üzenetére


martonx
veterán

Nem, nem része, vagy legalábbis nem ez a módja, nem erre való, az egész koncepció meg nem értésére utal, ha valaki ezzel próbálja meg az sql injectiont kijátszani :D

Na jó segítek, itt egy link: [link]

Én kérek elnézést!

(#2026) sonar válasza martonx (#2025) üzenetére


sonar
addikt

Szia,

Tisztában vagyok az sql injection fogalmával. És az input validationnel rengeteg oda nem való dolgot szűrsz ki. Egy példa kód a nagyvilágból:
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

hozzáteszem, nem kódolok php-ben csak alkalmanként.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2027) ArthurShelby válasza sonar (#2024) üzenetére


ArthurShelby
addikt

A mysql szerver rendben felment (a telepítéskor, opkg install mysql-server nem volt gond), nem volt error, az utána jött. Igazából nem tud elindulni a /opt/etc/init.d/S70mysqld szóval valami gubanc van vele.
Kezdtem már elölről tiszta lappal, de ugyanez lett a vége.

[ Szerkesztve ]

A rosszban mindig van valami megtévesztően jó, különben nem választanánk a rosszat

(#2028) sonar válasza ArthurShelby (#2027) üzenetére


sonar
addikt

bele kellene nézni akkor a file-okba.
Először is a /opt/etc/init.d/S70mysqld tartalmát kéne megnézni és értelmezni.
Ez elég sziszifuszi meló lesz ha nincs meg a megfelelő linux alapod.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2029) martonx válasza sonar (#2026) üzenetére


martonx
veterán

Én még csak alkalmankent se, pont az ilyen peldakodok a nagyvilágból miatt, amiktől sírni tudnék. Hiszen paramezerett querynel nem kellene bohockodni extra validaciokkal, és csak azt validalni, amit tenyleg kell, hogy mondjuk a bejövő string az tényleg email-e, nem pedig kikapni belőle az sql injectiont okozó bármit, validacio címszó alatt. Ebből lesznek aztán a katyvasz spagetti kódok, ami ironikus módon nem a PHP mint nyelv hibája, de valahogy mégis mindig php kodokban jönnek elő ezek az allatorvosi ló esetek.

Én kérek elnézést!

(#2030) Chrystall


Chrystall
senior tag

Sziasztok!

A következő problémám lenne MSQL adatbázis exportálásával: one.com-os accountomról akartam PHPMyAdmin-ból, de 1GB-nál leáll a letöltés, az adatbázis pedig 3,3GB. Próbáltam SSH-val is, ezzel egy 2.7GB-os sql file-t sikerült csinálni az FTP szerverre, amiről aztán le tudom tölteni, nade ez hogyhogy nem 3,3GB? Mikor belépek PHPMyAdminba, ott látszik, hogy a teljes adatbázis 3,3 GB. Egyébként megnéztem a privilages info-t SSH-ban, azt írja minden jogosultság meg van adva az accountomra, szóval emiatt nem lehet probléma. Valakinek van öltete miért nem tölti le ez SSH-ban a teljes 3,3GB-os adatbázist?

[ Szerkesztve ]

(#2031) sonar válasza Chrystall (#2030) üzenetére


sonar
addikt

A különbség oka lehet pl.: hogy indexeket, triggereket, tárolt ejárásokat stb... nem mented.
Vagy csak a php myadmin hibásan mutatja.
Állitsd vissza a backupot vhova és nézd össze a kettőt. Melyik tábálában van a különbség.
Kis molyolással mindenre fény szokott derülni.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2032) Chrystall válasza sonar (#2031) üzenetére


Chrystall
senior tag

Felmásoltam az új tárhelyre, visszaállítva a teljes méretet mutatja a PHPMyAdmin. Ezek szerint akkor csak fájlban tároláskor kisebb az adatbázis.

(#2033) htc07


htc07
addikt

sziasztok,

szűz ubuntu 16.04 + mysql 5.7.25-0ubuntu0.16.04.2 .

sehogy sem tudom elérni kívülről.

a my.cnf és a mysql.cnf tök üres, csak kommentezett default szöveg, meg ez:

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

nincs benne bind-address, meg semmi más.

ha beleteszem, hogy bind-address: 0.0.0.0, akkor kiírja, hogy nem engedélyezett a csatlakozás erről a hostról, ha kikommentelem a sort, akkor connection timeout.

iptables átenged mindent, de az ufw-t letiltottam biztos ami tuti, de így sem jó.

belülről be tudok lépni.

van ötletetek? :R

[ Szerkesztve ]

(#2034) htc07 válasza htc07 (#2033) üzenetére


htc07
addikt

ja igen, még annyi, connection refused-et kapok (10061).

(#2035) sonar válasza htc07 (#2034) üzenetére


sonar
addikt

Usernek engedélyezve van, hogy távolról is beléphet a mysql db-be?
(külön kell grant-elni.)

[ Szerkesztve ]

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2036) robi191


robi191
kezdő

Üdv,

csak egy kérdésem lenne, mi a helyzet a mysql-mariadb váltással?
Csak fellángolás volt?

(#2037) sonar válasza robi191 (#2036) üzenetére


sonar
addikt

Semmi, mindkettő létezik.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2038) robi191 válasza sonar (#2037) üzenetére


robi191
kezdő

Picit bővebben lehetne?
Tudtommal azért lett mariadb, mert valami komoly hiba volt a mysql-lel és arra kellett átállni, majd nagy projekteknél azt tapasztalták, hogy az lassőbb, igy visszaálltak mysql-re.
Most van hiba, vagy nincs?
Vagy másról szól a történet?

(#2039) martonx válasza robi191 (#2038) üzenetére


martonx
veterán

Ez hülyeség. Egyébként ezeket a hülyeségeket nem hallani kell, hanem venni egy minimál fáradtságot és utána nézni, hogy mi micsoda. https://en.wikipedia.org/wiki/MariaDB

Én kérek elnézést!

(#2040) robi191 válasza martonx (#2039) üzenetére


robi191
kezdő

Köszönöm, továbbítom.

(#2041) sonar válasza robi191 (#2038) üzenetére


sonar
addikt

MariaDB leginkább azért jött létre mert az Oracle tulajdona lett a MySQL és ez sok szabadsoftvare-s elvével nem fért össze (licencelésbe nem mennék bele, mert azzal én sem vagyok 100%-ig tisztában) és emiatt a legtöbb distró is MariaDB-vel jön. (hasonló, mint az Oracle Java vs Open Java)
De a MySQL-nek van még más fork-ja is, pl.: Percona.
Teljesítménybeli dolgoknál meg millió meg egy dolog lehet. Kár lenne egy ilyen általánosítással elütni az egészet. Mondjuk én csak MySQL-t használok. De ennek más okai vannak.

A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!

(#2042) robi191 válasza sonar (#2041) üzenetére


robi191
kezdő

Köszönöm, hasonló jött máshonnan is, hogy oracle kontra community, azzal kiegészítve, hogy volt valami kampányuk, hogy 5-ről 10-re váltott a verziószám és akkoriban volt valami biztonsági rés a mysql-ben.

Hát, akkor így születnek a legendák. :B

(#2043) Agostino


Agostino
addikt

sziasztok

LOAD DATA LOCAL INFILE kérdésem lenne. összeraktam minden aspektusát a betöltési szabályoknak, az fogott ki rajtam egyedül, hogy ha a tábla 10 oszlopból áll, de a betöltendő .dat csak 8 oszlopból, akkor tegyük fel beemelés közben csúsztassa a 4. oszlopot a 7. helyre. mondhatnám úgy is töltsön be a 4. és az 5. oszlop közé plusz kettőt

tehát valami ilyemi, csak a .dat-ra alkalmazva a SET után (?)

ALTER TABLE ugyfelek ADD COLUMN 'k_azon' INT(6) NULL AFTER 'nev' x 2 : )

[ Szerkesztve ]

                          hey friend listen, i know the world is scary right now but its gonna get way worse

(#2044) Wiedzmin válasza Agostino (#2043) üzenetére


Wiedzmin
újonc

Szia,

A tábla megadása után lehet beírni, hogy melyik oszlopokba menjenek be az adatok.
Valami ilyesmi:
LOAD DATA INFILE 'inputfile.txt' INTO TABLE ugyfelek (oszlop1, oszlop2, oszlop3, oszlop7,...)

Üdv

(#2045) Fecogame


Fecogame
veterán

Tegnap megérkezett a phpMyAdmin legújabb, 4.9.0.1-es verziója:

phpMyAdmin 4.9.0.1

Frissítése Linuxon így lehetséges

Lassú a mobilinterneted? 4G/LTE antennák, közvetlenül raktárról ---> http://bit.ly/LTE_Antennak

(#2047) bozsozso


bozsozso
őstag

Sziasztok,

Kis mysql segítség kellene. Szeretnék létrehozni egy adatbázis ami tartalmazza az alábbi adatok.

Termékeket, anyagokat ehhez tartozó árakat, rendeléseket és kiszállításokat. Szeretném majd rögzíteni a Termékekhez az anyag felhasználásokat. A termékek nagy részének van anyag felhasználása egy párnak pedig nincs, de ez nem is lényeges, mert ezeket felveszem anyag kapcsolat nélkül.

Milyen táblákat kellene létrehozni, hogy normális adatbázisom legyen és a számítási műveletek is gyorsan lefussanak. Számítást a következő adatokkal kell végeznem: temék anyagfelhasználás*rendelt termék mennyiség. 1 anyag több terméknél is szerepel így kellene 1nap 1 anyag teljes felhasznált mennyiség. A rendelés naponta termékenként lenne rögzítve. Ugyanilyen anyagfelhasználás kellene a szállításokra is ami telephelyen,szállítólevél temék és mennyiség szerint lennének rögzítve. Ezt az anyagfelhasználást használnám fel az anyagok készletvezetésénél. Lenne beszerzés az anyagokra(készletvezetéshez) illetve azon termékekre amelyeknél nincs anyag kapcsolat(ezek nem saját gyártású termékek). Beérkeznek és kiszállításra kerülnek. Az alábbi táblákban gondolkodtam és várnám a tanácsotokat, hogy mit csináljak esetleg másképpen. Milyen elsődleges kulcsokat javasolnátok létrehozni?

Az alábbi táblákban gondolkodtam:

Egység ID, kód, név
Cikk ID, név, ár, törölt(I/N)
Kód ID, cikk_ID, anyag_ID, anyagfelhasználás
Anyag ID, név, ár, törölt(I/N)
Rendelés ID, cikk_ID, rendelés dátuma, mennyiség
Szállítás ID, egység_ID, cikk_ID, mennyiség, szállítás dátuma, száll.lev. száma

Az ID mindenhol egyedi az elsődleges kulcsokat aláhúztam.

Lehet nem jól gondolkozom, de most tanulgatom a mysql-t és próbálnám létrehozni az adatbázisom. vagy esetleg a Kód tábla nem kellene hanem azt beillesszem a cikk táblába. Olyan gondolatom is támadt, hogy nem lenne külön anyag tábla hanem beviszem a cikkek közés és megjelölöm, hogy az adott cikk termék vagy anyag. Hogy lennének egyszerűbbek, gyorsabbak a számítási műveletek?

Előre is köszönöm a javaslatokat, tanácsokat.

(#2048) bozsozso válasza bozsozso (#2047) üzenetére


bozsozso
őstag

Lehet túlgondoltam az egészet:

Egység ID, kód, név
Cikk ID, név, ár
Anyag ID, név, ár
Anyagfelhasználás ID, cikkID, AnyagID,mennyiség
Rendelés ID, cikk_ID, rendelés dátuma, mennyiség
Szállítás ID, egység_ID, cikk_ID, mennyiség, szállítás dátuma, száll.lev. száma

Na jól elbeszélgetek itt magammal, de legalább alakulgat

(#2049) martonx válasza bozsozso (#2048) üzenetére


martonx
veterán

Mi az az egység? Ahogy látom, anyag és cikk mehetnének ugyanabba a táblába, és vagy az idval, vagy egy bool flaggel elég lenne megkülönböztetni őket.

Én kérek elnézést!

(#2050) bozsozso válasza martonx (#2049) üzenetére


bozsozso
őstag

az egység egy üzlet, most még valami eszembe jutott.

szerk:.Az elvetemült gondolta, hogy egy külön táblába szedjem a rendelés anyagfelhasználást?

rend_anyagfelh ID, anyagID, dátum, mennyiség

ja és ugyanígy a szállított anyagfelhasználást? vagy ezzel túlbonyolítom az egészet? Gondoltam lekérdezéskor egyszerűbben megkapom az anyagfelhasználást, nem kell minden lekérdezéskor számolni csak kiszedni a táblából? Egyszerűbb lenne majd készletet is számolni.

[ Szerkesztve ]

Útvonal

Fórumok  »  Szoftverfejlesztés  »  MySQL topic
Copyright © 2000-2024 PROHARDVER Informatikai Kft.