Learning SQL on SQL Server 2005
khorner writes "I joined a local XP User Group in May of this year. As the IT Manager of Application Development for a 90+ year old agricultural cooperative, I'm introducing the concepts of agile development and need the support. Right off the bat, we've acquired some review copies of books and I volunteered for the O'Reilly book: Learning SQL on SQL Server 2005. I have been working with various versions of Microsoft SQL Server since 1999, so I figured I could give it a go." Read the rest of Kevin's review.
Learning SQL on SQL Server 2005
author
Sikha Saha Bagui & Richard Walsh Earp
pages
325
publisher
O'Reilly
rating
4
reviewer
Kevin Horner
ISBN
0596102151
summary
The organization and inconsistencies take away from the value of the book as a whole
Historically, I've found the O'Reilly books to be great references for professional programmers. I began with David Flanagan's Javascript: The Definitive Guide -- I think it was the 3rd edition. I enjoyed them for their reference value as well as business-oriented examples. Learning SQL on SQL Server 2005 does not, in my opinion, follow the mold I have become accustomed to from O'Reilly.
Learning SQL on SQL Server 2005 covers many of the topics necessary to introduce relational databases to the beginner. It is based on the authors' university course curriculum and it is evident with the review questions including with each chapter.
The authors cover important topics at an adequate depth for its target audience; however the organization needs some work. The first six chapters flip-flop across what I consider to be logical boundaries in a discussion on database development: schema versus data. Tools are a platform dependent subject necessary to discuss implementation.
The database provided could use some refactoring to get to a more cohesive and production level design. Not to be nitpicking, but as an example, equivalent domain level attributes for example, student number, are represented across tables as different column names. This is the attention to detail that drives me nuts on the professional level.
Chapter 1 sets the tone by touching multiple concepts and incorporates a smothering of screenshots. Over the first 25 pages (half being images and query result tables) we load the demo database, modify it, select from it, and cover to the Management Studio's syntax color coding and customization. Quite a lot to start off with for a novice, all with the assumption MS SQL 2005 is installed and ready to go.
Chapter 2 jumps into simple data selection of a single table and briefly hits the new MS SQL 2005 concept of synonyms.
Chapter 3 tries to focus on the schema oriented topic of table creation but falls short when jumping over to data topics like INSERT, UPDATE and DELETE. There is good coverage of data types, but we don't cover any design concepts of why we create tables and considerations for doing so. To the authors' defense, they state this is not a book on theory, but I think some level of theory is an important aspect to learn SQL.
Chapter 4 introduces the data selection concept of table joins and to do so, introduces the schema concept of keys.
Chapter 5 provides good coverage on internal functions for strings and dates and sets the foundation for more advanced queries.
Chapter 6 takes the reader through a logical process of developing a complex query. This is a good example process of taking a simple query and developing it further to satisfy a business need. Unfortunately, we experience some more inconsistency when we develop a join query using the WHERE clause - an inefficient and undesirable method the authors' discussed in chapter 4. Again, we jump from data concepts to schemas when we hit views and temp tables.
Chapter 7 through 10 present set operations, sub queries, and aggregate functions in a progressively logical manner. It would have been nice to have this progression prior to Chapter 6 and incorporate the concepts in the query development.
Chapter 11 throws in a thin coat of an introduction to table indexes and constraints: the final jump across topics.
Overall, the book provides an introduction to SQL topics. In my opinion, the organization and inconsistencies take away from the value of the book as a whole. If SQL is your profession (or you want it to be), with a list price of $44.99, Celko's SQL for Smarties is the better investment.
You can purchase Learning SQL on SQL Server 2005 from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Historically, I've found the O'Reilly books to be great references for professional programmers. I began with David Flanagan's Javascript: The Definitive Guide -- I think it was the 3rd edition. I enjoyed them for their reference value as well as business-oriented examples. Learning SQL on SQL Server 2005 does not, in my opinion, follow the mold I have become accustomed to from O'Reilly.
Learning SQL on SQL Server 2005 covers many of the topics necessary to introduce relational databases to the beginner. It is based on the authors' university course curriculum and it is evident with the review questions including with each chapter.
The authors cover important topics at an adequate depth for its target audience; however the organization needs some work. The first six chapters flip-flop across what I consider to be logical boundaries in a discussion on database development: schema versus data. Tools are a platform dependent subject necessary to discuss implementation.
The database provided could use some refactoring to get to a more cohesive and production level design. Not to be nitpicking, but as an example, equivalent domain level attributes for example, student number, are represented across tables as different column names. This is the attention to detail that drives me nuts on the professional level.
Chapter 1 sets the tone by touching multiple concepts and incorporates a smothering of screenshots. Over the first 25 pages (half being images and query result tables) we load the demo database, modify it, select from it, and cover to the Management Studio's syntax color coding and customization. Quite a lot to start off with for a novice, all with the assumption MS SQL 2005 is installed and ready to go.
Chapter 2 jumps into simple data selection of a single table and briefly hits the new MS SQL 2005 concept of synonyms.
Chapter 3 tries to focus on the schema oriented topic of table creation but falls short when jumping over to data topics like INSERT, UPDATE and DELETE. There is good coverage of data types, but we don't cover any design concepts of why we create tables and considerations for doing so. To the authors' defense, they state this is not a book on theory, but I think some level of theory is an important aspect to learn SQL.
Chapter 4 introduces the data selection concept of table joins and to do so, introduces the schema concept of keys.
Chapter 5 provides good coverage on internal functions for strings and dates and sets the foundation for more advanced queries.
Chapter 6 takes the reader through a logical process of developing a complex query. This is a good example process of taking a simple query and developing it further to satisfy a business need. Unfortunately, we experience some more inconsistency when we develop a join query using the WHERE clause - an inefficient and undesirable method the authors' discussed in chapter 4. Again, we jump from data concepts to schemas when we hit views and temp tables.
Chapter 7 through 10 present set operations, sub queries, and aggregate functions in a progressively logical manner. It would have been nice to have this progression prior to Chapter 6 and incorporate the concepts in the query development.
Chapter 11 throws in a thin coat of an introduction to table indexes and constraints: the final jump across topics.
Overall, the book provides an introduction to SQL topics. In my opinion, the organization and inconsistencies take away from the value of the book as a whole. If SQL is your profession (or you want it to be), with a list price of $44.99, Celko's SQL for Smarties is the better investment.
You can purchase Learning SQL on SQL Server 2005 from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Desperation leads some people to do strange things.
How qualified are you to read a learner's guide to SQL using SQL server when you have been using both for around seven years now? You aren't exactly the target audience...
Why does the API for the databases suck so much? I've been using ADO.net with C# .NET 2.0 on SQL 2005, and why must I use the arcane and shitty SQL language to save my web objects in a datafile? Isn't there an option somewhere between writing 25 lines of SQL code for each action for each object (either in code or in a SPROC), and managing the files myself on the local HD, which most webhosts won't allow? How about a nice simple DBObject that my other objects can inherit from, that provides a nice 'SaveAllInTable(String table)' method, that replaces the INSERT INTO VALUE for each )*(&%# variable in my object? (and other similar SQL wrapper methods...I guess I could write that, but it would be a PITA, and that's what APIs are for, anyways!) Unless there's a good C# SQL wrapper that I don't know about...the datatable and datagrid isn't useful for anything more than displaying a raw table, something that a webapp usually shouldn't do, anyways...Of course, streamreader and streamwriters aren't much better, perhaps we need a good shared file i/o api that's better than SQL?
I was still in High School, I had a big cock and was horny all the time, jerked off at least 3 times a day. My body is small and slim with very little hair, 5"4",125lbs. My fat cut 7" cock looked huge on me. I had been jerking off thinking about gay sex lately, I was very turned on by the fantasy of having sex with an older man, and having a cock in my ass.
I got a job working after school and weekends at a antique shop, it was ran by 2 older gay gentleman, very nice gentleman who were always flirting and teasing me. An older very distinguished looking handsome customer came in the store, he was a silver haired fox who looked like he had money.
The owners knew him well, he bought a small end table and asked the owners if I could help him unload it at his house, I thought this was kind of suspicous since it didn't weigh much but my horniness and curiousity made me jump at the chance. We rode in his SUV to a big house in a ritzy neighborhood and I carried the end table into his house. He gave me a tour, it was huge and very nice, there was an indoor hot tub and he asked me if I wanted to soak for a while, I told him I didn't have a swim suit and he laughed and told me I could go without, he always did.
I was getting turned on so I started to undress, my tank top came off first and my back was turned to him and I pulled down my cutoffs, no underwear and bent over to finish removing my cutoffs, it was a turn on to expose my ass to him, he watched me climb into the hot tub, my cock was rock hard. I watched him take off his shirt, he had a sexy chest covered with silver hair, he pulled down his pants and underwear in one motion exposing a beautiful 8" cut cock, very fat. We sat in the tub for five minutes talking, he asked me if I wanted a massage, I moved over close to him with my back to him and sort of sat on his lap, I could feel that big cock, I started moving my ass around until it was between my cheeks, I moved up and down, it felt so hot, made my asshole spasm. He was rubbing my shoulders and back, he reached around and started massaging my inner thighs making my cock twitch, finally he started stroking my cock, I was so turned on it was all I could do not to cum. He had me stand up and started tonguing my ass while stroking my cock, I was in pleasure overload and exploded cum after about two minutes of this.
We went into his bedroom, still naked and dried off, he put his hands on my shoulders and gently pushed me to my knees, grabbed the back of my head and guided me to his cock. I sucked on it hungrily feeling it get harder in my mouth, when he was rock hard he guided me to the bed and had me lay on my stomach. He ate my ass again this time harder, getting his tongue up inside me, this made my cock hard again, I relaxed and felt my boypussie open up. Next he slowly inserted one of his fingers , it kind of hurt at first but then I started to love the feeling. Two fingers was next with some lube, he two finger fucked me for along time, I loved how it felt, like I was getting stretched. I was moaning and moving my ass up and down.
He stopped and put his big cock back in my mouth, I sucked him for maybe a minute and he pulled out and rolled on a condom, had me get down doggie style got behind me and pushed that big cock head against my tight hole. He slowly pushed, I thought it was to big and would never fit, all of a sudden it popped in, the sensation took my breath away, it felt so huge and it hurt a little, but I was starting to relax and it was feeling better by the second.
He slowly pushed in until he was deep inside me and moved in and out very slowly to start with, it still burned but the thought of getting fucked, having a big cock inside me was such a turn on.
He fucked me for a long time, after I got used to it and fully relaxed the feeling was pure pleasure. My cock was rock hard.
The pace got faster and harder, finally I came again, without even touching my cock, such intense pleasure. He came and stayed inside me, I layed flat on my stomch with him still inside me, he slowly went limp, slipped out of me and rolled off me.
heads on! apply directly to the forehead!
"I joined a local XP User Group in May of this year."
On purpose?
Many different vendors make DBMS services that speak SQL.... What product is this talking about?
I've had enough abrasive sigs. Kittens are cute and fuzzy.
I think he's in desperate need of this:
SQL on Rails
Learning to drive a car by riding a bicycle. Sure it's totally different and the bicycle doesn't require you to follow any of the standards but it still gets you somewhere...
Save yourself $16.65 by buying the book here: Learning SQL on SQL Server 2005. And if you use the "secret" A9.com discount, you can save an extra 1.57%! That's a total savings of $17.09, or 38.58%!
There are local XP user groups?
when he said this:
" have been working with various versions of Microsoft SQL Server since 1999"
Man... talk about Microsoft winning the marketing war even when the tech is 3rd rate.
Also also question the need for a book on leaning sql that is specific to that bastard version of Sybase that Microsoft sells (the real answer is that PHBs typically sign off on book buys). Sql is sql, stuff that you have to code specific to any particuloar RDBMS is not sql, or at least not standard sql. Why not teach people standard sql before giving them the nonstandard exceptions for "Microsoft SQL Server" or Oracle for that matter? Or just title the book "How to write queries for MS SQL Server 2005"?
The answer probably is that you can't fill a book with "Learning SQL", there just isn't that much to it.
-- your Web browser is Ronald Reagan
(lapses into never-ending coma)
It is a full-featured and low-overhead ORM. Go to http://www.hibernate.org and check out the NHibernate link.
Plus, there are several books avilable from, e.g., O'Reilly, Manning.
He that breaks a thing to find out what it is has left the path of wisdom.
-- J.R.R. Tolkien
Learning SQL on SQL Server 2005 covers many of the topics necessary to introduce relational databases to the beginner.
Something tells me, a book called "Learning SQL" is not going to have much to say about relational databases.
Do yourself a favor, get yourself a copy of Date's "Database in Depth", and learn the fundamentals that apply to all data management.
If there's a single example of Microsoft innovation to point out it'd be LINQ.
Check it out: http://msdn.microsoft.com/data/ref/linq/
The cool thing is that the query language can be adapted to ANYTHING, even Reflection.
...it supported ANSI standard JOIN syntax long before Oracle, for example. (And don't get me started on MySQL which is only _very_ recently following standards.)
I've worked with both, (learnt on Oracle, then worked with MS SQL, and then Oracle, and then back to MS SQL) and honestly, you can learn SQL on whatever you like and your core SQL skills will be completely transferrable between different DBMSes.
While still behind Oracle in many other ways, SQL server 2005 does boast a nicely remade user tools in Management Studio.
I took MS-SQL classes back to back earlier this year with the first one using SQL server 2003 and the 2nd one using 2005 express and the difference was night and day in ease of use.
In 2003 you had to have 2 or 3 different applications up in order to create a table, populate it with data and then view the table data. I was constantly trying to do things in the window which didn't allow that action....Plus transact SQL was like an (even more) retarded version of SQL+
With Management Express it can all be done from the main window -I just wonder why it took them 10 years to figure this out.
there are still some funky aspects of MS-SQL language itself (the GO directive for instance), but this is a great new tool.
Of course now that TOAD works on MS-SQL this may not matter much to database diehards, but I do see signs of Microsoft improving GUIs, simplifying designs and improving usability both here and in VisualStudio.
Too bad they won't be able to do the same for Vista.....
What's the speed of dark?
Reviews provide information about the content of the book beyond the sequence of chapters. The above is called a Table of Contents.
sic transit gloria mundi
There are some great critiques for most database vendors. Where are the UNIX clients for M$ SQL server? Why hasn't Sybase maintained DB & CTlib compatibility with MS no matter the cost? Why hasn't Sybase benchmarked on the POWER5 systems that have clobbered Oracle to prove themselves more scalable than M$ once and for all?
If you are really interested in intelligent Sybase criticism, you might read some Tom Kyte. He started out as a Sybase guy, but is now an Oracle VP.
Comment removed based on user account deletion
Given the bizarre additions; arbitrary constructs; and the non-ANSI (e.g. "illegal") prefetch semantics, well, whatever you end up learning it won't do you a wet-slapp of good if you eventually run up against an actual SQL environment.
[And, yes, this is a little bit of a troll. But having been given the task of trying to "port" a database designed in SQL Server and having discovered just how non-portable it was, I am a tad jaded... 8-)]
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Comment removed based on user account deletion
I mean get a clue. SQL is consise, it works. OBJECTS are not the end all be all, and you are all fools if you think they are!
And you would replace a statement like:
With? You could make it shorter and more concise with an object how? Ohhhhh whate, I know, lets write a 5.8 meg XML parsers to give you what that single line statement gives you so you can output in your freekin piss ass web page?
If you cant buy a clue, then at least borrow one. SQL is a tight little language with a very small amount of overhaed. You get the column names,tyes and sizes then you get the data. But of course with all the code weenies out there that only want pretty pictures, well I guess we have to give them pretty pictures to fumble their way through doing actual database work.
MySQL although not even close to the level of Oracle in terms of scaleability, performance, flexibility and reliability, is a great little SQL engine. Oracle is still the undisputed king of the mountain when it comes to SQL based databases. If M$ hadn't stolen the code from Sybase they would still be wondering around in the dark with their thumbs up their asses.
M$'s security model for their SQL server is an absolute joke. They want us to trust credentials floating around on individual workstations, I mean just how fucking stupid is that?! I dont trust any credentials that come from any desktop system, they are just to week and especialy in the case of M$ just so easy to crack.
Think about it. All I need is an install disk of win2k,winxp,win2k3, physical access and I can clobber any SQL server that relies of the credentials from a local workstation, its just horribly designed and its once again M$'s utterly stupid attempt at global credentials. Its like roaming profiles, a really bad idea that should have been aborted long before it was born.
Rarely does M$ do much of anything correctly because their development is driven by the insanity of people like Balmer who's single objective is "beating THEM", and them is the rest of anyone. Can I run MS-SQL on anything besides a Windows Box? Nope. Can I talk to an SQL server, effectively and efficiantly from any kind of box, nope, not even a windows box.
So now they are screwing it up even more by wrapping it in C#?! What the hell are they thinking? I mean Anders was once my hero, now he is a zero. C# could have been something really cool, but a decent enough idea was totaly shit upon when he decided to go to the dark side and work for M$ and developed it the "Microsoft Way", which as we have all discovered, over the years, its just flat out the worst way ever devised
Hey KID! Yeah you, get the fuck off my lawn!
A few short comments.
And what do you mean with "effectively and efficiantly from any kind of box, nope, not even a windows box". A few examples would be nice.
Please show me how you intend to break into Microsoft SQL Server with a random Windows installer CD. I'm truly intruiged by this, so please provide a few examples.
You seem rather ignorant and zealous, and while I value the opinion of others, I do prefer informed opinions rather than random, uninformed drivel by someone who evidently knows one product only, and bashes everything else for not being that one product.
Not Buzzword 2.0 compliant. Please speak english.