In my checkered past I've been in charge of a lot of differentRelational Database Management Systems (RDBMS). I've worked on everythingfrom COBOL systems to Oracle, from PostgreSQL to Sybase, and MySQL to SQLServer. Most of the time I've used only one of them at a time, and on theplatform for which they were written, such as VM on a 3270 terminal, Unix,Zenix, Ultrix, HP-Unix, Linux and others, CPM, DOS, OS/2, Mac OS, OS X andWindows of all flavors. In all of those platforms and RDBMSs I normally stayedaway from using third-party tools to manage the systems or the databases. I justlearned the tools that came with the product and supplemented anything I hadtrouble with by writing scripts or programs.
As I moved further in my career, I began to be involved with larger slices ofthe company. In my current position, I'm a "database architect,"responsible for finding the best data solution for multiple requirements. Assuch we're running DB2, Oracle, MySQL and yes, SQL Server. We'rerunning our production systems on large clusters for a pretty substantial userbase.
I also use several operating systems in my work, and at home. I run WindowsXP on one system at work, and Redhat Linux on another. Here at home I use twosystems to write these tutorials: An x64 system running Windows 2003 Enterprise,and a Mac G5 running OS X. I use the Terminal Services client for OS X toconnect to the SQL Server systems running in a Virtual Server on the x64.
So when it comes to managing all of the systems I use, I have one of twochoices. I can either learn all of the different management interfaces andoperating systems, or I can use a tool to manage the systems using oneinterface. Although I keep up-to-date on the systems we have a large footprinton (Oracle and SQL Server, Linux and Windows), from time to time I need to jumpin to a system and run a quick query or reverse-engineer a database schema fromone product to recreate it in another. For that I've found a single tool isbest.
Enter Aqua Data Studio, from Aquafold. Although I'mnot much of a "tool guy," I've been thoroughly impressed with howwell this product does what it says. After working with so many platforms andlearning how they do things differently, I'm even more impressed with thejob Aquafold has done with this tool. In this tutorial I thought I'd sharemy experiences using this tool with you. I'll focus on themultiple-platform to SQL Server part of how I use it.
Working with SQL Server in version 2000, you're familiar with bothEnterprise Managerand Query Analyzer. In version 2005, those tools are replaced with theSQL Server Management Studio.The Aqua Data Studio does much of the same work, and from just about anywhere.Here's a quick feature list:
To get the software, just navigate the Aquafold's site: the "Downloads" section you'll find everything you need basedon the operating system you're working on. The licensing is free forpersonal use and for educational institutions, and it's around 150.00 U.S.as of this writing for everyone else. They have an older version (2.0.7) that isalso free for everyone, but I haven't used that version. I downloaded thelatest version (4.5) and told the company that I planned to do a review on it.
The Windows download comes in two flavors: one without the Java Engine andone with. On the system I tested the product with I used the "withJava" version, since the virtual machine I set up to test with didn'thave Java.
On Linux the install downloaded as a gzipped file, which I decompressed intothe /var directory on my test Redhat Linux install. Once there I justdouble-clicked on the .sh file to load it and hit that same 64-bit SQL Server2000 system, and ran a quick query:
Loading the software on my Mac was just as simple. I downloaded the package,which OS X mounted with a standard installer. Once that was complete I moved thefolder it created on the desktop to my Applications area and double-clicked thesoftware. I then registered a SQL Server 2005 server, and ran a quick queryagainst the database:
I'll have to be honest. Although I'm not a professional developer,I have been known to compile a program or two in my day. I've tried lots oflanguages, from C to Pascal, and I try to keep an open mind about languages.I've even dabbled in LISP. When the Java craze hit I rushed to download theSDK and try my hand at coding a utility or two that I needed. I was highlydisappointed. Although I understood the syntax Java had, I found it to be veryslow, and doing anything graphically was just out of the question, at least forme (Enterprise Manager in Oracle 9i, anyone?). And platform independent? Well,sometimes. For some things. So I wandered into easier territory like VisualBasic and C#. (Send all flames and jeers to:IhaveHeard...@ItDoesntReallyMatter.com)When I heard this application was written in Java I recoiled a little.
First, to register a server you are presented with a myriad of platforms. Oneof the nicest features is that you can choose Windows Authentication(done here on a Mac) and be able to choose the account to use. Anyone atMicrosoft listening? This feature isn't available even in SQL ServerManagement Studio, which is one of my favorite tools.
In any of these panels you're still able to edit your query. Anotheruseful feature in the Query Analyzer is Auto-Complete. With thisfeature the system fills out the object names for you as you type. I found thisto be a real time-saver.
Let's examine another useful feature before we move on. One of the tasksI have to do on a regular basis is evaluate the database schema of anapplication, to ensure the best design. Depending on who wrote the application,I have to discover all the tables, columns, types and relationships and diagramthem out. There are commercial tools out there that do this sort of thing, butmanagers are not always willing to open the purse-strings for those sorts ofthings.
Aqua Data Studio has anERDgenerator that works really well. You simply right-click a database, and selectTools and then ER Diagram Generator. Pick the tables, views orschemas that you're interested in and a few moments later you'll havea full diagram to work with. Although this operation can take a while, it doeswork pretty well.
The diagrams can be sized and laid out automatically. You can view theheaders or the full table details, which are always available in a pane on theleft-hand side of the screen. There were a few databases I could make thisoperation fail on, but by and large it worked most of the time.
There are a lot of other features I explored with this product, which Idon't have the space to cover here. I just really liked this package, fromthe intuitive interface to the platform and RDBMS ubiquity. It's a greatpiece of software.
I didn't have any real problems with the package, other than being ableto stall it on some of the more complex ERDs I tried to derive. To be fair, Imay just not have waited long enough. The Auto-Complete can leave you as well,as it did when I tried to bounce back and forth between screen captures on myMac. I kept having to refresh the schema and then the Auto-Complete would workagain.
What would I add? I'd love to see some platform-specific help features.All of the major vendors have their documentation online, and it would be veryuseful to put an F1 link in the package that hit the main web page of thevendor's documentation based on the platform you're in.
This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.
For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.
For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.
Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.
Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.
On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.
We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.
Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.
7fc3f7cf58