(Back to ProgrammingBookmarks
Relational databases aren't cool, but they are hugely important to businesses around the world. I've been involved with databases for quite a while, in some cases actively pushing their limits.
Relational database can be "normalized" to make them more consistent and harder to break: http://en.wikipedia.org/wiki/Database_normalization
Lately, the most interesting database I've used is Postgresql. Dumb name, great product. http://www.postgresql.org/
Oracle is big and ugly, but so are Mack trucks. Both are useful. Oracle runs on Linux, there are some products to help with this process at: http://www.orasoft.org/
SQL isn't the only way to talk to a database. Xplain is an alternative: http://www.berenddeboer.net/xplain/index.html
- a tool to generate special-purpose databases in C. Very fast, not relational.
This tool builds javadoc-like pages from an Oracle schema. I'm not sure that this is a good idea in general (better to generate docs from the source code), but it could be extremely useful for reverse-engineering. http://oraschemadoc.sourceforge.net/
- orarep is a script that generates a nice-looking report about an oracle database instance.
- a Java tool for visual development of database tables.
- visual tool for designing database tables, plus a back-end which can translate them into SQL. Gaudi looks better.
- a Java GUI to build database schemas
- a web-based tool for database maintenance. Also an excellent example of clean web design using CSS.
- tools to manipulate MS Jet (.mdb) databases and move their data into real dbms's.
- a command-line tool for Oracle with a plugin architecture. Aims to replace sqlplus (which would be a wonderful thing to do).
- DB Monster generates large quantities of random data which can be fed into a database and used for stress testing.
- a neat idea - a script to translate the CIA World Fact Book into SQL.
- Managing Hierarchical Data in MySQL
- The simplest(?) way to do tree-based queries in SQL
Representing Database schemas in XML
There are many XML schemas for representing relational database metadata:
- article on w3c website.
Gaudi (see above) has its own schema for database metadata.
- XML DTD and XSLT sheets for various databases.
Hibernate has an option that generates DDL from the hibernate mapping file.
- has their own schema
- has a schema
- Jakarta Commons SQL project
- XML schema and tools for generating DDL
Because SQL isn't always the best choice.
- "Mongo (from "humongous") is a high-performance, open source, schema-free document-oriented database."
- "Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. Cassandra brings together the distributed systems technologies from Dynamo and the data model from Google's BigTable. Like Dynamo, Cassandra is eventually consistent. Like BigTable, Cassandra provides a ColumnFamily-based data model richer than typical key/value systems."
- "A persistent key-value database with built-in net interface written in ANSI-C for Posix systems", "Redis is a key-value database. It is similar to memcached but the dataset is not volatile, and values can be strings, exactly like in memcached, but also lists and sets with atomic operations to push/pop elements."