CS 360 Final Project prepared by Kirk Scott 1. General Information You need to design, implement, and document a relational database to solve a particular.

Slides:



Advertisements
Similar presentations
© 2006 Richard M. Conlan Interface Designs to Help Users Choose Better Passwords (study design) Richard M. Conlan, Peter Tarasewich Northeastern University.
Advertisements

Testing Relational Database
JQuery MessageBoard. Lets use jQuery and AJAX in combination with a database to update and retrieve information without refreshing the page. Here we will.
Microsoft Access.
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Accessing and Using the e-Book Collection from EBSCOhost ® When an arrow appears, click to proceed to the next slide at your own pace. To go back, click.
INFORMATION TECHNOLOGY IN BUSINESS AND SOCIETY SESSION 15 – RELATIONAL DATABASES SEAN J. TAYLOR.
GCSE PROJECT GUIDELINES Use this presentation to make sure you have the correct content for you project - click on.
Automating Tasks With Macros
Chapter 12: ADO.NET and ASP.NET Programming with Microsoft Visual Basic.NET, Second Edition.
Access Tutorial 1 Creating a Database
Concepts of Database Management Seventh Edition
1 Chapter 2 Reviewing Tables and Queries. 2 Chapter Objectives Identify the steps required to develop an Access application Specify the characteristics.
CS & ECE Senior Design Project Winter 2008 Karen Davis Chia Han Altan Ferendeci.
Management Information Systems MS Access 2003 By: Mr. Imdadullah Lecturer, Department of M.I.S. College of Business Administration, KSU.
Information systems and databases Database information systems Read the textbook: Chapter 2: Information systems and databases FOR MORE INFO...
Software Development, Programming, Testing & Implementation.
Database Design IST 7-10 Presented by Miss Egan and Miss Richards.
Transforming Data Models into Database Designs
Android 4: Creating Contents Kirk Scott 1. Outline 4.1 Planning Contents 4.2 GIMP and Free Sound Recorder 4.3 Using FlashCardMaker to Create an XML File.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Microsoft Access Database software. What is a database? … a database is an organized collection of data. A collection of data of similar information compiled.
Tutorial 1 Creating a Database. Objectives Learn basic database concepts and terms Learn basic database concepts and terms Explore the Microsoft Access.
CS 360 Final Project prepared by Kirk Scott 1. General Information You need to design, implement, and document a relational database to solve a particular.
CS2008/CS5035 Exam Preparation. Dept. of Computing Science, University of Aberdeen2 Organization of Lecture Notes Group 1 - SQL –L1 – Introduction –L2.
XP New Perspectives on Microsoft Access 2002 Tutorial 41 Microsoft Access 2002 Tutorial 4 – Creating Forms and Reports.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
ASP.NET Programming with C# and SQL Server First Edition
LESSON 8 Booklet Sections: 12 & 13 Systems Analysis.
Section 15.1 Identify Webmastering tasks Identify Web server maintenance techniques Describe the importance of backups Section 15.2 Identify guidelines.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Chapter 9 Designing Databases Modern Systems Analysis and Design Sixth Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich.
PHP meets MySQL.
Management Information Systems MS Access MS Access is an application software that facilitates us to create Database Management Systems (DBMS)
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Making a great Project 2 OCR 1994/2360. Design Some candidates dive in, make a database or spreadsheet, then try and make a design afterwards. This won’t.
XP 1 Microsoft Access 2003 Introduction To Microsoft Access 2003.
Access 2013 Microsoft Access 2013 is a database application that is ideal for gathering and understanding data that’s been collected on just about anything.
DAY 12: DATABASE CONCEPT Tazin Afrin September 26,
CS 320 Assignment 1 Rewriting the MISC Osystem class to support loading machine language programs at addresses other than 0 1.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
MS Access 2007 Management Information Systems 1. Overview 2  What is MS Access?  Access Terminology  Access Window  Database Window  Create New Database.
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Concepts of Database Management Sixth Edition Chapter 6 Database Design 2: Design Method.
8 8 Chapter 8 The University Lab: Conceptual Design Verification, Logical Design, and Implementation Database Systems: Design, Implementation, and Management.
1 NORMA Lab. 5 Duplicating Object Type and Predicate Shapes Finding Displayed Shapes Using the Diagram Spy Using Multiple Windows Using the Context Window.
Views Lesson 7.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
ITGS Databases.
1 CSE 2337 Introduction to Data Management Access Book – Ch 1.
Microsoft Access 2010 Chapter 3 Maintaining a Database.
Micah Wheeler. Overview and Requirements Design and implement an alumni tracking system for the computer science discipline. Requirements Perspective.
1 Object-Oriented Programming (Java), Unit 24 Stand In Final Project Description Kirk Scott.
SQL Unit 10 Creating Tables, Adding Constraints, and Defining Indexes Kirk Scott 1.
Grade Book Database Presentation Jeanne Winstead CINS 137.
The Software Development Process
Home Work. Design Principles and Weak Entity Sets.
Database Design Normalisation. Last Session Looked at: –What databases were –Where they are used –How they are used.
INFO275 Database Management Term Project. Overview Your project will be to define, design and build a functioning database, to support an application.
INTRODUCTION TO ACCESS. OBJECTIVES  Define the terms field, record, table, relational database, primary key, and foreign key  Create a blank database.
CPSC 203 Introduction to Computers T97 By Jie (Jeff) Gao.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
1 CS 430 Database Theory Winter 2005 Lecture 3: A Fifty Minute Introduction to Data Modeling.
Big6 Research and Problem Solving Skills 6 th Grade Project Creating a Travel Brochure.
Non-exam Assessment The A Level Project. The A level Project 20% of the A Level grade Need to identify a real problem that can be solved with a computer.
Chapter 6 - Database Implementation and Use
King Saud University College of Business Administration Management Information Systems MS ACCESS.
The ultimate in data organization
A Very Brief Introduction to Relational Databases
Presentation transcript:

