Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×

Beginning SQL Server 2005 Express 92

Graeme Williams writes "Beginning SQL Server 2005 Express Database Applications with Visual Basic Express and Visual Web Developer Express from Novice to Professional is in two parts, "Working with SQL Server Express" and "Working with Visual Basic Express and Visual Web Developer Express". The first part of the book is quite a bit larger (368pp vs. 204pp), so the title, as long as it is, isn't all that accurate. How about, "An introduction to SQL Server 2005 Express, including desktop and web applications in Visual Basic"? The book asks to be judged against a high standard: Can it turn a SQL and Visual Basic novice into a professional? The first part of the book is an excellent introduction to SQL Server in its several manifestations, and essential for anyone who is new to SQL Server 2005 Express. The second part doesn't provide as much help for the complete beginner, but still provides a good introduction to developing database applications." Read the rest of Graeme's review.
Beginning SQL Server 2005 Express Database Applications
author Rick Dobson
pages xxi + 596
publisher Apress
rating 8
reviewer Graeme Williams
ISBN 1-59059-523-8
summary An excellent introduction to SQL Server 2005 Express and a


The first part of Beginning SQL Server 2005 Express, on SQL Server Express, covers a large amount of material. Starting with a basic introduction to SQL, the book builds in two directions, covering more complicated SQL as well as SQL Server Express administration. In 368 pages, you'd naturally expect a fair amount of information, but it's also thorough and well-organized. One test of how well an introductory book is organized is whether you can usefully keep it on your shelf to refer to later, and I think Beginning SQL Server 2005 Express passes that test very well. You can verify the breadth of topics covered by looking at the online table of contents and the author's web site for the book, which is detailed enough to be a very clear summary of what the book covers.

The generous amount of material downloadable from the web site includes all the SQL scripts from part one – these samples alone represent an excellent introduction to SQL (or T-SQL, as Microsoft insists on calling it). There's also a 60-page bonus chapter, not included in the book, on ASP .NET.

The explanation of SQL Server administration is a big bonus for the book, and it clearly lays out the difference between SQL Server 2005 and its smaller brother, the Express Edition, as well as the changes from SQL 2000. While I was reading this book, I had to do some simple database administration on a couple of SQL 2000 databases, one a production server, and the book gave me a very useful head start. If you found yourself upgrading from SQL Server Express to a larger and more complicated SQL Server configuration, Beginning SQL Server 2005 Express wouldn't give you everything you needed to know, but it would provide a good introduction.

Beginning SQL Server 2005 Express was published in December 2005, after the release of Microsoft's SQL Server 2005 Express but while SQL Server Management Studio Express was (and still is) only available as a "Community Technology Preview". I took the risk and installed it, and it seems fine, connecting both to a local instance of SQL Server 2005 Express and a remote SQL Server 2000.

It's inevitable in an introduction that some material be covered too hastily. For example, Dobson suggests that a database constraint could be used to ensure that a purchase amount is less than a particular dollar limit unless an approver name is also present in the database record. But that's a business rule that shouldn't be included in the database schema. At a minimum, the book might have mentioned the distinction. There's a good discussion of data types, which is somewhat weakened by not being prescriptive enough. Should I use the bit data type because they're small and will squeeze into tight spaces, or avoid them because of the unpacking overhead, if any? The book doesn't say.

There's one omission from the book that may trip you up when you try to run some of the Visual Basic examples, specifically code that attempts to attach a database file to the Server. The access privileges for the database server naturally depend on the user id it's running under, and the default installation uses a special Windows account which doesn't have access to your whole system. For running the examples, the simplest (and least secure) solution is to change the user id to your own account, which you can do using the SQL Server Configuration Manager, shown in Figure 1-4 on page 18. I guess the most secure solution is to create a new account whose privileges are limited to a specific directory, but I'm certainly not an expert in this area. Beginning SQL Server 2005 Express doesn't discuss it at all.

