Download A Unit of Instruction - Boise State University

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Concurrency control wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Functional Database Model wikipedia , lookup

Database wikipedia , lookup

Clusterpoint wikipedia , lookup

ContactPoint wikipedia , lookup

Relational model wikipedia , lookup

Database model wikipedia , lookup

Transcript
A
Unit of Instruction
Kim Weiss
EDTECH 506
Spring 2015
Use this template to identify and develop the topic and focus of your final project. Complete this
information as an overview. You will develop at least three individual lesson plans to address individual
components of your Unit of Instruction and identify instructional message projects that address each of
those lessons. This template is the overview of the entire Unit of Instruction.
1. Unit Goals (long range—how does this unit fit with year-long goals?)
At this end of this unit, a student will be able to:
 List at least three reasons for normalizing a relational database to third normal form (3NF).
 Identify the role of functional dependencies in a relational database.
 Describe methods that can be used to normalize a set of data.
 Given a specific set of unnormalized data, explain how the database structure can be
changed to put the data in first normal form (1NF).
 Given a specific set of unnormalized data, explain how the database structure can be
changed to put the data in second normal form (2NF).
 Given a specific set of unnormalized data, explain how the database structure can be
changed to put the data in third normal form (3NF).
 Discuss the disadvantages of normalization in database design.
The proposed unit would be included at the beginning of semester-long university-level course on
database design, as part of a degree in computer science or a related field. This type of course will
typically include the principles of database design (including the normalization lessons presented
here), how to use SQL to create databases in a specific database system (such as MySQL, SQL Server,
or Oracle), how to use SQL to generate queries to retrieve data from a database, and how to
maintain a server-based database.
2. Specific ways to relate goal(s) to curriculum (team/department, system and state frameworks)
This type of course is common as a core requirement for an Associate’s degree or Bachelor’s degree
in Computer Science or a related field, usually offered at the 200-level. It is normally a prerequisite
for courses related to setting up a server or creating database-dependent software, where a good
understanding of how database design affects data retrieval speeds can be critical.
Because this is a university course, there are no required state goals that with which the course
needs to comply. The existing course was built based on recommendations from advisory
committees who felt that successful students should have a grasp of relational database structure
and be able to apply those concepts to improve system efficiencies.
This course aligns with parts of the Computer Science Curricula 2013 (2013) as proposed by a joint
committee of the ACM (Association for Computing Machinery) and the IEEE (Institute of Electrical
and Electronics Engineers), both of which have helped define the practices and standards used
within the computer industry. This course would meet some of the goals for the following areas of
the Computer Science Curricula 2013:

Information Management/Database Systems (pp. 113-114)
3. Cite the basic goals, functions, and models of database systems.
4. Describe the components of a database system and give examples of their use.
5. Identify major DBMS functions and describe their role in a database system.
7. Use a declarative query language to elicit information from a database.

