{"id":1009,"date":"2025-01-12T20:57:19","date_gmt":"2025-01-13T01:57:19","guid":{"rendered":"https:\/\/pressbooks.bccampus.ca\/nelson\/chapter\/chapter-4-data-modelling-data-modeling\/"},"modified":"2025-01-12T21:02:28","modified_gmt":"2025-01-13T02:02:28","slug":"chapter04thirdedition","status":"publish","type":"chapter","link":"https:\/\/pressbooks.bccampus.ca\/nelson\/chapter\/chapter04thirdedition\/","title":{"raw":"Chapter 4 Data Modelling (Data Modeling)","rendered":"Chapter 4 Data Modelling (Data Modeling)"},"content":{"raw":"<div class=\"chapter-4-data-modelling-(data-modeling)\">\r\n<p class=\"import-Normal\">Original Chapter 4 Author: Adrienne Watt and Nelson Eng<\/p>\r\n<p class=\"import-Normal\">Original Chapter 5 Author: Adrienne Watt<\/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\" style=\"height: 55.2pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"3\">\r\n<p class=\"import-Normal\">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\/Relational Databases (RD)<\/p>\r\n<p class=\"import-Normal\">(Page 115-116)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1. Prepare a relational schema from a conceptual model developed using the entity- relationship model. [Usage]<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 55.2pt\">\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 Modeling: Data Modeling<\/p>\r\n<p class=\"import-Normal\">(Pages 116-117)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS Core 1. Data modeling<\/p>\r\n<p class=\"import-Normal\">CS Core 2. Relational data model<\/p>\r\n<p class=\"import-Normal\">KA Core 3. Conceptual models (e.g., entity-relationship, UML diagrams).<\/p>\r\n<p class=\"import-Normal\">ILO KA Core 4. Model a given environment using a conceptual data model.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 55.2pt\">\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-NoSQL: NoSQL Systems<\/p>\r\n<p class=\"import-Normal\">(Pages 120-121)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">KA Core 1. Why NoSQL? (e.g., Impedance mismatch between Application [CRUD] and RDBMS)<\/p>\r\n<p class=\"import-Normal\">ILO KA Core 1. Develop a use case for the use of NoSQL over RDBMS<\/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\">Information Systems<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">IS2020<\/p>\r\n<p class=\"import-Normal\">A3.2 Data \/ Information Competency Realm<\/p>\r\n<p class=\"import-Normal\">(Page 101)<\/p>\r\n<p class=\"import-Normal\">A3.2.1 Competency Area \u2013 Data \/ Information Management<\/p>\r\n<p class=\"import-Normal\">(Page 101)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">2. Design relational databases (Page 103)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 48.55pt\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Information Technology<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">IT2017<\/p>\r\n<p class=\"import-Normal\">ITE-IMA-03 Data modeling<\/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\">b. Describe the relationship between a logical model and a physical model.<\/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<h2>Introduction to Chapter 4<\/h2>\r\n<p class=\"import-Normal\">The second edition Chapter 4 was a short chapter that explored at a high level the types of data models. The second edition Chapter 5 explored data modelling. For the third edition, these two chapters have been combined.<\/p>\r\n\r\n<h2>Why Use a Model or a Framework?<\/h2>\r\n<p class=\"import-Normal\">We humans need something to help us to see the big picture. We could use a model or we could use a framework.<\/p>\r\n<p class=\"import-Normal\">A <em>model <\/em>is a simplified representation of a system or of a process. It is a tool for breaking the complex into smaller and more manageable parts. Models can be used to help us to understand how something works. It could help us to predict how something might behavior in the future. A good example would be the Open Systems Interconnection (OSI) model, which is used to explain how computers communicate over a network.<\/p>\r\n<p class=\"import-Normal\">A <em>framework<\/em> is a more structured approach for solving a problem. The framework may have a set of guidelines or rules for completing a task. Software engineers have the waterfall approach and the numerous agile approaches. The United States National Institute of Standards and Technology (NIST) has a cybersecurity framework that industry, government, and other organizations may use for reducing their cybersecurity risks. (See <a class=\"rId7\" href=\"https:\/\/nvlpubs.nist.gov\/nistpubs\/CSWP\/NIST.CSWP.29.pdf\"><span class=\"import-Hyperlink\">https:\/\/nvlpubs.nist.gov\/nistpubs\/CSWP\/NIST.CSWP.29.pdf<\/span><\/a>)<\/p>\r\n<p class=\"import-Normal\">A <em>data model<\/em> provides a tool for communicating among stakeholders. It helps to understand what is important, what are the business rules, and what is the approach for implementing these items. Reviewing the models will reveal missing pieces and will help to correct errors.<\/p>\r\n<p class=\"import-Normal\">There are trade-offs for using data models. It takes a long time. As a result, there is the temptation or push to jump from one model to the next model. This is especially true for the concept model. And there is the temptation of adding pieces early to the diagrams. Experts fall into this trap by adding line notations. In the concept data model figures, ignore the extra markings.<\/p>\r\n\r\n<h2>What Are the Models Used for Creating Databases?<\/h2>\r\n<p class=\"import-Normal\">In Chapter 2, we explored six database models. In this chapter, we will look at the data models for going from a concept to a fully working database management system (DBMS). We will look at the concept data model, the logical data model, and the physical data model.<\/p>\r\n\r\n<h3>The Concept Data Model -- The \u201cWhat\u201d Model<\/h3>\r\n<p class=\"import-Normal\">We are at a high level. We are collecting data. Our great interest should be on the nouns and later the verbs. Look at the \u201cRunning Project\u201d at the end of Chapter 2. There is a list of <em>entities<\/em> or objects.<\/p>\r\n<p class=\"import-Normal\">Once you have a good understanding of the nouns, then you can start to look at the relationship between the objects. Figure 4.1 shows a conceptual diagram that contains travel routes with associated schedules and airlines.<\/p>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image1.png\" alt=\"image\" width=\"448.038845144357px\" height=\"216.818792650919px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 4.1 An example of a conceptual data model diagram. Source of image: https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/<\/p>\r\n<p class=\"import-Normal\">Notice that we are not considering the data types. We are not considering how the data would be stored. We are not thinking about relationships. (Ignore the extra lines at the \u201cAirline\u201d box and at the \u201cSchedule\u201d box. We will address this topic elsewhere.) At this point, you could be thinking about a pile of papers on your desk or about a spreadsheet or about a database. At this point, you could be brainstorming on a whiteboard!<\/p>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image2.png\" alt=\"image\" width=\"624px\" height=\"407px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 4.2 A large whiteboard. Source of image: https:\/\/www.magnatag.com\/img\/products\/WW\/WWcover1170-2.png<\/p>\r\n<p class=\"import-Normal\">Do spend a good amount of time in this model. Once the stakeholders have agreed that everything has been identified, then you can advance to the next model.<\/p>\r\n<p class=\"import-Normal\">Consider a database that has data on a school and on students. We will be focusing on entities and in time the relationships. In the relational DBMS approach, the term \u201c<em>Entity-Relationship Diagrams<\/em>\u201d (ERDs) is used.<\/p>\r\n<p class=\"import-Normal\">We are interested in identifying the entities and the relationships. In an educational institution, we are looking at students, courses, instructors, and departments. For the relationships, we are looking at the following:<\/p>\r\n\r\n<ul>\r\n \t<li>Students enroll in courses.<\/li>\r\n \t<li>Instructors teach courses.<\/li>\r\n \t<li>Departments management courses.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Figure 4.3 illustrates the entities and the relationships.<\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n\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\">Students<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Courses<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\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\">Students take courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\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\">Figure 4.3 Entities and relationships.<\/p>\r\n<p class=\"import-Normal\">We could add some details. For the school, we would need to track the name and a description. For the student, we would need to track the name and the date of birth. Figure 4.4 shows the two entities. (Ignore the extra lines at the \u201cSchool\u201d box and at the \u201cStudent\u201d box. We will address this topic elsewhere.) However, the temptation is to jump to the logical model too early.<\/p>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image3.png\" alt=\"image\" width=\"412.035695538058px\" height=\"89.6077690288714px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 4.4 The Conceptual Model Source of image: https:\/\/guides.visual-paradigm.com\/navigating-the-three-levels-of-database-design-conceptual-logical-and-physical\/<\/p>\r\n\r\n<h3>The Logical Data Model -- The \u201cHow of The Details\u201d Model<\/h3>\r\n<p class=\"import-Normal\">We are adding more details to the conceptual model. You would look at the business rules and at the constraints. Look at the section entitled \u201cEnforcement of Integrity Constraints\u201d in Chapter 3.<\/p>\r\n<p class=\"import-Normal\">You would define the data types, the data sizes, the lengths, and other details. We are not ready to select a DBMS. So use the generic term of \u201cstring\u201d instead of \u201cvarchar\u201d or \u201cnvarchar.\u201d<\/p>\r\n\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\" style=\"text-align: center\"><strong>A Logical Model for a Future Relational Database<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>A Logical Model for a Future Document Database<\/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\">\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image4-1.png\" alt=\"image\" width=\"269px\" height=\"144.042204724409px\" \/><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image5-1.png\" alt=\"image\" width=\"254.533333333333px\" height=\"132.948241469816px\" \/><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 4.5 Two examples of a logical model. Source of image: https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/<\/p>\r\n<p class=\"import-Normal\">It is a bit of the cart-before-the-horse situation. In the pure database work, you should not be thinking about the actual DBMS. But in order to draw the logical model, you need to have some foreknowledge into the nature of the future DBMS.<\/p>\r\n<p class=\"import-Normal\">In the right-hand side of Figure 4.5, the Schedule table has a fairly small and finite footprint. So it makes sense to embed it into the same box or collection. This is bounding the Schedule table to the Route table.<\/p>\r\n<p class=\"import-Normal\">In the left-hand side of Figure 4.5, the arrangement is slightly different.<\/p>\r\n<p class=\"import-Normal\">For the educational institution example, we will use Figure 4.6 to illustrate the additional of the details.<\/p>\r\n\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/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\">\r\n<p class=\"import-Normal\">StudentID<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/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\">FirstName<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/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\">LastName<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/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\">DateOfBirth<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\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\">Students take courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\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\">Figure 4.6 Adding details to the entities.<\/p>\r\n<p class=\"import-Normal\">Once done, we need to think about the data types. We need an identification number (ID) as a number, the name fields as a string, and the date of birth as a date. Figure 4.7 will illustrate this addition.<\/p>\r\n\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/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\">\r\n<p class=\"import-Normal\">StudentID<\/p>\r\n<p class=\"import-Normal\">A number<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\r\n<p class=\"import-Normal\">A number<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\r\n<p class=\"import-Normal\">A number<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/p>\r\n<p class=\"import-Normal\">A number<\/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\">FirstName<\/p>\r\n<p class=\"import-Normal\">A string<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\r\n<p class=\"import-Normal\">A string<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\r\n<p class=\"import-Normal\">A string<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/p>\r\n<p class=\"import-Normal\">A string<\/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\">LastName<\/p>\r\n<p class=\"import-Normal\">A string<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\r\n<p class=\"import-Normal\">A number<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\r\n<p class=\"import-Normal\">A string<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/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\">DateOfBirth<\/p>\r\n<p class=\"import-Normal\">A date<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\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\">Students take courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\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\">Figure 4.7 Adding details to the entities.<\/p>\r\n<p class=\"import-Normal\">Here, we have the cart-before-the-horse situation. We know that the DBMS will be a relational DBMS. With this foreknowledge, we can state that the IDs will be <em>integers<\/em> (a whole number). We can state that the name fields will be varchar(255). We can state that the date of birth field will be a date <em>data type<\/em>. Figure 4.8 will illustrate this addition.<\/p>\r\n\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/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\">\r\n<p class=\"import-Normal\">StudentID<\/p>\r\n<p class=\"import-Normal\">integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\r\n<p class=\"import-Normal\">integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\r\n<p class=\"import-Normal\">integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/p>\r\n<p class=\"import-Normal\">integer<\/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\">FirstName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/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\">LastName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\r\n<p class=\"import-Normal\">Integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/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\">DateOfBirth<\/p>\r\n<p class=\"import-Normal\">date<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\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\">Students take courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\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\">Figure 4.8 Revising the data types.<\/p>\r\n<p class=\"import-Normal\">Also with this foreknowledge, we can start to think about relationships. This could result in the need to add more fields to a table. Imagine that all students must be assigned to a department. Figure 4.9 will illustrate this addition.<\/p>\r\n\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/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\">\r\n<p class=\"import-Normal\">StudentID<\/p>\r\n<p class=\"import-Normal\">integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\r\n<p class=\"import-Normal\">integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\r\n<p class=\"import-Normal\">integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/p>\r\n<p class=\"import-Normal\">integer<\/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\">FirstName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/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\">LastName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\r\n<p class=\"import-Normal\">Integer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\r\n<p class=\"import-Normal\">varchar(255)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/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\">DateOfBirth<\/p>\r\n<p class=\"import-Normal\">date<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/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\">DepartmentID<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\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\">Students take courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\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\">Figure 4.9 Adding a connecting field to the Student table.<\/p>\r\n<p class=\"import-Normal\">The StudentID, the CourseID, the InstructorID, and the DepartmentID are known as primary keys. A <em>primary key<\/em> is unique and cannot be null, because it takes us to one row and only one row. The DepartmentID in the Student table is a <em>foreign key<\/em>, because it points back to the Department table.<\/p>\r\n<p class=\"import-Normal\">Figure 4.10 is from database effort where the user wishes to track schools and students. Figure 4.10 illustrates the use of \u201cSchoolID\u201d in the second field in the Student table.<\/p>\r\n<p class=\"import-Normal\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image6-1.png\" alt=\"image\" width=\"536.046404199475px\" height=\"122.410603674541px\" \/><\/p>\r\n<p class=\"import-Normal\">Figure 4.10 The Logical Model Source of image: https:\/\/guides.visual-paradigm.com\/navigating-the-three-levels-of-database-design-conceptual-logical-and-physical\/<\/p>\r\n<p class=\"import-Normal\">Also, we need to look at constraints and at business rules. Students may be limited to taking no more than five courses in a semester. An instructor may be limited to teaching no more than four courses.<\/p>\r\n<p class=\"import-Normal\">Are we done? No. Does your model cover the following?<\/p>\r\n\r\n<ul>\r\n \t<li>How to document an instructor teaching more than one session of a course?<\/li>\r\n \t<li>How to document the room assignment for a course?<\/li>\r\n \t<li>How to document the days and time for a course?<\/li>\r\n \t<li>How to document grades assigned to a student?<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">As you think through the issues, you may need to add more fields and to add more tables. There may be a need to add special tables that connect two tables.<\/p>\r\n\r\n<h3>The Physical Data Model -- The \u201cHow of The Implementation\u201d Model<\/h3>\r\n<p class=\"import-Normal\">Once we have enough details worked out on the logical data model, then it is time to actually implement it into a real DBMS. Which implementation makes sense?<\/p>\r\n<p class=\"import-Normal\">If your modeling process reveals that your data model is likely to change frequently to adapt to new requirements, you might consider going with a document database. This might be a \u201cNoSQL document database.<\/p>\r\n<p class=\"import-Normal\">Other DBMS schemes have been covered in earlier chapters. You may review those for insights for choosing one of those.<\/p>\r\n<p class=\"import-Normal\">If you decided on a relational model, then there are many options such as:<\/p>\r\n\r\n<ul>\r\n \t<li>Microsoft SQL Server Management Studio<\/li>\r\n \t<li>Oracle<\/li>\r\n \t<li>PostgreSQL<\/li>\r\n \t<li>MySQL<\/li>\r\n \t<li>Amazon Relational Database Service<\/li>\r\n \t<li>Azure SQL Database.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The physical data model may include:<\/p>\r\n\r\n<ul>\r\n \t<li>The selected DBMS.<\/li>\r\n \t<li>How and where the data would be stored.<\/li>\r\n \t<li>Details on how the data would be replicated.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The work of creating the database may be done by the database administrator or by the database developer.<\/p>\r\n\r\n<h2>A Few Words<\/h2>\r\n<p class=\"import-Normal\">This chapter introduced one approach for creating a database. The second edition used a different approach. It had the following:<\/p>\r\n\r\n<ul>\r\n \t<li>External model<\/li>\r\n \t<li>Conceptual model<\/li>\r\n \t<li>Internal model<\/li>\r\n \t<li>Physical model<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The point of the approach is to capture the details. It does not matter whether one uses the three-model approached presented in this chapter or the four-model approach that was used in the second edition.<\/p>\r\n<p class=\"import-Normal\">The rest of this textbook will go deeper into the relational DBMS design. Do not skip those chapters.<\/p>\r\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\r\n\r\n<h2>Key Terms<\/h2>\r\n<p class=\"import-Normal\"><strong>d<\/strong><strong>ata type<\/strong>: This is how data is defined. It could be an integer, a string, a date, or something else. There are differences from DBMS to DBMS.<\/p>\r\n<p class=\"import-Normal\"><strong>data models: <\/strong>Tools for going from a concept to a fully working database management system.<\/p>\r\n<p class=\"import-Normal\"><strong>entities: <\/strong>The objects or the nouns that make up a database.<\/p>\r\n<p class=\"import-Normal\"><strong>Entity-Relationship Diagram (ERD)<\/strong>: This is used in relational DBMS work for modeling data.<\/p>\r\n<p class=\"import-Normal\"><strong>framework<\/strong><strong>: <\/strong>This is a more structured approach for solving a problem. The framework may have a set of guidelines or rules for completing a task.<\/p>\r\n<p class=\"import-Normal\"><strong>integer<\/strong>: A whole number.<\/p>\r\n<p class=\"import-Normal\"><strong>model<\/strong>: This is a simplified representation of a system or of a process. It is a tool for breaking the complex into smaller and more manageable parts.<\/p>\r\n<p class=\"import-Normal\"><strong>foreign key:<\/strong> This is a primary key appearing in another table. (This was covered in Chapter 3.)<\/p>\r\n<p class=\"import-Normal\"><strong>null:<\/strong> This is the absence of a user-defined value. This is not the same thing as zero. (This was covered in Chapter 3.)<\/p>\r\n<p class=\"import-Normal\"><strong>primary key<\/strong>: This is a unique value for locating a row of data in a database table. (This was covered in Chapter 3.)<\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n\r\n<h2>Exercises<\/h2>\r\n<ol>\r\n \t<li class=\"import-Normal\">Why do we use models when working on a database?<\/li>\r\n \t<li class=\"import-Normal\">What is a data model?<\/li>\r\n \t<li class=\"import-Normal\">What is a high-level conceptual data model?<\/li>\r\n \t<li class=\"import-Normal\">You are creating a conceptual data model for an animal hospital. What are three possible entities?<\/li>\r\n \t<li class=\"import-Normal\">For question 4, what are some possible fields associated with the three entities?<\/li>\r\n \t<li class=\"import-Normal\">What are the possible relationships between the three entities?<\/li>\r\n \t<li class=\"import-Normal\">Using your answers to previous questions, create a logical model. (CS2013 IM\/RD 1 and IS2020 A3.2.1.2)<\/li>\r\n \t<li class=\"import-Normal\">Describe the relationship between a logical model and a physical model. (IT2017 ITE-IMA-03b)<\/li>\r\n \t<li class=\"import-Normal\">Which model does the database administrator work with?<\/li>\r\n \t<li class=\"import-Normal\">As noted earlier in this chapter, models help to uncover errors. Do you see an error in Figure 4.11?<\/li>\r\n<\/ol>\r\n<p class=\"import-Normal\" style=\"margin-left: 18pt\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image7-1.png\" alt=\"image\" width=\"544.847244094488px\" height=\"124.010708661417px\" \/><\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 18pt\">Figure 4.11 The Physical Model Source of image: https:\/\/guides.visual-paradigm.com\/navigating-the-three-levels-of-database-design-conceptual-logical-and-physical\/<\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n\r\n<h2>A Running Project<\/h2>\r\n<p class=\"import-Normal\">A running project was introduced in Chapter 2. Review what you have collected. Have you overlooked anything?<\/p>\r\n<p class=\"import-Normal\">If you are doing this as a service project or as an internship, continue to chat with the organization. If possible, chat with others besides the main contact person.<\/p>\r\n<p class=\"import-Normal\">In Chapter 3, you were told to use a word processor to create tables with columns for the entity pieces. With the insights from this chapter, add the data types to each entity piece.<\/p>\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\u00a0<em>Database Design<\/em> is a derivative copy of\u00a0<a class=\"rId15\" href=\"http:\/\/cnx.org\/contents\/b57b8760-6898-469d-a0f7-06e0537f6817@1\">Database System Concepts<\/a>\u00a0by\u00a0Nguyen Kim Anh\u00a0licensed under\u00a0<a class=\"rId16\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\">Creative Commons Attribution License 3.0 license<\/a><\/p>\r\n<p class=\"import-Normal\">Information from second edition Chapter 4 was not used. Question 1 and 2 were used and appear as questions 2 and 3.<\/p>\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\">Introduction<\/li>\r\n \t<li class=\"import-Normal\">Key Terms<\/li>\r\n \t<li class=\"import-Normal\">Exercises<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\"><a id=\"_Hlk165870885\"><\/a>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\">Matthew Groves. \u201cData Modeling Explained: Conceptual, Physical, Logical,\u201d Couchbase, October 7, 2022. <a class=\"rId17\" href=\"https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/\"><span class=\"import-Hyperlink\">https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">Shawn Manaher. \u201cModel vs Framework: When And How Can You Use Each One? The Content Authority, n.d. <a class=\"rId18\" href=\"https:\/\/thecontentauthority.com\/blog\/model-vs-framework\"><span class=\"import-Hyperlink\">https:\/\/thecontentauthority.com\/blog\/model-vs-framework<\/span><\/a><\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n\r\n<\/div>","rendered":"<div class=\"chapter-4-data-modelling-(data-modeling)\">\n<p class=\"import-Normal\">Original Chapter 4 Author: Adrienne Watt and Nelson Eng<\/p>\n<p class=\"import-Normal\">Original Chapter 5 Author: Adrienne Watt<\/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\" style=\"height: 55.2pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"3\">\n<p class=\"import-Normal\">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\/Relational Databases (RD)<\/p>\n<p class=\"import-Normal\">(Page 115-116)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1. Prepare a relational schema from a conceptual model developed using the entity- relationship model. [Usage]<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 55.2pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2023<\/p>\n<p class=\"import-Normal\">DM Modeling: Data Modeling<\/p>\n<p class=\"import-Normal\">(Pages 116-117)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS Core 1. Data modeling<\/p>\n<p class=\"import-Normal\">CS Core 2. Relational data model<\/p>\n<p class=\"import-Normal\">KA Core 3. Conceptual models (e.g., entity-relationship, UML diagrams).<\/p>\n<p class=\"import-Normal\">ILO KA Core 4. Model a given environment using a conceptual data model.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 55.2pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2023<\/p>\n<p class=\"import-Normal\">DM-NoSQL: NoSQL Systems<\/p>\n<p class=\"import-Normal\">(Pages 120-121)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">KA Core 1. Why NoSQL? (e.g., Impedance mismatch between Application [CRUD] and RDBMS)<\/p>\n<p class=\"import-Normal\">ILO KA Core 1. Develop a use case for the use of NoSQL over RDBMS<\/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\">Information Systems<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">IS2020<\/p>\n<p class=\"import-Normal\">A3.2 Data \/ Information Competency Realm<\/p>\n<p class=\"import-Normal\">(Page 101)<\/p>\n<p class=\"import-Normal\">A3.2.1 Competency Area \u2013 Data \/ Information Management<\/p>\n<p class=\"import-Normal\">(Page 101)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">2. Design relational databases (Page 103)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 48.55pt\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Information Technology<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">IT2017<\/p>\n<p class=\"import-Normal\">ITE-IMA-03 Data modeling<\/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\">b. Describe the relationship between a logical model and a physical model.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Introduction to Chapter 4<\/h2>\n<p class=\"import-Normal\">The second edition Chapter 4 was a short chapter that explored at a high level the types of data models. The second edition Chapter 5 explored data modelling. For the third edition, these two chapters have been combined.<\/p>\n<h2>Why Use a Model or a Framework?<\/h2>\n<p class=\"import-Normal\">We humans need something to help us to see the big picture. We could use a model or we could use a framework.<\/p>\n<p class=\"import-Normal\">A <em>model <\/em>is a simplified representation of a system or of a process. It is a tool for breaking the complex into smaller and more manageable parts. Models can be used to help us to understand how something works. It could help us to predict how something might behavior in the future. A good example would be the Open Systems Interconnection (OSI) model, which is used to explain how computers communicate over a network.<\/p>\n<p class=\"import-Normal\">A <em>framework<\/em> is a more structured approach for solving a problem. The framework may have a set of guidelines or rules for completing a task. Software engineers have the waterfall approach and the numerous agile approaches. The United States National Institute of Standards and Technology (NIST) has a cybersecurity framework that industry, government, and other organizations may use for reducing their cybersecurity risks. (See <a class=\"rId7\" href=\"https:\/\/nvlpubs.nist.gov\/nistpubs\/CSWP\/NIST.CSWP.29.pdf\"><span class=\"import-Hyperlink\">https:\/\/nvlpubs.nist.gov\/nistpubs\/CSWP\/NIST.CSWP.29.pdf<\/span><\/a>)<\/p>\n<p class=\"import-Normal\">A <em>data model<\/em> provides a tool for communicating among stakeholders. It helps to understand what is important, what are the business rules, and what is the approach for implementing these items. Reviewing the models will reveal missing pieces and will help to correct errors.<\/p>\n<p class=\"import-Normal\">There are trade-offs for using data models. It takes a long time. As a result, there is the temptation or push to jump from one model to the next model. This is especially true for the concept model. And there is the temptation of adding pieces early to the diagrams. Experts fall into this trap by adding line notations. In the concept data model figures, ignore the extra markings.<\/p>\n<h2>What Are the Models Used for Creating Databases?<\/h2>\n<p class=\"import-Normal\">In Chapter 2, we explored six database models. In this chapter, we will look at the data models for going from a concept to a fully working database management system (DBMS). We will look at the concept data model, the logical data model, and the physical data model.<\/p>\n<h3>The Concept Data Model &#8212; The \u201cWhat\u201d Model<\/h3>\n<p class=\"import-Normal\">We are at a high level. We are collecting data. Our great interest should be on the nouns and later the verbs. Look at the \u201cRunning Project\u201d at the end of Chapter 2. There is a list of <em>entities<\/em> or objects.<\/p>\n<p class=\"import-Normal\">Once you have a good understanding of the nouns, then you can start to look at the relationship between the objects. Figure 4.1 shows a conceptual diagram that contains travel routes with associated schedules and airlines.<\/p>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image1.png\" alt=\"image\" width=\"448.038845144357px\" height=\"216.818792650919px\" \/><\/p>\n<p class=\"import-Normal\">Figure 4.1 An example of a conceptual data model diagram. Source of image: https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/<\/p>\n<p class=\"import-Normal\">Notice that we are not considering the data types. We are not considering how the data would be stored. We are not thinking about relationships. (Ignore the extra lines at the \u201cAirline\u201d box and at the \u201cSchedule\u201d box. We will address this topic elsewhere.) At this point, you could be thinking about a pile of papers on your desk or about a spreadsheet or about a database. At this point, you could be brainstorming on a whiteboard!<\/p>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image2.png\" alt=\"image\" width=\"624px\" height=\"407px\" \/><\/p>\n<p class=\"import-Normal\">Figure 4.2 A large whiteboard. Source of image: https:\/\/www.magnatag.com\/img\/products\/WW\/WWcover1170-2.png<\/p>\n<p class=\"import-Normal\">Do spend a good amount of time in this model. Once the stakeholders have agreed that everything has been identified, then you can advance to the next model.<\/p>\n<p class=\"import-Normal\">Consider a database that has data on a school and on students. We will be focusing on entities and in time the relationships. In the relational DBMS approach, the term \u201c<em>Entity-Relationship Diagrams<\/em>\u201d (ERDs) is used.<\/p>\n<p class=\"import-Normal\">We are interested in identifying the entities and the relationships. In an educational institution, we are looking at students, courses, instructors, and departments. For the relationships, we are looking at the following:<\/p>\n<ul>\n<li>Students enroll in courses.<\/li>\n<li>Instructors teach courses.<\/li>\n<li>Departments management courses.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Figure 4.3 illustrates the entities and the relationships.<\/p>\n<p class=\"import-Normal\">\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\">Students<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Courses<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Students take courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 4.3 Entities and relationships.<\/p>\n<p class=\"import-Normal\">We could add some details. For the school, we would need to track the name and a description. For the student, we would need to track the name and the date of birth. Figure 4.4 shows the two entities. (Ignore the extra lines at the \u201cSchool\u201d box and at the \u201cStudent\u201d box. We will address this topic elsewhere.) However, the temptation is to jump to the logical model too early.<\/p>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image3.png\" alt=\"image\" width=\"412.035695538058px\" height=\"89.6077690288714px\" \/><\/p>\n<p class=\"import-Normal\">Figure 4.4 The Conceptual Model Source of image: https:\/\/guides.visual-paradigm.com\/navigating-the-three-levels-of-database-design-conceptual-logical-and-physical\/<\/p>\n<h3>The Logical Data Model &#8212; The \u201cHow of The Details\u201d Model<\/h3>\n<p class=\"import-Normal\">We are adding more details to the conceptual model. You would look at the business rules and at the constraints. Look at the section entitled \u201cEnforcement of Integrity Constraints\u201d in Chapter 3.<\/p>\n<p class=\"import-Normal\">You would define the data types, the data sizes, the lengths, and other details. We are not ready to select a DBMS. So use the generic term of \u201cstring\u201d instead of \u201cvarchar\u201d or \u201cnvarchar.\u201d<\/p>\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\" style=\"text-align: center\"><strong>A Logical Model for a Future Relational Database<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>A Logical Model for a Future Document Database<\/strong><\/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\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image4-1.png\" alt=\"image\" width=\"269px\" height=\"144.042204724409px\" \/><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image5-1.png\" alt=\"image\" width=\"254.533333333333px\" height=\"132.948241469816px\" \/><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 4.5 Two examples of a logical model. Source of image: https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/<\/p>\n<p class=\"import-Normal\">It is a bit of the cart-before-the-horse situation. In the pure database work, you should not be thinking about the actual DBMS. But in order to draw the logical model, you need to have some foreknowledge into the nature of the future DBMS.<\/p>\n<p class=\"import-Normal\">In the right-hand side of Figure 4.5, the Schedule table has a fairly small and finite footprint. So it makes sense to embed it into the same box or collection. This is bounding the Schedule table to the Route table.<\/p>\n<p class=\"import-Normal\">In the left-hand side of Figure 4.5, the arrangement is slightly different.<\/p>\n<p class=\"import-Normal\">For the educational institution example, we will use Figure 4.6 to illustrate the additional of the details.<\/p>\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/strong><\/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\">StudentID<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/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\">FirstName<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/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\">LastName<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\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\">DateOfBirth<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Students take courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 4.6 Adding details to the entities.<\/p>\n<p class=\"import-Normal\">Once done, we need to think about the data types. We need an identification number (ID) as a number, the name fields as a string, and the date of birth as a date. Figure 4.7 will illustrate this addition.<\/p>\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/strong><\/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\">StudentID<\/p>\n<p class=\"import-Normal\">A number<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\n<p class=\"import-Normal\">A number<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\n<p class=\"import-Normal\">A number<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/p>\n<p class=\"import-Normal\">A number<\/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\">FirstName<\/p>\n<p class=\"import-Normal\">A string<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\n<p class=\"import-Normal\">A string<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\n<p class=\"import-Normal\">A string<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/p>\n<p class=\"import-Normal\">A string<\/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\">LastName<\/p>\n<p class=\"import-Normal\">A string<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\n<p class=\"import-Normal\">A number<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\n<p class=\"import-Normal\">A string<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\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\">DateOfBirth<\/p>\n<p class=\"import-Normal\">A date<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Students take courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 4.7 Adding details to the entities.<\/p>\n<p class=\"import-Normal\">Here, we have the cart-before-the-horse situation. We know that the DBMS will be a relational DBMS. With this foreknowledge, we can state that the IDs will be <em>integers<\/em> (a whole number). We can state that the name fields will be varchar(255). We can state that the date of birth field will be a date <em>data type<\/em>. Figure 4.8 will illustrate this addition.<\/p>\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/strong><\/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\">StudentID<\/p>\n<p class=\"import-Normal\">integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\n<p class=\"import-Normal\">integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\n<p class=\"import-Normal\">integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/p>\n<p class=\"import-Normal\">integer<\/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\">FirstName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/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\">LastName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\n<p class=\"import-Normal\">Integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\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\">DateOfBirth<\/p>\n<p class=\"import-Normal\">date<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Students take courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 4.8 Revising the data types.<\/p>\n<p class=\"import-Normal\">Also with this foreknowledge, we can start to think about relationships. This could result in the need to add more fields to a table. Imagine that all students must be assigned to a department. Figure 4.9 will illustrate this addition.<\/p>\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\" style=\"text-align: center\"><strong>Students<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Courses<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Instructors<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Departments<\/strong><\/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\">StudentID<\/p>\n<p class=\"import-Normal\">integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseID<\/p>\n<p class=\"import-Normal\">integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">InstructorID<\/p>\n<p class=\"import-Normal\">integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentID<\/p>\n<p class=\"import-Normal\">integer<\/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\">FirstName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">CourseName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">FirstName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">DepartmentName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/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\">LastName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Credits<\/p>\n<p class=\"import-Normal\">Integer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">LastName<\/p>\n<p class=\"import-Normal\">varchar(255)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\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\">DateOfBirth<\/p>\n<p class=\"import-Normal\">date<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\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\">DepartmentID<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: none windowtext 0pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Students take courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Instructors teach courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: solid windowtext 0.5pt;border-left: 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\">Departments manage courses.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border-top: none windowtext 0pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 4.9 Adding a connecting field to the Student table.<\/p>\n<p class=\"import-Normal\">The StudentID, the CourseID, the InstructorID, and the DepartmentID are known as primary keys. A <em>primary key<\/em> is unique and cannot be null, because it takes us to one row and only one row. The DepartmentID in the Student table is a <em>foreign key<\/em>, because it points back to the Department table.<\/p>\n<p class=\"import-Normal\">Figure 4.10 is from database effort where the user wishes to track schools and students. Figure 4.10 illustrates the use of \u201cSchoolID\u201d in the second field in the Student table.<\/p>\n<p class=\"import-Normal\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image6-1.png\" alt=\"image\" width=\"536.046404199475px\" height=\"122.410603674541px\" \/><\/p>\n<p class=\"import-Normal\">Figure 4.10 The Logical Model Source of image: https:\/\/guides.visual-paradigm.com\/navigating-the-three-levels-of-database-design-conceptual-logical-and-physical\/<\/p>\n<p class=\"import-Normal\">Also, we need to look at constraints and at business rules. Students may be limited to taking no more than five courses in a semester. An instructor may be limited to teaching no more than four courses.<\/p>\n<p class=\"import-Normal\">Are we done? No. Does your model cover the following?<\/p>\n<ul>\n<li>How to document an instructor teaching more than one session of a course?<\/li>\n<li>How to document the room assignment for a course?<\/li>\n<li>How to document the days and time for a course?<\/li>\n<li>How to document grades assigned to a student?<\/li>\n<\/ul>\n<p class=\"import-Normal\">As you think through the issues, you may need to add more fields and to add more tables. There may be a need to add special tables that connect two tables.<\/p>\n<h3>The Physical Data Model &#8212; The \u201cHow of The Implementation\u201d Model<\/h3>\n<p class=\"import-Normal\">Once we have enough details worked out on the logical data model, then it is time to actually implement it into a real DBMS. Which implementation makes sense?<\/p>\n<p class=\"import-Normal\">If your modeling process reveals that your data model is likely to change frequently to adapt to new requirements, you might consider going with a document database. This might be a \u201cNoSQL document database.<\/p>\n<p class=\"import-Normal\">Other DBMS schemes have been covered in earlier chapters. You may review those for insights for choosing one of those.<\/p>\n<p class=\"import-Normal\">If you decided on a relational model, then there are many options such as:<\/p>\n<ul>\n<li>Microsoft SQL Server Management Studio<\/li>\n<li>Oracle<\/li>\n<li>PostgreSQL<\/li>\n<li>MySQL<\/li>\n<li>Amazon Relational Database Service<\/li>\n<li>Azure SQL Database.<\/li>\n<\/ul>\n<p class=\"import-Normal\">The physical data model may include:<\/p>\n<ul>\n<li>The selected DBMS.<\/li>\n<li>How and where the data would be stored.<\/li>\n<li>Details on how the data would be replicated.<\/li>\n<\/ul>\n<p class=\"import-Normal\">The work of creating the database may be done by the database administrator or by the database developer.<\/p>\n<h2>A Few Words<\/h2>\n<p class=\"import-Normal\">This chapter introduced one approach for creating a database. The second edition used a different approach. It had the following:<\/p>\n<ul>\n<li>External model<\/li>\n<li>Conceptual model<\/li>\n<li>Internal model<\/li>\n<li>Physical model<\/li>\n<\/ul>\n<p class=\"import-Normal\">The point of the approach is to capture the details. It does not matter whether one uses the three-model approached presented in this chapter or the four-model approach that was used in the second edition.<\/p>\n<p class=\"import-Normal\">The rest of this textbook will go deeper into the relational DBMS design. Do not skip those chapters.<\/p>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h2>Key Terms<\/h2>\n<p class=\"import-Normal\"><strong>d<\/strong><strong>ata type<\/strong>: This is how data is defined. It could be an integer, a string, a date, or something else. There are differences from DBMS to DBMS.<\/p>\n<p class=\"import-Normal\"><strong>data models: <\/strong>Tools for going from a concept to a fully working database management system.<\/p>\n<p class=\"import-Normal\"><strong>entities: <\/strong>The objects or the nouns that make up a database.<\/p>\n<p class=\"import-Normal\"><strong>Entity-Relationship Diagram (ERD)<\/strong>: This is used in relational DBMS work for modeling data.<\/p>\n<p class=\"import-Normal\"><strong>framework<\/strong><strong>: <\/strong>This is a more structured approach for solving a problem. The framework may have a set of guidelines or rules for completing a task.<\/p>\n<p class=\"import-Normal\"><strong>integer<\/strong>: A whole number.<\/p>\n<p class=\"import-Normal\"><strong>model<\/strong>: This is a simplified representation of a system or of a process. It is a tool for breaking the complex into smaller and more manageable parts.<\/p>\n<p class=\"import-Normal\"><strong>foreign key:<\/strong> This is a primary key appearing in another table. (This was covered in Chapter 3.)<\/p>\n<p class=\"import-Normal\"><strong>null:<\/strong> This is the absence of a user-defined value. This is not the same thing as zero. (This was covered in Chapter 3.)<\/p>\n<p class=\"import-Normal\"><strong>primary key<\/strong>: This is a unique value for locating a row of data in a database table. (This was covered in Chapter 3.)<\/p>\n<p class=\"import-Normal\">\n<h2>Exercises<\/h2>\n<ol>\n<li class=\"import-Normal\">Why do we use models when working on a database?<\/li>\n<li class=\"import-Normal\">What is a data model?<\/li>\n<li class=\"import-Normal\">What is a high-level conceptual data model?<\/li>\n<li class=\"import-Normal\">You are creating a conceptual data model for an animal hospital. What are three possible entities?<\/li>\n<li class=\"import-Normal\">For question 4, what are some possible fields associated with the three entities?<\/li>\n<li class=\"import-Normal\">What are the possible relationships between the three entities?<\/li>\n<li class=\"import-Normal\">Using your answers to previous questions, create a logical model. (CS2013 IM\/RD 1 and IS2020 A3.2.1.2)<\/li>\n<li class=\"import-Normal\">Describe the relationship between a logical model and a physical model. (IT2017 ITE-IMA-03b)<\/li>\n<li class=\"import-Normal\">Which model does the database administrator work with?<\/li>\n<li class=\"import-Normal\">As noted earlier in this chapter, models help to uncover errors. Do you see an error in Figure 4.11?<\/li>\n<\/ol>\n<p class=\"import-Normal\" style=\"margin-left: 18pt\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image7-1.png\" alt=\"image\" width=\"544.847244094488px\" height=\"124.010708661417px\" \/><\/p>\n<p class=\"import-Normal\" style=\"margin-left: 18pt\">Figure 4.11 The Physical Model Source of image: https:\/\/guides.visual-paradigm.com\/navigating-the-three-levels-of-database-design-conceptual-logical-and-physical\/<\/p>\n<p class=\"import-Normal\">\n<h2>A Running Project<\/h2>\n<p class=\"import-Normal\">A running project was introduced in Chapter 2. Review what you have collected. Have you overlooked anything?<\/p>\n<p class=\"import-Normal\">If you are doing this as a service project or as an internship, continue to chat with the organization. If possible, chat with others besides the main contact person.<\/p>\n<p class=\"import-Normal\">In Chapter 3, you were told to use a word processor to create tables with columns for the entity pieces. With the insights from this chapter, add the data types to each entity piece.<\/p>\n<p class=\"import-Normal\"><strong>\u00a0<\/strong><\/p>\n<h2>Attribution<\/h2>\n<p class=\"import-Normal\">This chapter of\u00a0<em>Database Design<\/em> is a derivative copy of\u00a0<a class=\"rId15\" href=\"http:\/\/cnx.org\/contents\/b57b8760-6898-469d-a0f7-06e0537f6817@1\">Database System Concepts<\/a>\u00a0by\u00a0Nguyen Kim Anh\u00a0licensed under\u00a0<a class=\"rId16\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\">Creative Commons Attribution License 3.0 license<\/a><\/p>\n<p class=\"import-Normal\">Information from second edition Chapter 4 was not used. Question 1 and 2 were used and appear as questions 2 and 3.<\/p>\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\">Introduction<\/li>\n<li class=\"import-Normal\">Key Terms<\/li>\n<li class=\"import-Normal\">Exercises<\/li>\n<\/ul>\n<p class=\"import-Normal\"><a id=\"_Hlk165870885\"><\/a>The whole chapter was completely revised by Fred Strickland for the third edition.<\/p>\n<h2>References<\/h2>\n<p class=\"import-Normal\">Matthew Groves. \u201cData Modeling Explained: Conceptual, Physical, Logical,\u201d Couchbase, October 7, 2022. <a class=\"rId17\" href=\"https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/\"><span class=\"import-Hyperlink\">https:\/\/www.couchbase.com\/blog\/conceptual-physical-logical-data-models\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">Shawn Manaher. \u201cModel vs Framework: When And How Can You Use Each One? The Content Authority, n.d. <a class=\"rId18\" href=\"https:\/\/thecontentauthority.com\/blog\/model-vs-framework\"><span class=\"import-Hyperlink\">https:\/\/thecontentauthority.com\/blog\/model-vs-framework<\/span><\/a><\/p>\n<p class=\"import-Normal\">\n<\/div>\n","protected":false},"author":2276,"menu_order":4,"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-1009","chapter","type-chapter","status-publish","hentry","contributor-fredstrickland"],"part":3,"_links":{"self":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1009","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":1,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1009\/revisions"}],"predecessor-version":[{"id":1013,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1009\/revisions\/1013"}],"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\/1009\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/media?parent=1009"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapter-type?post=1009"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/contributor?post=1009"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/license?post=1009"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}