CS 360 Final Project prepared by Kirk Scott 1

General Information You need to design, implement, and document a relational database to solve a particular informational problem of your choice. For full credit, I am asking you to do your implementation with MySQL. It is still possible to use another dbms and receive the vast majority of the credit. That aspect of the project where it will make a difference is explained later on. 2

This was the book that was selected as a reference for MySQL and related technologies: Nixon, Robin, "PHP, MySQL & JavaScript", Sebastopol, CA: O'Reilly Media, c. 2009, ISBN: That book recommends using EasyPHP as a simple mechanism for installing a Windows, Apache, MySQL, and PHP development environment. 3

The relevant downloads and instructions can be obtained at You may also develop in an Apple or Linux environment if you want to, and you are not obligated to use EasyPHP if you prefer an alternative. 4

You will not have to turn in a "live" copy of your database. You will be graded on the basis of the printed documentation you hand in. A large share of this documentation will naturally result from the implementation. 5

You will also present the project. As part of your presentation, you may show the live database in real time or you may show screenshots, etc. Grading for the project will be Darwinistic. There is no absolute standard against which it will be judged. Your work will be evaluated in comparison with the work turned in by other students. 6

You can derive your project from any source. You may be interested in creating a business or organizational informational scenario that is completely original. You may also have come into contact with an informational scenario, including a relational database solution to it, through your work, an internship, another class, or some other setting. If you don’t have an original idea and have not been exposed to an informational problem from another source, you also have the option of going to the library and looking for examples in books. Your choice of project for this class may also overlap with your senior project. 7

Your project should consist of at least 6 related tables and no more than 10. For people trying to come up with a project from scratch, reaching a total of 6 meaningful tables makes a suitable challenge. For people working from something that already exists, trimming it down to a meaningful subset of no more than 10 tables makes a suitable challenge. 8

The range of 6 to 10 assures that you will be faced with design decisions that are not completely trivial while not being burdened with excessive work. It also means that I will be evaluating projects that should be roughly comparable in size and I will be making grading decisions on quality, not quantity. I also will not be burdened with the excessive work of trying to sort through projects with dozens of tables. 9

The materials you produce to satisfy this project should be original. If you are working from an existing database with documentation, you will have to tailor what you hand in to the specific requirements given in this document. It will not be acceptable to simply Xerox or print out documentation that already exists. 10

All of the textual materials should be prepared using a word processor or some other piece of software (like the dbms) which produces tabular or textual output. Handwritten text and tables will not be accepted. Hand drawn diagrams will be accepted if you don’t have access to a good graphical tool for drawing them. If you hand draw them, you have to use a plastic template to make sure all of the figures and lines are nicely done. 11

Microsoft Visio is available for use on campus. I am not an advocate of MS products, but they are the university standard, and it is possible to draw a perfectly acceptable ER diagram using Visio. You may also create the database and then use the dbms to generate the ER diagram, assuming that the system you are using supports this capability. 12

Specific Requirements for What You Have to Hand in 13

I. Documentation of the Database Overall. 1. One or more paragraphs of text introducing the informational scenario at hand, where it was derived from, and what purpose it serves. 2. A brief verbal description of the entities in the informational scenario and the role they play in it. 3. An entity-relationship model of the database which will support the scenario. 14

II. Documentation of the Tables 4. Schemas for each table in the database. This means a complete list of fields in each table with information about size, type, and format, whether or not nulls are allowed, and whether or not uniqueness is enforced (if they are non-key fields). Primary key fields should be identified. All foreign key fields in tables have to be explicitly identified. All referential integrity support decisions have to be documented and justified. This refers to cascading or restricting updates or deletes, for example. 15

It will be assumed that you have fully normalized your design. If inspection reveals this not to be the case you will be penalized—unless you note in this section that you have a table that is not fully normalized and include a few written sentences along with the schema explaining what practical consideration resulted in that choice. Note that index creation is treated separately in a later point. 16

Do not try to document the table schemas by printing out table design screen shots from MS Access, for example. Document this by writing full SQL table creation statements for each table in the database. If, by chance, you decide to use the command line interface for MySQL, you will have written these SQL statements and can simply print them out, whether directly or by means of a screenshot. 17

