What is a Relational Database?

A database is an application that can store and retrieve data very rapidly. The relational bit refers to how the data is stored in the database and how it is organized. When we talk about database, we mean a relational database, in fact an RDBMS - Relational Database Management System. In a relational database, all data is stored in tables. These have the same structure repeated in each row (like a spreadsheet) and it is the relations between the tables that make it a "relational" table.

Before Relational Databases:
Before relational databases were invented (in the 1970s), other types of database such as hierarchical databases were used. However relational databases have been very successful for companies like Oracle, IBM and Microsoft. The open source world also has RDBMS.

Commercial Databases
• • • •

Oracle IBM DB 2 Microsoft SQL Server Ingres. The first commercial RDBMS.

A relational database is a collection of data items organized as a set of formally-described tables from which data can be accessed or reassembled in many different ways without having to reorganize the database tables. The relational database was invented by E. F. Codd at IBM in 1970. The standard user and application program interface to a relational database is the structured query language (SQL). SQL statements are used both for interactive queries for information from a relational database and for gathering data for reports. In addition to being relatively easy to create and access, a relational database has the important advantage of being easy to extend. After the original database creation, a new data category can be added without requiring that all existing applications be modified. A relational database is a set of tables containing data fitted into predefined categories. Each table (which is sometimes called a relation) contains one or more data categories in columns. Each row contains a unique instance of data for the categories defined by the columns. For example, a typical business order entry database would include a table that described a customer with columns for name, address, phone number, and so forth. Another table would describe an order: product, customer, date, sales price, and so forth. A user of the database could obtain a view of the database that fitted the user's needs. For example, a branch office manager might like a view or report on all customers that had bought products after a certain date. A financial services manager in the same company could, from the same tables, obtain a report on accounts that needed to be paid.

in fact. and the Microsoft SQL Server™ client-server database management system. Data retrieval. and constraints. it behaves predictably. Some of them are: • • • • • Data entry. Note: While the examples in this article are centered around Microsoft Access databases. While it would be nice if this process was totally intuitive and obvious. this article is meant as an informal introduction to database design theory for the database developer. Relational Database Design When designing a database. as well as the relationships between the tables. Changes to the database schema are easy to make. For example. what columns they will contain. the Microsoft FoxPro® database management system. This article is by no means comprehensive and certainly not definitive. columns. Object Oriented Databases Object oriented databases are also called Object Database Management Systems (ODBMS). a domain of possible customers could allow up to ten possible customer names but be constrained in one table to allowing only three of these customer names to be specifiable. . summarization and reporting will also be efficient. The benefits of a database that has been designed according to the relational model are numerous. Many books have been written on database design theory. The goal of this article is to explain the basic principles behind relational database design and demonstrate how to apply these principles when designing a database using Microsoft Access. you can define the domain of possible values in a data column and further constraints that may apply to that data value. This consists of deciding which tables to create. build and refine. The definition of a relational database results in a table of metadata or formal descriptions of the tables. A well-designed database takes time and effort to conceive. the database is somewhat self-documenting. the discussion also applies to database development using the Microsoft Visual Basic® programming system. Instead. updates and deletions will be efficient. or even better automated. you have to make decisions regarding how best to take some system in the real world and model it in a database. this is simply not the case. Since much of the information is stored in the database rather than in the application.When creating a relational database. domains. Since the database follows a well-formulated model. many careers have been devoted to its study.

