Welcome to Sign in | Help
in Search

proceduri stocate in SQL Server 2005

Last post 08-07-2008, 11:27 PM by Gherry. 39 replies.
Page 2 of 3 (40 items)   < Previous 1 2 3 Next >
Sort Posts: Previous Next
  •  07-02-2008, 12:30 AM 5212 in reply to 5197

    Re: proceduri stocate in SQL Server 2005

    ignatandrei:

    Ca motiv pot sa iti spun despre
        1.usurinta de a mentine codul  - e mai usor sa fie sparte
        2. usurinta de a lucra -e mai usor ca 4 programatori sa lucreze la 4 proceduri decit 4 la aceeasi SP
        3. Daca ai o conventie de notare - e usor de identificat
        4. Pentru Delete nu trebuie sa treci toate cimpurile, ci doar ID-ul ( ma rog, last wins ....)

    Pe de alta parte, parerea mea ar fi una care nu se aliniaza la Best Practices, ci e un pic pe linga : pentru tabele cu multe cimpuri, faci o PS de insert cu cimpurile principale( de pilda, pentru un user cu NumeDeLogare + Parola), o  PS de delete cu ID -  iar pentru update folosesti direct cod ....

    am sa o iau de la coada la cap:

    3, 4 - good point (intr-adevar pct 3 rezolva o problema destul de spinoasa)

    2 - se reduce nr de proceduri dar va fi una pt fiecare tabel deci munca se va putea imparti in continuare

    1 - asta e un aspect foarte important, ironia face ca eu am ales varianta cu o singura procedura pt ca mie aia mi s-a parut mai usor de mentinut.. (totusi e foarte probabil sa ma fi inselat - nu am lucrat decat la aplicatii relativ mici)

    dupa cum ziceam o sa revin cu un exemplu si cod scris pt ca e mai usor de urmarit decat explicatiile mele Embarrassed
  •  07-02-2008, 5:57 AM 5213 in reply to 5208

    Re: proceduri stocate in SQL Server 2005

    B_gd_n[ ]Sahlean:

    Sa inteleg ca stilul acesta de - virgula - dezvoltare (proceduri stocazte pentru CRUD) nu este disponibil si in VB6 ?
    Sa inteleg ca VB6 te opreste pe tine - ca programator - sa dezvolti un "smart client" ?

    Draga Bogdan, VB6 nu ma opreste sa am proceduri stocate pentru CRUD.
    Dar ...
             1. VB6 NU ma opreste sa dezvolt un smart client (de fapt, nici un limbaj de programare nu te impiedica, odata ce ai acces la un fel de HttpRequest ... chiar si prin WinAPI)

             2. VB6 imi ingreuneaza munca enorm ca sa dezvolt un SMART client = trebuie sa fac totul de la 0

    Am dezvoltat odata asa ceva ... si a fost ingrozitor... Cel mai aproape s-a dovedit un smart client cu update-ul din BD


    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  07-02-2008, 6:01 AM 5214 in reply to 5210

    Re: proceduri stocate in SQL Server 2005

    Gherry:


    personal nu mi se pare ok sa scriu cod SQL in clase, deci ala incerc pe cat posibil sa il inlocuiesc cu proceduri.. (acum nu stiu cat e de bine sau de rau insa pare mai natural asa)


    Un argument impotriva PS este in momentul in care vinzi o aplicatie care are o BD ... si nu vrei ca un administrator de BD sa iti modifice el o PS cu mina ca s-a gindit ca e mai bine cum zice el decit codul tau ... Am intilnit si asa ceva( era vorba de o PS care tinea o regula de business...)
    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  07-02-2008, 8:06 AM 5215 in reply to 5214

    Re: proceduri stocate in SQL Server 2005

    Folositi or/m-uri si renuntati la proceduri stocate Big Smile
    Secolul XXI ori va fi religios ori nu va fi deloc
  •  07-02-2008, 8:23 AM 5216 in reply to 5214

    Re: proceduri stocate in SQL Server 2005

    ignatandrei:

    Un argument impotriva PS este in momentul in care vinzi o aplicatie care are o BD ... si nu vrei ca un administrator de BD sa iti modifice el o PS cu mina ca s-a gindit ca e mai bine cum zice el decit codul tau ... Am intilnit si asa ceva( era vorba de o PS care tinea o regula de business...)


    ai foarte mare dreptate (chia am patit chestia asta) dar in momentul in care clientul face asta el incalca acordul din licenta care nu ii da voie sa modifice codul. Deci datele sunt ale lui si are tot dreptul sa introduca si sa scoata cu ce vrea el si sa isi scrie el propriul client daca vrea insa baza este un tool cumparat sub licenta asa ca daca el il "customizeaza" o face pe raspunderea sa si eu nu mai sunt obligat sa ii ofer suport.

    asta e din ciclul: "... inginerii fac programe ce pot fi folosite pana si de cei mai mari idioti insa natura produce idioti si mai mari.. deocamdata natura castiga" Stick out tongue - citat aproximativ

    pe mine insa ma deranjeaza aspectul asta pt ca poate oricine sa le vada si sa se "inspire" de acolo ca sa faca alt baza cu care sa imi faca cocncurenta; totusi sper sa reusesc sa rezolv ascpectul asta prin limitarea accesului. (si asta ar fi un subiect interesant)
  •  07-02-2008, 8:49 AM 5217 in reply to 5215

    Re: proceduri stocate in SQL Server 2005

    crestinul:
    Folositi or/m-uri si renuntati la proceduri stocate Big Smile


    mie imi placea sa tratez baza ca pe un obiect de sine statator care ofera niste servicii si poate garanta celor care isi tin datele acolo ca se vor pastra asa cum trebuie chiar daca pe baza aia mai lucreaza si altii cu alte tooluri.. Ma deranjeaza foarte tare ca tb sa renunt la chestia asta insa nu prea am de ales - practic se lasa spatele (back-endul) descoperit si se mizeaza pe bunavointa utilizatorilor de a juca dupa reguli..

    suna atat de bine ideea de a crea o baza si apoi sa ii dai drumul in lume sa se joace oricine pe ea fara sa iti faci griji ca o sa isi strice unul altuia datele.. ma rog, a fost un vis frumos Smile
  •  07-02-2008, 9:07 AM 5218 in reply to 5216

    Re: proceduri stocate in SQL Server 2005

    Gherry:


    ai foarte mare dreptate (chia am patit chestia asta) dar in momentul in care clientul face asta el incalca acordul din licenta care nu ii da voie sa modifice codul. Deci datele sunt ale lui si are tot dreptul sa introduca si sa scoata cu ce vrea el si sa isi scrie el propriul client daca vrea insa baza este un tool cumparat sub licenta asa ca daca el il "customizeaza" o face pe raspunderea sa si eu nu mai sunt obligat sa ii ofer suport.

    Mda... in teorie e frumos . In practica se intimpla asa  : clientul da telefon la suport si urla : Nu imi merge soft-ul vostru ! ... Si tu trebuie sa te prinzi daca el a modificat ceva...
    Gherry:

    pe mine insa ma deranjeaza aspectul asta pt ca poate oricine sa le vada si sa se "inspire" de acolo ca sa faca alt baza cu care sa imi faca cocncurenta; totusi sper sa reusesc sa rezolv ascpectul asta prin limitarea accesului. (si asta ar fi un subiect interesant)

    Criptarea procedurilor stocate ...

    CREATE PROCEDURE  xxx
    WITH ENCRYPTION


    Ignat Andrei
    http://serviciipeweb.ro/iafblog
  •  07-02-2008, 9:13 AM 5220 in reply to 5210

    Re: proceduri stocate in SQL Server 2005

    Gherry:
    aflorin27:
    De cealalta parte a baricadei sunt cei care nu folosesc deloc proceduri stocate. Eu as fi pentru asa ceva.

    ...
    personal nu mi se pare ok sa scriu cod SQL in clase
    ...

    Personal nu vad nici o problema in "a scrie" cod SQL in clase atât timp cât acele clase NU sunt clase tip obiecte de gestiune (en. business objects sau domain classes sau domain objects) mai precis atât timp cât (în principiu Zip it!) este respectat principiul GRASP (şablonul de proiectare) "Coeziune ridicată" (en. high cohesion).

    Applying UML and patterns, Larman Craig:
    "
    Solution   Assign a responsibility so that cohesion remains high.

    Problem   How to keep complexity manageable?
    In terms of object design, cohesion (or more specifically, functional cohesion) is
    a measure of how strongly related and focused the responsibilities of an element
    are. An element with highly related responsibilities, and which does not do a
    tremendous amount of work, has high cohesion. These elements include classes,
    subsystems, and so on.

    A class with low cohesion does many unrelated things, or does too much work.
    Such classes are undesirable; they suffer from the following problems:
    • • hard to comprehend
    • • hard to reuse
    • • hard to maintain
    • • delicate; constantly effected by change
    Low cohesion classes often represent a very "large grain" of abstraction, or have
    taken on responsibilities that should have been delegated to other objects.
    "
    În concluzie, pentru asigurarea persistenţei (dpmdv) sunt necesare cel puţin două nivele de abstractizare: business layer (clase tip business objects) şi data layer (clase de persistenţă).

  •  07-02-2008, 9:20 AM 5221 in reply to 5218

    Re: proceduri stocate in SQL Server 2005

    ignatandrei:

    Mda... in teorie e frumos . In practica se intimpla asa  : clientul da telefon la suport si urla : Nu imi merge soft-ul vostru ! ... Si tu trebuie sa te prinzi daca el a modificat ceva...

    lol...     din pacate ai foarte mare dreptate

    ignatandrei:

    Criptarea procedurilor stocate ...

    CREATE PROCEDURE  xxx
    WITH ENCRYPTION



    cool.. mersi de sfat Yes
  •  07-02-2008, 9:29 AM 5222 in reply to 5215

    Re: proceduri stocate in SQL Server 2005

    crestinul:
    Folositi or/m-uri si renuntati la proceduri stocate Big Smile
     
    Nu toata lumea pare sa fie de acord cu solutia asta:
  •  07-02-2008, 9:37 AM 5223 in reply to 5213

    Re: proceduri stocate in SQL Server 2005

    ignatandrei:

    Draga Bogdan, VB6 nu ma opreste sa am proceduri stocate pentru CRUD.
    Dar ...
             1. VB6 NU ma opreste sa dezvolt un smart client (de fapt, nici un limbaj de programare nu te impiedica, odata ce ai acces la un fel de HttpRequest ... chiar si prin WinAPI)

             2. VB6 imi ingreuneaza munca enorm ca sa dezvolt un SMART client = trebuie sa fac totul de la 0

    Am dezvoltat odata asa ceva ... si a fost ingrozitor... Cel mai aproape s-a dovedit un smart client cu update-ul din BD

    Totuşi aici există tone de cod sursa pentru VB6, inclusiv pentru module/componente tip autoupdate.
    +
    Automatically Updating Visual Basic 6 Applications: Part I
    Automatically Updating Visual Basic 6 Applications: Part II
  •  07-02-2008, 9:49 AM 5224 in reply to 5222

    Re: proceduri stocate in SQL Server 2005

    aflorin27:
    crestinul:
    Folositi or/m-uri si renuntati la proceduri stocate Big Smile
     
    Nu toata lumea pare sa fie de acord cu solutia asta:

    Mult prea lung articolul şi atunci când vezi un titlu de forma "The Object-to-Table Mapping Problem" tb. să concluzionezi că articolul respectiv are cel puţin o problemă !

    Explicaţii:
    [1] ce-i aia "asociere obiect - tabelă" ?!
    [2] nu ar fi fost corect (retoric) "asociere obiect - înregistrare" sau "asociere clasa - tabela" ?!
  •  07-02-2008, 9:55 AM 5225 in reply to 5220

    Re: proceduri stocate in SQL Server 2005

    B_gd_n[ ]Sahlean:

    Personal nu vad nici o problema in "a scrie" cod SQL in clase atât timp cât acele clase NU sunt clase tip obiecte de gestiune (en. business objects sau domain classes sau domain objects) mai precis atât timp cât (în principiu Zip it!) este respectat principiul GRASP (şablonul de proiectare) "Coeziune ridicată" (en. high cohesion).

    Applying UML and patterns, Larman Craig:
    "
    Solution   Assign a responsibility so that cohesion remains high.

    Problem   How to keep complexity manageable?
    In terms of object design, cohesion (or more specifically, functional cohesion) is
    a measure of how strongly related and focused the responsibilities of an element
    are. An element with highly related responsibilities, and which does not do a
    tremendous amount of work, has high cohesion. These elements include classes,
    subsystems, and so on.

    A class with low cohesion does many unrelated things, or does too much work.
    Such classes are undesirable; they suffer from the following problems:
    • • hard to comprehend
    • • hard to reuse
    • • hard to maintain
    • • delicate; constantly effected by change
    Low cohesion classes often represent a very "large grain" of abstraction, or have
    taken on responsibilities that should have been delegated to other objects.
    "
    În concluzie, pentru asigurarea persistenţei (dpmdv) sunt necesare cel puţin două nivele de abstractizare: business layer (clase tip business objects) şi data layer (clase de persistenţă).



    Mai intai tb sa mentionez ca asta e o bucata de teorie pe care inca nu o stapanesc asa ca daca ai putea sa imi recomanzi o carte sau un articol bun pt incepatori care sa explice simplu si clar as fi recunoscator.

    Asta imi aminteste de cursurile si cartile de proiectare de baze de date cu toate teoriile care m-au cam bagat in ceata pana cand am dat de cartea lui Michael J Hernandez "Database Design for Mere Mortals" care a explicat totul intr-un mod socant de clar si simplu.

    intre timp, singurul argument care il am ar fi intuitia care imi spune ca nu e tocmai ok sa imbini doua limbi in aceasi fraza.. e clar ca se poate si ca se face si probabil ca voi proceda si eu la fel insa am retineri.
  •  07-02-2008, 10:02 AM 5226 in reply to 5224

    Re: proceduri stocate in SQL Server 2005

    B_gd_n[ ]Sahlean:

    Explicaţii:
    [1] ce-i aia "asociere obiect - tabelă" ?!
    [2] nu ar fi fost corect (retoric) "asociere obiect - înregistrare" ?!

    Mi-a spus si mie la un moment dat cineva ca exista si tendinta asta: asociere obiect - tabel (insa nu am stat sa caut nimic in directia aia)
  •  07-02-2008, 10:11 AM 5227 in reply to 5225

    Re: proceduri stocate in SQL Server 2005

    Gherry:

    Mai intai tb sa mentionez ca asta e o bucata de teorie pe care inca nu o stapanesc asa ca daca ai putea sa imi recomanzi o carte sau un articol bun pt incepatori care sa explice simplu si clar as fi recunoscator.

    Asta imi aminteste de cursurile si cartile de proiectare de baze de date cu toate teoriile care m-au cam bagat in ceata pana cand am dat de cartea lui Michael J Hernandez "Database Design for Mere Mortals" care a explicat totul intr-un mod socant de clar si simplu.

    intre timp, singurul argument care il am ar fi intuitia care imi spune ca nu e tocmai ok sa imbini doua limbi in aceasi fraza.. e clar ca se poate si ca se face si probabil ca voi proceda si eu la fel insa am retineri.

    Carte este (asa cum am scris mai sus) "Applying UML and patterns", autor Craig Larman.
Page 2 of 3 (40 items)   < Previous 1 2 3 Next >
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems