- Large mainframes (EG: IBM's S/390)
- Midrange minicomputers (EG: IBM's AS/400)
- Servers in a LAN or intranet (EG: a Dell department server)
- A web server across the Internet (EG: a Dell enterprise server)
- Individual desktop (EG: an Apple iMac)
- Size is relative and absolute. This year's large may be next year's medium. One company's small may be another company's large.
- A small database is easy to keep in you head (say 1-20 tables) and is under 500 MB as of 2006.
- A medium database needs notes (say 20-75 tables) and is 0.5 to 10 GB as of 2006.
- A large database needs many people (say 76 or more tables) and is greater than 10 GB as of 2006.
A database can logically exist in different forms:
- Flat. A simple table where records have no structured interrelationship. This type of DB may even be a text file.
- Hierarchical. A DB where each cell in a table may have a table underneath it. This is similar to the filing system of most computer OSs (Operating Systems). There are directories and subdirectories where each can contain files or other subdirectories. In fact, some DBMS can access the OS file directory as if it were a DB.
- Relational. A DB with multiple tables where each table has related data about one and only one topic. By following concepts of mathematical Set Theory, the data in the tables can be accessed and reassembled without reorganizing the tables. Relational databases were invented by E. F. Codd at IBM in 1970. This the most common and important type of database .
- Distributed/Multi-Tier . A relational DB where the data and the components that access the data may be distributed across a network. These databases have become very important because of DB access via the Internet.
- Object Oriented . An relational/distributed DB that also incorporates object oriented principles: complex objects, object identity, encapsulation, types/classes, inheritance, overriding combined with late binding, extensibility, and computational completeness.
- Multi-Dimensional . A hierarchical DB crossed with a relational DB. Whereas a hierarchical DB is one dimensional, and a relational DB is two dimensional, a multidimensional DB has three or more dimensions. Each cell opens up a relational DB. OLAP (OnLine Analytical Processing) presents data from MDDBs for data mining, ie get trends and perspectives on the data.
- Passive v Active Data Stores . Passive databases just store data whereas active databases are programmable and can enforce business rules by utilizing constraints, triggers, procedures, rules, and methods. Active databases can react to events and prevent operations that could disrupt data integrity. Active databases can also automatically perform some DB administration tasks.
Here is a listing of the major databases players in order of decreasing popularity according to this 2001 June article:
|Player||Total Market||Windows Market|
Here are some of the database products/players in no particular order:
- Oracle. Enterprise level, especially for high-end workstations or mini-computers. Common on UNIX/Linux systems. Versions include Oracle8, Oracle8i, Oracle9i.
- DB2 by IBM. Enterprise level, especially for mainframe S/390, VM OS, and mid-range AS/400, although versions are also offered for UNIX/Linux, OS/2, and Windows. Accessible ODBC, JDBC, and a CORBA interface broker.
- SQL Server by MS. Enterprise level, especially for MS servers. Versions include 6.5, 7.0, 2000 (8.0), 2003.
- Access (
.mdb) by MS. Good for desktop databases or small distributed databases. Versions include 1.0, 2.0, 95 (7.0), 97 (8.0), 2000 (9.0).
- SQL Anywhere by Sybase.
- dBase (
.dbf) by Ashton Tate Corporation. Versions include:
- Vulcan as creatd by Wayne Ratliff in 1981
- II, III, III+, IV by Borland Corporation (which became Inprise)
- Visual dBASE 5.7 for Window 3.X
- Visual dBASE 7.5 for Windows 9X
- dB2K for Windows NT/2000/XP
- Informix (acquired by IBM)
- FoxPro (
- Paradox (
- FileMaker Pro. A Macintosh database.
- MySQL. An open source and freely available database software for Unix/Linus and Windows.
Here are some formats commonly used to store database-like info:
- Plain text files
- Extensible Markup Language (
.xml). Plain text with data structured using customizable tags.
- Comma Separated Values (
.csv). Plain text with rows of comma separated column values.
- Tab Delimited Values. Plain text with rows of tab separated column values.
- Space Delimited Values. Plain text with rows of column values at specific column positions.
- Extensible Markup Language (
- MS Excel (
- Lotus 1-2-3 (
- Quattro Pro (
.wb1) by Corel/WordPerfect.
- MS Excel (
- EDI (Electronic Data Interchange). ANSI standard X12 for the format of exchanging business data. This never took off. It is like a primitive precursor to XML.
- Data Interchange Format (
- XML (eXtensible Markup Language).