Lectia de MySql : Supercute ()
Acum sa tot fie o saptamina o domnita m-a intrebat daca nu s-ar putea face cumva un program care sa-i tina ceva evidente ce avea ea nevoie si sa le poata vedea si edita si etc ? Ar fi dificil ?
Iar eu i-am explicat ca ba da, s-ar putea face, si nici n-ar fi dificil, fiind deja gata facut : sa intre in phpmyadmin la blogu' ei si sa-si faca singura acolo ce are nevoie intr-o tabela separata. Si i-am si explicat cum sa-si construiasca tabela si niste chestii de baza in MySql si in interfata respectiva.
Astazi...
Ea : ok so! i am trying some stuff with this phpmyadmin business and would you be so kind as to check out a line ir trying to insert? i keep getting syntax errors and i am not sure why
Eu : yes
Ea : INSERT INTO finrec (jobname, datedelivered, dateinvoiced, datepaid, price, cust_name, comments ) VALUES ("doc1.doc, doc2.doc, doc3.doc, doc4.doc, doc5.doc", 3-19-2011(), 3-19-2011(), NOW(), 119, "Petur", "last item delivered 3-15-11 invoice reminded 3.26 *")
Eu : () wtf is that ?! lmao ahahahaah
Ea : it's from the template you showed me last time:
Eu : NOW() is a function call,
Ea : oh so if i put the date in manually i dont need the parentheses?
Eu : constants don't need () cause they be not functions
Ea : aha ty
Eu : ima blog this its so cute :D
Ea : yaay it inserteds
Pai sa nu-ti vina s-o smotocesti, pufosenia ?
Saturday, 2 April 2011
Lol, fetele folosesc excel, nu mysql, chiar si pentru stocat date relationale.
Sunday, 3 April 2011
PS din ce vad acolo, datele alea nu prea sunt normalizate, ”doc1.doc, doc2.doc, doc3.doc, doc4.doc, doc5.doc”
Repeat after me: The data depends on the key [1NF], the whole key [2NF] and nothing but the key [3NF], so help me Codd.
Sunday, 3 April 2011
Vezi, de-aia fetele invata de la mine si nu de la tine, ca eu le las sa pasca incet, in ritmul lor.
Sunday, 3 April 2011
Dar eu de obicei le las sa pasca cat de incet vor, adica nu le invat nimic.
Sunday, 3 April 2011
Pai nici asa nu ie bine.
Sunday, 3 April 2011
Gheorghe mi-a amintit de vremurile (nu de demult, cam acum un an pe vremea asta) în care mă chinuiam io să studiez teoria bazelor de date relaționale din foile neinteligibile ale unui vestit membru corespondent al Academiei. Pam pam.
Sunday, 3 April 2011
Si io zic ca are sanse sa ajunga membru corespondent al Academiei, daca nu-l spinzura pina atunci.
Sunday, 3 April 2011
@spyked Foxpro? :D
E oarecum neintuivita chestia asta cu datele relationale. Asa erau unii, care faceau chestii de billing de telefomunicatii in excel. Cred ca daca nu avea excelul limita de randuri, luau un server cu cat de mult ram puteau, si puneau un excel acolo sa ruleze rapoarte cu zilele. Dar cum are, au luat za next best thing, si anume SQL server. Majoritatea datelor din bazele alea de date erau flat tables, rulau niste query-uri pe ele peste noapte, si apoi luau rezultatele cu copy paste in excel si mai rulau si-acolo niste formule si alte bullshituri.
A fost foarte trist cand au facut update la sql server 2008, cu clientul ala scris cel putin partial in .NET, ca avea obiceiul prost sa crape cand dadeau copy paste la jdemii de randuri in excel, pe cand ala de 2000 n-avea nici o treaba.
Sunt sigur ca nu faceau ei ceva tocmai optim, cum sunt sigur ca i-a invatat cineva de pe la facultati din niste materiale neintelegibile, dar nah, eu aveam mouse-uri de schimbat si windowsuri de reinstalat, daca nu mi-a placut cartea...
Sunday, 3 April 2011
Și dacă ajunge o să explice mult mai bine bazele de date decât individul de care vorbeam, care-i cumva contemporan cu Codd, atât doar că nu a inovat mai nimic, că ăștia de la Academie nu stau ei să inoveze. De fapt și azi stau și mă întreb ce face Academia; ca să nu generalizez, am auzit că prin Academia Română sunt și câțiva care fac treabă bună în domeniile lor, vreo doi sau trei probabil.
@gheorghe: Chiar formele alea normale m-au făcut să-mi amintesc (cu partea practică n-am avut probleme și chiar mi-a fost utilă, deși am făcut Oracle, nu MySQL sau MSSQL, da' în fine, cam tot aia). Ele săracele au mult sens, până la urmă am ajuns să le citesc din altă parte să le pot înțelege.
Alternativa la datele relaționale e reprezentarea prin obiecte, care e și folosită azi la greu în programare. Cu toate astea, aș spune că schemele relaționale sunt cea mai bună formă de reprezentare a datelor găsită până azi, fiind relativ simple în ceea ce privește proiectarea și destul de eficiente când vine vorba de algoritmii și structurile de date din spate. Sigur, dacă ai ceva deosebit de ciudat o să ajungi până la urmă să îți faci ceva specific, altfel cadrul formal oferă destulă libertate pentru reprezentarea celor mai multe sisteme din lumea reală.
Altfel, am impresia că algebra relațională e un subset al teoriei categoriilor.
Sunday, 3 April 2011
@gheorghe In cazul asta concret n-ai de fapt dreptate, fata-i normalizata (logic de altfel, daca io i-am desenat tabelu'). Pur si simplu se intimpla ca doc1 doc2 etc e un nume compus din mai multe cuvinte care tie-ti dau impresia ca ar fi elemente disparate, da' de fapt nu-s, ci constituie toate impreuna un singur obiect din punctul de vedere al formalizarii in discutie. Da' mnoa, astea-s deja subtilitati.
Rahat de server crapa de la aia ca-i ceri date ? Io nu stiu despre ce frantz vorbim, da' nu mi se pare tolerabil. Ce-ar fi sa crape linuxu' daca-l pui sa scrie "prea mult" pe stdout ?! Da' pe de cealalta parte, am vazut si io exceluri de piariste, m-o umflat si pe mine risu' de absurditatea chestiei pe ici pe colo, deci clar este ce zici. Da' le iubim asa cum sunt ele, mai da-le-n plm de metale, ce.
@spyked Si eu am auzit de aia doi-trei. Chestia bizara-i ca nu-i poate indica nimeni care sunt, e ca povestea aia ca "am auzit eu ca in acest liceu invata doua-trei fete virgine".
Obiectele au avantaje de accesibilitate, da' dezavantaje de stocare etc, de-aia si sunt folosite-n spatiul programului si nu asa mult in spatiul datelor. De fapt tin minte vag ca incercase cineva sa rescrie partea de stocat pe hard a kernelului sa foloseasca obiecte in loc de alocari tabulare, nu mai stiu cum i-o zis, ceva cu noduri parca ? Da' tot fat32 e mai bun, asculta la mine :D
Totul este un subset al teoriei categoriilor.
Sunday, 3 April 2011
@Mircea Popescu Nu crapa serverul, ci clientul care rula pe windowsul lor, datele erau acolo, doar ca nu putea sa le dea copy paste, ca se umplea "clipboardul" windowsului, si-ti dadea o eroare. In orice caz, abordarea mi se pare sortita esecului din start. Adica tu ai in baza de date multe date, din care apoi faci mai putine si le bagi in exel. Dar cand alea putine date devin prea multe pentru excel, ce faci? Imparti rezultatul in mai multe seturi si le calculezi pe rand? Putina decenta, va rog...
Un prieten lucra la un provider de telecomunicatii romanesc, si facea tot billing de telefonie, si tot cu SQL server, dar ca sa vezi, el nu folosea excel, iar SQL server nu a fost ales pentru ca zice microsoft ca-i la fel ca un excel, da mai mare, ci pentru ca ofera toate feature-urile tehnice relevante pentru proiectul respectiv la un pret foarte bun. Culmea e ca pretenu ala facea lucruri mult mai complicate, si totusi, facea majoritatea din SQL, iar unde nu se putea, programa. Diferenta dintre cele 2 cazuri e ca setupul peretenului meu era facut de programatori, pe cand ala de la mine de la lucru era facut de secretare.
Dealtfel, nu e mare mirare ca pe langa tipul ala care presupun ca a facut chestia asta, au mai angajat 2 tipe. Iar alt departament care facea chestii similare era format in majoritate de tipe. Este exact ca in cazul editarii XML-urilor, unde nici un programator adevarat nu vrea sa se atinga de ele nici macar programatic. Deci isi va face un harem de tipe care editeaza XML-uri in wordpad. Nu pentru ca ar fi el sardic si pentru ca ii place sa le vada cum sufera, ca ele oricum nu sufera, ele cred ca fac munca adevarata. Le lasa in durerea lor pentru ca ar fi prea complicat sa le invete sa-si automatizeze munca, asa ca le pune undeva mai departe de el (sa nu-l deanjeze cu "ce faci faataaa, tu, fataa, ai vazut ce...), toate la un loc, ca la fabrica de textile la masina de cusut, ca sa-si faca atmosfera si sa nu se plicti.
@spyked problema cu obiectele, si motivul pentru care in industrie s-au adoptat tehnologiile astea de mapar obiecte la date relationale e ca lumea e familiara cu modelul relational si e mai intuitiv sa faci rapoarte din date relationale, plus gramada de tooluri pentru raportare existente care vor trebui aruncate la gunoi.
Adica, am folosit si eu ZODB, pentru ca o folosea o aplicatie, si mi s-a parut cel mai mare bullshit, desi din punct de vedere tehnic cica ar fi foarte solid, si n-am avut niciodata probleme cu el. Nexistand un object database standard, fiecare va avea variatiile lui subtile, proria lor schema, sau dizainul lor inovator, de la care pur si simplu vei face spume la gura daca chiar tre sa stai sa manaresti manual chestii prin ele.
La fel si cu bazele de date XML. Parea o idee buna la vremea respectiva, dar in practica s-au folosit tot baze de date relationale peste care s-au pus niste webservice-uri.
Dar acum prin ceva tractiune bazele de date NoSQL, pentru ca spre deosebire de object si xml databases, ofera metode mai eficiente de a stoca si distribui datele, nu doar un facelift. Plus ca, XML databases nu au murit neaparat, ci s-au transformat oarecum in asa-zisele, document oriented databases.
Sunday, 3 April 2011
@gheorghe A, a. Pai logic, probabil ca si clipboardu-i facut dupa teoria ca 4Mb ar trebui sa fie suficienti pentru oricine (pe care Gates n-o spus-o si de fapt o fost inteles gresit, da ?).
Nu-mi prea dau seama asa pe moment ce procesari de date nu se pot face din sql direct, da' mnoa, sa zicem c-or fi.
Da' vezi, asta-i problema cu voi, nu mai stiti interactiona cu femeile. In loc sa le bateti si sa le invatati le lasati acolo sa muceazeasca-n zama proprie. Dupa care iesiti la o bere sa va povestiti cit is de proaste. Pai misoginismu' de stilu' asta e echivalent cu a-ti bate capse-n pula, nu te supara. Si ca bonus, din top 3 cei mai buni calculatoristi pe care=-i stiu io doi is femei, si gemea poli din Cluj de muieri mai destepte decit barbatii, asa ca nu ma lua ca-i genetic, ca nu-i.
PS. XML databases are not an idea, they're an idiotea.
Sunday, 3 April 2011
Nu zic ca-i genetic, cel mult cultural. E dovedit statistic si istoric ca femeile tolereaza mai bine munca repetitiva, dar nu e o regula generala. Spre exemplu am un coleg la locul asta de munca care numai asta face, si tolereaza foarte bine. Acum na, el terminat SNSPA, dar nu pot spune neaparat ca e relevant.
Precum mai am un prieten care atunci cand s-a angajat, numai asta facea, alaturi de o gramada de fete, XML-uri pentru deployment de aplicatii java enterprise, iar intre timp, el a automatizat majoritatea lucrurilor si l-au pus sef de departament. Fetele de ce n-au putut?
Sunday, 3 April 2011
Ah, si mai aveam un exemplu, pozitiv. Aveam pe la un fost loc de munca o echipa de programatori care lucrat la un anumit produs, care nu vorbeau foarte mult. Au angajat o fata care era foarte draguta si folosea la lucru niste papuci pufosi gen cap de iepuras. Peste vreun an, dupa ce a plecat team leaderul, au pus-o pe ea.
Deci na, se poate.
Sunday, 3 April 2011
@gheorghe Acum esti de-a dreptul fascist, cum adica de ce n-au putut ? Pai societatea paternalist-autoritarianista le-a impiedicat, obligindu-le sa umble-n fuste si numind semestrul semestru in loc de ovestru, ceea ce clar stimuleaza perpetuarea anumitor perspective nocive in societate. Vorbele sunt pauar.
Masaje la iepurasi i-au facut ? Numa-ntreb.
Sunday, 3 April 2011
Sincer sa fiu, eu consider programatul o meserie pentru femei, ca majoritatea lucrurilor in programare sunt repetitive, si mi se pare trist ca nu e de-a dreptul dominata industria de femei.
Cred ca le tine inapoi faptul ca sunt mai emotive. Citeam la un moment dat o chestie scrisa de una care-a lucrat la google, n-o mai gasesc acum, o relatare a experientei sale din facultati si profesionala despre motivele pentru care crede ea ca nu-s femeile atrase de domeniul respectiv, si ce-am inteles eu a fost ca nu le place deoarece este un mediu foarte competitiv, plin cu foarte multi oameni rai, care rad de tine daca faci o greseala si etc. Ceea ce este foarte adevarat, si nu mi se pare un motiv pentru care cineva ar trebui sa se simta descurajat, precum nu cred ca ar trebui tratate preferential femeile din punctul asta de vedere. Ce ar trebui ele sa faca este cel putin sa ignore chestiile astea, sau chiar sa imbratiseze aceasta cultura minunata, dar emotivitatea lor (probabil genetica) face lucrul asta mult mai greu decat pentru pulosul mediu.
Asa, o femeie care a fost la viata ei camionagiu nu cred ca are astfel de probleme. Iar pe fata cu papucii iepuras au pus-o sefa pur si simplu pentru ca ceilalti erau mult prea praf, daca era un singur barbat mai adevarat in echipa sigur il puneau pe el, desi, probabil ca s-a descurcat destul de bine, nu stiu ce s-a intamplat, ca eu am plecat inainte s-o faca sefa.
Sunday, 3 April 2011
Da mai, sa ignore chestiile, sa se injure cu pulalaii ceia cot la cot, sa traga shoturi cu ei dupa care cind o suna ma-sa la doua noaptea s-o intrebe de ce nu se marita s-o injure eventual si pe aia.
Zic sa ne hotarim la un capat, ce cerem muierii, ca nu se poate asa.
Io de-un exemplu mi-s ferm decis in directia a ce zici tu, produc ucigase metalizate-n serie, da' inteleg si ca nu putem face o regula generala din asta, dat fiind ca majoritatea lumii (plus toti copiii de tita) asteapta de la femeie sa fie un soi de perna.
Sunday, 3 April 2011
@Gheorghe Daca-i repetitiv e automat, iar daca poti sa faci ceva fara sa mori din asta, nu inseamna ca e musai sa iti si placa sa faci. Stereotipul lu' peste e fix asta: un stereotip.
@Gheorghe si Mircea Popescu Sa se poarte si femeile mai fix precum barbatii adica, da? Nu-s pentru fugitul de mediul cu pricina (chm, cred ca-i evident), nici nu pot spune ca am vazut cam care-ar fi motivul sa o iei la goana, dar ideea ca cea mai buna solutie e sa imiti ce fac ailalti de acolo desi nu esti fix ca ei imi pare in general cam proasta.
Sunday, 3 April 2011
corectura: "daca-i repetitiv trebuie facut automat"
Sunday, 3 April 2011
Chiar ma intrebam cind va gasi Diana discutia asta si ce va iesi de-acolo.
Mi se pare ca zicem acelasi lucru, apropo.
Sunday, 3 April 2011
@Diana Coman pai si pus butoane pe un formular si apoi scris cod despre ce ar trebui sa faca butoanele alea, citind din niste specificatii sau din ce-ai vorbit cu diversi oameni este cat se poate de repetitiv, dar nu poti automatiza asta. Sau gandit niste algoritmi ca sa calculeze ce vor diversi oameni sa fie calculat, ca nu gandesti neaparat ceva ce n-a mai gandit nimeni (la o adica, majoritatea muncii ai putea s-o iei copy paste de pe google) si nu inteleg care-ar putea fi marea placere in a tot gandi algoritmi acolo. Iar cand vei automatiza asta, cel putin 80% din programatori vor fi cam redundanti, ii pastrezi doar pe-aia care repara buguri la aplicatia magica care permite oricarui retard sa faca aplicatii.
Cat despre femeile programatoare, asa o fi, nu pot spune ca ma intereseaza sau afecteaza in vreun fel, dar asta e, suntem niste porci misogini, si asa o sa fim pentru totdeauna. Daca generatiile astea n-o sa fie loc decat de foste camionagiste, camionagiste sa fie.
BTW, aplicase la un moment dat o fata la o pozitie de sysadmin, si scria pe CV ca a fost, citez "ajutor de programator". Primul lucru la care ne-am gandit noi a fost, oare cum l-o fi ajutat? Mi se pare o intrebare pertinenta, desi evident misogina, dar nu vad de ce n-am fi chemat-o la interviu daca chiar ar fi inspirat macar un pic de competenta CV-ul ei.
Monday, 4 April 2011
Ajutor-programator e intern buei, ce, zi-mi ca nu v-ati prins.
Monday, 4 April 2011
: )))))
Monday, 4 April 2011
@Mircea Popescu Eu imi dau seama ca e intern, si ca asa scria pe cartea ei de munca pentru ca inca nu terminase facultatea, dar daca ea asa stie sa se prezinte, cam naspa. Ma intreb cine m-ar mai angaja pe mine daca mi-as trece in CV "tehnician electronist", "operator calculator", "tehnician retele de calcul", abia reusesc cu un CV cat de cat decent :)
Monday, 4 April 2011
Eu.
Monday, 4 April 2011
Mda, oricum, mi se pare aiurea sa treci in CV o functie al carui nume este ales ca o formalitate. Ma indoiesc ca ea chiar avea scopul de a ajuta un programator acolo unde lucra, ci chiar programa ea de una singura. Deci daca tu ai facut o chestie, ce rost are sa scrii in CV ca ai facut alta chestie, ca doar asa concep aia de la stat ca poti sa zici ca ai facut.
Monday, 4 April 2011
Io ziceam la ce-ai propus tu, ca daca vii adica si scrii in CV "tehnician electronist" sau "avia reusesc un CV cit de cit decent" ai sanse, pentru ca apreciez umorul.
De ea nu ziceam ca are sanse, ca mnoa.
Monday, 4 April 2011
Eu as fi foarte interesata de mecanismul gandirii. Cum a ajuns la concluzia ca trebuie () dupa datele alea introduse manual.
Cat despre normalizare, e buna pana la un punct. Taking it to the extreme is flushing down the toilet a relatively performant db.
Monday, 4 April 2011
A inlocuit NOW din sectiunea, NOW(), cu data, obtinind ,3-19-2011(),
Practic neavind (deloc) nici un fel de experienta in programare n-a recunoscut token-ul () ca facind parte din NOW, ci l-a reprezentat ca facind parte din ,. Delimiter structure, sa zicem.
Monday, 4 April 2011
@Ana, pai depinde de ce ai nevoie, pentru oltp o schema bine normalizata e mai buna, pentru ca altfel ai avea o mai mare redundanta a datelor, pe care trebuie sa le scrii pe disc la fiecare tranzactie asa multe si redundante cum sunt.
Iar daca vrei ceva mai mediu, o schema normalizata + indecsi mai multi unde ai niste joinuri babane mi se pare o alegere decenta si mult mai flexibila, ca e mai usor sa mai bagi un index, pe cand e mai greu sa mai adaugi o coloana intr-un tabel si sa modifici codul aplicatiei, plus ca o schema normalizata vine si cu avantajul ca iti face codul aplicatiei mai simplu.