When I was doing last week’s assignment, I did have to go and look to see what kinds of application servers I could use with Visual Basic. It hadn’t occurred to me until right then that I couldn’t just use any type that I had heard mentioned at work. And while I know that you use SQL for SQL Server databases and PL/SQL for Oracle databases, I didn’t know that you had to take the language that was used to create the database into consideration as well. HSQLDB is a SQL database that is created using Java and is open sourced. It claims to be a small, fast database that offers disk-based and in-memory tables. I read lots of comments by users and some people were confused as to why one would create a database in Java. Once person was concerned about the speed of the database because of the language chosen to create it, and it was explained to him that the database’s speed was generally linked to how well the inner structure of the database is created and how easily the data can be accessed from the tables. One problem people did seem to have with the database was that while it was great for smaller projects, it wasn’t good for larger ones, or if you expected the data in the database to grow. It works best as an embedded database in applications. HSQLDB has a level 0 isolation, which is an ACID property of databases that locks data and lowers concurrency in a system. This could be a limitation for using with enterprise application servers, which requires a higher level of concurrency. HSQLDB runs on Windows, Mac OS X, Linux, BSD, Unix, and z/OS, although the availability is dependent on which Java Virtual Machine is used. Oracle is a much larger and well-known software company that is used by larger companies that have a greater need for capacity and a greater spending budget. They have a host of features and tools that smaller databases wouldn’t have, and that possibly would not be needed by the lower volume companies that would need to use a smaller database. Oracle Corporation creates a number of enterprise applications, and so the isolation level must be higher to support them. It uses PL/SQL to create tables with and differs on which platforms it can run with HSSQLDB, as Oracle can’t be run on BSD, a Unix derivative. Version 11g can also be run on OpenVMS, HP/UX and AIX. The database offers a materialized view of queries, while HSQLDB does not. While PL/SQL can be used to create stored procedures, Java can also be used to create them. Microsoft Access is a client application for creating database that uses Visual Basic. Access has stored formatting, like decimal places and dollar signs and also has certain features that are clickable to apply in their interface. In SQL, this information isn’t stored, which can affect storage and efficiency of calculations. Syntax between the two are a little different with how they query. Since Access is a client application, the security is subject to Windows security as well as the security protocols of the folder the program is in. SQL has a greater degree and control when it comes to security and has three different levels of access, login, user, and objects permission. While it appears that both SQL and Access run on Windows OS, Access has a greater list of operating systems to choose from. To install and run, Access’ requirements are less than those of SQL Server, needing less memory, processor speed, and disk space. Access also differs greatly in price from SQL, SQL being in the thousands while Access being in the hundreds. Although the cost is less, it can be more expensive administrating Access databases than SQL databases.
Access also being packaged with other Microsoft Office products, it would have more opportunity to be used by the beginner for creating databases for individual use. http://hsqldb.org/ http://www.osnews.com/comments/11093&limit=no&threshold=-1 http://www.functionx.com/vbaccess/ http://www.oracle.com http://www.databasejournal.com/features/mssql/article.php/2204341 http://sqlserver2000.databases.aspfaq.com/what-are-the-main-differences-betweenaccess-and-sql-server.html http://en.wikipedia.org/wiki/Oracle_database http://en.wikipedia.org/wiki/HSQLDB http://en.wikipedia.org/wiki/Transaction_isolation http://en.wikipedia.org/wiki/Concurrency_%28computer_science%29 http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems http://en.wikipedia.org/wiki/BSD