Methods .Object databases store objects rather than data such as integers. the application can manipulate both transient and persisted data.Attributes are data which defines the characteristics of an object. Object Persistence With traditional databases. data manipulated by the application is transient and data in the database is persisted (Stored on a permanent storage device). Therefore objects contain both executable code and data. To put objects into relational databases. strings or real numbers. Objects basically consist of the following: • • Attributes . There are other characteristics of objects such as whether methods or data can be accessed from outside the object. Breaking complex information out into simple data takes time and is labor intensive. This data may be simple such as integers. and others. and so on. Objects are used in object oriented languages such as Smalltalk. and real numbers or it may be a reference to a complex object. The tables have rows and columns. integer. or real number data. The wing may be placed in one table with rows and columns describing its dimensions and characteristics. Methods may not be stored in the database and may be recreated by using a class. Relational database tables are "normalized" so data is not repeated more often than necessary. For instance in the case of an airplane. Classes may be used in object databases to recreate parts of the object that may not actually be stored in the database. the propeller in another table. One other term worth mentioning is classes. data from one or more rows associated with that column may be obtained or changed. they must be described in terms of simple string.Methods define the behavior of an object and are what was formally called procedures or functions. We don't consider this here. C++. Once the specific column is identified. In object databases. Code must be written to accomplish this task. The class is like a template to the object. Classes are used in object oriented programming to define the data and methods the object will contain. The class does not itself contain data or methods but defines the data and methods contained in the object. Java. to keep the definition simple and to apply it to what an object database is. . When to Use Object Databases Object databases should be used when there is complex data and/or complex data relationships. The fusalage may be in another table. All table columns depend on a primary key (a unique value in the column) to identify the column. strings. tires. Comparison to Relational Databases Relational databases store data in tables that are two dimensional. The class is used to create (instantiate) the object.

Commerce Object Database Advantages over RDBMS • • • • • • • Objects don't require assembly and disassembly saving coding time and execution time to assemble or disassemble objects. Object databases work well with: • • • • CAS Applications (CASE-computer aided software engineering. More user tools exist for RDBMS.2. Virtual memory mapping is used for object storage and management. Data model is based on the real world. ODBMS Standards • • • • Object Data Management Group Object Database Standard ODM6. Works well for distributed architectures.0 Object Query Language OQL support of SQL92 How Data is Stored Two basic methods are used to store objects by different database vendors. • • Each object has a unique ID and is defined as a subclass of a base class. Standards for RDBMS are more stable. Less code required when applications are object oriented. using inheritance to determine attributes. Reduced paging Easier navigation Better concurrency control . CAD-computer aided design.A hierarchy of objects may be locked. Object databases should not be used when there would be few join tables and there are large volumes of simple transactional data. Support for RDBMS is more certain and change is less likely to be required. Relational tables are simpler.This includes a many to many object relationship. . Object Database Disadvantages compared to RDBMS • • • • • • Lower efficiency when data is simple and relationships are simple. Late binding may slow access speed. CAM-computer aided manufacture) Multimedia Applications Object projects that change over time.

Suitable for small and large business: The companies use object-oriented analysis and design to model these products because object orientation helps effectively capture the instruments' structure and behavior. thereby eliminating extra calls to the DBMS's back end and speeding up responses. However. So. Chaudhri said. RDBMS vendors began developing and marketing OR databases in part in response to the perceived threat from OO databases. serves as a user interface and application program interface to an RDBMS. which helps companies get these products to market quickly. The Object Database Management Group has developed ODMG standards for object-database and object-relational-mapping products since 1993. audio. Standardization. Vendors integrate OO features into the databases via software modules (such as Informix's DataBlades or Oracle's Cartridges). Technical issues Several technical issues have led to OO databases' limited strength in the database marketplace. Performance. or other types of media. OO databases can store data sets in their entirety and thus typically run faster than relational databases. said Sun's Cattell. Object-relational databases. which has been adopted by the International Organization for Standardization (ISO) and the American National Standards Institute (ANSI). the Object Database Management Group hasn't promoted ODMG widely within the ODBMS community and needs more vendors on board . OO databases can automatically cache data in the client application's memory. relational databases have reduced OO databases' performance advantage with improved optimizers. However. each designed to handle video. And OO databases use optimizers that determine the best way to use a database's indices and physical layout to satisfy a query. in addition to handling the numerical data generally used in relational databases. OR databases work via an object layer that sits atop a conventional tabular relational engine. Relational databases use the long-established SQL (Structured Query Language) standard. In addition.Data transfers are either done on a per object basis or on a per page (normally 4K) basis. Object orientation also provides mechanisms such as inheritance for modeling new instruments quickly and easily. text. The optimizers improve ways of finding information within relational databases' tables and indices. OR databases can handle multimedia data types. which must break data sets into parts for storage within tables and then reassemble them in response to queries. SQL. used for querying and updating a relational database.

