Database Systems

A database is an organized electronic storehouse of data.  Many computer applications require the use of a database.  A database management system (DBMS) is the "keeper" of the database, facilitating the creation and maintenance of the database and providing fast and secure access to the data in the database.


From 2008 to 2009, I taught an undergraduate course called "Introduction to Database Systems" at the University of Mississippi.  Topics included database design; the relational and entity-relationship models; the SQL database language; normalization, keys, and indexes; database transactions and concurrency.  Students gained hands-on experience in designing databases and implementing them using the MySQL DBMS, including the development of Java and PHP programs that access MySQL databases.  This course is excellent preparation for students: many will develop database applications for their senior project and in real-world projects after graduation.


My interest in database systems began in 1980 when I took Yehoshua Sagiv's database course as a graduate student at the University of Illinois.  The relational model of databases proposed by IBM's Ted Codd in 1970 was becoming recognized as a major leap forward in the field of database systems.  There were not yet any relational database management systems available to tinker with at that time.  As a research assistant under Dr. Sagiv's direction, I helped to develop a relational interface to a network-model DBMS, and I wrote a Master's thesis investigating theoretical aspects of null (or missing) values in relational databases.


My database work continued in industry in Silicon Valley in the 1980s, first at IBM, then at start-ups Oracle Corp. and Synapse Computer Corp.  Yes, that is right: Oracle, which is today the second-largest software company in the world with more than 100,000 employees, was a start-up company at that time.  I was Oracle's 40th employee and their first employee with a graduate degree in computer science.


At IBM, I developed a preprocessor that worked in conjunction with the data dictionary of IMS, a hierarchical DBMS.  At Oracle, I developed a preprocessor called an SQL precompiler, which worked in conjunction with Oracle's new relational DBMS.  What a tale of extremes, going from IBM's slow bureaucracy to Oracle's whirlwind start-up pace.  One of the highlights of this experience was getting to know and work with Oracle's Larry Ellison, who is perhaps the most personable and charismatic individual I have known.


By the age of 23, I had developed successful software products at both IBM and Oracle.  Had I been older, I would have known to pace myself at Oracle and avoid the burn-out I experienced there.  But I learned much from that experience.


At another start-up, Synapse Computer Corp., I created TED, the first-known table editor for relational databases.  A table editor enables users to enter, edit, and delete rows of database tables and is today a standard component of database management systems.  For example, the "datasheet view" in Microsoft Access is a table editor.


Information Retrieval


Relational databases excel at storage and retrieval of structured data, but different approaches are needed to handle unstructured data, such as text documents, images, audio, and video.  The field of information retrieval has focused on techniques for text retrieval since the early 1960s, and on multimedia retrieval since the mid-1990s.


In 1990, I evaluated the features and performance of relational database management systems and text-retrieval products and provided recommendations in a report for the U.S. Department of Energy.


At UNLV's Information Science Research Institute, I focused on performance evaluation of optical character recognition (OCR) systems, while colleagues there investigated the effects of OCR errors on text retrieval.  I conducted UNLV's Annual Test of OCR Accuracy from 1992 to 1996.  Our evaluations of OCR systems influenced, and were influenced by, NIST's annual TREC evaluations of text-retrieval systems.


In 1996, I began to consider the challenge of how to search audio databases, which led to my work at Comparisonics on sound-matching algorithms for content-based audio retrieval.  In content-based retrieval, audio recordings are located based on the sounds they contain, rather than on their "metadata" or text description.


By the mid-1990s, it was apparent that not only traditional databases needed to be searched, but also the content of the World Wide Web, an enormous, unstructured distributed "database".  Since then, Google, Microsoft, Yahoo, and others have successfully applied information-retrieval techniques in Web search engines enabling Internet users to search the billions of text documents and digital images that are part of the Web.


I led the development of, the first Web search engine for locating sound effects on the Web.  It is the first Web search engine offering content-based audio retrieval and uses a custom in-memory database for fast query processing.  Since its launch in August 2000, has processed more than 200 million sound searches for millions of Internet users.  Some users call it the "Google for sound effects".


In 2002, we released FindSounds Palette, an audio database program that extends the Web search capabilities of and enables users to search audio files stored on their local hard drives and networks.  One of the many innovations in this program is the ability to search and retrieve sounds obtained by altering the playback speed of audio files.  This greatly multiplies the number of sounds accessible to the user.


In 2002, I developed Simscript DataBase Connectivity (SDBC) for CACI, a software library that enables programs written in the Simscript language to access relational databases.  It is patterned after, and utilizes, Open DataBase Connectivity (ODBC).


Selected Writings

S. V. Rice and S. M. Bailey, "A System for Searching Sound Palettes," in Proceedings of the Eleventh Biennial Symposium on Arts and Technology, New London, CT, 2008 (pdf)


S. V. Rice and S. M. Bailey, "A Web Search Engine for Sound Effects," in Proceedings of the 119th Convention of the Audio Engineering Society, Paper #6622, New York, 2005 (pdf)


S. V. Rice, "Database Access in Simscript II.5," in Proceedings of the 15th IASTED International Conference on Modelling and Simulation, Marina del Rey, CA, 2004 (pdf)


S. V. Rice, The Null Value in Relational Databases, Master's Thesis, University of Illinois at Urbana-Champaign, 1981