Are the posted questions getting worse?

  • Lynn Pettis - Tuesday, November 21, 2017 1:17 PM

    How about uninstalling a SQL Server instance from the wrong server?
    Been there, done that.

    Heh - you win.  I hope it wasn't production.

  • Ed Wagner - Tuesday, November 21, 2017 1:28 PM

    Lynn Pettis - Tuesday, November 21, 2017 1:17 PM

    How about uninstalling a SQL Server instance from the wrong server?
    Been there, done that.

    Heh - you win.  I hope it wasn't production.

    Semi-production, if that makes sense.  It was a database server used by our department at the school district.

  • Hugo Kornelis - Tuesday, November 21, 2017 10:57 AM

    GilaMonster - Tuesday, November 21, 2017 10:23 AM

    Ed Wagner - Tuesday, November 21, 2017 5:34 AM

     why tempdb shows up later - I'm thinking it depends on how long it takes to create the files and size them up to the initial size.

    The only time the TempDB files are created is if they don't exist. Otherwise they're resized and the contents of Model are copied across (mostly, don't put several GB of tables into model)

    Are you sure?

    Yes.

    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
  • GilaMonster - Tuesday, November 21, 2017 10:23 AM

    Ed Wagner - Tuesday, November 21, 2017 5:34 AM

     why tempdb shows up later - I'm thinking it depends on how long it takes to create the files and size them up to the initial size.

    The only time the TempDB files are created is if they don't exist. Otherwise they're resized and the contents of Model are copied across (mostly, don't put several GB of tables into model)

    I vaguely remember someone proving that with code (I don't remember if it was you or Paul Randal) but wouldn't that still require Model to be started before TempDB?

    --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)

  • Shifting gears a bit... I get a lot of spam from recruiters.  Some of them are trying to be helpful and one of them sent an email about "WHAT TRAITS DO THE BEST ENGINEERS HAVE IN COMMON?" and then provided links to the article... the links don't work.  😉  Some great "engineering" happening there!

    I also get a kick out of people that claim titles such as "Software Engineer"... most of them have no clue what the title of "Engineer" actually requires.  You could have 72 certifications and a PHD in computer science/programming and still not qualify as an "Engineer".  It's like the great dilution of what DBA actually means but far worse.

    --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)

  • I also get a kick out of people that claim titles such as "Software Engineer"... most of them have no clue what the title of "Engineer" actually requires.  You could have 72 certifications and a PHD in computer science/programming and still not qualify as an "Engineer".  It's like the great dilution of what DBA actually means but far worse.

    Jeff Moden - Wednesday, November 22, 2017 9:53 AM

    You've triggered one of my "go" buttons" there, Jeff.

    There are a lot of so-called "software engineers" who haven't a clue about engineering (and quite a few of them know very little about software either) in the UK because the term "engineer" is not protected by law.  The UK's Engineering Council and the various Engineering learned societies have decided it's not worth trying to get the term "engineer" protected because legislation doesn't change language and to the vast majority of English speakers in the UK an engineer is a person who wears overalls and wields an oily rag and an adjustable spanner as the main tools of his trade.  So insted we protect the phrases "Incorporated Engineer", "Chartered Engineer", and "European Engineer" and all the obvious variants like "Incorporated Electrical Engineer" and "Chartered Civil Engineer" and so on, and I can't remember  "Engineering Technician"; European Engineer (usually abbreviated to Eur Ing) is a qualification recognised throughout Europe, and is administered by FEANI ( Fédération Européenne d'Associations Nationales d'Ingénieurs).    There are quite a lot of Brits in computing (hardware or software, or both) who are formally qualified as engineers, but we don't call ourselves "software engineers" because the phrase is associated with people who write and/or design terrible code and have no idea what engineering is.

    I don't know how to stop non-engineers calling themselves "software engineers".   But I do recall ICL deciding that all staff doing research and/or development in hardware and/or software and/or any other branch oc computing were required to become full professional members of an appropriate engineering institute before getting far up the payscale, and requiring people at my level back then to be recognised as qualified engineering mentors by an appropriate engineering institution - and preparing people for formal qualification as an engineer was great fun when the people wanted to get there and sheer hell when stuck with some idiot who thought that his/her CS or whatever degree meant he/she already knew it all.   Many years earlier I had decided my maths degrees weren't enough if I seriourly wanted to do engineering in computing and sat the exam set by the British Computing Society (pass with no problem)  the contrast betwen that and the know-it-lls who thought they could be engineers just because they had a first degree in a non-engineering subject really shocked me.

    Tom

  • Jeff Moden - Wednesday, November 22, 2017 9:53 AM

    ...I also get a kick out of people that claim titles such as "Software Engineer"... most of them have no clue what the title of "Engineer" actually requires.  You could have 72 certifications and a PHD in computer science/programming and still not qualify as an "Engineer".  It's like the great dilution of what DBA actually means but far worse.

    Maybe I'm just in a silly mood with the holiday coming up, but this engineer talk just makes me think of that episode from the Beverly Hillbillies where uncle Jed made a comment about all the engineering jobs in the help wanted section of the newspaper "I always knew the railroads where going to take over"

  • Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

  • Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    yep... that's the way I was taught it too.

  • Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    Correct. Well, except that you should normalize up to 5NF before you start denormalization.
    Many people in the world appear to confuse "de-normalized" with "non-normalized"


    Hugo Kornelis, SQL Server/Data Platform MVP (2006-2016)
    Visit my SQL Server blog: https://sqlserverfast.com/blog/
    SQL Server Execution Plan Reference: https://sqlserverfast.com/epr/

  • Hugo Kornelis - Wednesday, November 22, 2017 3:06 PM

    Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    Correct. Well, except that you should normalize up to 5NF before you start denormalization.
    Many people in the world appear to confuse "de-normalized" with "non-normalized"

    Well, I was using 3NF as an example.  I would also think it would be dependent on the complexity of the data being modeled as well.  Not sure I would go to 5NF for a simple database system.  Thinking about it, I really think it depends on the data anomalies you encounter during the process.  If I remember correct the order of normalization is 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF.  After 3NF I have a hard time remembering what data anomalies you are overcoming.  I would actually have to look those up.

  • Lynn Pettis - Wednesday, November 22, 2017 3:14 PM

    Hugo Kornelis - Wednesday, November 22, 2017 3:06 PM

    Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    Correct. Well, except that you should normalize up to 5NF before you start denormalization.
    Many people in the world appear to confuse "de-normalized" with "non-normalized"

    Well, I was using 3NF as an example.  I would also think it would be dependent on the complexity of the data being modeled as well.  Not sure I would go to 5NF for a simple database system.  Thinking about it, I really think it depends on the data anomalies you encounter during the process.  If I remember correct the order of normalization is 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF.  After 3NF I have a hard time remembering what data anomalies you are overcoming.  I would actually have to look those up.

    What brought on the sudden self doubt Lynn?

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk

  • Thom A - Wednesday, November 22, 2017 3:20 PM

    Lynn Pettis - Wednesday, November 22, 2017 3:14 PM

    Hugo Kornelis - Wednesday, November 22, 2017 3:06 PM

    Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    Correct. Well, except that you should normalize up to 5NF before you start denormalization.
    Many people in the world appear to confuse "de-normalized" with "non-normalized"

    Well, I was using 3NF as an example.  I would also think it would be dependent on the complexity of the data being modeled as well.  Not sure I would go to 5NF for a simple database system.  Thinking about it, I really think it depends on the data anomalies you encounter during the process.  If I remember correct the order of normalization is 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF.  After 3NF I have a hard time remembering what data anomalies you are overcoming.  I would actually have to look those up.

    What brought on the sudden self doubt Lynn?

    Just some former MVP espousing normalization and his never wills in the same breath.

  • Lynn Pettis - Wednesday, November 22, 2017 3:14 PM

    Hugo Kornelis - Wednesday, November 22, 2017 3:06 PM

    Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    Correct. Well, except that you should normalize up to 5NF before you start denormalization.
    Many people in the world appear to confuse "de-normalized" with "non-normalized"

    Well, I was using 3NF as an example.  I would also think it would be dependent on the complexity of the data being modeled as well.  Not sure I would go to 5NF for a simple database system.  Thinking about it, I really think it depends on the data anomalies you encounter during the process.  If I remember correct the order of normalization is 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF.  After 3NF I have a hard time remembering what data anomalies you are overcoming.  I would actually have to look those up.

    BCNF should have no place in your list.  First, it isn't always achievable, and attempts to achieve it when it can't be done can introduce rather nasty messes.  Even when it can be done, there is no known algorithm for generating the schema in a reasonable time - all known algorithms are computationally very expensive (and it can be computationally expensive to discover that BCNF can't represent teh functional dependencies).  It makes sense to replace BCNF with EKNF, which is a significant improvement on 3NF and is as easy to generate as is 3NF (Bernstein's algorithm, which was devised and is taught and commonly used as a means of generating 3NF, generates EKNF ).  Also, all higher  normal forms should be required to support EKNF (and should not be required to support BCNF). 
    It's been know that BCNF is somewhat broken since about 1979. EKNF was defined and propsed as an alternative to BCNF in 1982, and the ease of generation and handling of many dependencies that could not be handled using BCNF was known from the start.   And I've been plugging EKNF in various discussions here at SqlServerCentral for somewere between 7 and 9 years.

    Tom

  • TomThomson - Wednesday, November 22, 2017 4:25 PM

    Lynn Pettis - Wednesday, November 22, 2017 3:14 PM

    Hugo Kornelis - Wednesday, November 22, 2017 3:06 PM

    Lynn Pettis - Wednesday, November 22, 2017 1:37 PM

    Was I taught wrong regarding normalization?  I was taught that you normalize to a point, say 3NF, then de-normalize where appropriating knowing the trade-offs and possible issues that you would need to account for in the design.

    Correct. Well, except that you should normalize up to 5NF before you start denormalization.
    Many people in the world appear to confuse "de-normalized" with "non-normalized"

    Well, I was using 3NF as an example.  I would also think it would be dependent on the complexity of the data being modeled as well.  Not sure I would go to 5NF for a simple database system.  Thinking about it, I really think it depends on the data anomalies you encounter during the process.  If I remember correct the order of normalization is 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, 6NF.  After 3NF I have a hard time remembering what data anomalies you are overcoming.  I would actually have to look those up.

    BCNF should have no place in your list.  First, it isn't always achievable, and attempts to achieve it when it can't be done can introduce rather nasty messes.  Even when it can be done, there is no known algorithm for generating the schema in a reasonable time - all known algorithms are computationally very expensive (and it can be computationally expensive to discover that BCNF can't represent teh functional dependencies).  It makes sense to replace BCNF with EKNF, which is a significant improvement on 3NF and is as easy to generate as is 3NF (Bernstein's algorithm, which was devised and is taught and commonly used as a means of generating 3NF, generates EKNF ).  Also, all higher  normal forms should be required to support EKNF (and should not be required to support BCNF). 
    It's been know that BCNF is somewhat broken since about 1979. EKNF was defined and propsed as an alternative to BCNF in 1982, and the ease of generation and handling of many dependencies that could not be handled using BCNF was known from the start.   And I've been plugging EKNF in various discussions here at SqlServerCentral for somewere between 7 and 9 years.

    I would not put it that sttrongly. Sure, BCNF is not always achievable. But very often, it is; so why remove it from a list? Also, though there are cases where BCNF is not achievable yet EKNF is *and* is different from 3NF, they are rare edge cases; I say that EKNF is more of interest to academics than in the real world. Wen BCNF is achievable, use it to remove some potential anomalies from your schema. When BCNF is not achievable, then document the anomalies and use code to prevent them because the database can't; calling the schema EKNF is nice and all but does not fix the anomalies.
    (Also, if you kick out BCNF you are effectively kicking out all the higher forms, since they all imply BCNF. Yet if my database has one or two tables where BCNF is not possible, I should still look for potential 4NF and 5NF violations).


    Hugo Kornelis, SQL Server/Data Platform MVP (2006-2016)
    Visit my SQL Server blog: https://sqlserverfast.com/blog/
    SQL Server Execution Plan Reference: https://sqlserverfast.com/epr/

Viewing 15 posts - 60,466 through 60,480 (of 66,610 total)

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