for such functions as administration and Web development." SIDEBAR Relating to Relational Databases A relational database-management system (RDBMS) includes a collection of data items organized as a table. . For example. and scalability are crucial. ." Meanwhile." "Relational vendors realized that objects are important and added them. For example. but very few database vendors implemented it." said Informix's Stonebraker. it is not a standard with critical mass in the marketplace. reliability. more tools are available for relational databases. And with their bigger installed base. producing OR systems. dates of sale." Business issues "OO systems have not focused on bread-and-butter traditional business-data processing applications where high performance. RDBMS vendors have more money and marketing clout than ODBMS vendors. the group created an OQL (Object Query Language) standard." Stonebraker said. . said Philip Russom. with the columns representing data categories and the rows representing the data itself. relational systems and their OR descendants continue to be the market leaders. which has rarely been demonstrated by OO systems.to make the standard an important factor in the industry. a table might contain information about product orders. represent several billion in revenue. "A much bigger problem is that the vendors behind ODMG represent zero billion [dollars] in revenue while the vendors behind SQL . he said. because relational databases have a much bigger installed base. customers. "This is a large market where relational systems excel and have enjoyed wide adoption. "However. "Hence. with the columns representing product types." he said. unless it offers a compelling business advantage. "As such. many ODBMS vendors are scrambling to develop new products or repositioning existing offerings to create new revenue sources as revenue from ODBMSs' slow down. "With this impending downturn in the ODBMS life cycle. and prices. Hurtwitz's Russom thinks OO databases will continue to be used mostly in niche markets and that their adoption has peaked. Users can access data in the order in which it was entered in a table or reassemble it in many different ways for examination from multiple perspectives." Stonebraker said. the failure of OO vendors to realize the importance of SQL and the needs of business-data processing has hurt them immensely. director of data warehousing and business-intelligence services for the Hurwitz Group consultancy." "Companies are justifiably loath to scrap such systems for a different technology.

However. and reduced maintenance costs. a database expert and visiting scholar at The City University in London. Users can support new media types with OO databases simply by creating new objects. alphanumerical data. you have to decompose the aircraft into tables and then join the tables when you need to reconstruct the aircraft. the application and the database use exactly the same object model. companies use them to maintain records of transactions or personnel files. For example. although OO databases excel at handling some data types. executive director of Barry & Associates consultants and also chair and executive director of the Object Data Management Group (ODMG). Users thus must develop mapping procedures between the object and relational models. And they work only with limited. simple data types.Relational databases are good for managing large amounts of structured. OO databases are well suited for use with applications that must manage complex relationships among data objects. OO databases don't scale up to high transaction volumes and user counts as well as relational databases. director of data warehousing and business-intelligence services for the Hurwitz Group consultancy. "The result for ODMBSs is less code to develop. relational databases are rigid because their only data structure is tables. the relationships between aircraft parts are directly managed [by the database]. This isn't the case with relational databases. he said. reduced development time." said Akmal Chaudhri." said Doug Barry. they have not become major players in the database market. program director of information and data management software for IDC. For this and other reasons. Meanwhile. said Philip Russom. a market research firm. RDBMS programmers sometimes spend more than 25 percent of their coding time mapping program objects to the database. and thus have had trouble handling complex and user-defined data types. However. including multimedia. such as integers. said Carl Olofson. With OO databases. With a relational database. OO Database Orientation An OO database-management system (ODBMS) supports the modeling and creation of data as objects. . an OO database-standards organization. "If you're modeling a Boeing 747 with an ODBMS. with which users must utilize an object model for the application and a relational-data model for the database.

Sign up to vote on this title
UsefulNot useful