Geek's garden

24.07.2006

It's all relational

The broadest definition of a database would be any organized collection of information and would therefore include your local lending library. More specifically and commonly, a database is a collection of electronic records stored in a computer and organized in such a way that the records can be accessed by software.

The first database management systems were developed in the 1960s. Charles Bachman was a pioneer in the field. His early papers show that his aim was to make more effective use of the new direct-access storage devices becoming available. Until then, data processing had been based on punched cards and magnetic tape, so serial processing was the dominant activity. Two key data models arose at this time: The Conference of Data Systems Languages (Codasyl) developed the network model based on Bachman's ideas, and the hierarchical model was used in a system developed by North American Rockwell and later adopted by IBM as the cornerstone of its Information Management System (IMS) product.

The relational model was proposed by E.F. Codd in 1970. He criticized existing models for confusing the abstract description of information structure with descriptions of physical access mechanisms. While Codasyl systems and IMS were conceived as practical engineering solutions taking account of the technology as it existed at the time, the relational model took a much more theoretical perspective, assuming that hardware and software technology would catch up in time.

Among the first research prototypes were Michael Stonebraker's Ingres at the University of California, Berkeley, and the System R project at IBM, announced in 1976. The first commercial products, Oracle and DB2, did not appear until around 1980. The first successful database product for microcomputers was dBase for the CP/M and PC-DOS/MS-DOS operating systems.