{"id":997,"date":"2025-01-12T20:41:16","date_gmt":"2025-01-13T01:41:16","guid":{"rendered":"https:\/\/pressbooks.bccampus.ca\/nelson\/chapter\/chapter-2-database-fundamental-concepts\/"},"modified":"2025-01-12T20:59:01","modified_gmt":"2025-01-13T01:59:01","slug":"chapter02thirdedition","status":"publish","type":"chapter","link":"https:\/\/pressbooks.bccampus.ca\/nelson\/chapter\/chapter02thirdedition\/","title":{"raw":"Chapter 2 Database Fundamental Concepts","rendered":"Chapter 2 Database Fundamental Concepts"},"content":{"raw":"<div class=\"chapter-2-database-fundamental-concepts\">\r\n<p class=\"import-Normal\">Original Author: Adrienne Watt and Nelson Eng<\/p>\r\n<p class=\"import-Normal\">Rewrite: Fred Strickland<\/p>\r\n\r\n<h2>Learning Outcomes<\/h2>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><strong>Computing Sub Discipline<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><strong>Document <\/strong><strong>C<\/strong><strong>ode, Reference Code, and Page Number<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><strong>Text<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\"><a id=\"_Hlk167438568\"><\/a>Computer Science<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS2013<\/p>\r\n<p class=\"import-Normal\">IM\/Database Systems (DS)<\/p>\r\n<p class=\"import-Normal\">(Page 113)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">3. Cite the basic goals, functions, and models of database systems. [Familiarity]<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS2023<\/p>\r\n<p class=\"import-Normal\">Dm-Core: Core Database Systems Concepts<\/p>\r\n<p class=\"import-Normal\">(Pages 115-116)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">ILO CS Core 4. Defend the value of data independence.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 31.9pt\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\">Information Technology<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\">IT2017<\/p>\r\n<p class=\"import-Normal\">Subdomains:<\/p>\r\n<p class=\"import-Normal\">ITE-IMA-02 Data Information Concepts<\/p>\r\n<p class=\"import-Normal\">(Page 92)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">a. Describe the role of data, information, and databases in organizations.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 52.6pt\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">b. Compare and use key terms such as: information, data, database, database management system, metadata, and data mining.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Software Engineering<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">SE2014<\/p>\r\n<p class=\"import-Normal\">Computing Essentials<\/p>\r\n<p class=\"import-Normal\">CMP.cf.10<\/p>\r\n<p class=\"import-Normal\">(Page 29)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Database fundamentals Comprehension coverage. And is essential part of the core.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #d9d9d9;border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\">National Security Agency<\/p>\r\n<p class=\"import-Normal\">Database Management Systems (DMS)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">DMS 1. Compare and contrast database types including relational, hierarchical, distributed, and other models.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">DMS 2. Describe the role of a database, a DBMS, and a database server within a complex system supporting multiple applications.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #d9d9d9;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\">National Security Agency<\/p>\r\n<p class=\"import-Normal\">Databases (DAT)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">DAT 1. Describe the role of a database, a database management system (DBMS), and a database server within a complex system supporting one or more applications.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #d9d9d9;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">DAT 2. Outline different models for databases and cases where they may be used.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h2>What Is a Database?<\/h2>\r\n<p class=\"import-Normal\">A <em>database<\/em> is a shared collection of related data used to support the activities of a particular organization. The data is organized in a structured fashion.<\/p>\r\n<p class=\"import-Normal\">The purpose of a database system is to provide a safe and effective platform for managing vast amounts of data. The primary goal is to support data retrieval and to provide a dependable storage platform the essential data. The following are the functions provided by a database system:<\/p>\r\n\r\n<ul>\r\n \t<li>Efficient storage and retrieval.<\/li>\r\n \t<li>Maintains the reliability and accuracy.<\/li>\r\n \t<li>Protecting confidential data.<\/li>\r\n \t<li>Prioritize the security of sensitive data.<\/li>\r\n \t<li>Supporting collaborations.<\/li>\r\n \t<li>Provide for data backups.<\/li>\r\n \t<li>Provide for transaction management.<\/li>\r\n \t<li>Supports many applications.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">A database can be viewed as a repository of data that is defined once and then accessed by various users as shown in Figure 2.1.<\/p>\r\n<img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image1-1.jpeg\" alt=\"image\" width=\"300px\" height=\"209px\" \/>\r\n<p class=\"import-Normal\">Figure 2.1. A database is a repository of data.<\/p>\r\n\r\n<\/div>\r\n<h2>Database Properties<\/h2>\r\n<p class=\"import-Normal\">A database has the following properties:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">It is a representation of an aspect of the real world or a collection of <em>data <\/em><em>or data <\/em><em>element<\/em>s (facts) representing the real-world.<\/li>\r\n \t<li class=\"import-Normal\">A database is logical, coherent, and internally consistent.<\/li>\r\n \t<li class=\"import-Normal\">A database is designed, built, and populated with data for a specific purpose.<\/li>\r\n \t<li class=\"import-Normal\">Each data item is stored in a field.<\/li>\r\n \t<li class=\"import-Normal\">A combination of fields makes up a <em>table<\/em>.\r\n<ul>\r\n \t<li class=\"import-Normal\">For example, each field in an employee table contains data about an individual employee.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">A database can contain many tables. One table could contain data about departments in an organization. Another table could contain data about product inventory. And still another table could contain data about employees.<\/p>\r\n<p class=\"import-Normal\">In fact, a database may have a table that provides insights into the nature of a database table. This is known as <em>metadata.<\/em><\/p>\r\n<p class=\"import-Normal\"><em>Data mining<\/em> looks at the actual data in order to find patterns.<\/p>\r\n<p class=\"import-Normal\">For example, a membership system may contain an address table and an individual member table as shown in Figure 2.2. Individuals, group homes, businesses, and corporations are examples of possible members in the Science World subscription service. Memberships can be purchased for a one- or a two-year period. And then renewed for another one- or two-year period.<\/p>\r\n<img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image2.jpeg\" alt=\"image\" width=\"400px\" height=\"259px\" \/>\r\n<p class=\"import-Normal\">Figure 2.2. Membership system at Science World by N. Eng.<\/p>\r\n<p class=\"import-Normal\">In Figure 2.2, Minnie Mouse has renewed the family\u2019s membership with Science World. Everyone with membership ID#100755 and that lives at 8932 Rodent Lane is covered by this membership. The individual members are Mickey Mouse, Minnie Mouse, Mighty Mouse, Door Mouse, Tom Mouse, King Rat, Man Mouse, and Moose Mouse.<\/p>\r\n\r\n<h2>Database Models<\/h2>\r\n<p class=\"import-Normal\">A database model defines a database\u2019s logical structure. The database model defines how the data will be stored, will be organized, and will be manipulated. In Chapter 1, we mentioned two data models without any explanations. We will address the features of those two data models plus mention other database models.<\/p>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h3>Hierarchical Database Model<\/h3>\r\n<p class=\"import-Normal\">This was one of IBM\u2019s first database model. The data is organized in a tree-like structure. It has nodes for records and branches for the data.<\/p>\r\n<p class=\"import-Normal\">Advantages:<\/p>\r\n\r\n<ul>\r\n \t<li>Easy to add data and to delete of data.<\/li>\r\n \t<li>Data at the top of hierarchical database can be accessed quickly.<\/li>\r\n \t<li>Work nicely with the 1970s mainframe storage systems and other linear data storage media.<\/li>\r\n \t<li>Works nicely with one-to-many relationships.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Disadvantages:<\/p>\r\n\r\n<ul>\r\n \t<li>Data may need to be stored in several locations.<\/li>\r\n \t<li>Linear storage systems are not used today.<\/li>\r\n \t<li>Executing queries requires going from the top down to the lower levels and this takes time.<\/li>\r\n \t<li>Does not support many-to-many relationships.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image3.jpeg\" alt=\"image\" width=\"624px\" height=\"333.84px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 2.3. An example of a hierarchical database model. Source of image: https:\/\/d2myx53yhj7u4b.cloudfront.net\/sites\/default\/files\/ic-database-model-hierarchaical.jpg<\/p>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h3>Network Database Model<\/h3>\r\n<p class=\"import-Normal\">A database task force group created the network database model in the 1960s. The network database model expanded upon the hierarchical database model by adding multiple parent segments, which are grouped into levels. A logical relationship can exist between the segments on a level. This changed supported a many-to-many logical relationship.<\/p>\r\n<p class=\"import-Normal\">In a sense, the network database model was a forerunner to an object-oriented database model, because it represented data as objects and supported more than one parent record. In the 1970s, the Conference on Data systems Languages (CODASYL) formally defined the network databases model.<\/p>\r\n<p class=\"import-Normal\">Advantages:<\/p>\r\n\r\n<ul>\r\n \t<li>Easy to implement.<\/li>\r\n \t<li>The network model can represent data redundancy better than the hierarchical database model.<\/li>\r\n \t<li>Can handle one-to-many and many-to-many relationships.<\/li>\r\n \t<li>The network model is better at isolating the program from the complex physical storage details.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Disadvantages:<\/p>\r\n\r\n<ul>\r\n \t<li>Pointers are used for maintained and this makes the structure extremely complicated.<\/li>\r\n \t<li>Inserting, deleting, or updating actions involve manipulating numerous pointers.<\/li>\r\n \t<li>Changing the database structure is extremely difficult.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image4.png\" alt=\"image\" width=\"402px\" height=\"302px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 2.4. An example of a network database model. Source of image: https:\/\/static.studytonight.com\/dbms\/images\/network-dbms-model.png<\/p>\r\n\r\n<h3>Object-Oriented Database Model<\/h3>\r\n<p class=\"import-Normal\">Data is represented as objects. The object-oriented database model is based on object-oriented programming languages. This is well-suited for handling spatial data.<\/p>\r\n<p class=\"import-Normal\">Advantages:<\/p>\r\n\r\n<ul>\r\n \t<li>Can handle pictures, voice, video, text, and numbers.<\/li>\r\n \t<li>Code reuse is possible.<\/li>\r\n \t<li>Object-oriented databases have lower maintenance costs.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Disadvantages:<\/p>\r\n\r\n<ul>\r\n \t<li>There is no universally defined object-oriented database model.<\/li>\r\n \t<li>Has not been widely adopted.<\/li>\r\n \t<li>Does not have security \u201cout-of-the-box.\u201d<\/li>\r\n \t<li>Can be more complex than other database management systems.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image5.png\" alt=\"image\" width=\"605px\" height=\"320px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 2.5. An example of an object-oriented database model. Source of image: https:\/\/media.geeksforgeeks.org\/wp-content\/uploads\/20201224205618\/oo.png<\/p>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h3>Database Models that are Variations of Other Database Models<\/h3>\r\n<p class=\"import-Normal\">Object-Relational Database Model attempts to combine the features of the object-oriented database model with the best features of the relational database model. (The relational database model will be addressed shortly.)<\/p>\r\n<p class=\"import-Normal\">Entity Relationship Database Model is more of a concept than an actual implementation. (The development of a relational database will draw on the entity relationship diagram approach.)<\/p>\r\n<p class=\"import-Normal\">Distributed Database Model is using two or more servers. The data could be either duplicated on each server or parts of the database could split.<\/p>\r\n\r\n<h3>Database Models that are Different from Other Database Models<\/h3>\r\n<p class=\"import-Normal\">The Inverted File Structure Database is designed to support fast full-text searches. The data is indexed as a series of keys in a lookup table. This approach is used with Big Data systems.<\/p>\r\n<p class=\"import-Normal\">The Flat Database Model (not the same thing as a flat file system) puts everything into one large table. The computer reads the entire file into memory. This works well for very small datasets.<\/p>\r\n\r\n<h3>Relational Database Model Database<\/h3>\r\n<p class=\"import-Normal\">Edgar Codd was not happy with the lack of a search engine in the CODASYL approach and in the IMS model. In 1970, he began to write a series of papers about a different way of constructing a database. In June 1970, Codd best paper, \u201cA Relational Model of Data for Large Shared Data Banks,\u201d described a new method for storing data and processing large databases.<\/p>\r\n<p class=\"import-Normal\">IBM had invested heavily in the IMS model and was not interested in Codd\u2019s ideas. However. Michael Stonebraker and Eugene Wong (both then at UC Berkeley) saw Codd\u2019s paper and made the decision in 1973 to research relational database systems. The project came to be known as INGRES (Interactive Graphics and Retrieval System) and it successfully demonstrated that a relational model could be efficient and practical. INGRES worked with a query language known as QUEL. These efforts pressured IBM to develop SQL in 1974. This replaced QUEL. So SQL became the standard way of interacting with a relational database (ANSI and OSI standards in 1986 and 1987).<\/p>\r\n<p class=\"import-Normal\">Advantages:<\/p>\r\n\r\n<ul>\r\n \t<li>Changes in the database structure would have no impact on data access.<\/li>\r\n \t<li>The arrangement of data in rows in a table made it much easier to comprehend.<\/li>\r\n \t<li>This supports both data independence and structure independence. Thus making creating a database design, performing maintenance, performing administration, and using the data much easier.<\/li>\r\n \t<li>Complex queries can be used to access or modify the data.<\/li>\r\n \t<li>It is easier to maintain security.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Disadvantages:<\/p>\r\n\r\n<ul>\r\n \t<li>It does not support an object-oriented database model.<\/li>\r\n \t<li>There are two expenses. One expense is for the database storage. The other cost is for the software that interacts with the data.<\/li>\r\n \t<li>If a database has many tables and if a query needs to work with several tables, then the performance will be slow. A poorly designed database will be slower.<\/li>\r\n \t<li>There is a need for a large amount of physical memory.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image6.png\" alt=\"image\" width=\"591px\" height=\"391px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 2.6. An example of a relational database model. Source of image: https:\/\/i2.wp.com\/theintactone.com\/wp-content\/uploads\/2019\/03\/5.1-relational-dbms-model.png?resize=591%2C391&amp;ssl=1<\/p>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h2>Database Management System<\/h2>\r\n<p class=\"import-Normal\">A <em>database management system (DBMS)<\/em> is a collection of programs that enables users to create and maintain databases. In a large operation, the data might be on one server, the DBMS might be on a second server, and user-friendly interfacing software could be on a third server. And if the data is made available to the public, then a fourth server would be hosting the web pages. This is known as a multi-tier system. This divides the workload and adds security.<\/p>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image7.png\" alt=\"image\" width=\"624px\" height=\"367.066666666667px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 2.7. An example of a database management system. Source of image: https:\/\/www.researchgate.net\/profile\/Yahya-Al-Samawi\/publication\/308181535\/figure\/fig4\/AS:407820987060229@1474243508852\/Multi-tier-architecture-with-dedicated-Web-server-and-application-server.png<\/p>\r\n<p class=\"import-Normal\">A DBMS can control how individuals are able to access the data and limits on the amount. The primary goal of a DBMS is to provide an environment that is both convenient and efficient for users to retrieve and store data.<\/p>\r\n<p class=\"import-Normal\">Users will store data into a database. They will run queries in order to gain information and insights. Then actions can be taken.<\/p>\r\n<p class=\"import-Normal\">With the database approach, we can have a banking system as shown in Figure 2.8. In this example, a DBMS is used by the Personnel Department, the Account Department, and the Loan Department to access the shared corporate database.<\/p>\r\n<img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image8.jpeg\" alt=\"image\" width=\"300px\" height=\"195px\" \/>\r\n<p class=\"import-Normal\">Figure 2.8. A bank database management system (DBMS).<\/p>\r\n<p class=\"import-Normal\">The rest of this book will focus on the relational database management systems (RDBMS).<\/p>\r\n\r\n<h2>Key Terms<\/h2>\r\n<p class=\"import-Normal\"><strong>data or <\/strong><strong>data elements<\/strong>: Facts that represent something in the real-world.<\/p>\r\n<p class=\"import-Normal\"><strong>data mining<\/strong>: Looking for patterns.<\/p>\r\n<p class=\"import-Normal\"><strong>database<\/strong>: A shared collection of related data that is used to support the activities of a particular organization.<\/p>\r\n<p class=\"import-Normal\"><strong>database management system (DBMS)<\/strong>: A collection of programs that enables users to create and to maintain databases plus provide the ability to control who and how the access is done.<\/p>\r\n<p class=\"import-Normal\"><strong>information<\/strong>: Insights gained from pieces of data.<\/p>\r\n<p class=\"import-Normal\"><strong>metadata<\/strong>: Data about the database.<\/p>\r\n<p class=\"import-Normal\"><strong>multi-tier system<\/strong>: An arrangement that uses several servers. It divides the workload.<\/p>\r\n<p class=\"import-Normal\"><strong>table<\/strong>: A combination of fields<\/p>\r\n\r\n<h2>Exercises<\/h2>\r\n<ol>\r\n \t<li class=\"import-Normal\">What is a database?<\/li>\r\n \t<li class=\"import-Normal\">What are the properties of a database?<\/li>\r\n \t<li class=\"import-Normal\">Provide three examples of a real-world database (e.g., the library contains a database of books). (Note: You will need to do some thinking here.)<\/li>\r\n \t<li class=\"import-Normal\">Explain the goals and functions of a database. (CS2013 IM\/DS 3.)<\/li>\r\n \t<li class=\"import-Normal\">Explain the following database models and where each one might be used (CS2013 IM\/DS 3, NSA DMS 1, and NSA DAT 2.):\r\n<ol>\r\n \t<li class=\"import-Normal\">Hierarchical database Model<\/li>\r\n \t<li class=\"import-Normal\">Network Database Model<\/li>\r\n \t<li class=\"import-Normal\">Object-oriented database model<\/li>\r\n \t<li class=\"import-Normal\">Relational database model<\/li>\r\n \t<li class=\"import-Normal\">Distributed database model<\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li class=\"import-Normal\">Describe the role of data, information, and databases in an organization. (IT2017 ITE-IMA-02 a)<\/li>\r\n \t<li class=\"import-Normal\">Define or explain the following terms (IT2017 ITE-IMA-02 b)\r\n<ol>\r\n \t<li class=\"import-Normal\">Information<\/li>\r\n \t<li class=\"import-Normal\">Data<\/li>\r\n \t<li class=\"import-Normal\">Database<\/li>\r\n \t<li class=\"import-Normal\">Database management system<\/li>\r\n \t<li class=\"import-Normal\">Metadata<\/li>\r\n \t<li class=\"import-Normal\">Data mining<\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li class=\"import-Normal\">What is a database management system (DBMS)?<\/li>\r\n \t<li class=\"import-Normal\">Describe the role of a database, a database management system (DBMS), and a database server within a complex system supporting one or more applications. (NSA DMS 2 and NSA DAT 1)<\/li>\r\n<\/ol>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h2>A Running Project<\/h2>\r\n<p class=\"import-Normal\">In order to fully understand databases and database management systems, you will need to work on a project. This will be an iterative effort. You will be coming back to pieces again and again. You will be adding additional details each time.<\/p>\r\n<p class=\"import-Normal\">This will be an academic exercise, but it could be turned into a service project or into an internship.<\/p>\r\n<p class=\"import-Normal\">For the first effort, work on the following questions:<\/p>\r\n\r\n<ol>\r\n \t<li class=\"import-NormalWeb\">Come up with a company or an organization.<\/li>\r\n \t<li class=\"import-NormalWeb\">What kind of data do you wish to track?<\/li>\r\n \t<li class=\"import-NormalWeb\">What are the relationships between the data?<\/li>\r\n \t<li class=\"import-NormalWeb\">What are the constraints on the data?<\/li>\r\n<\/ol>\r\n<p class=\"import-Normal\">Imagine that you are helping out a French cultural museum. Here are some possible things to be explored:<\/p>\r\n\r\n<ul>\r\n \t<li>Books: Title, author, date, edition, language, location, condition, number of copies.<\/li>\r\n \t<li>Hard goods: English label, French label, location, ownership, on-loan.<\/li>\r\n \t<li>Property details<\/li>\r\n \t<li>Funds, donations<\/li>\r\n \t<li>Calendar<\/li>\r\n \t<li>Volunteer information<\/li>\r\n \t<li>Media: Facebook, normal website.<\/li>\r\n \t<li>Locations:\r\n<ul>\r\n \t<li>The museum could have more than one location.<\/li>\r\n \t<li>The museum may wish to track items held by other museums.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h2>Attribution<\/h2>\r\n<p class=\"import-Normal\">This chapter of <em>Database Design <\/em>(including its images, unless otherwise noted) is a derivative copy of\u00a0<a class=\"rId18\" href=\"http:\/\/cnx.org\/contents\/b57b8760-6898-469d-a0f7-06e0537f6817@1\">Database System Concepts<\/a>\u00a0by\u00a0Nguyen Kim Anh\u00a0licensed under\u00a0<a class=\"rId19\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\">Creative Commons Attribution License 3.0 license<\/a><\/p>\r\n<p class=\"import-Normal\">The following material was written by Nelson Eng for the second edition:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Example under <em>Database Properties<\/em><\/li>\r\n \t<li class=\"import-Normal\">Key Terms<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The following material was written by Adrienne Watt for the second edition:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Exercises<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The whole chapter was completely revised by Fred Strickland for the third edition.<\/p>\r\n\r\n<h2>References<\/h2>\r\n<p class=\"import-Normal\">Harshitha Balasankula. \u201cTypes of databases Models: A Comprehensive Guide 101,\u201d Hevo, May 9, 2022. <a class=\"rId20\" href=\"https:\/\/hevodata.com\/learn\/types-of-database-models\/\"><span class=\"import-Hyperlink\">https:\/\/hevodata.com\/learn\/types-of-database-models\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">E. F. Codd. \u201cA Relational Model of Data for Large shared data Banks,\u201d Communications of the ACM, Volume 13, Number 6, June 1970, 377. <a class=\"rId21\" href=\"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/362384.362685\"><span class=\"import-Hyperlink\">https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/362384.362685<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">Keith D. Foote. \u201cA Brief History of database Management,\u201d Dataversity.net, October 25, 2021. <a class=\"rId22\" href=\"https:\/\/www.dataversity.net\/brief-history-database-management\/\"><span class=\"import-Hyperlink\">https:\/\/www.dataversity.net\/brief-history-database-management\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cPurpose of Database Systems in DBMS,\u201d Geeks for Geeks, July 14, 2023. <a class=\"rId23\" href=\"https:\/\/www.geeksforgeeks.org\/purpose-of-database-system-in-dbms\/\"><span class=\"import-Hyperlink\">https:\/\/www.geeksforgeeks.org\/purpose-of-database-system-in-dbms\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">Mishal Roor. \u201c6 Advantages and Disadvantages of Relational database | Limitations &amp; Benefits of Relational database,\u201d Hitechwhizz.com, April 14, 2021. <a class=\"rId24\" href=\"https:\/\/www.hitechwhizz.com\/2021\/04\/6-advantages-and-disadvantages-limitations-benefits-of-relational-database.html\"><span class=\"import-Hyperlink\">https:\/\/www.hitechwhizz.com\/2021\/04\/6-advantages-and-disadvantages-limitations-benefits-of-relational-database.html<\/span><\/a><\/p>\r\n<p class=\"import-Normal\"><\/p>","rendered":"<div class=\"chapter-2-database-fundamental-concepts\">\n<p class=\"import-Normal\">Original Author: Adrienne Watt and Nelson Eng<\/p>\n<p class=\"import-Normal\">Rewrite: Fred Strickland<\/p>\n<h2>Learning Outcomes<\/h2>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><strong>Computing Sub Discipline<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><strong>Document <\/strong><strong>C<\/strong><strong>ode, Reference Code, and Page Number<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><strong>Text<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\"><a id=\"_Hlk167438568\"><\/a>Computer Science<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2013<\/p>\n<p class=\"import-Normal\">IM\/Database Systems (DS)<\/p>\n<p class=\"import-Normal\">(Page 113)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">3. Cite the basic goals, functions, and models of database systems. [Familiarity]<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2023<\/p>\n<p class=\"import-Normal\">Dm-Core: Core Database Systems Concepts<\/p>\n<p class=\"import-Normal\">(Pages 115-116)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">ILO CS Core 4. Defend the value of data independence.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 31.9pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\">Information Technology<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\">IT2017<\/p>\n<p class=\"import-Normal\">Subdomains:<\/p>\n<p class=\"import-Normal\">ITE-IMA-02 Data Information Concepts<\/p>\n<p class=\"import-Normal\">(Page 92)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">a. Describe the role of data, information, and databases in organizations.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 52.6pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">b. Compare and use key terms such as: information, data, database, database management system, metadata, and data mining.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Software Engineering<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">SE2014<\/p>\n<p class=\"import-Normal\">Computing Essentials<\/p>\n<p class=\"import-Normal\">CMP.cf.10<\/p>\n<p class=\"import-Normal\">(Page 29)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Database fundamentals Comprehension coverage. And is essential part of the core.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #d9d9d9;border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\">National Security Agency<\/p>\n<p class=\"import-Normal\">Database Management Systems (DMS)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">DMS 1. Compare and contrast database types including relational, hierarchical, distributed, and other models.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">DMS 2. Describe the role of a database, a DBMS, and a database server within a complex system supporting multiple applications.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #d9d9d9;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\">National Security Agency<\/p>\n<p class=\"import-Normal\">Databases (DAT)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">DAT 1. Describe the role of a database, a database management system (DBMS), and a database server within a complex system supporting one or more applications.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 28.75pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #d9d9d9;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">DAT 2. Outline different models for databases and cases where they may be used.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h2>What Is a Database?<\/h2>\n<p class=\"import-Normal\">A <em>database<\/em> is a shared collection of related data used to support the activities of a particular organization. The data is organized in a structured fashion.<\/p>\n<p class=\"import-Normal\">The purpose of a database system is to provide a safe and effective platform for managing vast amounts of data. The primary goal is to support data retrieval and to provide a dependable storage platform the essential data. The following are the functions provided by a database system:<\/p>\n<ul>\n<li>Efficient storage and retrieval.<\/li>\n<li>Maintains the reliability and accuracy.<\/li>\n<li>Protecting confidential data.<\/li>\n<li>Prioritize the security of sensitive data.<\/li>\n<li>Supporting collaborations.<\/li>\n<li>Provide for data backups.<\/li>\n<li>Provide for transaction management.<\/li>\n<li>Supports many applications.<\/li>\n<\/ul>\n<p class=\"import-Normal\">A database can be viewed as a repository of data that is defined once and then accessed by various users as shown in Figure 2.1.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image1-1.jpeg\" alt=\"image\" width=\"300px\" height=\"209px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.1. A database is a repository of data.<\/p>\n<\/div>\n<h2>Database Properties<\/h2>\n<p class=\"import-Normal\">A database has the following properties:<\/p>\n<ul>\n<li class=\"import-Normal\">It is a representation of an aspect of the real world or a collection of <em>data <\/em><em>or data <\/em><em>element<\/em>s (facts) representing the real-world.<\/li>\n<li class=\"import-Normal\">A database is logical, coherent, and internally consistent.<\/li>\n<li class=\"import-Normal\">A database is designed, built, and populated with data for a specific purpose.<\/li>\n<li class=\"import-Normal\">Each data item is stored in a field.<\/li>\n<li class=\"import-Normal\">A combination of fields makes up a <em>table<\/em>.\n<ul>\n<li class=\"import-Normal\">For example, each field in an employee table contains data about an individual employee.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p class=\"import-Normal\">A database can contain many tables. One table could contain data about departments in an organization. Another table could contain data about product inventory. And still another table could contain data about employees.<\/p>\n<p class=\"import-Normal\">In fact, a database may have a table that provides insights into the nature of a database table. This is known as <em>metadata.<\/em><\/p>\n<p class=\"import-Normal\"><em>Data mining<\/em> looks at the actual data in order to find patterns.<\/p>\n<p class=\"import-Normal\">For example, a membership system may contain an address table and an individual member table as shown in Figure 2.2. Individuals, group homes, businesses, and corporations are examples of possible members in the Science World subscription service. Memberships can be purchased for a one- or a two-year period. And then renewed for another one- or two-year period.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image2.jpeg\" alt=\"image\" width=\"400px\" height=\"259px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.2. Membership system at Science World by N. Eng.<\/p>\n<p class=\"import-Normal\">In Figure 2.2, Minnie Mouse has renewed the family\u2019s membership with Science World. Everyone with membership ID#100755 and that lives at 8932 Rodent Lane is covered by this membership. The individual members are Mickey Mouse, Minnie Mouse, Mighty Mouse, Door Mouse, Tom Mouse, King Rat, Man Mouse, and Moose Mouse.<\/p>\n<h2>Database Models<\/h2>\n<p class=\"import-Normal\">A database model defines a database\u2019s logical structure. The database model defines how the data will be stored, will be organized, and will be manipulated. In Chapter 1, we mentioned two data models without any explanations. We will address the features of those two data models plus mention other database models.<\/p>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h3>Hierarchical Database Model<\/h3>\n<p class=\"import-Normal\">This was one of IBM\u2019s first database model. The data is organized in a tree-like structure. It has nodes for records and branches for the data.<\/p>\n<p class=\"import-Normal\">Advantages:<\/p>\n<ul>\n<li>Easy to add data and to delete of data.<\/li>\n<li>Data at the top of hierarchical database can be accessed quickly.<\/li>\n<li>Work nicely with the 1970s mainframe storage systems and other linear data storage media.<\/li>\n<li>Works nicely with one-to-many relationships.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Disadvantages:<\/p>\n<ul>\n<li>Data may need to be stored in several locations.<\/li>\n<li>Linear storage systems are not used today.<\/li>\n<li>Executing queries requires going from the top down to the lower levels and this takes time.<\/li>\n<li>Does not support many-to-many relationships.<\/li>\n<\/ul>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image3.jpeg\" alt=\"image\" width=\"624px\" height=\"333.84px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.3. An example of a hierarchical database model. Source of image: https:\/\/d2myx53yhj7u4b.cloudfront.net\/sites\/default\/files\/ic-database-model-hierarchaical.jpg<\/p>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h3>Network Database Model<\/h3>\n<p class=\"import-Normal\">A database task force group created the network database model in the 1960s. The network database model expanded upon the hierarchical database model by adding multiple parent segments, which are grouped into levels. A logical relationship can exist between the segments on a level. This changed supported a many-to-many logical relationship.<\/p>\n<p class=\"import-Normal\">In a sense, the network database model was a forerunner to an object-oriented database model, because it represented data as objects and supported more than one parent record. In the 1970s, the Conference on Data systems Languages (CODASYL) formally defined the network databases model.<\/p>\n<p class=\"import-Normal\">Advantages:<\/p>\n<ul>\n<li>Easy to implement.<\/li>\n<li>The network model can represent data redundancy better than the hierarchical database model.<\/li>\n<li>Can handle one-to-many and many-to-many relationships.<\/li>\n<li>The network model is better at isolating the program from the complex physical storage details.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Disadvantages:<\/p>\n<ul>\n<li>Pointers are used for maintained and this makes the structure extremely complicated.<\/li>\n<li>Inserting, deleting, or updating actions involve manipulating numerous pointers.<\/li>\n<li>Changing the database structure is extremely difficult.<\/li>\n<\/ul>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image4.png\" alt=\"image\" width=\"402px\" height=\"302px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.4. An example of a network database model. Source of image: https:\/\/static.studytonight.com\/dbms\/images\/network-dbms-model.png<\/p>\n<h3>Object-Oriented Database Model<\/h3>\n<p class=\"import-Normal\">Data is represented as objects. The object-oriented database model is based on object-oriented programming languages. This is well-suited for handling spatial data.<\/p>\n<p class=\"import-Normal\">Advantages:<\/p>\n<ul>\n<li>Can handle pictures, voice, video, text, and numbers.<\/li>\n<li>Code reuse is possible.<\/li>\n<li>Object-oriented databases have lower maintenance costs.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Disadvantages:<\/p>\n<ul>\n<li>There is no universally defined object-oriented database model.<\/li>\n<li>Has not been widely adopted.<\/li>\n<li>Does not have security \u201cout-of-the-box.\u201d<\/li>\n<li>Can be more complex than other database management systems.<\/li>\n<\/ul>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image5.png\" alt=\"image\" width=\"605px\" height=\"320px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.5. An example of an object-oriented database model. Source of image: https:\/\/media.geeksforgeeks.org\/wp-content\/uploads\/20201224205618\/oo.png<\/p>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h3>Database Models that are Variations of Other Database Models<\/h3>\n<p class=\"import-Normal\">Object-Relational Database Model attempts to combine the features of the object-oriented database model with the best features of the relational database model. (The relational database model will be addressed shortly.)<\/p>\n<p class=\"import-Normal\">Entity Relationship Database Model is more of a concept than an actual implementation. (The development of a relational database will draw on the entity relationship diagram approach.)<\/p>\n<p class=\"import-Normal\">Distributed Database Model is using two or more servers. The data could be either duplicated on each server or parts of the database could split.<\/p>\n<h3>Database Models that are Different from Other Database Models<\/h3>\n<p class=\"import-Normal\">The Inverted File Structure Database is designed to support fast full-text searches. The data is indexed as a series of keys in a lookup table. This approach is used with Big Data systems.<\/p>\n<p class=\"import-Normal\">The Flat Database Model (not the same thing as a flat file system) puts everything into one large table. The computer reads the entire file into memory. This works well for very small datasets.<\/p>\n<h3>Relational Database Model Database<\/h3>\n<p class=\"import-Normal\">Edgar Codd was not happy with the lack of a search engine in the CODASYL approach and in the IMS model. In 1970, he began to write a series of papers about a different way of constructing a database. In June 1970, Codd best paper, \u201cA Relational Model of Data for Large Shared Data Banks,\u201d described a new method for storing data and processing large databases.<\/p>\n<p class=\"import-Normal\">IBM had invested heavily in the IMS model and was not interested in Codd\u2019s ideas. However. Michael Stonebraker and Eugene Wong (both then at UC Berkeley) saw Codd\u2019s paper and made the decision in 1973 to research relational database systems. The project came to be known as INGRES (Interactive Graphics and Retrieval System) and it successfully demonstrated that a relational model could be efficient and practical. INGRES worked with a query language known as QUEL. These efforts pressured IBM to develop SQL in 1974. This replaced QUEL. So SQL became the standard way of interacting with a relational database (ANSI and OSI standards in 1986 and 1987).<\/p>\n<p class=\"import-Normal\">Advantages:<\/p>\n<ul>\n<li>Changes in the database structure would have no impact on data access.<\/li>\n<li>The arrangement of data in rows in a table made it much easier to comprehend.<\/li>\n<li>This supports both data independence and structure independence. Thus making creating a database design, performing maintenance, performing administration, and using the data much easier.<\/li>\n<li>Complex queries can be used to access or modify the data.<\/li>\n<li>It is easier to maintain security.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Disadvantages:<\/p>\n<ul>\n<li>It does not support an object-oriented database model.<\/li>\n<li>There are two expenses. One expense is for the database storage. The other cost is for the software that interacts with the data.<\/li>\n<li>If a database has many tables and if a query needs to work with several tables, then the performance will be slow. A poorly designed database will be slower.<\/li>\n<li>There is a need for a large amount of physical memory.<\/li>\n<\/ul>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image6.png\" alt=\"image\" width=\"591px\" height=\"391px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.6. An example of a relational database model. Source of image: https:\/\/i2.wp.com\/theintactone.com\/wp-content\/uploads\/2019\/03\/5.1-relational-dbms-model.png?resize=591%2C391&amp;ssl=1<\/p>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h2>Database Management System<\/h2>\n<p class=\"import-Normal\">A <em>database management system (DBMS)<\/em> is a collection of programs that enables users to create and maintain databases. In a large operation, the data might be on one server, the DBMS might be on a second server, and user-friendly interfacing software could be on a third server. And if the data is made available to the public, then a fourth server would be hosting the web pages. This is known as a multi-tier system. This divides the workload and adds security.<\/p>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image7.png\" alt=\"image\" width=\"624px\" height=\"367.066666666667px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.7. An example of a database management system. Source of image: https:\/\/www.researchgate.net\/profile\/Yahya-Al-Samawi\/publication\/308181535\/figure\/fig4\/AS:407820987060229@1474243508852\/Multi-tier-architecture-with-dedicated-Web-server-and-application-server.png<\/p>\n<p class=\"import-Normal\">A DBMS can control how individuals are able to access the data and limits on the amount. The primary goal of a DBMS is to provide an environment that is both convenient and efficient for users to retrieve and store data.<\/p>\n<p class=\"import-Normal\">Users will store data into a database. They will run queries in order to gain information and insights. Then actions can be taken.<\/p>\n<p class=\"import-Normal\">With the database approach, we can have a banking system as shown in Figure 2.8. In this example, a DBMS is used by the Personnel Department, the Account Department, and the Loan Department to access the shared corporate database.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image8.jpeg\" alt=\"image\" width=\"300px\" height=\"195px\" \/><\/p>\n<p class=\"import-Normal\">Figure 2.8. A bank database management system (DBMS).<\/p>\n<p class=\"import-Normal\">The rest of this book will focus on the relational database management systems (RDBMS).<\/p>\n<h2>Key Terms<\/h2>\n<p class=\"import-Normal\"><strong>data or <\/strong><strong>data elements<\/strong>: Facts that represent something in the real-world.<\/p>\n<p class=\"import-Normal\"><strong>data mining<\/strong>: Looking for patterns.<\/p>\n<p class=\"import-Normal\"><strong>database<\/strong>: A shared collection of related data that is used to support the activities of a particular organization.<\/p>\n<p class=\"import-Normal\"><strong>database management system (DBMS)<\/strong>: A collection of programs that enables users to create and to maintain databases plus provide the ability to control who and how the access is done.<\/p>\n<p class=\"import-Normal\"><strong>information<\/strong>: Insights gained from pieces of data.<\/p>\n<p class=\"import-Normal\"><strong>metadata<\/strong>: Data about the database.<\/p>\n<p class=\"import-Normal\"><strong>multi-tier system<\/strong>: An arrangement that uses several servers. It divides the workload.<\/p>\n<p class=\"import-Normal\"><strong>table<\/strong>: A combination of fields<\/p>\n<h2>Exercises<\/h2>\n<ol>\n<li class=\"import-Normal\">What is a database?<\/li>\n<li class=\"import-Normal\">What are the properties of a database?<\/li>\n<li class=\"import-Normal\">Provide three examples of a real-world database (e.g., the library contains a database of books). (Note: You will need to do some thinking here.)<\/li>\n<li class=\"import-Normal\">Explain the goals and functions of a database. (CS2013 IM\/DS 3.)<\/li>\n<li class=\"import-Normal\">Explain the following database models and where each one might be used (CS2013 IM\/DS 3, NSA DMS 1, and NSA DAT 2.):\n<ol>\n<li class=\"import-Normal\">Hierarchical database Model<\/li>\n<li class=\"import-Normal\">Network Database Model<\/li>\n<li class=\"import-Normal\">Object-oriented database model<\/li>\n<li class=\"import-Normal\">Relational database model<\/li>\n<li class=\"import-Normal\">Distributed database model<\/li>\n<\/ol>\n<\/li>\n<li class=\"import-Normal\">Describe the role of data, information, and databases in an organization. (IT2017 ITE-IMA-02 a)<\/li>\n<li class=\"import-Normal\">Define or explain the following terms (IT2017 ITE-IMA-02 b)\n<ol>\n<li class=\"import-Normal\">Information<\/li>\n<li class=\"import-Normal\">Data<\/li>\n<li class=\"import-Normal\">Database<\/li>\n<li class=\"import-Normal\">Database management system<\/li>\n<li class=\"import-Normal\">Metadata<\/li>\n<li class=\"import-Normal\">Data mining<\/li>\n<\/ol>\n<\/li>\n<li class=\"import-Normal\">What is a database management system (DBMS)?<\/li>\n<li class=\"import-Normal\">Describe the role of a database, a database management system (DBMS), and a database server within a complex system supporting one or more applications. (NSA DMS 2 and NSA DAT 1)<\/li>\n<\/ol>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h2>A Running Project<\/h2>\n<p class=\"import-Normal\">In order to fully understand databases and database management systems, you will need to work on a project. This will be an iterative effort. You will be coming back to pieces again and again. You will be adding additional details each time.<\/p>\n<p class=\"import-Normal\">This will be an academic exercise, but it could be turned into a service project or into an internship.<\/p>\n<p class=\"import-Normal\">For the first effort, work on the following questions:<\/p>\n<ol>\n<li class=\"import-NormalWeb\">Come up with a company or an organization.<\/li>\n<li class=\"import-NormalWeb\">What kind of data do you wish to track?<\/li>\n<li class=\"import-NormalWeb\">What are the relationships between the data?<\/li>\n<li class=\"import-NormalWeb\">What are the constraints on the data?<\/li>\n<\/ol>\n<p class=\"import-Normal\">Imagine that you are helping out a French cultural museum. Here are some possible things to be explored:<\/p>\n<ul>\n<li>Books: Title, author, date, edition, language, location, condition, number of copies.<\/li>\n<li>Hard goods: English label, French label, location, ownership, on-loan.<\/li>\n<li>Property details<\/li>\n<li>Funds, donations<\/li>\n<li>Calendar<\/li>\n<li>Volunteer information<\/li>\n<li>Media: Facebook, normal website.<\/li>\n<li>Locations:\n<ul>\n<li>The museum could have more than one location.<\/li>\n<li>The museum may wish to track items held by other museums.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h2>Attribution<\/h2>\n<p class=\"import-Normal\">This chapter of <em>Database Design <\/em>(including its images, unless otherwise noted) is a derivative copy of\u00a0<a class=\"rId18\" href=\"http:\/\/cnx.org\/contents\/b57b8760-6898-469d-a0f7-06e0537f6817@1\">Database System Concepts<\/a>\u00a0by\u00a0Nguyen Kim Anh\u00a0licensed under\u00a0<a class=\"rId19\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\">Creative Commons Attribution License 3.0 license<\/a><\/p>\n<p class=\"import-Normal\">The following material was written by Nelson Eng for the second edition:<\/p>\n<ul>\n<li class=\"import-Normal\">Example under <em>Database Properties<\/em><\/li>\n<li class=\"import-Normal\">Key Terms<\/li>\n<\/ul>\n<p class=\"import-Normal\">The following material was written by Adrienne Watt for the second edition:<\/p>\n<ul>\n<li class=\"import-Normal\">Exercises<\/li>\n<\/ul>\n<p class=\"import-Normal\">The whole chapter was completely revised by Fred Strickland for the third edition.<\/p>\n<h2>References<\/h2>\n<p class=\"import-Normal\">Harshitha Balasankula. \u201cTypes of databases Models: A Comprehensive Guide 101,\u201d Hevo, May 9, 2022. <a class=\"rId20\" href=\"https:\/\/hevodata.com\/learn\/types-of-database-models\/\"><span class=\"import-Hyperlink\">https:\/\/hevodata.com\/learn\/types-of-database-models\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">E. F. Codd. \u201cA Relational Model of Data for Large shared data Banks,\u201d Communications of the ACM, Volume 13, Number 6, June 1970, 377. <a class=\"rId21\" href=\"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/362384.362685\"><span class=\"import-Hyperlink\">https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/362384.362685<\/span><\/a><\/p>\n<p class=\"import-Normal\">Keith D. Foote. \u201cA Brief History of database Management,\u201d Dataversity.net, October 25, 2021. <a class=\"rId22\" href=\"https:\/\/www.dataversity.net\/brief-history-database-management\/\"><span class=\"import-Hyperlink\">https:\/\/www.dataversity.net\/brief-history-database-management\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cPurpose of Database Systems in DBMS,\u201d Geeks for Geeks, July 14, 2023. <a class=\"rId23\" href=\"https:\/\/www.geeksforgeeks.org\/purpose-of-database-system-in-dbms\/\"><span class=\"import-Hyperlink\">https:\/\/www.geeksforgeeks.org\/purpose-of-database-system-in-dbms\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">Mishal Roor. \u201c6 Advantages and Disadvantages of Relational database | Limitations &amp; Benefits of Relational database,\u201d Hitechwhizz.com, April 14, 2021. <a class=\"rId24\" href=\"https:\/\/www.hitechwhizz.com\/2021\/04\/6-advantages-and-disadvantages-limitations-benefits-of-relational-database.html\"><span class=\"import-Hyperlink\">https:\/\/www.hitechwhizz.com\/2021\/04\/6-advantages-and-disadvantages-limitations-benefits-of-relational-database.html<\/span><\/a><\/p>\n<p class=\"import-Normal\">\n","protected":false},"author":2276,"menu_order":2,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":["fredstrickland"],"pb_section_license":""},"chapter-type":[],"contributor":[66],"license":[],"class_list":["post-997","chapter","type-chapter","status-publish","hentry","contributor-fredstrickland"],"part":3,"_links":{"self":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/users\/2276"}],"version-history":[{"count":3,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/997\/revisions"}],"predecessor-version":[{"id":1010,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/997\/revisions\/1010"}],"part":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/997\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/media?parent=997"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapter-type?post=997"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/contributor?post=997"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/license?post=997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}