SD2520 Introduction to Database and XML with jQuery Study Guide SD2520 Introduction to Database and XML with jQuery Study Guide LAB 1.1 (2.5 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 8, pp. 151–163 and 9, pp. 164–183 in the textbook, Introduction to Database and XML with jQuery. These chapters examine the rules and procedure for writing an XML document and transforming an EXtensible Markup Language (XML) document with Extensible Stylesheet Language Transformations (XSLT). Go through this module’s lesson that describes the uses of XML and XSLT. Title: Working on XML In this lab, you will create an XML document and transform it with XSLT. Required Setup and Resources: Microsoft Windows XP (or later) VMware Player 5.01 (or later). Visual Studio 2010 (or any other XML editor) Internet Explorer (or any other web browser) Recommended Procedure: Note: For the steps that require you to paste the screen shot or answer a question, document your response in a Microsoft Word worksheet titled “SD2520_Module 1_Lab1_1.docx”. Make sure to assign corresponding task number against each response or screen shot. Task 1: Configure ITT-Lab 1. Click Start > Control Panel. 2. Click System and Security. [2] 3/17/2014 SD2520 Introduction to Database and XML with jQuery [3] Study Guide 3/17/2014 SD2520 Introduction to Database and XML with jQuery 3. Study Guide Click View amount of RAM and processor speed. 4. Record the following information: Installed Memory: _________________________________ 5. If you are working on this lab on the ITT-Tech campus, perform the following steps to copy the preinstalled ITT-Lab virtual machine onto your USB external pocket hard drive. a. Create a folder on your USB portable hard drive to store all the virtual machines used for the curriculum. You may name the folder something like “Virtual Machines for My Courses” and create subfolders in it by the course number. b. Create a folder on the external USB hard drive and assign it the name of the course number (SD2520). c. Navigate to C:\ > Virtual Machines > ITT-Lab and find the ITT-Lab.zip file. [4] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide d. Right-click ITT-Lab.zip and select Extract to extract the files to the folder you already created on your external USB hard drive. 6. If you are working on this lab outside the campus, perform the following steps to copy the preinstalled ITT-Lab virtual machine onto your hard drive: a. Insert the USB that contains the ITT-Lab virtual machine. b. Create a folder named SD2520 on your hard drive. c. Navigate to the USB drive and find the ITT-Lab.zip file. d. Copy the ITT-Lab folder to the SD2520 folder on your hard drive. [5] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 7. Launch the virtual machine in VMware Player. a. From the Start button on your desktop, launch VMware Player as shown below: [6] 3/17/2014 SD2520 Introduction to Database and XML with jQuery b. Study Guide Click Open a Virtual Machine. [7] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide c. Browse to the folder where you copied the ITT-Lab virtual machine on your USB hard drive and double-click ITT-Lab.vmx to select it as the virtual machine to open. If you are prompted to select whether you moved or copied it, choose I copied it. 8. Once the ITT-Lab virtual machine is ready in the left column, highlight the ITT-Lab icon and click Edit virtual machine settings. 9. Select Host-only for the network adaptor. [8] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Note: Selecting Host-Only mode for the NIC will allow the virtual machine to communicate with the host machine only. If communications with other computers on the LAN and the Internet are desired, the NIC on the virtual machine will require either the Bridged or NAT mode, which can be changed in the Settings of the VMware Player. Please beware that any change to the Settings needs to be configured when the virtual machine is NOT powered on. If the host machine has more than 4GB RAM (the value you recorded in Task 1, Step 4), select Memory and set the memory to 2 GB, as shown below. [9] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 10. Click OK. 11. Double-click ITT-Lab on the left side of the VMware Player home screen to open the virtual machine. Windows XP will start booting. It might take a few minutes before the virtual machine is fully launched. 12. This virtual machine is preinstalled mainly with software development tools you will use during the course. IMPORTANT NOTE: Microsoft Office, including Visio, required by this course, is NOT part of the virtual machine; you need to switch to the host machine (the lab computer itself) to use all Microsoft Office applications. [10] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 13. Click Start > Control Panel. [11] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 14. Double-click System. 15. How much RAM does the virtual machine have? 16. Click Cancel. Close Control Panel. Task 2: Creating an XML 1. Launch Microsoft Visual Studio 2010 in ITT-Lab. 2. Click File> New File. [12] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 3. Choose XML File, as follows and click Open. 4. Click File> Save XMLFile1.xml As. Create a folder named “SD2520_<term>”. Inside that folder, create a folder named “Lab1”. Save the file inside the Lab1 folder as nnRestaurants.xml where the letters nn stand for your initials. 5. Add your name as a comment immediately beneath the XML declaration. 6. Add a root element named Restaurants. 7. Add a child element named Restaurant. Add the following attributes to the element you created in Step 6: Attribute Value Name Little Cabin Inn QualityRating 3 PriceRating 2 8. Add a child element named Location to the Restaurant element. 9. Add the following child elements to the Location element: [13] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Element Value Address 10 Main Street City Chicago State Illinois Study Guide 10. Add a child element named PhoneNumber to the Restaurant element. 11. Add a child element named Menu to the Restaurant element. 12. Add a child element named MenuItem to the Menu element. Set its value to Hamburger. 13. Add the following attributes to the Hamburger MenuItem: Attribute Value Price $4.95 Calories 450 IsVegetarian false 14. Add another MenuItem with a value of Fruit Salad. 15. Add the following attributes to the Fruit Salad MenuItem: Attribute Value Price $5.50 Calories <300 IsVegetarian true 16. Save the file. Task 2: Editing the XML 1. Open Microsoft Windows Explorer. 2. Navigate to C:\Documents and Settings\Administrator\My Documents\Visual Studio 2010\Projects\Lab1. 3. Right-click nnRestaurants.xml and choose Open With> Internet Explorer. 4. Verify that the results look like the following document. If they do not, correct any problems. [14] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 5. Add two more restaurants, each with at least three menu items. One of the restaurants should not have any vegetarian menu items. At least two restaurants should be located in Illinois, and one should be located in California. 6. Save the file. 7. Open nnRestaurants.xml in Internet Explorer to verify that it is displayed correctly. 8. Expand or collapse one of the restaurants (HINT: You might need to enable JavaScript before you can perform this step). 9. Take a screen shot and paste it in your Word document. Task 3: Transforming with XSLT 1. Click File> New File. 2. Select XSLT File and click Open. [15] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 3. Change the XSLT so that it looks like this: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-resultprefixes="msxsl" > <xsl:output method="html"/> <xsl:template match="/" > <html> <head> <title>Restaurants</title> </head> <body> <h1>Recommended Restaurant</h1> <p>In Chicago, I recommend <xsl:value-of select="Restaurants/Restaurant" /> </p> </body> </html> [16] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide </xsl:template> </xsl:stylesheet> 4. Right-click the XSLT window and choose Properties. 5. Set the Input field to your XML file. 6. Save the file as nnFirstTransform.xslt. 7. Click XML> Start XSLT Without Debugging. 8. When prompted to select a file, select nnRestaurants.xml. 9. Take a screen shot of the results and paste it in the Word document. Question 1: Is the name of the restaurant displayed? Why or why not? ___________________________________________________________________________ 10. Modify the select expression as follows: select="Restaurants/Restaurant/@Name" 11. Click XML> Start XSLT Without Debugging. Take a screen shot of the results and paste it in your Word document. 12. Add the following statements beneath the paragraph block: <h1>Restaurants by location</h1> <table border="1"> <tr> <th>Restaurant Name</th> <th>City</th> <th>State</th> </tr> <xsl:for-each select="Restaurants/Restaurant"> <tr> <td> <xsl:value-of select="@Name"/> </td> <td> <xsl:value-of select="Location/City"/> </td> <td> <xsl:value-of select="Location/State"/> </td> [17] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide </tr> </xsl:for-each> </table> 13. Click XML> Start XSLT Without Debugging. Your output should look something like this: 14. Take a screen shot and paste it into your Word document. 15. Add the following element directly beneath the xsl:for-each statement: <xsl:sort select="Location/State"/> 16. Test your change and take a screen shot. [18] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 17. Modify the table to include Quality and Price ratings. Your result should display output similar to the following: 18. Add the following statements beneath the </table> tag: <!--Restaurants that serve vegetarian--> <h1>Restaurants with Vegetarian Choices</h1> <xsl:for-each select="Restaurants/Restaurant"> <xsl:if test="Menu/MenuItem/@IsVegetarian='true'"> <h3> <xsl:value-of select="@Name"/> </h3> </xsl:if> </xsl:for-each> 19. Test your change to verify that restaurants that include vegetarian menu choices are output. 20. Take a screen shot and paste it in your Word document. [19] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 21. Modify the XSLT to display a table that shows the menu items and the prices and calories of each vegetarian menu item. Your output should look something like this: 22. Test your change. 23. Take a screen shot and paste it in your Word document. Submission Requirements: For this lab, you need to submit the following three files to your instructor: o The Word document titled “SD2520_Module 1_Lab1_1.docx” o The XML document titled “nnRestaurant.xml” o The XSLT document titled “FirstTransform.xslt” Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you include all the screen shots in the Word document? Did you add two more restaurants to the XML document, each with at least three menu items? Did you write XSLT to display the quality and price ratings? Did you modify the XSLT to display a table with given requirements? [20] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide RESEARCH 1.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment, go through this module’s lesson that explores the uses of XML and XSLT. Title: Uses of XML and XSLT In the ITT Tech Virtual Library and on the Internet, search for information on the uses of XML and XSLT in mobile and traditional applications. Next, in your own words, explain a minimum of two uses of XML alone and two uses of XML with XSLT in mobile and traditional applications. Support each use with the help of an example. Make sure that you cite the sources in APA format. Submission Requirements: Submit a Microsoft Word document with the following specifications: Font: Arial; font size: 12; double-spaced Length: 1–2 pages Citation Style: APA Evaluation Criteria: This assignment will be evaluated using the research assignment rubric. [21] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide READ AND BEGIN PROJECT (1.0 HOUR) Refer to the “PROJECT: BUILDING GRANDFIELD COLLEGE WEBSITE” section of the study guide for the detailed description of the project. [22] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 2.1 (3.5 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 10, pp. 184–195 and 11, pp. 196–206 in the textbook, Introduction to Database and XML with jQuery. These chapters describe XPath patterns, expressions, and functions. Go through this module’s lesson that describes the use and application of XPath functions. Title: Writing XPath Queries In this lab, you will write XPath queries to retrieve specific information from an XML file using XSL. Required Setup and Resources: Windows XP (or later) Visual Studio 2010 (or any other XML editor) Internet Explorer (or any other web browser) Mod2Lab1Starter.zip Recommended Procedure: Note: For the steps in which you require to paste the screen shot or answer a question, document your response in a Word worksheet titled “SD2520_Module 2_Lab2_1.docx”. Make sure you assign the corresponding task number against each response or screen shot. Task 1: Using XPath to Set the Context 1. Launch ITT-Lab in VMware Player. 2. Copy Mod2Lab1Starter.zip to the My Documents folder in ITT-Lab and extract the files. 3. Launch Visual Studio. 4. Open the wonders_master.xml file from the Mod2Lab1Starter folder. 5. Create a new XSLT file. 6. Save it as nnMod2Lab2.xslt, where the letters nn stand for your initials. 7. Open 03-03.xsl. 8. Copy the contents and paste them in nnMod2Lab2.xlt. [23] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Question 1: If you were to use this .xslt to process wonders_master.xml, which would be the current node when the file begins processing? ____________________________________________________________________________ 9. Test the .xslt file using wonders_master.xml. Take a screen shot and paste it in your worksheet. 10. Modify the first xsl:apply-templates statement as follows: <xsl:apply-templates select="/ancient_wonders/wonder"> Question 2: Test your change. Did the output change? Why or why not? ____________________________________________________________________________ 11. Modify the first xsl:apply-templates statement as follows: <xsl:apply-templates select="/ancient_wonders/wonder [position()=last()]"> 12. Test your change. Take a screen shot and paste it in your worksheet. 13. Add the following markup immediately beneath the </table> tag: <h2>History</h2> <xsl:apply-templates select="ancient_wonders/wonder/history"> <xsl:sort select="year_built" order="descending" datatype="number" /> </xsl:apply-templates> Question 3: What is the <history> element's relationship to the <wonder> element? ____________________________________________________________________________ 14. Add the following markup immediately before the </xsl:stylesheet> tag. <xsl:template match="history"> <a><xsl:attribute name="name"><xsl:value-of select="../name[@language='English']"/></xsl:attribute></a> The <xsl:value-of select="../name[@language='English']"/> <xsl:apply-templates select="../name[@language!='English']"/> was built in <xsl:value-of select="year_built"/><xsl:text> </xsl:text><xsl:value-of select="year_built/@era"/> <xsl:choose> <xsl:when test="year_destroyed != 0"> [24] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide and was destroyed by <xsl:value-of select="how_destroyed"/> in <xsl:value-of select="year_destroyed"/> <xsl:text> </xsl:text><xsl:value-of select="year_destroyed/@era"/>. </xsl:when> <xsl:otherwise> and is still standing today. </xsl:otherwise> </xsl:choose> <br /><br /> </xsl:template> Question 4: Which node is the current node when the year_built attribute is being evaluated? ____________________________________________________________________________ Question 5: What is the relationship between the <history> element and the <name> element? ____________________________________________________________________________ 15. Test your change and take a screen shot. Question 6: What XPath notation should you use to access the <main_image> element from the current context? ____________________________________________________________________________ 16. Add markup to display the image associated with each wonder above the statement that describes it. 17. Change the Output directory to create the HTML file in the starter folder. 18. Test your change. Take a screen shot and paste it in your worksheet. TIP: If the pictures don’t appear when you browse in Visual Studio, open the HTML output file in a web browser. Task 2: Using XPath Functions 1. Comment out the <xsl:apply-templates> markup you modified in Step 13 of Task 1. 2. Add a new <xsl:apply-templates> element that selects wonders that have a height greater than 100. Sort by height in descending order. Refer to the following figure: [25] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 3. Test your change. Take a screen shot and paste it in the worksheet. 4. Add a new column named Years Standing to the table in the Overview section. [26] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 5. Use the code given in the following figure as a guide to populate the column with data. Use the current year in your calculations for the wonders that have not been destroyed. 6. Test your change. Take a screen shot and paste it in your worksheet. [27] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 7. Modify the Height column so that it shows the height in both feet and meters. Show the height in meters using one decimal place. Refer to the following figures: 8. Test your change. Take a screen shot and paste it in your worksheet. Question 7: Which function would you use to round the number to an integer value? ____________________________________________________________________________ 9. Modify the table so that all seven wonders are displayed. [28] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 10. Add markup immediately after the <xsl:apply-templates> markup. This sets the current context to ancient-wonders/wonder, which adds a row to the table displaying the average height of the wonders in feet. Refer to the following figure: Question 8: Why do you need to add the markup here? ____________________________________________________________________________ 11. Test your change. Use a calculator to verify that the value calculated is correct. Take a screen shot and paste it in your worksheet. [29] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 12. Add markup to modify the table so that the location is displayed in two separate columns—City and Country. Refer to the following figure: 13. Test your change. Take a screen shot and paste it in your worksheet. Question 9: Which function would you use to remove leading and trailing whitespace from a string? ____________________________________________________________________________ 14. Submit the .xslt file along with your worksheet. Submission Requirements: For this lab, you need to submit the following files to your instructor: o The Word document titled “SD2520_Module 2_Lab2_1.docx” o The XSLT document titled “nnMod2Lab2.xslt,” where the letters nn stand for your initials. Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you include all the screen shots in the Word document? Did you successfully use XPath to generate the desired results? Did you answer all the questions? [30] 3/17/2014 SD2520 Introduction to Database and XML with jQuery [31] Study Guide 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 2.2 (3.5 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 12, pp. 207–211 through 14, pp. 230–253 in the textbook, Introduction to Database and XML with jQuery. These chapters explore the basics of XML Schema. In addition, these chapters explore how simple and complex type elements are defined. Go through this module’s lesson that describes the use and application of XPath Schema. Title: Creating and Applying XML Schema In this lab, you will create and apply XML Schema to define the format of an XML file. Required Setup and Resources: Windows XP (or later) Visual Studio 2010 (or any other XML editor) Internet Explorer (or any other web browser) Mod2Lab2Starter.zip Recommended Procedure: Note: For the steps in which you require to paste the screen shot or answer a question, document your response in a Word worksheet titled “SD2520_Module 2_Lab2_2.docx”. Make sure you assign the corresponding task number against each response or screen shot. Task 1: Creating a Schema and Linking it to an XML 1. Launch ITT-Lab in VMware Player. 2. Copy Mod2Lab2Starter.zip to the My Documents folder on ITT-Lab and extract the files. 3. Launch Visual Studio. [32] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 4. Create a new XML Schema file. 5. Click Use XML Editor to view and edit the underlying schema. 6. Save it as nnMod2Lab2.xsd, where the letters nn stand for your initials. Question 1: Which element is added by default? ____________________________________________________________________________ [33] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 7. Define an element named <wonder> that includes child elements named "name," "location," and "height" of type string. Refer to the following figure: 8. Save your changes. 9. Open wonders_master.xml in your Mod2Lab2Starter folder. 10. Modify the <wonder> element to reference the schema file you saved in Step 6. 11. Add the following documentation to your schema (replace Student_Name with your name): This schema was created by Student_Name 12. Take a screen shot of your schema markup and paste it in the worksheet. 13. Modify the <height> element to be type decimal. 14. Click View | XML Schema and expand the nodes. Take a screen shot and paste it in the worksheet. 15. Save your changes. Task 2: Defining the <history> Element 1. Define an element named <history> within the <wonder> element sequence. 2. Define <year_built> and <year_destroyed> elements of type integer. Use the <wonder> element as a model. 3. Define the <how_destroyed> element as type string. Set the default to fire. Refer to the following figure: [34] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 4. Define a simpleType named story_type immediately after your </xs:annotation> tag. The type should be based on the xs:string type and have a maximum length of 1,024. Refer to the following figure: 5. Define an element named <story> of story_type as a child of the <history> element. Question 2: What is the advantage of defining a named type? ____________________________________________________________________________ 6. Take a screen shot of the <history> element's schema definition and paste it in your worksheet. 7. Define a simple type named year_type that is a whole number and has a minimum value of 0 and a maximum value of 5000. Question 3: What did you use as the base type? ___________________________________________________________________________ 8. Modify the <year_built> and <year_destroyed> elements to be of type year_type. 9. Click View | XML Schema and expand the nodes. Take a screen shot and paste it in the worksheet. 10. Save your changes. [35] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Task 3: Creating Complex Types 1. Save your file as nnMod2Lab2b.xsd. Remember, you need to submit both the files for this lab. 2. Convert the definition for the <wonder> element to a complex type named wonderType. 3. Define a root element named <ancient_wonders> that contains a sequence of elements of type wonderType. Refer to the following figure: 4. Convert year_type to a complex type. It should be defined as a positive integer that has an attribute named era of type string. Refer to the following figure: [36] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 5. Convert story_type to a complex type that can contain a mix of text and elements. Refer to the following figure: 6. Create a complex type named history_type that contains <year_built> and <story> elements, which may or may not have a year_destroyed and how_destroyed child elements. Refer to the following figure: 7. Modify the <history> element definition in the wonderType to be of type history_type. 8. Click View | XML Schema and expand the nodes. Take a screen shot and paste it in the worksheet. 9. Save your changes. Submission Requirements: For this lab, you need to submit the following files to your instructor: o The Word document titled “SD2520_Module 2_Lab2_2.docx” o The XML file titled “wonder_master.xml” o The XML Schema titled “nnMod2Lab2.xsd” and “nnMod2Lab2b.xsd”, where the letters nn stand for your initials [37] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you successfully create a schema using simple types? Did you link the schema to the XML document? Did you successfully create a schema using complex types? [38] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide RESEARCH 2.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 12, pp. 207–211 through 14, pp. 230–253 in the textbook, Introduction to Database and XML with jQuery. These chapters explore the basics of XML Schema. Go through this module’s lesson that explains how to use and apply XML Schema. Title: Exploring XML Schema In the ITT Tech Virtual Library and on the Internet, search for information on the use and importance of XML Schemas. Next, in your own words, explain a minimum of two uses of XML Schema in building XML applications. Consider how XML Schemas can be used to ensure data consistency when transmitting data between applications and services. Support each use with the help of an example. Your examples can be existing applications or applications that you might someday write. Make sure that you cite the sources in APA format. Submission Requirements: Submit a Microsoft Word document with following specifications: Font: Arial; font size: 12; double-spaced Length: 1–2 pages Citation Style: APA Evaluation Criteria: This assignment will be evaluated using the research assignment rubric. [39] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide QUIZ 1 (1.0 HOUR) Assessment Preparation Checklist: To prepare for the quiz, revisit the assigned readings for Modules 1 and 2 from your textbook, Introduction to Database and XML with jQuery. In addition, review and attempt the practice questions given in the topic “Preparation” in the lessons for Modules 1 and 2. Title: Quiz 1 Take the quiz based on the concepts covered in Modules 1 and 2. [40] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 3.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 4, pp. 60–76 of the textbook, Introduction to Database and XML with jQuery. This chapter examines how an entity relationship diagram (ERD) is created by defining database entities, their attributes, and the relationships among them. Go through this module’s lesson, which describes the process of creating an ERD. Title: Creating an ERD In this lab, you will use Microsoft Visio to complete an existing entity relationship diagram (ERD) for the given scenario. Scenario: A Westlake Research Hospital is conducting a double blind test of a new depression drug. The hospital needs a database that will track patients’ information, from their first screening through each of their interviews. It is imperative that the database be ready before the actual clinical trials begin. The staff at Westlake is anxious to see some results. It is time you show them the logical design of their database. Required Setup and Resources: Windows XP (or later) Microsoft Visio 2003 (or later) Lab3_1starter.vsd Recommended Procedure: 1. If you are working on this lab outside the campus, then you need to download Microsoft Visio 2010 from the DreamSpark Web site. 2. Launch Microsoft Visio on your lab computer. Note that Visio is installed on the host operating system, not on your virtual machine. 3. Open Lab3_1starter.vsd. This file shows a partial database design for the Westlake Research Hospital scenario. 4. Save Lab3_1starter.vsd as nnLab3_1solution.vsd, where nn are your initials. [41] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 5. Set the DoctorKey attribute to be the primary key of the Doctors entity. Next, perform the following steps: a. Select the Doctors entity. The entity’s properties are shown below: LAB b. Click the Primary ID category. c. Select DoctorKey and click Add. The Doctors entity should look like this: 8. Create a one-to-many relationship between the Patients entity and the Doctors entity. Remember, each patient has one doctor, but a doctor can see multiple patients. Next, perform the following steps: a. Select the Patients entity. b. Click the Columns category. c. Add DoctorKey as a column. [42] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide d. Drag a Relation object from the Entity Relationship pane to the form and connect it to the entities as shown below: 0220_ Notice that the DoctorKey attribute in the Patients entity is not designated as a foreign key. 9. Change the relationship arrow to display using the Crows Feet notation. a. Click the Database menu. Point to Options and select Document. b. Click the Relationship tab. c. Check Crow’s Feet (refer to the following image). [43] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide d. Click OK. 10. Define a one-to-one relationship between the Patients entity and the PatientInitialMedicalHistory entity. The PatientKey attribute should also be the primary key of the PatientInitialMedicalHistory entity. 11. Review the Initial Medical History Form given below. Notice that medicines are listed at two places. You want the application to be able to provide a list of medicine names that the person entering data can select from. Each entity that stores a medicine name should do so using a key. [44] 3/17/2014 SD2520 Introduction to Database and XML with jQuery [45] Study Guide 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Next, perform the following steps: Modify the current database design so that a medication is only listed in a single entity and then referenced in other tables by a key. Add a PatientMedicationAllergies entity and define the necessary relationships. Hint: PatientMedicationAllergies is a linking entity. 12. Save your changes and submit your .vsd file to the instructor. Submission Requirements: Submit the Visio file titled “nnLab3_1solution.vsd” to your instructor for grading. To zip your file using the default compression utility, right-click the file, bring your mouse cursor over Send To, and click Compressed (zipped) File. Submit the zipped file to your instructor. Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you successfully identify the relationships in the database design? Did you create a lookup entity for medications? Did you create a linking entity that will track patient allergies? [46] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide ANALYSIS 3.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 2, pp. 20–35 and 4, pp. 60–76 in the textbook, Introduction to Database and XML with jQuery. These chapters how to review documents to discover relevant entities and attributes for a database. Go through this module’s lesson, which explains the techniques used to document entities and attributes for a database. Title: Defining Entities and Relationships From the ITT Tech Virtual Library and the Internet, search for information on the following four types of entity roles: Domain: Entity describing a core business element of the database. Linking: Entity used to resolve a many-to-many relationship into two one-to-many relationships. Lookup: Entity used to store lookup values and help ensure data integrity and consistency. Weak (master/detail): An entity that depends on another entity for its meaning. Next, analyze the four types of entity roles and compare them based on how they would be used in an e-commerce database. Give an example of how each of these roles can be used. Make sure that you cite the sources in APA format. Submission Requirements: Submit a Microsoft Word document with following specifications: Font: Arial; font size: 12; double-spaced Length: 1–2 pages Citation Style: APA Evaluation Criteria: The analysis rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you provide an example of each type of entity? Did you cite your sources using APA format? [47] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide ANALYSIS 3.2 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 2, pp. 20–35 and 3, pp. 44–58 in the textbook, Introduction to Database and XML with jQuery. This chapter reviews the tools and techniques used to develop business requirements and rules for a database. Go through this module’s lesson, which explains how to review a current database to identify issues and document the requirements for the new database design. Title: Database Requirements and Business Rules Read the following scenario on Wild Wood Apartments: Wild Wood Apartments owns 20 different apartment complexes in Washington, Oregon, California, and Idaho. Each apartment complex contains anywhere from 10 to 60 separate apartments of varying sizes. All apartments are leased with a six-month or one-year lease. It is the company’s practice to hire one of the tenants to manage each apartment complex. As managers, they need to admit new tenants to the building, collect rent from existing tenants, and close out leases. The manager also needs to maintain the apartments and conduct any repairs, replacements, or renovations. These can be billed back to the parent company. For acting as manager, the tenant gets free rent and a stipend. The stipend varies depending on the size of the apartment building. Each manager is expected to send a report to the Wild Wood Apartments company headquarters in San Francisco every quarter. This report summarizes the occupancy rate, the total revenues in rent, the total expenses in maintenance and repairs, and so on. Currently managers fill out a paper form and mail it back to headquarters. Many apartment managers have complained that preparing this report is a very difficult and time-consuming process. In addition, the managers at the corporate headquarters have expressed concern about the accuracy and verifiability of the reports. To allay these concerns and to improve the ease and efficiency with which the apartment managers conduct their daily business, the company is proposing the development of a centralized database that [48] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide the managers can use to track the daily business of their apartment building and to prepare their reports. As a follow-up on your initial interview with the project coordinator, Wild Wood Apartments has agreed to show you some samples of the various forms and reports they use. Lease Form: Tracks leases of one apartment complex Apt # Rent LeaseNumber Lessee Name StartDate EndDate Amount Deposit Current 5/1/2009 5/1/2010 $1,500.00 $3,500.00 1 Charles 201 #201050109 Summers Marilyn 12/1/200 110 #110060109 Newton 6/1/2009 9 $1,200.00 $2,900.00 1 306 #306060109 Janice Lewis 6/1/2009 6/1/2010 $1,250.00 $3,000.00 1 102 #102060109 Larry Thomas 6/1/2009 6/1/2010 $1,250.00 $3,000.00 1 $1,450.00 $3,400.00 1 Mark 209 #209060109 Patterson 12/1/200 6/1/2009 9 Rent Payment Form: Tracks rent payment of one apartment complex Date Name Apartment Lease Number Amount Paid 7/1/2009 Martin Scheller 203 #203011208 $1,200.00 7/1/2009 Roberta Louise 311 #311060108 $1,400.00 7/1/2009 Sue Tam 111 7/1/2009 Laura Henderson 207 #207020209 $1,350.00 7/1/2009 Thomas Jones 110 #110010109 $1,200.00 7/2/2009 Shannon Hall 205 #205010109 $1,350.00 7/2/2009 Bob Newton 104 #104030209 $1,250.00 7/9/2009 Dennis Smith 209 Late $1,400.00 $1,400.00 [49] X 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Maintenance Request Form: Tracks requests for maintenance and the apartment manager’s resolution Apt Date Problem Type Resolution Left burner out on 303 201 7/5/2009 7/5/2009 range BExpense Texpense 7/10/2009 $150.00 $ 7/21/2009 $200.00 $350.00 $ Electrician electrical rewired Water damage Replaced from overflowing flooring new bathtub Res Date floor tile - Filter Dishwasher 101 7/6/2009 backing up 207 7/15/2009 Hole in plaster clogged plumbing cleared it 7/6/2009 $35.00 walls Patched hole 7/17/2008 $ 7/20/2009 $690.00 - - $250.00 New 113 7/15/2009 Refrigerator failed utilities refrigerator $ - Sample Quarterly Report, which each manager must turn in to the main office Quarterly Report Building# #12 Address 1321 East Lake, Seattle, WA 98123 Quarter Spring Year 2010 Total Apartments Currently Occupied Percent No. Changing Tenants 45 40 89% 13 Revenues Total Rent Revenue 175,500.00 Expenses Utilities 2,450.00 Maintenance 11,298.00 Repairs 9,790.00 [50] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Quarterly Report Insurance 5,340.00 New Tenant Cleaning 10,400.00 Wages 19,200.00 Total Expenses 58,478.00 Unrecovered Rents 3,200.00 Total Profit/Loss 113,822.00 Based on your review of the scenario, perform the following tasks: 1. Identify the stakeholders for Wild Wood Apartments. 2. Make a list of the database requirements for each stakeholder involved in the database. 3. Make a list of business rules for Wild Wood Apartments. 4. Prepare a Microsoft PowerPoint presentation that you will present to the Wild Wood management. This presentation should include all the stakeholders, database requirements, and business rules for Wild Wood Apartments. Submission Requirements: Submit your PowerPoint presentation for grading. Create a professional background for your slides. Your PowerPoint should include the following slides: Title slide Introduction slide One slide for listing stakeholders One-two slides for database requirements One-two slides for business rules Summary slide [51] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Evaluation Criteria: The analysis rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you cover all the stakeholders in your PowerPoint presentation? Did you cover all business requirements in your PowerPoint presentation? Did you cover all business rules in your PowerPoint presentation? Did you format slides correctly and use a professional background in your PowerPoint presentation? [52] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide PROJECT PART 1 (6.0 HOURS) Assessment Preparation Checklist: To prepare for Project Part 1, revisit the assigned readings for Modules 1 through 3 from your textbook, Introduction to Database and XML with jQuery. In addition, review the Module 3 lesson that presents important points that you need to consider before submitting Project Part 1. Title: Database Requirements for Grandfield College Submit Project Part 1 for evaluation to your instructor. Refer to the “Project: Building Grandfield College Website” section of the study guide for a detailed description of the project. [53] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide ANALYSIS 4.1 (4.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 5, pp. 80–98 in the textbook, Introduction to Database and XML with jQuery. This chapter explores the importance of database design review and normalization. Go through this module’s lesson, which explains how to review a given ERD. Title: Reviewing an ERD Read the following scenario on Wild Wood Apartments and think about the requirements of the Wildwood Apartments database: Wild Wood Apartments owns 20 different apartment complexes in Washington, Oregon, California, and Idaho. Each apartment complex contains anywhere from 10 to 60 separate apartments of varying sizes. All apartments are leased with a six-month or one-year lease. It is the company’s practice to hire one of the tenants to manage each apartment complex. As managers, they need to admit new tenants to the building, collect rent from existing tenants, and close out leases. The manager also needs to maintain the apartments and conduct any repairs, replacements, or renovations. These can be billed back to the parent company. For acting as manager, the tenant gets free rent and a stipend. The stipend varies depending on the size of the apartment building. Each manager is expected to send a report to the Wild Wood Apartments company headquarters in San Francisco every quarter. This report summarizes the occupancy rate, the total revenues in rent, the total expenses in maintenance and repairs, and so on. Currently managers fill out a paper form and mail it back to headquarters. Many apartment managers have complained that preparing this report is a very difficult and time-consuming process. In addition, the managers at the corporate headquarters have expressed concern about the accuracy and verifiability of the reports. To allay these concerns and to improve the ease and efficiency with which the apartment managers conduct their daily business, the company is proposing the development of a centralized database that [54] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide the managers can use to track the daily business of their apartment building and to prepare their reports. As a follow-up on your initial interview with the project coordinator, Wild Wood Apartments has agreed to show you some samples of the various forms and reports they use. Design a database that is normalized to 3NF to guard against various types of anomalies. Create a Visio file that shows the normalized database design and in a Microsoft Word document, explain the rationale for making your design. Describe how your design protects against insertion, deletion, and update anomalies. Submission Requirements: For this analysis, you need to submit the following files to your instructor: o The Word document titled “SD2520_Module 4_Analysis 4_1.docx” o The Visio file that shows the normalized design Evaluation Criteria: The analysis rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you normalize your design to the first normal form? Did you normalize your design to the second normal form? Did you normalize your design to the third normal form? Did you document the reason for each change, the normalization form that required it, and the anomaly it protects against? [55] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 4.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 5, pp. 80–98 in the textbook, Introduction to Database and XML with jQuery. This chapter describes the importance of design review and normalization and examines how to evaluate an entity against the first three normal forms. Go through this module’s lesson, which describes the process of normalizing an ERD. Title: Normalizing an ERD In this lab, you will review a given ERD and normalize it using Microsoft Visio. Required Setup and Resources: Windows XP (or later) Microsoft Visio 2003 (or later) Lab4_1starter.vsd Recommended Procedure: 1. Read the Westlake hospital scenario given below: The start of the double-blind test is approaching rapidly. There is a great deal of pressure on you to begin building the actual database. Before you can do that, though, you must perform a final review to make sure that the database is normalized and complete. 2. Launch Microsoft Visio on your lab computer. Note that Visio is installed on the host operating system, not on your virtual machine. 3. Open Lab4_1starter.vsd. This file shows one table in the database design for the Westlake Research Hospital scenario. 4. Save Lab4_1starter.vsd as nnLab4_1solution.vsd, where nn are your initials. 5. Normalize the PatientVisit table to the first normal form by referring to the Patient Visit form given below: [56] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Notice that there are a number of predefined symptoms with checkboxes, as well as a field where the doctor can write symptoms that are not listed. This means that the Symptoms attribute might contain an array of values and violate the first normal form. One way to handle this would be to create a separate attribute for each symptom listed, but that still wouldn’t [57] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide handle the possibility that the patient might have other symptoms. Therefore, a better solution is to create a separate entity named PatientVisitSymptoms. Next, perform the following steps: a. Add an entity named PatientVisitSymptoms to the ERD. b. Define the following attributes: i. PatientKey (PK) ii. VisitDate (PK) iii. Symptom c. Add a relation that creates a one-to-many relationship between PatientVisit and PatientVisitSymptoms. d. Remove the Symptoms attribute from the PatientVisit entity. Now, look at the DoctorNotes attribute. This attribute is one you would want to discuss with the client. If a doctor needs to enter multiple notes, it would be a good idea to normalize using a similar approach as for the Symptoms table. However, if a doctor’s note should be treated as a single field, you would want to leave it as is. 6. Normalize the PatientVisit entity to normal form 2. Can you see any functional dependencies in the entity? (HINT: In what circumstance would the DropReason attribute not contain a value?) Next, perform the following steps: a. Add a DroppedPatient entity that includes the following attributes to your ERD: i. PatientKey ii. DateDropped iii. ReasonDropped b. Add a one-to-one relationship between the DroppedPatient table and the Patient table. c. Remove the ContinueOrDrop and DropReason attributes from the Patient Visit table. 7. Normalize the PatientVisit entity to normal form 3.Are there attributes that do not relate to the primary key? What about DoctorName? Remember, each patient is assigned a doctor, which is identified by DoctorKey in the Patients entity. Therefore, DoctorName is dependent on only PART of the primary key, not on the full primary key. Remove the DoctorName attribute from the PatientVisit entity. Your normalized table should look like this: [58] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Submission Requirements: Submit the Visio file titled “nnLab4_1solution.vsd” to your instructor for grading. Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you create all the required tables? Did you define all the required keys? Did you define all the required relationships? [59] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 4.2 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 6, pp. 100–119 the textbook, Introduction to Database and XML with jQuery. This chapter examines the implementation of the physical design of the database based on logical ERDs. Go through this module’s lesson, which describes the different database management systems with a special focus on MySQL. Title: Creating a Database In this lab, you will first explore the fields in MySQL and then create a database for Westlake hospital. Required Setup and Resources: Windows XP (or later) Microsoft Visio 2003 (or later) MySQL Workbench 5.2 CE Recommended Procedure: Note: For the steps that require you to paste the screen shot or answer a question, document your response in a Microsoft Word worksheet titled “SD2520_Module 4_Lab4_2.docx”. Make sure to assign a corresponding task number against each response or screen shot. Task 1: Exploring Tables, Rows, Columns, and Relationships 1. Launch ITT-Lab. 2. Click Start> My Programs> MySQL> MySQL Workbench 5.2 CE. [60] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 3. Double-click LocalInstance MySQL55. 4. When prompted for a password, type the root password. On the ITT-Lab virtual machine, it is P@$$word. 5. Select Save password in vault and click OK. [61] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 6. Expand World. 7. Expand Tables. 8. Explore the World database. Question 1: Which tables are included in the World database? ____________________________________________________________________________ Question 2: Which column should be the Primary Key for the city table? ____________________________________________________________________________ Question 3: Which column is most likely a foreign key column in the city table? ____________________________________________________________________________ Question 4: Which table and column does the foreign key reference? ____________________________________________________________________________ Question 5: What type of relationship exists between the country table and the city table? ____________________________________________________________________________ Question 6: Which column of the countrylanguage table is most likely a foreign key? ____________________________________________________________________________ 9. Close the Query Editor tab. 10. Click Create EER Model From Existing Database. [62] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 11. Click Next> Next. 12. Check world and click Next> Next. 13. Click Execute> Next> Finish. 14. Drag the tables so that they can all be seen. Take a screen shot and paste it in your worksheet. Question 7: What type of relationship exists between countries and languages? ____________________________________________________________________________ Question 8: What type of primary key is used in the countrylanguage table? ____________________________________________________________________________ Question 9: Which key is the primary key of the country table? ____________________________________________________________________________ 15. Click the bottom 1:n relationship icon. [63] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 16. Click country. 17. Click city and then click country. 18. Add a one-to-many relationship between the countrylanguage and country tables. Question 10: How can the composite key support the many-to-many relationship between the entities? ____________________________________________________________________________ Question 11: What is another way to implement a many-to-many relationship? ____________________________________________________________________________ 19. Take a screen shot and paste it in your worksheet. 20. Close the EER Model diagram tab. 21. Close the MySQL Model tab. 22. When you are prompted to save, click Save. 23. Save the file as nnMod4Lab2a.mwb. Task 2: Creating the Westlake Hospital Database 1. Read the following Westlake Research Hospital scenario: The drug study is falling into place. Several potential participants have already been interviewed. It is vital that the database be in place soon. You assure the management that you are ready to begin making the database objects but that it is essential you test and evaluate the objects [64] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide before they start to commit data to it. You promise that you will deliver the database as soon as possible. In this lab, you will be implementing the portion of the Westlake Research Hospital database shown in the following ERD: 2. In MySQL Workbench, click New EER Model. 3. Double-click Add Table. 4. Name the table Patients. 5. In the Columns pane, define the FirstName, MiddleName, LastName, and PhoneNumber columns as shown below: [65] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 6. Close the Table pane. 7. Add a table named Doctors, which includes the DoctorKey and DoctorName columns. 8. Create a DroppedPatients table, which includes the PatientKey, DateDropped, and ReasonDropped columns. 9. Create a Groups table that includes the GroupKey and GroupDescription columns. [66] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 10. Double-click Add Diagram. 11. Drag each table to the canvas. 12. Use the Place a relationship using existing columns icon to create a one-to-many relationship between Patients and DroppedPatients. 13. Right-click the relationship and choose Edit Relationship. 14. Click Foreign Key. 15. Change the relationship type to one-to-one. 16. Close the relationship tab. 17. Double-click the DroppedPatients table. 18. Click Foreign Keys and configure the relationship as shown: [67] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 19. Use the 1:n icon shown here to create a relationship between the Doctors table and the Patients table. Question 12: What was added to the Patients table? ___________________________________________________________________________ [68] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 20. Double-click the Patients table and remove the check from PK for the DoctorKey column. 21. Close the table editor. 22. Add a many-to-many relationship between the Groups table and the Patients table. Question 13: What was created? ___________________________________________________________________________ 23. Take a screen shot and paste it on your worksheet. 24. Click File> Save Model As. 25. Name the file nnMod4Lab2.mwb. 26. Click Database> Forward Engineer. 27. Keep the default connection settings and click Next. 28. Do not select any options. Click Next. 29. Keep the default options and click Next. 30. Review the generated script. Click Next. [69] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 31. If the generation completes successfully, you should see this message; otherwise, correct any problems and repeat steps 26 through 30. 32. On the Home tab, click Edit Table Data. 33. Keep the connection settings and click Next. 34. Select mydb from the Schema drop-down list. 35. Verify that all five tables appear in the Tables list. 36. Select the doctors table and click Finish. 37. Enter the following data: 38. Click Apply. 39. When prompted to confirm the Insert statements, click Apply. 40. Click Finish. 41. Right-click Patients and choose Edit Table Data. [70] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 42. Enter the data shown below: 43. Click Apply> Apply> Finish. 44. Enter the following data in the groups table. 45. Click Apply> Apply> Finish. 46. Enter the following data in the patients_has_groups table: 47. Click Apply> Apply>Finish. 48. Enter the following data in the droppedpatients table: 49. Click Apply> Apply> Finish. [71] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 50. Right-click doctors and choose Select Rows - Limit 1000. Take a screen shot of your results and paste it on the worksheet. 51. Repeat step 50 for each of the other tables. Submission Requirements: For this lab, you need to submit the following files to your instructor: o The Word document titled “SD2520_Module 4_Lab4_2.docx” o The MySQL file titled “nnMod4Lab2a.mwb” o The MySQL file titled “nnMod4Lab2b.mwb” Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you include all the screen shots in the Word document? Did you answer all questions in the Word document? [72] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide QUIZ 2 (1.0 HOUR) Assessment Preparation Checklist: To prepare for the quiz, revisit the assigned readings for Modules 3 and 4 from your textbook Introduction to Database and XML with jQuery. In addition, review and attempt the practice questions given in the topic “Preparation” in the lessons for Modules 3 and 4. Title: Quiz 2 Take the quiz based on the concepts covered in Modules 3 and 4. [73] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide ANALYSIS 5.1 (4.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 7, pp. 123–149 in the textbook, Introduction to Database and XML with jQuery. This chapter explores how to run queries using a database management system for a given set of business rules. Go through this module’s lesson, which describes how data retrieval queries are run in MySQL. Title: Writing Data Retrieval Queries The managers of Wild Wood Apartments are eager to see the database in action and see if it meets all their needs and requirements. It is time to look at the business rules and test them with some SQL. Imagine that you need to design some SQL queries to test the business rules. In a Microsoft Word document, complete the following tasks: Enter some sample data for each table in the database design. Make up at least 10 records for each table. Write a query to return all columns for each table. Write a query to return selected columns for each table. Write a query to return all columns for each table in ascending order by primary key. Write a query to return all columns for each table in descending order by primary key. Write some queries with two or three simple SELECTs with various criteria. Write two queries using aggregate functions. Write two queries using the GROUP BY and HAVING keywords. Write two queries that use Inner joins. Write two queries that use Left Outer joins. Write two queries that use Right Outer joins. Write two INSERT statements. Write two UPDATE statements. Write two DELETE statements. [74] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Submission Requirements: Submit a Microsoft Word document showing the list of queries and the requested database records with following specifications: Font: Arial; font size: 12; double-spaced Length: 2–3 pages Evaluation Criteria: This assignment will be evaluated using the analysis rubric. In addition, your submission will be evaluated against the following points: Did you make up a minimum of 10 records for each table? Did you write all the queries correctly? Did you design SQL queries based on the given scenario? [75] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 5.1 (4.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 7, pp. 123–149 in the textbook, Introduction to Database and XML with jQuery. This chapter explores how to run queries using a database management system for a given set of business rules. Go through this module’s lesson, which describes how queries are run in MySQL. Title: Working with SQL Queries In this lab, you will design and run SQL queries for the given set of business rules. Required Setup and Resources: Windows XP (or later) MySQL Recommended Procedure: Note: For the steps that require you to paste screen shots or answer a question, document your response in a Microsoft Word worksheet titled “SD2520_Module 5_Lab5_1.docx”. Make sure to assign a corresponding task number against each response or screen shot. Task 1: Executing SELECT Queries 1. Launch ITT-Lab. 2. Launch MySQL Workbench. 3. Double-click Local Instance MySQL55. 4. If prompted, type the root password and click OK. 5. Select mydb. 6. Type the following query and then click Execute. Question 1: How many rows were returned? ___________________________________________________________ [76] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Question 2: How many columns were returned? __________________________________________________________ 7. Type and execute a query that returns all rows and columns of the Patients table. Question 3: What query did you execute? _____________________________________________________________ 8. Execute a query that returns only the FirstName, LastName, and PhoneNumber columns of the Patients table. Question 4: What query did you execute? _____________________________________________________________ 9. Execute a query that returns the LastName of only the patients that have a DoctorKey column of 123. Question 5: What query did you execute? _____________________________________________________________ 10. Execute the following query: SELECT Count(*) FROM Patients WHERE DoctorKey = 123 Question 6: What did this query tell you? _____________________________________________________________ 11. Execute the following query: SELECT * FROM Patients WHERE MiddleName IS NULL OR FirstName = 'George' You can use IS NULL and IS NOT NULL to check whether a column that allows null contains a value or null. Task 2: Executing DML Statements 1. Execute the following query: INSERT INTO Patients (PatientKey, DoctorKey, FirstName, MiddleName, LastName, PhoneNumber)VALUES ('2-3','22222','Susan',NULL,'Michaels','555-4444') [77] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 2. Execute a SELECT statement to verify that the record exists. Take a screen shot and paste it on your worksheet. 3. Execute a query that assigns Susan Michaels to the Experimental group. Question 7: What query did you execute? _____________________________________________________________ 4. Execute the following statement: UPDATE Patients SET DoctorKey = 123 WHERE PatientKey = 2 5. Execute a query that assigns all patients currently assigned to Dr. Jones to Dr. Thomas. Question 8: Which query did you execute? _____________________________________________________________ Question 9: How many rows were affected? _____________________________________________________________ Task 3: Executing Queries that Perform Joins 1. Execute the following query: SELECT FirstName, LastName, DoctorName AS Doctor FROM Patients JOIN Doctors ON Patients.doctors_DoctorKey = Doctors.DoctorKey 2. Take a screen shot of the results and paste it on your worksheet. 3. Execute the following query: SELECT FirstName, LastName, DoctorName AS Doctor FROM Patients RIGHT JOIN Doctors ON Patients.doctors_DoctorKey = Doctors.DoctorKey 4. Take a screen shot and paste it on your worksheet. Question 10: How did the results differ from the query you ran in step 1? Explain why. _____________________________________________________________ 5. Execute the following query: [78] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide SELECT FirstName, LastName, DoctorName AS Doctor FROM Patients RIGHT JOIN Doctors ON Patients.doctors_DoctorKey = Doctors.DoctorKey JOIN patients_has_groups ON Patients_PatientKey = Patients.PatientKey WHERE Groups_GroupKey=1 6. Take a screen shot and paste it in your worksheet. 7. Execute the following statement: SELECT Doctors.DoctorName, COUNT(*) FROM Patients RIGHT JOIN Doctors ON Patients.doctors_DoctorKey = Doctors.DoctorKey JOIN patients_has_groups ON Patients_PatientKey = Patients.PatientKey GROUP BY Doctors.DoctorName 8. Take a screen shot and paste it on your worksheet. Submission Requirements: For this lab, you need to submit the Microsoft Word document titled “SD2520_Module 5_Lab51.docx” to your instructor. Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you successfully execute the SELECT statements? Did you successfully execute the DML statements? Did you successfully execute joins? Did you include all the screen shots in the Word document? Did you answer all questions in the Word document? [79] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 5.2 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapter 15, pp. 254–268 in the textbook, Introduction to Database and XML with jQuery. This chapter will give you a firm grasp of the basics of jQuery and the tools that will make working with jQuery straightforward. Go through this module’s lesson, which explores the basics of jQuery and how it works with the Document Object Model (DOM). Title: Using jQuery In this lab, you will use jQuery to interact with the Document Object Model (DOM). Required Setup and Resources: Windows XP (or later) HTML-Kit 292 (or other HTML editor) jquery-1.5.min.js (downloaded during lab) Internet Explorer (or any other web browser) Mod5Lab2pics.zip Recommended Procedure: Note: For the steps that require you to paste screen shots or answer a question, document your response in a Microsoft Word worksheet titled “SD2520_Module 5_Lab5_2.docx”. Make sure to assign a corresponding task number against each response or screen shot. Task 1: Downloading jQuery 1. Create a folder named SD2520Mod5Lab2 in the My Documents folder on ITT-Lab. 2. Change the Virtual Machine Networking option to Bridged, if necessary. 3. Open a Web browser. 4. Navigate to http://jquery.com/download/. [80] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 5. Right-click the link to download the uncompressed version of jQuery 1.x. 6. Choose Save Link As. 7. Save the file to the folder you created in Step 1. 8. Close the browser. 9. If you set the Networking mode to bridged, change it back to Host-only. Task 2: Download and install HTML-Kit 1. Check whether HTML-Kit is installed on ITT-Lab. If it is not, download and install it using the following steps. 2. Change the Networking mode of ITT-Lab to Bridged. 3. Open a web browser. 4. Navigate to htmlkit.com. 5. Click Get Previous Version (free). [81] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 6. Click Download HTML-Kit 292. 7. After it downloads, launch HKSetup.exe. 8. Click Run > Next. 9. Select I accept the agreement and click Next. 10. Click Next. 11. Choose Full installation (the default) and click Next. 12. Click Next to accept the default folder. 13. Click Next > Install. 14. Uncheck Yes, download and install HTML-Kit Tools Trial. [82] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 15. Click Next > Finish. 16. Change your virtual machine Networking settings to Host-only mode. Task 2: Creating a Simple jQuery Application 1. Launch HTML-Kit. 2. Create a new HTML file and save it as nnMod5Lab2.htm. 3. Add the following HTML to the file: <!DOCTYPE HTML> <html> <head> <title>Hello World - jQuery Style</title> </head> <body> <div id="first"></div> <div id="second"></div> <a href="#" id="link">Click Me!</a><br /> <span id="greeting"></span> </body> </html> [83] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 4. Add the following <script> element to the <head> section. NOTE: Use the jQuery version number that matches the file name of the file you downloaded in Step 1. <script type="text/javascript" src="jquery-1.11.0.js"></script> 5. Add the following <script> element beneath the one you added in Step 4: <script type="text/javascript"> $(document).ready(function() { /*write 'Hello World! to the first div */ $('#first').html('<h1> Hello World!</h1>'); }); </script> 6. Preview in the browser window to verify that “Hello World”!” displays. TIP: You might need to enable scripts to run on your browser. 7. Take a screen shot and paste it on your worksheet. 8. Add the following function beneath the selector you wrote in step 5: /*a clickable 'Hello World!' example */ $('#link').click(function(){ $('#greeting').html('<h1>Hello Again!</h1>'); }); 9. Test to verify that “Hello Again” displays when you click the link. 10. Take a screen shot and paste it on your worksheet. Task 3: Navigating a List 1. Copy Mod5Lab2pics.zip to your virtual machine and extract the .jpg files to the folder you created in Task 1. 2. Add the following HTML beneath the HTML you added in Task 2: <div> <h1>Pictures</h1> <ul> <li><a class="pic" href="#"><img src="brass.jpg" /></a></li> <li><a class="pic" href="#"><img src="sunburst.jpg" /></a></li> <li><a class="pic" href="#"><img src="ice.jpg" /></a></li> <li><a class="pic" href="#"><img src="horizon.jpg" /></a></li> </ul> <div id="showCurrentPicName"> [84] </div> 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide <div id="showNextPicName"> </div> </div> 3. Preview in a browser to verify it looks like this. 4. Take a screen shot and paste it on your worksheet. 5. Add the following jQuery function: /*Output the filename of the clicked picture*/ $('.pic').click(function(e) { var currentImage = $(this) .closest('li') .find('img') .attr('src'); $('#showCurrentPicName').html('<h1>You clicked ' + currentImage + '</h1>'); }); 6. Test your code and take a screen shot of the results of clicking each picture. [85] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 7. Modify your code to output the filename of the graphic below the one clicked. TIP: Clicking the bottom graphic should output “Undefined”. 8. Test your code and take a screen shot of the results of clicking each picture. Question: In this example, the anchors have no href. If they did, how would you prevent navigation to the new content? __________________________________________________________________________ 9. Zip the folder you created in Task 2, and turn it in along with your worksheet. Submission Requirements: For this lab, you need to submit the following files to your instructor: o Microsoft Word document titled “SD2520_Module 5_Lab5_2.docx” o A .zip file containing nnMod5Lab2.htm (where nn are your initials), the starter images, the latest jQuery 1.x.js file. Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Were you able to create a jQuery script that executed when the document loaded? Were you able to create a jQuery script that executes when a user clicks a link? Were you able to create a jQuery script that navigated elements in the DOM? Did you include all the screen shots in the Word document? RESEARCH 5.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Revisit Chapter 6, pp. 100–119 in the textbook, Introduction to Database and XML with jQuery. This chapter covers the physical design implementation of a database using Microsoft SQL Server. Go through this module’s lesson, which explores the different database management systems (DBMs). Title: Comparing DBMSs [86] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Using the ITT Tech Virtual Library and the Internet, explore and research the latest versions of the following database management systems (DBMSs) on the market: Oracle, Microsoft SQL Server, MySQL, and SQLite. Use the following keywords and phrases to begin your research: “Database Management Systems, Compare different DBMS systems, Oracle, Microsoft SQL Server, MySQL, SQLite.” Based on your research, compare the four DBMSs on different parameters. Make sure to include the pros and cons associated with each DBMS. You can use the following comparison table format to document your answer: Oracle MySQL SQLite Microsoft SQL Server Operating Systems Supported DML Statement Syntax (CREATE, ALTER, and DROP) DDL syntax (INSERT, UPDATE, DELETE, JOIN, Aggregates) Stored Procedure Syntax (CREATE) [87] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Oracle MySQL SQLite Study Guide Microsoft SQL Server Latest Stable Version and Year of Release Advantages Disadvantages Submission Requirements: Submit a Microsoft Word document with following specifications: Font: Arial; font size: 12; double-spaced Length: 1–2 pages Citation Style: APA Evaluation Criteria: This assignment will be evaluated using the research assignment rubric. [88] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB 6.1 (3.0 HOURS) Assessment Preparation Checklist: To prepare for this assessment: Go through Chapters 16, pp. 269–288 and 17, pp. 289–324 in the textbook, Introduction to Database and XML with jQuery. These chapters examine how to work with forms that are developed for different Web sites and how different forms are validated using AJAX. Go through this module’s lesson, which describes the use of jQuery and AJAX to create and validate forms. As you will recall from your reading, it is important to validate data on the client side before the data is sent to a database by a server-side processor. Title: Creating and Validating a Form In this lab, you will complete the following tasks: Task 1: Use jQuery tools and events to create a fill-in-the-blank style form for a Web site. Task 2: Use AJAX to validate the data entered by a user in the form. Required Setup and Resources: Windows XP (or later) HTML-Kit 292 (or other HTML editor) Internet Explorer (or any other web browser) Recommended Procedure: Note: For the steps that require you to paste screen shots or answer a question, document your response in a Microsoft Word worksheet titled “SD2520_Module 6_Lab 6_1.docx”. Make sure to assign a corresponding task number against each response or screen shot. Task 1: Using jQuery to Validate an Email Address 1. Launch ITT-Lab. 2. Create a folder named Mod6Lab1. 3. Copy the jQuery.1.x.js file from the Mod5Lab2 folder to Mod6Lab1. 4. Launch HTML-Kit. 5. Create a new HTML file and save it in Mod6Lab1 as nnMod6Lab1. 6. Modify the <head> element as follows: [89] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide a. Add “Registration Form” as the title. b. Add a <script> element that references the jQuery file. c. Add an empty <script> element where you will place your jQuery script. 7. Add the following <form> element to the <body> section: <form name="register" id="registerForm" action="submit" method="post"> <label class="label" for="email">Email: </label> <input type="text" name="email" id="email" size="48" /> <span class="error">please enter a valid email address</span> </form> 8. Preview in the browser. Your output should look like this: 9. Take a screen shot and paste it on the worksheet. 10. Add the following <style> element to the <head> section. <style type="text/css"> .error { display: none; color: #FF0000; font-size: 0.7em; margin: 0px 0px 0px 5px; } </style> 11. Preview in the browser window. Take a screen shot and paste it in the worksheet. Question 1: Did the error span display? __________________________________________________________________ 12. Add a document-ready function that sets the focus to the input field. [90] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide Question 2: Test your code. Did it work? __________________________________________________________ 13. Add a tabindex attribute to the <input> element and set its value to 0. Question 3: Test your code. Did it work? __________________________________________________________ 14. Add the following jQuery code: $('#email').blur(function() { var regexEmail= /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; var inputEmail = $(this).val(); var resultEmail = regexEmail.test(inputEmail); if(!resultEmail) { $(this).next('.error').css('display', 'inline'); } else { $(this).next('.error').css('display', 'none'); } }); 15. Test the code to verify that the following conditions exist. TIP: Test the code by viewing it in the default browser. Do not preview it in the browser window because Tab does not cause the blur event to occur. a. The error displays when an invalid email is typed and you press Tab. b. The error displays when nothing is typed and you press Tab. c. The error does not display when you type a valid email address and press Tab. Take a screen shot of each result and paste it in your worksheet. Task 2: Using jQuery to Validate the Length of a Field 1. Add the following fields to the form: <br /><br /> <label class="label" for="password">Password: </label> <input type="text" name="password" id="password" size="48" tabindex="1" /> <span class="error">please enter a valid password</span> [91] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 2. Write jQuery code that verifies that the password is not empty. The message should display when the form is loaded and should not be hidden until the user types in the field. Here are some tips: Be extra careful to use the right selector. Remember to use a period (.) for a class selector and a # for an id selector. If the code does not work as expected, you can debug by adding a #debug div and writing HTML to it at various points in the code. Comment liberally to help you understand the logic you are implementing. 3. Test to verify that the following conditions exist. Take a screen shot of each test and paste it on your worksheet. a. The message should be displayed when the form is loaded. b. Leaving the password field blank and clicking on the Email field causes the password error to remain displayed. c. Typing a character and clicking away from the field causes the error to disappear. Question 4: How would you modify the code to require a password of at least eight characters? ____________________________________________________________________________ Submission Requirements: Submit the Microsoft Word document titled “SD2520_Module 6_Lab6_1.docx” to your instructor for grading. Evaluation Criteria: The lab rubric will be used to evaluate this assessment. In addition, your submission will be evaluated against the following points: Did you include all the screen shots in the Word document? Did you answer all questions in the Word document? [92] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide PROJECT PART 2 (6.0 HOURS) Assessment Preparation Checklist: To prepare for Project Part 1, revisit the assigned readings for Modules 4 through 6 from your textbook, Introduction to Database and XML with jQuery. In addition, review the Module 6 lesson that presents important points that you need to consider before submitting Project Part 2. Title: Database Normalization, Creation, and Validation Submit Project Part 2 for evaluation to your instructor. Refer to the “Project: Building Grandfield College Website” section of the study guide for detailed description of the project. [93] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide PROJECT: BUILDING GRANDFIELD COLLEGE WEBSITE Project Introduction: The course project is divided into two parts. Project Part 1 is due in Module 3 and Project Part 2 is due in Module 6. The project will give you an opportunity to apply your knowledge of database management systems and programming. In this project, you will first build a database using MySQL and then a Web site that tracks the software and hardware assigned to the faculty and staff of Grandfield College. Read the following scenario about Grandfield College before attempting the project parts: The law requires that any business, including a school, track its software. It is important to know what software the school owns, in what versions, and what the license agreement for that software is. There are several different licensing schemes. The least restrictive is a “site” license which allows an institution to have a copy of the software on any machine on the business property. Other licenses specify a specific number of active copies for an institution but do not worry about which machine or user has the copy. The more restrictive licenses do specify one copy per specific machine or user. Whatever the license agreement for particular software, it is essential for the institution to know which software is installed on which machine, where that machine is located, and which users have access to that machine. It is also important to track when the software is uninstalled from a machine and when a machine is retired. An additional useful feature of any software-tracking database would be to track software requests from users to determine: If a copy of the software is available If it is something that should be purchased (all installations are reviewed and must be approved) For now, the school just wants the database to track faculty and staff computers and software. Course Learning Objectives Tested: [94] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 1. Create and transform XML documents. 2. Write XPath statements to retrieve data from an XML document. 3. Use XML schemas to define the structure of an XML document. 4. Analyze a given scenario to document database requirements. 5. Create a normalized logical database design using Microsoft Visio. 6. Create a physical design for the database using MySQL. 7. Run database queries using MySQL. 8. Use jQuery to validate and input data from a web page. PROJECT SUBMISSION PLAN Project Part Description/Requirements of Project Part Evaluation Criteria Project Assessment Preparation Checklist: This assessment will Part 1 To prepare for Project Part 1, revisit the assigned readings for be evaluated using Modules 1 through 3 from your textbook, Introduction to the project rubric. Database and XML with jQuery. In addition, review the Module 3 lesson that presents important points that you need to consider before submitting Project Part 1. Title: Database Requirements for Grandfield College In this project part, you need to create an XML Schema, XML document, XML transform, and XPath queries for an XSD schema that defines the structure for an XML document that stores the approved software. Complete the following tasks: 1. Create an XML Schema, that tracks the following information: Name of software Vendor [95] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Project Description/Requirements of Project Part Part Study Guide Evaluation Criteria Category (i.e. productivity, development platform, DBMS, and graphics) Support platforms Approved versions: o Hardware requirements o Software requirements o Price 2. Create an XML document that contains at least 15 different software titles with different categories, operating system requirements, and prices. You can include examples of common productivity software and operating systems in your list. 3. Create an XSLT that displays the following information: Software titles for each category, sorted by price Software titles for each operating system, sorted by category The highest, lowest, and average prices of a graphics program for the Linux operating system 4. Create a Word document that lists the requirements for the Grandfield College database. 5. Create a preliminary design for the Grandfield College database using Microsoft Visio. Submission Requirements For this project part, you need to submit the following five files to your instructor: [96] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Project Description/Requirements of Project Part Part o An XML Schema (.xsd file) o An XML document (.xml file) o An XSLT document titled (.xslt file) o A Word document (.docx file) o A Visio file with preliminary database design Study Guide Evaluation Criteria (.vsd file) Due: Module 3 Grading Weight: 10 % Project Assessment Preparation Checklist: This assessment will Part 2 To prepare for Project Part 2, revisit the assigned readings for be evaluated using Modules 4 through 6 from your textbook, Introduction to the project rubric. Database and XML with jQuery. In addition, review the Module 6 lesson that presents important points that you need to consider before submitting Project Part 2. Title: Database Normalization, Creation, and Validation In Project Part 2, you need to create a relational database and a Web page that allows faculty and staff at Grandfield College to request hardware or software. Complete the following tasks: Normalize the preliminary design created in Project Part 1. Create a database in MySQL that meets the normalized design. In a Microsoft Word document, write SQL DML [97] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Project Description/Requirements of Project Part Part Study Guide Evaluation Criteria statements to populate the database. Populate the database with enough records to meet the query requirements. Write and execute SQL queries that meet the following requirements. For each query, submit a screen shot showing the query and the results. o Retrieve all software installed on the computer belonging to a specific faculty member. o Retrieve the number of computers running each operating system, sorted with the most popular operating system at the top of the list. o Retrieve the graphics applications running on any computer belonging to a faculty member in the Arts department. Create an HTML form that allows users to request software. The form should: o Allow users to select a category. o Use XSLT to display the approved software in the category with a checkbox next to each one. Implement the following data validation using jQuery: o The department name is required. o The faculty ID must be a 4-digit numeric value. o The email address must be a valid format. Submission Requirements [98] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Project Description/Requirements of Project Part Part Study Guide Evaluation Criteria For this project part, you need to submit the following three files to your instructor: o A Word document with SQL DML statements and screen shots for each query (.docx file) o An XSL transform (.xsl file) o An XML document (.xml file, can be the same one from Part 1) o A Visio file with the normalized database design (.vsd file) o A .mwb file Due: Module 6 Grading Weight: 15% (End of Study Guide) [99] 3/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide APPENDIX A: GRADING RUBRICS FOR STUDENTS RESEARCH ASSIGNMENT RUBRIC © ITT Educational Services, Inc. All Rights Reserved. [100] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide LAB RUBRIC © ITT Educational Services, Inc. All Rights Reserved. [101] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide ANALYSIS RUBRIC © ITT Educational Services, Inc. All Rights Reserved. [102] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide PROJECT RUBRIC © ITT Educational Services, Inc. All Rights Reserved. [103] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide © ITT Educational Services, Inc. All Rights Reserved. [104] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide APPENDIX B: MICROSOFT DREAMSPARK PREMIUM PROGRAM IMPLEMENTATION GUIDE SECTION I: GENERAL 1. The DreamSpark Premium Program is the official provider of Microsoft software previously distributed through the MSDNAA (Microsoft Developers Network for Academic Alliance) Program. The DreamSpark Premium program logo now replaces the MSDNAA program logo on the Web store while retaining the same functions of the former MSDNAA Program. 2. ITT Technical Institute is an official subscriber to the DreamSpark Premium Program and is the authorized institutional provider for the software from this program to support the delivery of the curricula offered at ITT Technical Institute that require the use of such software. 3. The use of the software supplied through the DreamSpark Premium program is subject to the user license agreement and specific procedures set forth by Microsoft and by ITT Technical Institute. 4. The user of this program agrees to fully comply with the End User License Agreement (EULA) that governs the use of the software obtained through the DreamSpark Premium program. A copy of the EULA is located at the DreamSpark Web Store once you select the software and click the Check Out button, where you will be required to read the policy and select either Accept or Decline in order to proceed with the download. If you select Decline, your transaction will be terminated. 5. The software from the DreamSpark Premium program is available for download by the end user at ITT Technical Institute. The term end user refers to all active students and faculty whose curricula specify the use of the software supplied through the DreamSpark Premium program. 6. Online download from DreamSpark’s Web store is the ONLY institutional distribution mechanism for software and associated product keys supplied through the DreamSpark Premium program. The ITT Technical Institute Headquarters does not ship any DreamSpark Premium software media and the corresponding license keys to the field. 7. In order to obtain the login credentials for accessing the DreamSpark Web Store, each qualified individual end user must actively maintain his/her email account ending with itt-tech.edu. Credentials for accessing DreamSpark Premium program will ONLY be sent to the email account © ITT Educational Services, Inc. All Rights Reserved. [105] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide ending with itt-tech.edu. 8. Up to two downloads are granted for the selected software per person. Only one license/activation key will be provided for the downloaded product that requires such a key. Depending on the nature of the product, some would allow activation on more than one computer. Some can be activated on only one computer. In most cases, Operating System software, such as Windows 7 and Server 2008, will allow to be installed on one computer, whereas typical application software, such as Visual Studio, could be allowed on more than one computer. 9. For products that require activation on one device, the activated instance must be retained exclusively for curriculum use. Noncompliance with this may cause the software to become unavailable for curriculum use. The end user is solely responsible for ensuring the software is to be dedicated to the curriculum use. Microsoft and ITT Technical Institute will NOT be responsible if the end user fails to comply with the End User Agreement. 10. Please refer to the curriculum for required software, and follow instructions provided in the curriculum for the use of the software. 11. IMPORTANT—In order to ensure the required software is available for use by the course, it is imperative that the required software is downloaded prior to the course/lab session that requires the use of the software. In no circumstance is the download allowed as a class activity, as the downloading action is likely to take up the valuable lab time, and downloading a large file as a class could disturb the normal functionality of the campus network. 12. Please refer to the next section (Download Instructions) for detailed procedures on how to download the software. © ITT Educational Services, Inc. All Rights Reserved. [106] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide SECTION II: DOWNLOAD INSTRUCTIONS 1. IMPORTANT—The only login information you are authorized to use for the download access is the information provided in the email that was sent to your email account ending with itttech.edu. This login information should only be used by you. Allowing others to download software using your credentials is considered software piracy and is illegal. 2. Access your ITT Tech Student Email Account. 3. Go to your Inbox and open the email that contains your DreamSpark Premium Login Information. 4. Click the link that is above your login information. You will be at this screen: 5. Provide the Username and Password that was sent to you in the email. In most situations, your user name is your official email address ending with itt-tech.edu. In the event you don’t have such an email for whatever reason, you can try to access this URL: https://e5.onthehub.com/WebStore/Security/SignIn.aspx?ws=fe36208f-ba9b-e011-969d0030487d8897&vsro=8&rurl=%2fWebStore%2fProductsByMajorVersionList.aspx%3fws%3dfe362 08f-ba9b-e011-969d-0030487d8897%26vsro%3d8%26JSEnabled%3d1, and sign in using your © ITT Educational Services, Inc. All Rights Reserved. [107] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide email address ending with itt-tech.edu as the Username and click on “Forgot your password?” You should receive the password in an email sent to your email account ending with itt-tech.edu. 6. If the site prompts that you are not in the system, you will need to email the Program Administrator at mpa@itt-tech.edu to request your name to be manually added to the system. You must use your email account ending with itt-tech.edu when submitting the request. This method is applicable to both students and faculty. 7. Once successfully signed in, you will see the page with featured software for download. The featured software includes the most frequently used titles prescribed in various courses offered at ITT-Technical Institute. © ITT Educational Services, Inc. All Rights Reserved. [108] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 8. To download the software, click the Software on the page. This will bring up a new page that lists all the versions of the selected software. Click on the Add to Cart button that is next to the version you need to download: 9. Validate the content in the Shopping Cart and select Check Out. 10. You will then be navigated to the DreamSpark End User License Agreement (EULA) page. Read through the page, then select “I Accept” if you accept the terms. © ITT Educational Services, Inc. All Rights Reserved. [109] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide 11. Depending on the software you select, there could be a few more steps of information/options specific to the software. Select the Continue button to proceed. 12. You will finally reach a screen for placing the order: 13. Proceed with the rest of the instructions on the screen to download your selected software. 14. If your selected software requires a Product Key, such a key will be provided to you during your selection and order. You are advised to print or write down the detailed product information and keep it in your file for future reference. 15. Any retail key you obtain with the software from the DreamSpark program is yours to use © ITT Educational Services, Inc. All Rights Reserved. [110] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide permanently under the EULA terms. © ITT Educational Services, Inc. All Rights Reserved. [111] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide SECTION III: SOFTWARE ELIGIBILITY FOR CURRICULA 1. In principle, the authorized end user is eligible for any software provided through the DreamSpark program as long as the software is for use by the curriculum as defined by the DreamSpark program and EULA. 2. Microsoft Office (specifically Microsoft Word, Excel, and PowerPoint) is not part of the DreamSpark program. Other than the Microsoft Office Suite, the DreamSpark program is the source for all Microsoft software that is required in the curricula offered at ITT Technical Institute. 3. Please refer to specific courses to identify the software needed, and search on the DreamSpark Web Store to download the software accordingly. Due to specific licensing provisions, certain software (such as Windows 7) requires activation after installation. The curriculum has specific instructions regarding how to handle this requirement for the virtual machine implementation of the labs in our specific lab environment. It is important such instructions be followed strictly. Failure to do so will negatively affect the end user’s ability to achieve the outcomes prescribed by the curriculum. © ITT Educational Services, Inc. All Rights Reserved. [112] 03/17/2014 SD2520 Introduction to Database and XML with jQuery Study Guide SECTION IV: DREAMSPARK SUPPORT 1. MPA@itt-tech.edu cannot provide technical support for downloading and installation of the software products. 2. The Help feature is available at the top of each DreamSpark page. 3. If you still experience trouble downloading or installing the product after using the Help feature, please contact Microsoft Support. © ITT Educational Services, Inc. All Rights Reserved. [113] 03/17/2014