This page is devoted to information about relational database systems, primarily dealing with those database systems available under Linux.
I also have material on "nonrelational systems," which are often extremely useful when there is a need to embed a data access system within an application.
This material may prove useful to you in better understanding the nature of relational databases. If you have further questions relating to academic course work, do not contact me. I am not operating a "homework service", or even a "consulting service" in this area, not even if you are offering to pay consulting rates, which, for short term work, would tend to be on the order of $100 per hour. Note that for the price you'd need to pay to acquire a couple hours of my time, you can probably purchase some of the books mentioned below...
If you have need of additional material to help with course assignments, consider the following options before contacting me:
It is reasonably likely that the instructor of your course has assigned an official text for the course. One of the better ones I have seen is [ Database Systems Concepts] by Silbershatz, Korth, and Sudarshan. I found the second edition valuable in my education, and I expect subsequent editions to be good as well.
Other useful books could include [ A First Course in Database Systems] by Ullman and Widom, [Introduction to Database Systems] by C.J. Date, works by Michael Stonebraker such as The Ingres Papers: Anatomy of a Relational Database System or [ Readings in Database Systems], or, for SQL-specific issues, books by Joe Celko such as [ SQL for Smarties: Advanced SQL Programming] [ Joe Celko's SQL Puzzles and Answers], [Joe Celko's Data and Databases: Concepts in Practice] , and [ Instant SQL Programming ].
Your institution likely has a library containing a wide variety of books and journals. Part of the educational process is learning how to do research. It would be wrong of me to take that learning process away from you.
You should have classmates, teaching assistants, and course instructors to which questions may be directed.
If you have not yet exhausted those three sources of course assistance, you should not contact me. But even if you have exhausted those sources, there are no guarantees that I will attempt to be of assistance. I will emphatically not be providing customized assignment solutions.
When you are considering which database you might wish to use, it would be worth looking at the essay Finding Technology Solutions. It represents a discussion of how to search for technology solutions, and starts with a simple premise: " Don't assume a solution until you have determined what problem you need to solve."
Just like ODBMS are often database construction kits or persistence libraries, SQL DBMSes are a real DBMS (they do provide transactions, recovery, concurrency control, some data integrity) + a relational construction kit. Meaning that by a skillful use of SQL one can come somewhere close to a relational database.
But the complexity is left on the user to shoulder, and it is very difficult to stretch SQL so that you are still in the realm of relational model. And guess what: most users don't and most users suffer as a consequence.
|-- Costin Cozianu|
Some databases are little more than a light layer of syntactic frosting on top of a flat file storage system. For instance, an xBase system is a set of flat files, with a thin veneer of "database language" put on top, almost surely not deserving of the "relational" moniker, even when they get some SQL-like query language. Some databases with SQL in their names are hardly relational in nature.
Other web pages with some fairly decent descriptions of Linux-based DBMSes include:
Linas Vepsta's Linux Databases also details various "middleware" that connect databases to web servers and to scripting languages like Perl. (As Perl is the most popular language for CGI programming, these are nearly one and the same thing.)
Linux Applications and Utilities Page has a list of databases.
Does this duplication of effort seem unfortunate to you? It does to me...
I also have a web page that discusses text databases, one that discusses nonrelational databases, and one that discusses spreadsheets, all of which represent contrasting views and approaches to data management.