Why do people need to do this?

  • O jeez... failing memory... is it "Gloria"?

    Nope, it's Goldie. 🙂 I think I'm going to change my user name.

    And, thanks... that's one of the posts I was looking for.

    I guess that's one of the benefits of having only a few hundred posts.

    I looked through all of them to find this one.

  • Goldie Graber (1/23/2009)


    O jeez... failing memory... is it "Gloria"?

    Nope, it's Goldie. 🙂 I think I'm going to change my user name.

    And, thanks... that's one of the posts I was looking for.

    I guess that's one of the benefits of having only a few hundred posts.

    I looked through all of them to find this one.

    Dang... like I said... failing memory... I remembered it just scant milliseconds before you posted. Thanks, Goldie.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (1/23/2009)


    Goldie Graber (1/23/2009)


    O jeez... failing memory... is it "Gloria"?

    Nope, it's Goldie. 🙂 I think I'm going to change my user name.

    And, thanks... that's one of the posts I was looking for.

    I guess that's one of the benefits of having only a few hundred posts.

    I looked through all of them to find this one.

    Dang... like I said... failing memory... I remembered it just scant milliseconds before you posted. Thanks, Goldie.

    Some day you have to tell me how you get everyone's name like that. :unsure:

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • RBarryYoung (1/23/2009)


    Some day you have to tell me how you get everyone's name like that. :unsure:

    Heh... It's easy... be good to good people and then ask. 🙂

    To make a longer story shorter, I normally try to write gender agnostic replies when I don't know someone and, one day in a response to "ggraber", I didn't. Goldie had written a fine response and I referenced her response but said "he". She let me know it was actually "she" and, after I asked, she told me her first name. I remembered it for about a month but haven't shared a thread with her in a while and I forgot her name. It was embarrasing that I had, indeed, forgotten the name of a good and fairly frequent poster, but admitted my fault and asked. Being the good person she is, she told me, again.

    Goldie... thanks for understanding... I really appreciate it.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • Jeff Moden (1/24/2009)


    RBarryYoung (1/23/2009)


    Some day you have to tell me how you get everyone's name like that. :unsure:

    Heh... It's easy... be good to good people...

    Hmmm, I never thought of that. 🙂

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • Jeff Moden (1/24/2009)


    To make a longer story shorter, I normally try to write gender agnostic replies when I don't know someone and, one day in a response to "ggraber", I didn't. Goldie had written a fine response and I referenced her response but said "he".

    I find it amusing that people do that to me, even with a photo and my real name in the sig.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • We'll see if Lynn's new photo avatar helps him. Little green guy... lots of wrinkles... you know it's rare that you actually guess what someone looks like from talking to them on a forum, but I must admit, I had this one pegged pretty well.

    Seth Phelabaum


    Consistency is only a virtue if you're not a screwup. 😉

    Links: How to Post Sample Data[/url] :: Running Totals[/url] :: Tally Table[/url] :: Cross Tabs/Pivots[/url] :: String Concatenation[/url]

  • GilaMonster (1/24/2009)


    I find it amusing that people do that to me, even with a photo and my real name in the sig.

    I guess that's because Gail is used both as boy's and a girl's name.

  • I hope I haven't offended anyone or embarrassed myself by choosing a pronoun of the wrong gender.[p] It strikes me that one way to avoid that would be not only to embrace gender-neutral language, but also to address the point made in a post rather than the person who made it. It certainly helps to identify which post you're talking about, but once done, just refer to the content rather than the author.[/p][font="Arial"][font="Arial"][font="Arial"][font="Arial"][font="Arial"][font="Arial"][/font][/font][/font][/font][/font][/font]

  • Goldie Graber (1/24/2009)


    GilaMonster (1/24/2009)


    I find it amusing that people do that to me, even with a photo and my real name in the sig.

    I guess that's because Gail is used both as boy's and a girl's name.

    I can't say that I have ever heard of "Gail" as a man's name.

    I knew a man named "Gayle" once and I have heard of "Gale" as a man's name, but never with the spelling "Gail".

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

  • GSquared (1/20/2009)


    Jeff, I think the basic point of such questions is that data sequentiality matters in some cases, and it's something that SQL (and relational databases in general) are supposed to ignore.

    I'd just call it a sequentiality issue, if you're looking for a name for it.

    Depending on the specific situation, it might have different rules from one time to the next, and it can often be modeled using running totals type calculations, but it can vary for specific rules.

    I like this response:)

    'Sequentiality' matters. Yes. And what are we really talking about here? We're talking about 'order'. The rows of a table can matter in a specific Order. And how does this square with the idea of table where order shouldn't matter, where only values matter? The rows of a table in a specific order is the province of a 'cursor'. The cursor concept is a significant one in sql-99 OLAP, ie. window analytic functions. All these functions, ie. row_number() etc., imply a cursor over a table in a specific order. This is the primary reason the value from the function cannot be directly accessed in a where statement. This would be nice:

    SELECT bla,ROW_NUMBER()OVER(ORDER BY FRIEGHT) AS ROWNUM

    FROM ORDERS

    WHERE ROWNUM<5

    But this can't be done. A cursor has to be opened on the 'entire' table before a value from the function can be used. That's why a derived table is required

    SELECT *

    FROM.

    (SELECT bla,ROW_NUMBER()OVER(ORDER BY FRIEGHT) AS ROWNUM

    FROM ORDERS) AS FOO

    WHERE ROWNUM<5

    There is no conflict with the idea of a relational database and order.

    The conflict is in asking for order from the wrong 'type'. The place of order and values, cursors and tables, is fundamental to the idea of types in a relational system. It's the basis of this article:

    "The Sql ranking OVERture"

    http://beyondsql.blogspot.com/2008/04/sql-ranking-overture.html

    www.beyondsql.blogspot.com

  • I understand where you're coming from, but I think the gist of this thread is more related to the reason behind the desire to see order, because what Jeff has been running into; along with most of the rest of us; are truly STRANGE sequences - things from which the need for ORDER has no apparent business reason basis, and in most situations, is a rather obvious case of not enough data being gathered at the appropriate time, or the wrong data being gathered - in other words, a design issue associated with failure to think. What Jeff was hoping for was some kind of GOOD ANSWER to the question of WHY.

    Despite numerous pages, this thread was a dead horse from nearly the git go - we've beat it to death and are no closer to a GOOD reason than when we started, and most appear to agree that much of that kind of grief comes from thinking failures resulting in design or data gathering failures. Ultimately, that's just carelessness, and it often matters not that there's no good way to fix it, nor any desire to do so. We just get stuck HAVING to create something from nearly nothing.

    Steve

    (aka smunson)

    :):):)

    rog pike (1/24/2009)


    GSquared (1/20/2009)


    Jeff, I think the basic point of such questions is that data sequentiality matters in some cases, and it's something that SQL (and relational databases in general) are supposed to ignore.

    I'd just call it a sequentiality issue, if you're looking for a name for it.

    Depending on the specific situation, it might have different rules from one time to the next, and it can often be modeled using running totals type calculations, but it can vary for specific rules.

    I like this response:)

    'Sequentiality' matters. Yes. And what are we really talking about here? We're talking about 'order'. The rows of a table can matter in a specific Order. And how does this square with the idea of table where order shouldn't matter, where only values matter? The rows of a table in a specific order is the province of a 'cursor'. The cursor concept is a significant one in sql-99 OLAP, ie. window analytic functions. All these functions, ie. row_number() etc., imply a cursor over a table in a specific order. This is the primary reason the value from the function cannot be directly accessed in a where statement. This would be nice:

    SELECT bla,ROW_NUMBER()OVER(ORDER BY FRIEGHT) AS ROWNUM

    FROM ORDERS

    WHERE ROWNUM<5

    But this can't be done. A cursor has to be opened on the 'entire' table before a value from the function can be used. That's why a derived table is required

    SELECT *

    FROM.

    (SELECT bla,ROW_NUMBER()OVER(ORDER BY FRIEGHT) AS ROWNUM

    FROM ORDERS) AS FOO

    WHERE ROWNUM<5

    There is no conflict with the idea of a relational database and order.

    The conflict is in asking for order from the wrong 'type'. The place of order and values, cursors and tables, is fundamental to the idea of types in a relational system. It's the basis of this article:

    "The Sql ranking OVERture"

    http://beyondsql.blogspot.com/2008/04/sql-ranking-overture.html

    www.beyondsql.blogspot.com

    Steve (aka sgmunson) 🙂 🙂 🙂
    Rent Servers for Income (picks and shovels strategy)

  • smunson (1/24/2009)


    I understand where you're coming from, but I think the gist of this thread is more related to the reason behind the desire to see order, because what Jeff has been running into; along with most of the rest of us; are truly STRANGE sequences - things from which the need for ORDER has no apparent business reason basis, and in most situations, is a rather obvious case of not enough data being gathered at the appropriate time, or the wrong data being gathered - in other words, a design issue associated with failure to think. What Jeff was hoping for was some kind of GOOD ANSWER to the question of WHY.

    Despite numerous pages, this thread was a dead horse from nearly the git go - we've beat it to death and are no closer to a GOOD reason than when we started, and most appear to agree that much of that kind of grief comes from thinking failures resulting in design or data gathering failures. Ultimately, that's just carelessness, and it often matters not that there's no good way to fix it, nor any desire to do so. We just get stuck HAVING to create something from nearly nothing.

    Couldn't have said it better myself. Spot on, Steve.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • [font="Verdana"]Okay, not exactly sure this is related. I await correction with trepidation. However...

    In a company that shall not be named for which I had the misfortune to work for a little over a year ago as their "data architect" (before I realise that this was a political position and they actually wanted someone to pat them on the back and say "yes, everything is fine, even though your data is crap and your performance sucks"), I made the following suggestion as an architecture. But first, some backfill.

    The company receives product orders from all sorts of places. Orders contain items with quantities against them. Some details are held against the order (due date, who made the order, the shipment address, etc) and some against the items (quantity, discounts, price, etc). But the list of items have no inherent sequence, other than that they appear on the same order.

    The existing software would create an order entry. It would then post the order lines row by agonising row (where have I heard that before?) Business logic fired by trigger on the order, and on every order lines, recalculating totals for the order each time. At the end of posting, depending on some criteria (such as stock availability), the entire order could then be rejected and rolled back.

    I proposed that we pass the entire order to the database as a whole within an XML string. The procedure could then insert one order, all of the order lines (as a set), and then do the necessary business logic. All of that could be done in one transaction so a rollback could still be generated if need be, but I worked out that the order could be rejected before posting.

    Now, within the XML string, the order lines still had no sequence. However, when I posted them to the database, I needed them to have an order line number starting from one. Easy.

    Except, someone suggested that for our bulk orders, we could pass the entire set of orders as one XML string. So now I had to post multiple orders, containing order lines, that needed to be given a sequence starting from one for each order.

    Then the entire thing got thrown out of the window by the "enterprise architect" because (and I quote, no joke) "it is a change."

    So in retrospect, you're right... there is no business case for this. 😛

    [/font]

  • GilaMonster (1/24/2009)


    Jeff Moden (1/24/2009)


    To make a longer story shorter, I normally try to write gender agnostic replies when I don't know someone and, one day in a response to "ggraber", I didn't. Goldie had written a fine response and I referenced her response but said "he".

    I find it amusing that people do that to me, even with a photo and my real name in the sig.

    Heh... just had to revisit this... photo isn't working for you on the gender thing anymore... 😉

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

Viewing 15 posts - 76 through 90 (of 94 total)

You must be logged in to reply to this topic. Login to reply