The second part of Beginning SQL Server 2005 Express, "Working with Visual Basic Express and Visual Web Developer Express", begins with a superficial introduction to Visual Basic. The problem is that it won't be enough for people who are new to Visual Basic, and it's not necessary for people who are familiar with it. The examples are solid but not outstanding.

Example 5 in Chapter 9, "Introduction to Visual Basic Express and Windows Forms", provides a nice example of a landmine Microsoft has laid in our path: In a Windows application, Console.WriteLine() writes to the Output->Debug window, but Debug.WriteLine() writes to the Immediate window. The example would have been easier to follow if that gem had been explained. But like the rest of the book, there's a lot of useful information in the chapter. I guess my only quibble is that in using "Novice" in the title, the book promises more than it delivers, at least in this area. This isn't suitable for a beginner to Visual Basic.

Like many other books about Visual Basic Express, Beginning SQL Server 2005 Express has a couple of chapters about building web sites using ASP .NET. It seems to me that Microsoft wants Visual Basic Express and SQL Server Express (both of which are free) to be gateway drugs to ASP .NET and IIS. The book repeats the canard that IIS is a free web server for Windows 2000, Windows XP and Windows 2003, but that's not true. IIS is included in Windows XP Professional but not Windows XP Home. In any case, Microsoft would love to get you hooked on IIS.

The other problem with ASP .NET is that so much of the action is behind the curtain. So, any example is going to have a sequence of steps in the web page designer, and perhaps a small amount of code or HTML, followed by magic, followed a web page being generated. I have nothing against magic, but it means that any narrative or explanation of examples is going to jump from "what you do at design time" to "what happens at run time" with a greater or lesser gap in the middle. Here's an example (page 565):
Normally, a False setting for the AutoPostBack property of a server-based control, such as TextBox1, does not let the control operate automatically after you commit a value to it. However, a special setting on a Define Parameters wizard screen causes TextBox1 to return its value to the server immediately after a user presses the Enter key on the keyboard. The Define Parameters wizard screen is one of series that you can pass through when you reconfigure a data source with a wizard.
Dobson actually does a great job of navigating this particular example, in the sense that he makes it clear what incantations will produce the desired effect – submitting a single value to the server for use in a database query(!).

The rest of part two deals with Visual Basic and ADO .NET, starting with a good introduction to the ADO .NET architecture As in the first part of the book, Dobson does a very good job of presenting a great deal of very useful information. ADO .NET includes two different APIs, an untyped API where column names and types can be determined at runtime by querying the database, and a strongly typed API constructed by the Visual Studio IDE at design time. The IDE reads column names and types from the database and builds an XML description it uses to build and type an API specific to each table. Dobson presents the more complicated untyped API first, which I think is the right approach, since it then makes clear what the IDE and runtime libraries are doing under the covers to manage the typed API.

The Visual Basic examples include connecting to both SQL Server and Access, parsing data out of a text file or Excel, handling concurrency errors, and a very thorough walk-through of the usual suspects: creating and deleting tables and inserting, updating and deleting rows, from a single table or multiple tables. The examples are great at making clear how ADO and related parts of .NET work, but they didn't strike me as brilliant code – not necessarily the sort of thing you want to keep to cut and paste into your next project.

In my opinion, Beginning SQL Server 2005 Express is stronger in the area of SQL Server than it is for application development. If, like me, you're comfortable with Visual Basic but new to SQL Server, run to the bookstore – for you, this book is a 9. If you're familiar with SQL Server 2000 administration but looking to start implementing applications in the latest version of Visual Basic, check out the table of contents online. You'll find a lot to like, even if the book doesn't match your needs perfectly."


You can purchase Beginning SQL Server 2005 Express Database Applications from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
This discussion has been archived. No new comments can be posted.

Beginning SQL Server 2005 Express

