As you have seen, databases can be very complex, and their maintainance can be more involved than some of the other applications we have examined. There is a very wide range of application software for database management.
These are databases that have already been established, usually by a professional programmer or team. You interact with these databases only as a user. You can make queries of such a database, and sometimes make reports from them. Some examples: the Internet search engines, on-line card catalogs, airline reservation systems.
These databases are often commercially available, and are a shortcut for people who want to manage a database, but don't want to build it themselves. Often these are aimed at a specific topic in the business or home market such as wedding preparation, video library management, invoice handling, inventory, or payroll. In such a database, all the design has been done for you, and usually a number of queries and reports are also pre-defined, although you may have the capability to create more of your own. The advantage of this type of database is that you don't have to do the hard work of defining data types, so you can concentrate on adding and manipulating data. The down side is that you are stuck with whatever design the programmer gave you. If you want something more specific to your needs, you are out of luck.
These systems generally allow you to do the things we have been talking about, although inexpensive systems may have limited capacity in particular areas. A flat file DBMS is capable of handling only one table at a time. For home use, this is often just fine. You don't need any more to deal with your Christmas card list, or stamp collection inventory. The user-friendliness of DBMS software varies tremendously. Some systems (particularly the database packages bundled with integrated suites) are relatively easy to use and provide point - and - click interfaces. Other DBMSs are nothing more than programming languages - a list of commands that you have to put together on your own. In general, DBMS applications are more involved than other standard applications.
These are the mainstay of the database world. A relational database is much like a flat file database, except it allows the use of multiple tables. Imagine the following example:
A programmer has been hired by a garage to create a database for their operations. After talking closely with the owners of the garage, she notes three main needs:
At first, it may seem like three entirely different databases are necessary. Although the customer database may share some information (like part numbers) with the inventory database, it appears to be a different database. It will certainly require a different table, because the fields that describe a part in the inventory are very different than the fields that would describe a customer. Likewise, the receipt table may share some fields with other tables in the system (customer name and part number) but the fields that describe a receipt are clearly different than those that describe a part or those that describe a customer, so a third table is necessary.
What we see here is three distinct tables that share some fields with each other. These tables are distinct but related, thus the database is a relational database. (Just when you think you can count on those computer scientists to come up with a completely meaningless term, they give you one that makes sense!)
The big DBMSs like Oracle, Paradox, Access, and so on are examples of relational databases. Like flat - file database management systems, these DBMS packages come in all flavors, from fairly straightforward point - and click to cryptic but very powerful programming languages.