Home » Database Basics » 04 - Databases - Architecture, Management, and Programming
4

Some Common DBMS

Examples of some database management systems

  • Microsoft SQL Server

    The SQL Server DBMS is optimized to run on Windows Systems (or Windows 2000) and is often less expensive than competing DBMS.

    Learn more about SQL-Server
  • Oracle

    Oracle (Versions 9i on) is one of the world's most widely deployed DBMS. The Oracle product is usually selected for the largest database projects and for high-traffic web sites. Most Database Administrators (DBAs) swear by Oracle when it comes to efficiency, data storing capability and reliability.

    The Oracle website
  • Sybase

    Sybase currently offers three DBMS products. Adaptive Server Enterprise is meant for business and web related computing. SQL Anywhere Studio provides supporting tools to help in rapid development and deployment of business solutions. Adaptive Server IQ helps in advanced query analysis.

    Information about Sybase products
  • IBM

    IBM offers the DB2 DBMS, which run on the hardware and operating systems of both IBM and non-IBM machines. The DB2 Universal Version 7 includes features that perform more operations in memory in order to improve performance.

    IBM's DB2
  • Desktop DBMS

    All major vendors offer desktop versions that are basically scaled down versions of their products that may be installed on a home or office PC or Laptop. MS Access, a DBMS that is easy to learn and powerful, is an example of a desktop DBMS. Access has a drag and drop interface that translates to SQL and contains a facility to display the SQL translation on the monitor for most of its screens. Access functions both as a front end tool - users may generate reports and fill out forms using Access - and an actual DBMS with querying capabilities. Microsoft Access is useful when it comes to storing smaller amounts of data and for learning DBMS basics and SQL but it cannot handle many users.

Once we install a DBMS, we have to manage our DBMS and administer all the resident databases. Database Administration consists of taking care of a DBMS and all the information stored in its databases. Certain DBA tasks are routine, like starting up and shutting down the DBMS and taking a backup of the data.

Oracle Startup/Shutdown

What do they do?

NOMOUNT

background processes are started. No files are open

MOUNT

control files are opened

MOUNT

data files are opened

Startup Force

SQL> STARTUP FORCE

Startup Nomount

SQL> STARTUP NOMOUNT

Startup Mount

SQL> STARTUP MOUNT

Shutdown

SHUTDOWN <ABORT | IMMEDIATE | TRANSACTIONAL[LOCAL]>

SQL> SHUTDOWN

Shutdown Normal

SQL> SHUTDOWN NORMAL

Shutdown Immediate

SQL> SHUTDOWN IMMEDIATE

Shutdown Abort

SQL> SHUTDOWN ABORT

 

Oracle Supplied Startup & Shutdown Scripts

Startup

dbstart

Shutdown

dbshut

Table 4a: Oracle Commands for Start Up and Shut Down

Other DBA tasks are related to monitoring the way the DBMS is running: Is a query slowing things down? Is a user performing operations that may result in loss of data? Are two users attempting to modify data at the same time? How would a Database Administrator keep track of such developments? More importantly, if an error does happen and information is lost, how would the two database administrators figure out what caused the error?

DBMS like Oracle maintain log files with every database; these log files contain a record of every operation with an associated timestamp. All possible errors have associated codes - trying to run an incorrect SQL command, for example, would generate one error code while trying to get records from a table that does not exist would generate another. Certain log files contain lists of all the errors that took place up to the current time. Looking at log files is a good way of assessing how errors happened, measuring the efficiency of the DBMS, and identifying plausible road blocks to DBMS speed. Also, DBMS like oracle contain a facility to recover from error by using the log file. The DBMS may also be monitored through a console: A window that allows the DBA to issue commands to the DBMS and also echoes an account of all the events that are taking place upon request. Sometimes, using the console to monitor events makes more sense than looking at log files.

sql> connect SYS as SYSDBA

sql> RECOVER DATABASE UNTIL TIME '2001-03-06:16:00:00' USING BACKUP CONTROLFILE

Table 4b: Oracle recovery after error

As mentioned before, SQL is the standard way of talking to a database. The basis for SQL came from IBM. E. F. Codd, considered the father of relational databases, described RDBMSs and their prerequisites in hallmark academic articles. He worked for IBM; IBM researched his ideas and came up with System R, a precursor of modern Database Management Systems. The Query Language used in System R was named SEQUEL (Structured English Query Language). Due to copyright issues, the name was changed to SQL, or Structured Query Language. SQL soon became a world standard in DBMS querying due to good design and focused attempts towards uniform implementation by the SQL standards committees.

SQL is an open language - it is free - you do not need software or a license to use SQL; no corporation owns SQL. The American National Standards Institute and the International Standards Organization published a specification known as SQL-89. An improvement and expansion the standard gave the world SQL-92 and later the third generation standard, SQL-99.SQL is a declarative language as opposed to a procedural language. A procedural language uses a number of steps or a procedure to get a specified result. A declarative language, on the other hand, simply makes a statement - a single declaration that is sent to the DBMS. The DBMS then executes internal programs and returns an answer. For example, the SQL statement 'CREATE TABLE' with a list of parameters creates a table on the database.

There are three areas where there is current development in SQL standards. The First is to integrate SQL with emerging XML standards and hence make it better in handling data over the Internet. Second is integration with Java, a widely used Programming Language. The third is an effort to model SQL according to Object Oriented Programming guidelines