Comments Filter:
  • MDE (Score:3, Funny)

    by Amouth ( 879122 ) on Wednesday April 05, 2006 @03:03PM (#15069394)
    if it turns out to be anything like the MSDE2000 then it is nothing more than a nightmare waiting to happen.. and no one should write a book about how to use it.

    on the other hand>>

    another slashdot book review with score 8... nothing to see here
    • Re:MDE (Score:2, Interesting)

      by Anonymous Coward
      I've been using MSDE for 5 years on 300 laptops and it works great! No corruption, good performance. Not to mention it is a real database, with triggers, stored procedures, and a really complete SQL implementation. When we selected it, MySQL did not have even the most basic features of a complete SQL implementation. It might now, but MS SQL Express is fast, stable, and free - why switch?
      • If you want something with all the features, try PostgreSQL. If you want a reason for choosing MySQL or Postgres, how's about running it on a bunch of different operating systems, or actually getting your software upgraded more often then once every 5 years.
        • > If you want something with all the features, try PostgreSQL.

          Right on. I'm using it for a Rails/Jabber backend [blogs.com]; very solid.
        • or actually getting your software upgraded more often then once every 5 years.

          Oh, I love this. When the new MS Office release is discussed, everyone is saying each new release is released just to force people to spend money on an upgrade. Some laughers actually suggested that Office97 was better than subsequent releases. For some reason, when MS doesn't upgrade as frequently, that's all wrong too.

          I love the smell of bias in the morning...

          • The difference is what MS Charges for the upgrades. You can upgrade your copy of PostGres/MySQL/Openoffice for free. With MS, you pay $500 for an office suite, and don't get any new features for the next 5 years. You're lucky if you get all the bugs fixed. I find it appauling how much MS charges for their software, especially with the low level of support you get. The MS equivalent of the open source alternative, is usually 3x that of the competition, and for paying that extra money, you get less freque
      • Firebird did all that and more. It still does. You should have done a tiny little bit of research before deciding your only choices were mysql and MSDE.
    • by Anonymous Coward
      "if it turns out to be anything like the MSDE2000 then it is nothing more than a nightmare waiting to happen.. and no one should write a book about how to use it."

      That's the spirit. Up next the latest Linux distro is like the very first Slackware. Now aren't you glad you didn't have to sit through my review?
    • Any specifics on the nightmare? We use MSDE all over the place and it works great, provided your sysadmins aren't the sort who install server grade database engines with network access enabled and root passwords blank.
      • Personaly i have seen way to many software vendors that use it as their back end when distrbuting software and do not inform people that they need to install patchs for the MSDE or they don't bother to rereleast the patchs them selfs..

        doesn't any one remember slammer? and the fact that most of the infections were out there (and still out there) are MSDE installs that people don't know they have
    • I've been using it for awhile on a Server 2003 box at home - handles pretty nice, and Management Studio Express is a pretty good front end.
  • by Anonymous Coward
    Come on, this is slashdot. Anything Microsoft will get flamed -- let the flame wars begin.
  • Nah (Score:2, Funny)

    by Mateo_LeFou ( 859634 )
    Me, I'd rather end SQL Server
  • SELECT from... (Score:5, Interesting)

    by Tackhead ( 54550 ) on Wednesday April 05, 2006 @03:13PM (#15069504)
    SELECT * FROM books WHERE length.title > 142

    I had to re-read that sentence three or four times before I realized that

    Beginning SQL Server 2005 Express Database Applications with Visual Basic Express and Visual Web Developer Express from Novice to Professional
    was indeed the title of the book in question.

    Afterwards, the fact that it consists of two parts, namely

    "Working with SQL Server Express" and
    "Working with Visual Basic Express and Visual Web Developer Express"

    came as little surprise...

    The title is reminiscent of the technique of putting every programming language, OS, and application you've used since third grade into one's resume, just to make sure that HR department gets a "hit" on your resume when they search the internal database for prospects.

    Has the field of technical literature become so saturated that publishers/editors (probably more so than authors) are resorting to spamming their own book titles with buzzwords and acronyms... in order to show up better on Amazon search queries?

  • by digitaldc ( 879047 ) * on Wednesday April 05, 2006 @03:16PM (#15069530)
    The book asks to be judged against a high standard: Can it turn a SQL and Visual Basic novice into a professional?

    FTA:
    I guess my only quibble is that in using "Novice" in the title, the book promises more than it delivers, at least in this area. This isn't suitable for a beginner to Visual Basic.


    The answer is NO. Please move along.
    • Can it turn SQL and Visual Basic novice into pro?

      Dear god I hope not. Visual Basic Professional is the single biggest contradiction in terms I've ever seen.
    • by Anonymous Coward
      I'd recommend if you're going to work on Windows Dot-Net choose C# not Visual Basic. Visual Basic takes every well known programming concept that's been around for years and gives it a different name. You'd have difficulty communicating with someone trained in object orientated design or UML or any C-like language like C++ or Java. I wonder if this is to make Visual Basic like another Microsoft Walled Garden with high cost of migration.

      On the other hand, if you're coming from Visual Basic 6 use C# anyway. B
      • My personal, poorly-informed opinion is that VB.NET exists for two reasons only:

        1) Their corporate customers would have crucified them for dropping VB altogether
        2) As a stepping stone to a grown-up language like C# or Managed C++

        When the main alternatives were C and C++, I could see a use for a language like VB. Now that C# is available (assuming you want to use .NET), I really don't see the point of it.

        As hinted in the review Dot-Net has a lot of "magic" and that can make things quite hard when it comes to
  • How "express" could it be if it requires a book in two parts to learn how to do it?
    • How "express" could it be if it requires a book in two parts to learn how to do it?

      About as "express" and an express bus that takes over an hour to get from point a to point b. It is called an express bus because it doesn't make every stop along the way. It is called SQL express because it doesn't include the same features and licensing as the full version. For a similar example, see Outlook Express vs. Outlook.

  • Interesting (Score:3, Interesting)

    by edmicman ( 830206 ) on Wednesday April 05, 2006 @03:19PM (#15069557) Homepage Journal
    This comes as I was actually planning on (tonight maybe?) putting together a small database app in C# for my fiancee. I want to keep up / improve my .NET 2005 skills, but my experience is primarily on client/server setups where the SQL Server 2000 is on a dedicated server. I was aiming to use SQL 2005 Express for the database part of the app. Does SQL Server 2005 Express give you sort of a glorified Access database? I want a database tied to the application, but I don't want to have to install the application AND a database instance - does the Express edition handle including the database with the app? I'm hoping maybe it creates the database file, and then just includes that in the application directory, and accesses it via some sort of database file connection?

    Either way, I doubt I'll look to getting this book - I feel pretty confident in SQL 2000, and am hoping there's enough online docs to get me through a basic setup. Plus, once the db stuff is setup, I'll just need to focus on the application itself, which it doesn't sound like this book really covers.
    • Re:Interesting (Score:5, Informative)

      by AaronBrethorst ( 860210 ) on Wednesday April 05, 2006 @03:32PM (#15069699) Homepage
      Howdy - you should take a look at the VS 2005 setup bootstrapper. It'll simplify the process of getting SQL Server Express (SSE) installed onto a deployment machine. You will need to install an instance of SSE onto the deployment machine, though. SSE is a walking, talking, gum-chewing SQL database. There's a pretty useful article over on MSDN Magazine [microsoft.com] that will walk you through the basics.
    • SQL Server Express IS a dedicated database server. You need to run it as a service. If you want to bundle a database to your app try to use an Access or sqlite file. http://www.sqlite.org/ [sqlite.org]
      • SQL Server Express IS a dedicated database server. You need to run it as a service. If you want to bundle a database to your app try to use an Access or sqlite file

        You do realize that just because it runs as a 'service' has nothing to do with your assumptions that it cannot be deployed on a client machine.

        Right?

        For example, MYSQL also runs as a service, and can be deployed on a client machine also.
        • I want a database tied to the application, but I don't want to have to install the application AND a database instance"

          The guy was very specific in specifying that he does not want to install a database instance on the client. Therefore, a database server like MySQL is not a suitable solution. Not because it cannot be installed in the client but because he does not want to install a database in the client.
      • Ah, no. What he wants is either Microsoft MSDE [codeproject.com] or SQL 2005 express. There's no need to use something as limited/low-end as Access. MSDE is ment to be used either embedded in your app, or as a lightweight stand-alone server.
        • Could you please provide a link that explains how to use an MSDE file without installing the MSDE server? The link that you provided only reinforced my belief that you have to install MSDE. The following statement is what I replied to:

          I want a database tied to the application, but I don't want to have to install the application AND a database instance

          I don't know how to use an MSDE file without installing a MSDE server instance. Having that knowledge would have been really usefull for my last app that r

    • SQL Express is just a weakend version of SQL Server, it will run an app like your saying without trouble. But it is a network database not a file type like Access. Also you can't include UI in it, you need a different front end. Developing for it is just like developing for any other SQL Server Edition with a few weaknesses like only single processor and 1GB of RAM max.
    • Thanks all for the good info. Basically, I want something that can be installed as a package of sorts, so I wouldn't have to separately and manually install on the client the app, plus the SQL Express database. It sounds like the bootstrap loader thing would handle that. I *thought* the SQL Express stuff was meant to act as a portable database of sorts where you didn't necessarily want to install SQL Server to a central server and have the client software connect; instead, it was packaged with the app it
  • by kkelly ( 69745 ) on Wednesday April 05, 2006 @03:21PM (#15069583)
    Microsoft developer network at htt:\\msdn.microsoft.com IMHO its probably more information than most developers might need to accomplish a given task or learn about 2k5 MS technology. Don't sleep, msdn has some excellent content and the coverage of the new SQL 2005 implementation is fairly extensive. Most books I buy collect dust after just a few weeks.......
  • Save $14.80! (Score:1, Informative)

    by Anonymous Coward
    Save yourself $14.80 by buying the book here: Beginning SQL Server 2005 Express [amazon.com]. And if you use the "secret" A9.com discount [amazon.com], you can save an extra 1.57%!
  • my two cents (Score:5, Informative)

    by deuterium ( 96874 ) on Wednesday April 05, 2006 @03:28PM (#15069661)
    The other problem with ASP .NET is that so much of the action is behind the curtain

    Well, from what I gather, Ruby on Rails hides database access pretty thoroughly as well. WebDev systems exist for the purpose of that very concept... making standard operations into black boxes.
    I've been using the new SQL Express in a project over the last several months. It's quite nice for a free, distributable DB, and the Management Studio download has been much nicer than the old 2000 version (or the Postgres Admin tool I used before this). A book like this would have been handy, as there aren't a lot of comprehensive resources on the web for Express.

    I feel a 400 post platform diatribe coming up...
    • If you are into pain, or want to do your own custom webcontrols, you easily override the methods in ASP.NET controls to do it all manually. Sharepoint developers know all about this fun.
      • Yes, but a platform should work for you, not against you. ASP.NET was an attempt to make web applications look like desktop applications. It's failure is that it succeded.

        And don't get me started on doPostback() or whatever that inane 'lets use links for forms and break every single fricking thing about HTTP!!"

    • "and the Management Studio download has been much nicer than the old 2000 version"

      Have you really found it to be better? Are you comparing it with Enterprise Manager? I've found Management Studio (at least the full version of it, not the express version) to be very buggy and slow. Operations that would take a couple of seconds in EM take upwards of a minute in Management Studio. It has also been crashing pretty regularly on me. I see potential in it, but I feel like I've been handed a pre 1.0 Beta tool
      • The ultimate functionality isn't a whole lot different, but the interface and intuitiveness have been improved. It took me a lot less time to create the structures I needed in Management Studio than it did in Enterprise. The tools for creating stored procedures seemed a lot nicer, in particular. I'd used the old Enterprise Manager for a web app I'd done a couple years ago (still use it for that server). I haven't had any glitches with Mangement Studio yet, but perhaps my database isn't of the same scope as
      • (me too!!!)

        (begin rant)

        Tell me a-freaking-bout it! And where the hell did freaking exporting your database scripts to individual files (one per object!) go??? Thanks a hell of a freaking lot Microsoft! Now I can't even connect to SQL2005 databases with Enterprise Manager anymore! At least I can still use Query Analyzer though...

        Management Studio is the one thing keeping me from moving my dev environment over to SQL2k5.

        The weird thing is, a knee-jerk reaction might say that it's because they wrote
    • I'm a product manager for a suite of web applications. Personally, I'm a Ruby on Rails guy. Professionally, all of my developers are Visual Studio people--they're moving to ASP.NET from ISAPI. I'll tell you one key difference with ASP.NET vs. Ruby on Rails. It follows the principle of most surprise.

      ASP.NET looks like someone took a look at web dev and said, "how can we make this less web-like" whereas Ruby on Rails looks at the web and says, "how can we make this cleaner without changing it." Ruby on R
  • Its getting to the point where you cant walk out your front door in the morning without tripping over another book on SQL 2005, .NET or anything else about Microsoft products. I love the fact that there is an answer either on MSDN or elsewhere that I can find in minutes, and its cool that there are books out there, but are we reaching the saturation point on these books? Didnt Microsoft provide free EXPRESS versions of all the .NET 2005 stuff already?

    IMHO, the Microsoft document dump is what really keeps

  • I don't know about anyone else (see MSDE comments above) but the on-line help with VB.NET is virtually unreadable. Especially compared to the relative straight-forward and literate VB6 MSDN help files. I don't know who improved for .Net, but Microsoft should fire them for sabotage of the entire .NET initiative!

    Makes nearly any book an improvement!

    • I don't know about anyone else (see MSDE comments above) but the on-line help with VB.NET is virtually unreadable.

      Whatever asshat gave this a troll-mod has never used both development environments. No lie - .NET's sucks hard. I don't know if I'd call VS6's help all that wonderful, but it at least made finding what you want relatively straightforward.


      My workplace has just moved to 2005, so ask this again in a year... But at least for now, the parent describes reality.


      Of course, I have NO idea what
  • "so the title, as long as it is, isn't all that accurate"

    It's a far sight better than one of the most recent computer books that I bought. Wrox Press' "ASP.NET 1.1 with Visual C# .NET 2003"

    Now, I happened to have owned a copy of Visual C# .NET 2003, so I know that it is in fact referring to a piece of software -- as opposed to simply saying "Visual C#" which would be referring to a programming language. So when I started reading this book and realized that the information in the book was only about the lang
  • Visual BASIC.NET [wikibooks.org] and ASP.NET [wikibooks.org] are free at Wikibooks. No SQL Server Express version yet, but there is a Wikibook on SQL [wikibooks.org] which novices can read. I am sure one can read it and adapt it to SQL Server.

  • by Anonymous Coward
    This is an exerpt from my competing book:

    "Welcome to SQL Server 2005 Express. You most likely installed this product as part of Visual Studio 2005. Your next step is to freak out and get a version that costs money, because the express edition lacks the most basic administration tool that you're used to using: the query analyzer. Yes, that's right you have no tool to run arbitrary SQL. And since you're a developer, you'll probably be trying to load a database backup that somebody else gave you as your fi
  • When I see the word "beginning" I think of the WROX press (red cover) books, but it seems all the "beginning" books reviews on /. are the yellow-and-black cover ones.

    Can you please mention the publisher in future titles?

    Also, are you getting a payoff from these guys? Do you write for them?

    Andy Out!
  • SQL Server Express IMO is really not a database that any serious company should be looking at. If you really need a free database then like most people on this site would agree, MySQL is a good alternative.

    Now we all know that SSE has upper limits to it and the obvious reason MS would do this is to upsell you to the full SQL Server. Most people will logically think that those limits are fine based on their application. I really don't think that is the problem with SSE. The real problem is that MS consta

It is easier to write an incorrect program than understand a correct one.

Working...