If you used a graphical user interface for MySQL and all of the design information for a table can be shown in a single screenshot, then screenshots for each table can be used for this part of the assignment. Notice the word all. 18

The point is that all of the information for a table design is not shown in a single Access screenshot. The list of all fields and the referential integrity decisions can't be shown at the same time, for example. That's why it's unacceptable. If you can't get all of the information that would be in a complete SQL create statement for a table in a single screen shot, then document this point by some other means. 19

5. A printout of each table’s contents after being populated with sample data. There are no specific requirements for how many sample records you should enter into each table. In general, half a dozen would be enough. The empirical requirement is that there be enough sample data so that the queries of point 7 and the reports of point 9, below, have results in them. 20

6. A data dictionary. This will consist of two parts: A) If there are fields in different tables of the database that have the same semantic meaning and the same format, then this defines a domain. You should list these domains along with their meaning. For each domain you should list all of the fields in the database which are on each of these domains. Strictly speaking, a single field also defines a domain, but it is not necessary to document these individually. 21

B) You should make a table of all of the fields in the database where you can look up which table they're in. The same field name may occur more than once if the same name was used in different tables. You may produce this part of the data dictionary using a word processor, but in a fully relational system a table with a name like SYSCOLUMN, which contained this information, would exist in the SYSCATALOG. If you implement your project on such a system, all you would have to do is print this out. 22

III. Queries, Indexes, Reports, and Forms 7. The project has to have 12 queries written in SQL. Along with the SQL, each query should be documented by a written description of what it does or what it is good for, and its use should be illustrated with the output of the query on the sample data that the database tables have been populated with. I only want to see the 12 most interesting queries that you can dream up against your database. 23

8. Most systems provide indexes on the primary key field by default. You should implement two additional indexes in your database. Whether you used a graphical user interface to create them or not, these indexes should be documented by showing the SQL command which would create them. You should justify these indexes by explaining which of your sample queries might have its performance improved because of the index, assuming that the tables in the database had a realistic number of records in them. 24

9. Points 9 and 10 relate specifically to doing a Web implementation of the project. This point refers to the matter of presenting the results of a query in a Web page. To get full credit, the underlying query can be as simple as SELECT * FROM TableX. In other words, this is not a test of your ability to manage a complex query. It is simply a check to see whether you worked with other tools, like PHP, in order to see how a backend database can be connected to a Web browser front end. 25

There are various ways to set up a user interface for this—for example, it may be as simple as a hyperlink from a main page to a query result page. In any case, if there is some sort of separate user interface page, you should provide a screenshot of it, as well as a screenshot of the page which displays the query results. 26

10. Point 9 had to do with output. This point has to do with using a Web form for input into a table. This input has to be to a table involved in point 9. To document your work for this point, you should turn in a screenshot of a browser showing a Web page containing a form, and the boxes in the form should contain input values. You should also turn in a second screenshot generated by the query of point 9, where this screenshot differs from the screenshot of point 9 because the output has been changed by the input of point

Information on Presentations There will be a final project presentation of minutes given during the class periods at the end of the semester or the final test period. You can sign up for a time slot on the sheets taped to my office door. During that time you should survey what you did to satisfy the ten points listed above. You will not be graded on the presentation itself, only on the paper documentation, but you have to give a presentation in order to qualify for your paper documentation to be evaluated for credit. The paper documentation is due no later than the end of the final test period. 28

You do not have to attend all days when presentations are scheduled. However, at the very least, you should be there from the beginning to the end of the day when you have chosen to do your presentation. Please do not do last minute work on your project while someone else is presenting. Come ready at the beginning of your time period. 29

As noted earlier, grading on the projects is not based on some absolute standard, but rather, on comparison with other projects. Attending the presentations gives you the chance to compare what you did with what other people did. Sometimes students are not satisfied with their grades and they ask for a different grade after seeing what they got at the end of the semester. 30

I will be noting attendance during the presentations. If you did not attend the presentations of all other students, no request to change the number of points you received on the project will be entertained. You may not be satisfied with the point total you received, but if you did not make the effort to inform yourself about the kinds of projects yours was being compared with, you will have no basis for thinking that the number of points you received was inappropriate. The grading sheet is given on the next page for your reference. 31

Computer Science 360, Project Grading Sheet Name:_____________________________________________ Total positive:________ The comparison of projects and the allocation of points are not done on an overall basis. In order to make the grading as fair and as objective as possible, each project will be compared with the others and awarded a relative number of points in the ten different categories shown below. Scoring Scheme: -0, -2, or -4 per heading, or -6 if completely missing. Total positive = 100 minus total negative. 1. Overall verbal description of project:________ 2. Verbal description of the entities and their roles:________ 3. An entity-relationship model:________ 4. Table creation schemas in SQL with all constraints:________ 5. Each table’s contents with sample data:________ 6. Data dictionary: Domains and fields:________ SQL queries with verbal descriptions and output:________ 8. 2 index creation statements in SQL with explanations:________ 9. Displaying query results in a Web page:________ 10. Using a Web based form for input into a table:________ Total negative:________ 32

The End 33