Information Management/Data Modeling (p. 114)
2. Describe concepts in modeling notation (e.g., Entity-Relation Diagrams or UML) and
how they would be used.
3. Define the fundamental terminology used in the relational data model.
4. Describe the basic principles of the relational data model.
5. Apply the modeling concepts and notation of the relational data model.
3. Characteristics of the students for whom this unit is intended (needs in the cognitive, affective,
physical, and social areas)
The students who take this class will be adult university students enrolled in a computer science
degree program, although individual classes may include students with specific disabilities that
would require appropriate accommodation.
The course is offered at the second-year level, so students will be familiar with general university
routines and expectations.
4. Student’s Present Level of Performance and Knowledge (Do the students have the adequate
knowledge to complete the unit successfully? What prerequisite skills must the students have to
complete the unit content? Include technology skills.
Prerequisite courses for this course include an introduction to computers course that introduces
students to the hardware and functions of a computer, as well as at least one computer applications
course that covers skills in Word, Excel, Access and PowerPoint.
Students will have also taken an introduction to programming course that introduces students to
computational thinking—the thought processes required to analyze a problem and propose a
solution within a specific framework. This means that instruction can assume that students are
familiar with concepts like data types, variables, constants, and other common programming
concepts that are also used in database design.
Because of the prerequisite class in Microsoft Office, students will already be aware of basic
database terminology, including the differences between a row and a column, how data in a
database can be distributed across tables in a relational model, and basic query functions using the
Query By Example (QBE) visual query language included in Access. They will also know how to save
files and retrieve saved files to a computer.
5. Classroom layout and grouping of students (Where will the learning take place? How will the
room be organized? How will students be grouped (whole group, individuals, pairs, small groups,
etc.)
This course is offered online as well as in a traditional classroom, with the venue alternating from
one term to the next. The average class size is 15-20 students in either mode.
The classroom version of the course meets approximately four hours a week, either as a day class
that meets four days a week for 50 minutes per period, or as an evening class that meets once a
week for three hours and forty minutes. The class is offered in a computer lab that includes enough
computers so that each student has their own computer to use, with the students arranged in
traditional classroom rows. Students can also choose to bring their own computer to use during
class time.
The online version of the course is provided using the university’s Angel platform, with no
expectation that students will meet the instructor or the other students in person at any time. The
instructor can choose to provide optional synchronous class meetings, based on the needs of the
class, but most interaction is asynchronous, in the form of discussion boards and email.
Group work is expected in both venues, with group sizes ranging from 3-5 students per group. In the
classroom setting, students find space to sit in their groups within the fixed rows, although some
instructors will allow students to go to other locations like the library or the tutoring center if the
group work does not need access to the instructor.
6. Introductory procedures (How will you introduce the unit and the goals?)
The introduction will discuss the concept of a database and how databases are typically used in our
society. This discussion will include specific examples of databases the students are likely to be
familiar with, including the university’s student database, retail databases, and bank databases.
The introduction will also present basic terminology and concepts used in relational databases,
including the concepts of entities, records, and attributes as the primary units of data. That will lead
to a discussion of how to identify appropriate entities that should be represented in a database, and
how entities are divided into attributes.
Once the relationship between the entity and its attributes have been explained, the lesson would
introduce the concept of database efficiency, and how normalization is a common way to make a
database as efficient as possible. Normalization has the primary goal of reducing redundancy—
having the same data stored in multiple locations—and students should be aware of problems that
redundancy can cause in normal use of a database.
7. Materials and media (any resource, persons or materials): be as specific as possible. Identify
resource, its availability, how it is to be used and why.
Many database design activities can be done with pencil and paper, and students should be
encouraged to use only pencil and paper at the starting point of the normalization process. These
are standard materials that most students will have access to, but the classroom instructor can bring
extra supplies to emphasize the need to use these materials at the beginning of the process.
For the more advanced modeling, students will need access to a computer with appropriate
software. Students on campus have access to computers during class time as well as to computer
labs that are available seven days a week, but students in this program are encouraged to have their
own personal computer to use outside of class time.
For the unit on normalization, a wide variety of different software packages can be used. Most of
the work in normalization is visual representation of how the data is divided into entities and
attributes, so any software with the ability to draw boxes and arrows can be used, including Word,
PowerPoint, and even Paint. However, students are encouraged to use Microsoft Visio for the class
assignments, because Visio includes drawing objects designed specifically for database design.
All students, including remote online students, have access to the university’s desktop software
through desktop virtualization services provided by the university, and students can use Microsoft
Visio through this service. Students in the Computer Science program are also provided with free
software through a departmental agreement with Microsoft, so they can choose to install Visio on
their own computer if they wish.
After this unit on normalization, students will also need access to the database management system
chosen for the class, such as MySQL, SQL Server, or Oracle, a system that is set up and provided by
the instructor prior to the start of class. The Computer Science department normally hosts both a
MySQL database installation and a SQL Server database installation specifically for this class, and the
instructor is expected to set up student accounts on the appropriate server prior to starting the
portion of the course devoted to creating databases and writing queries—content that follows the
presentation of normalization. A telnet client and an FTP client are also required for this part of the
course, and the instructor also normally provides information on how to download, install, and use
this software at the appropriate point in the course.
Online students and students who choose to work off campus are expected to have broadband
Internet service, a requirement for access to the university’s remote desktop service that includes all
software required for the course, as well as private network storage space for each student.
8. Visuals (although this is part of the materials and media, I want this to be a specific part of your
plan). Identify at least EIGHT static graphic visuals (NOT links to video clips or websites, please)
that you will be creating and use, their purpose, and design.
Visuals 1 & 2: Two diagrams that show different kinds of entities that have been split into attributes,
to help students understand the relationship between entities and attributes. (Terminology not
directly related to a specific objective, but required to meet any of the objectives.)
E.g., a picture of a person that has different descriptors surrounding the person, where the person
represents an entity and the descriptors are the attributes. Another example could be a retail
product used in the same kind of diagram.
Visual 3: A picture showing two or more objects that need to be identified in a database, like a mail
package, a pet, or a student, to illustrate the concept of a candidate key. (Objective 2)
Visual 4: A picture showing the logical relationship between a person and the products that person
has ordered/purchased, to show both that the person is a separate entity from the product, and to
illustrate the relational relationship between those two entities using the order/purchase event as
an intermediate entity. (Terminology not directly related to a specific objective, but required to
meet any of the objectives)
Visual 5: A diagram of an entity that identifies at least two functional keys to illustrate functional
dependency. (Objective 2)
Visual 6: An unnormalized entity that has been split into two entities to satisfy first normal form.
(Objectives 3 & 4)
Visual 7: An unnormalized entity that shows a violation of second normal form, with a related
diagram that shows resolution into second normal form. (Objectives 3 & 5)
Visual 8: An unnormalized entity that shows a violation of third normal form, and which is split into
two entities to resolve the problem. (Objectives 3 & 6)
Visual 9: A complete database model, with all entities normalized to third normal form. (To illustrate
a database that is in 3NF)
Additional visuals will be included in the homework assignments, as described below.
9. Assessment and evaluation of learner understanding (Identify the methods the teacher will use to
identify student learning levels and needs. Describe when these will be used during the unit)
Several assignments will be given during this unit, with each assignment designed to demonstrate a
deeper understanding of the concepts. For the classroom version of the class, many of these will be
completed as in-class activities, possibly in groups of two or three students, while others will be
given as homework to be submitted during a later class period, with group work optional. For the
online class, the activities would be grouped into larger assignments, with some work completed via
discussion boards and other work submitted as files to the instructor.
Task 1 (during introduction to the topic): Discuss at least one situation where you or someone you
knew had a problem because data had not been stored correctly in a database. What problems
did you encounter? Why do you think those problems occurred? What solution would you
recommend to avoid similar problems in databases that you are creating? (Group discussion.)
Task 2 (after verifying that students understand what a database is and what redundancy is): List at
least three reasons to avoid having redundant data in a database, and explain why each of them
is a problem. (Small group discussion during class, where each group would present a summary
of the group responses to the rest of the class to allow instructor to evaluate objective 1; part of
written assignment online.)
The following questions would be included on a homework assignment to be completed outside of
class. Appropriate illustrations would be provided for each question, and a rubric would be provided
to use for grading purposes.
Task 3: For each of the items below, describe at least one attribute that could be considered a
candidate key. Is this an inherent attribute or an ascribed attribute? Justify your responses.
(Objective 2) [The question will include one picture each of a book, a smartphone, a chair, and a
person.]
Task 4: The entity below is not in first normal form. Identify the attribute(s) that prevent it from
being in 1NF, and present a diagram showing how you would resolve the problem so that the
database represented is in 1NF. (Objectives 3 & 4) [The question will include the image of a
named table with 5-6 fields in it. Primary key fields will be labeled appropriately.]
Task 5: The entity below is in first normal form, but it is not in second normal form. Identify the
attribute(s) that prevent it from being in 2NF, and present a diagram showing how you would
resolve the problem so that the database is in 2NF. (Objectives 3 & 5) [The question will include
the image of a named table with 5-6 fields in it. Primary key fields will be labeled appropriately.]
Task 6: The entity below is in second normal form, but it is not in third normal form. Identify the
attribute(s) that prevent it from being in 2NF, and present a diagram showing how you would
resolve the problem so that the database is in 2NF. (Objectives 3 & 6) [The question will include
the image of a named table with 5-6 fields in it. Primary key fields will be labeled appropriately.]
Task 7: The database below is in third normal form. Identify at least one reason why queries on this
database might run more slowly than necessary because it is in 3NF. For each reason listed,
explain why it could be a problem and suggest a solution. Solutions should be in 2NF, but they
may not be in 3NF. (Objective 7) [The question will include a diagram of a database that includes
at least three separate tables. Primary keys, foreign keys, and relationships will be labeled
appropriately.]
10. Relate assessment instruments to the outcomes stated in the goals.
At this end of this unit, a student will be able to:
 List at least three reasons for normalizing a relational database to third normal form (3NF):
Task 1
 Identify the role of functional dependencies in a relational database: Tasks 2 & 3
 Describe methods that can be used to normalize a set of data: Tasks 4-6
 Given a specific set of unnormalized data, explain how the database structure can be
changed to put the data in first normal form (1NF): Task 4
 Given a specific set of unnormalized data, explain how the database structure can be
changed to put the data in second normal form (2NF): Task 5
 Given a specific set of unnormalized data, explain how the database structure can be
changed to put the data in third normal form (3NF): Task 6
 Discuss the disadvantages of normalization in database design: Task 7
* Adapted from Unit Plan at http://edtech.tennessee.edu/~bobannon/unit_plans.html
Reference:
The Joint Task Force on Computing Curricula Association for Computing Machinery (ACM) IEEE
Computer Society. (2013, December 20). Computer Science Curricula 2013: Curriculum Guidelines
for Undergraduate Degree Programs in Computer Science. Retrieved from
http://www.acm.org/education/CS2013-final-report.pdf