Advanced Database Concepts For Undergrad PDF
Advanced Database Concepts For Undergrad PDF
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed for
profit or commercial advantage and that copies bear this notice and the full citation on the
first page. To copy otherwise, to republish, to post on servers or to redistribute to lists,
requires prior specific permission and/or a fee. 357
SIGCSE 2001 2/01 Charlotte, NC USA
Copyright 2000 ACM 1-58113-329-4/01/0002 ... $5.00
specialize in database systems. Our goal is to produce a model, such as deductive, object-oriented, and multimedia
collection of advanced database modules that will provide databases. Furthermore, graduate courses focus on an in-
educators with the flexibility to tailor the use of such depth study of database language and database system
modules to their own specific program. implementation issues. Most departments offer such topics
over two or three courses at the graduate level, while others
In the following sections of this paper, we first provide a provide special topics courses where the focus varies with
summary in Section 2 of undergraduate database education each offering of the course.
in the U.S. Section 3 then elaborates on the course contents,
describing the topics and assignments of the course. At the undergraduate level, the departments examined
Section 4 presents lessons learned from our first offering of typically offered only one undergraduate database course.
the course, covering our evaluation of the course as well as Although the courses vary from university to university,
student evaluations and feedback from industry. The paper there is generally a core set of topics that are taught in such
concludes in Section 5 with a summary of our work and a a course, which is reflected in the table of contents of
discussion of our future plans for the course. several database textbooks [5, 9]. The core topics shown in
Figure 1(b) are those that we offer in our own
2 Undergraduate Database Education in the U.S. undergraduate database course at ASU. Some courses offer
variations to these topics with coverage of legacy models
To develop our plan for an advanced database course for such as the network and hierarchical models. A small
undergraduates, we investigated the courses that are number of courses also mentioned coverage of object-
currently offered at several major universities across the oriented models. Other courses provide instruction on
U.S. with recognized computer science departments in database implementation issues, while others provide more
database research and education. Figure 1 provides a emphasis on database design and analysis concepts.
summary of our findings, which were gathered through
examination of information available within department What we have observed from this data is that
Web sites at each university. Figure 1(a) provides a undergraduates are not significantly exposed to advanced
summary of the topics typically found in graduate-level database topics. A single three or four hour course at the
database courses while Figure 1(b) indicates the topics that undergraduate level is packed full of important concepts on
are typically offered at the undergraduate level. Graduate basic data modeling as well as relational database features,
courses generally address data models beyond the relational from query languages to system-related issues such as
358
transaction processing and concurrency control. As a
result, providing in-depth coverage of more advanced Advanced Data Modeling
database issues is difficult. Having a course that is already The EER Model
full with a wide range of topics also makes it difficult to UML Conceptual Class Diagrams
provide students with experience in oral and written EER vs. UML
communication. Furthermore, ethical issues associated with Databases and the Web
database access are not thoroughly addressed. Although Architectural Issues
database security issues are included in most database JDBC
textbooks, security issues are addressed in terms of the Servlet, ASP and JSP Case Studies
features provided by database management systems for Object-Oriented Database Systems
controlling user access. Database education should play a Characteristics of OODBs
stronger role in covering the professional and ethical issues Data Model - ODMG Standard
associated with information access and dissemination, Data Definition - ODL
especially considering the recent growth in information Data Manipulation - OQL
access through the Internet. Undergraduate database Objectivity/DB Case Study
education must be expanded to 1) provide undergraduates Object-Relational Database Systems
with a more well-rounded exposure to current database Abstract Data Types
concepts, and 2) provide opportunities for the inclusion of Data model – Object extensions to relations
ethical issues as well as oral and written communication Data Definition
exercises. Data Manipulation – Object extensions of SQL
Oracle-8 Case Study
Professionalism and Ethics
3 Advanced Database Course Privacy & Confidentiality
Figure 2 provides an outline of the topics covered in the Unauthorized Access
undergraduate course that we are developing for advanced
database concepts. As indicated in Figure 2, the course is Figure 2: Advanced Database Concepts for
divided into five main modules addressing advanced data Undergraduates
modeling, databases and the Web, object-oriented database
systems, object-relational database systems, and mapping techniques for generating relational schemas from
professionalism and ethics. The three main challenges in EER diagrams. Since the Unified Modeling Language
teaching these topics are: 1) presenting the material in a (UML) [10] is emerging as a modeling standard for
manner that is appropriate at the undergraduate level, 2) software engineering in industry, we also cover UML
providing students with experience in the use of advanced conceptual class diagrams, which is a superset of the EER
database tools without reducing the course to a technology model. UML allows us to introduce the behavioral aspects
training class, and 3) presenting the material in an of classes into the modeling process. We use cooperative
appropriate sequence that provides balance to the due dates learning exercises to reinforce the material, where students
for assignments. We have addressed the first two construct EER and UML diagrams, generate relational
challenges by building on our experience as described in schemas, and compare/contrast the EER and UML
[4, 11]. In particular, we make use of in-class, cooperative techniques. Through the remainder of the course, we use
learning exercises to promote team-building skills as part UML diagrams in our examples because of the object-
of the learning experience. We also provide software and oriented nature of the database systems that we address.
database examples of the tools used in class assignments,
where students work together in groups to study the The introduction to UML provides a way to transition into
examples for the purpose of learning the syntactic details of the topic of object-oriented database systems (OODBs).
the tools. As described in [11], this approach minimizes We begin the OODB section with an overview of
the amount of time that must be spent in class to teach the fundamental object-oriented concepts, such as complex
use of specific tools. Section 4 addresses our assessment of objects, encapsulation of behavior, inheritance, and
the topic sequence in more detail. polymorphism. Most of the students in class are already
familiar with these basic concepts from previous courses on
The module on advanced data modeling provides the object-oriented programming, so our focus is on
conceptual foundation for advanced implementation data persistence as well as the difference between types and
models, such as object-oriented and object-relational data extents. We also focus on object identity and the way in
models. Since the prerequisite database course covers the which objects are related through object identifiers rather
basic Entity-Relationship (ER) model, we begin with than through external keys as in the relational model.
coverage of the Enhanced Entity Relationship (EER) Topics such as the comparison of objects through identity,
conceptual model, introducing advanced modeling shallow equality, and deep equality are also addressed.
concepts involving class hierarchies, constraints on class
hierarchies, inheritance, and categories. We also present
359
From an OODB modeling point of view, we cover the such as JDBC and Open Database Connectivity (ODBC)
object data definition language (ODL) of the Object Data to access database systems. We provide our own examples
Management Group (ODMG) standard [1] and discuss of JDBC, servlets, ASP, and JSP for database access.
mapping issues between EER, UML, and ODL schemas. Students explore these examples and are assigned a
Our coverage of the ODMG standard also includes basic semester-long Web/DB group project, where each group
features of the object query language (OQL). We use must design and implement a Web-accessible relational
Objectivity/DB as a case study of OODB technology [7]. database. Most of the students have already been exposed
Students are given a software example that we have to some aspects of Web technology in other courses. The
prepared using an Objectivity/DB database together with a group project gives the students the opportunity to fully
graphical user interface (GUI) written in Java that allows a explore the use of such technology for the development of
user to browse and update any object-oriented database [3]. database applications.
The GUI assumes the implementation of a given interface
for accessing the particular object-oriented database. Since Throughout the course, we emphasize issues associated
past experience with the use of an OODB product with professionalism and ethics (P&E). We are especially
illustrated that the students spent a significant amount of interested in concepts associated with the sensitive nature
time coding an appropriate interface to demonstrate the of data management as well as responsible behavior in the
correctness of their implementation, we developed a GUI design and implementation of information systems. Our
that the students reuse as an interface in their assignment to course Web page provides links to resources on P&E as
develop their own Objectivity/DB implementation. well as specific case studies. Students are given an initial
Students work together in teams to study the Objectivity assignment to read the case studies and prepare for an in-
example, with the implementation exercise assigned as an class discussion of the issues. After discussion of the case
individual project. studies, the students are required to find a recent news
article involving P&E issues. As a group exercise, the
Since object-relational systems extend traditional relational students must prepare their own case study, develop a set of
systems with object-oriented concepts, we cover object- discussion questions, and lead an in-class discussion of
relational database (ORDB) systems after we cover OODB their case study. We have found this to be a quite creative
systems. After addressing some of the fundamental exercise for the students, providing opportunities for
concepts of ORDBs, such as the integration of abstract data developing oral and written communication skills. Most of
types with relational systems as well as the use of objects in the students found this to be a useful and informative
relations, we use the Oracle 8 object-relational database change of pace from traditional implementation exercises.
system as a case study [8]. The specific features covered
include embedded objects, object tables, nested tables, and 4 Lessons Learned
VARRAYS (variable length arrays). Some of our own
research has developed guidelines for mapping conceptual As mentioned in the previous section, developing a
models such as EER and UML diagrams to object- sequence for presentation of the course modules was a
relational schemas [12]. As a result, we revisit object- challenge. We presented the material in the following
oriented modeling concepts and the manner in which order: 1) advanced modeling, 2) initial discussion of P&E
object-oriented designs can be effectively mapped to case studies, 3) OODBs (except for OQL), 4) databases and
object-relational features. These mapping issues include the the Web, 5) ORDBs, 6) OQL, 7) student-led discussions of
study of advanced features of database technology, such as P&E case studies, 8) Web/DB group project presentations.
the use of triggers and stored procedures for constraint In our next offering of the course, we plan to introduce
enforcement. We also study object extensions to SQL in Web/DB issues as well as advanced relational topics, such
Oracle 8. As in the OODB part of the course, students are as triggers and stored procedures, earlier in the semester.
given a database example that we have developed using Students will therefore be able to immediately begin the
Oracle 8 to study for the preparation of their own Web/DB group project. Covering advanced relational
implementation assignment. topics before the introduction of object extensions to
relations is also important to ensure that students are not
The module on databases and the web is addressed in a overloaded with advanced relational issues in the ORDB
different manner than most of the other modules. The module. We feel that students can more easily grasp object
ability to access database systems from the Web is an extensions to relational systems after covering pure OODB
important topic that students often face as they enter the job concepts. But since the students enter the course with a
market. There are many different technologies that can be background in relational systems, they can easily get
used, such as Java servlets, Active Server Pages (ASP), and started with the more procedural issues of relational
Java Server Pages (JSP) [2, 6]. We focus on teaching applications early in the semester, while object extensions
techniques for the remote access of database systems, such are addressed at a later time.
as Java Database Connectivity (JDBC) [6]. We then
provide an overview of Web technology that uses features Other planned content changes include coverage of the
Extensible Markup Language (XML)
360
(http://xml.about.com/compute/xml/mbody.htm), coverage the students of CSE 494DB for their constructive feedback.
of SQL99 (http://www.sql-99.org), and more complete We are indebted to Marla Hart, Lakshmi Priya, Mathangi
coverage of OQL with comparisons to SQL99. Students Ranganathan, Dan Suceava, Pablo Tapia, and Nilan Yang
have also indicated an interest in covering XML. There for their invaluable support in developing the first round of
should be time to add these topics to the course since we curriculum materials. We also want to thank the
plan to eliminate the in-class group project presentations in participants of the industry workshop: Lee Gowen
favor of out-of-class project demonstrations. Students (American Express), Leon Guzenda (Objectivity), Gary
receive plenty of opportunity for oral communication James (Homebid), Vishu Krishnamurthy (Oracle), Amy
through the in-class exercises and the P&E case study Sundermier (Homebid), Roger Tomas (AGCS), Steve
discussions. Students liked the P&E exercises and Waters (Microsoft Research), Arleen Wiryo (Integrated
suggested that we enhance this module with industry Information Systems), Cindy Wu (Honeywell).
speakers. Other feedback from students indicates that they
appreciated the database examples that we provided, References
although some of the examples need to be scaled down and [1] R. G. G. Cattell, The Object Database Standard:
refined. Students also suggested the use of a specialized ODMG 3.0, Morgan Kaufmann, 2000.
tool for drawing UML diagrams.
[2] Deitel, H. M., Deitel, P. J. and Nieto, T. R., Internet
In the Summer of 2000, a workshop was held at ASU to and the World Wide Web: How to Program, Prentice
solicit feedback from industry on the contents of the Hall, 2000.
course. Our industry partners confirmed that the current [3] Dietrich, S. W., Suceava, D. Cherukuri, C., and Urban
topics of the course are appropriate for advanced coverage S. D., A Reusable Graphical User Interface for
of database issues. In addition, the industry participants Manipulating Object-Oriented Databases using Java
strongly agreed with our assessment to include coverage of and XML. Proceedings of the 32nd ACM SIGCSE
XML and SQL99. Although they indicated that there is Technical Symposium on Computer Science Education,
already more than enough material for a second course, (Feb 2001).
participants also suggested the addition of a course [4] Dietrich, S. W. and Urban, S. D. A Cooperative
component to introduce advanced issues, such as Learning Approach to Database Group Projects:
interoperability, data warehousing, security, personalization Integrating Theory and Practice. IEEE Transactions on
and internationalization. Education, (Nov 1998), CD-ROM Directory 06, 11 p.
5 Summary [5] Elmasri, R., and Navathe, S. Fundamentals of
This paper has presented our efforts in the development of Database Systems, Addison Wesley, 2000.
an advanced database course for undergraduates. Due to [6] Hunter, J., Crawford, W., and Ferguson, P., Java
developments in information technology over the last Servlet Programming, O’Reilly Publishers, 1998.
decade, a basic background in relational database
[7] Objectivity/DB Version 5.1: Database Development,
technology is often insufficient for the types of jobs that
Objectivity Inc., 1999.
now exist in industry. A one-semester course on database
systems, however, is incapable of adequately covering [8] Oracle Corporation, Oracle 8 Reference Manual,
important relational topics as well as new developments in Release 8.0, 1999.
database technology. Our approach to this problem has [9] Ramakrishnan, R., and Gehrke, J. Database
been to define an advanced course that is specifically Management Systems, 2nd edition, McGraw Hill, 2000.
geared towards the needs of undergraduates. Student
[10] Rumbaugh, J., Jacobson, I. and Booch, G. The Unified
reaction to the first offering of the course has been
Modeling Language Reference Manual, Addison
overwhelmingly positive. We are currently developing a
Wesley Longman, 1999.
plan for following the industry experience of students who
have taken the course to evaluate our success in preparing [11] Urban, S. D. and Dietrich, S. W. Integrating the
students for database-related jobs. We are refining the Practical Use of a Database Product into a Theoretical
course with the feedback that we have received from Curriculum. Proceedings of the 28th ACM SIGCSE
industry and are also recruiting other universities to serve Technical Symposium on Computer Science Education,
as test sites for teaching the course. (Feb 1997), ACM Press, 121-125.
[12] Urban, S. D., Dietrich, S. W., and Tapia, P., Mapping
UML Diagrams to Object-Relational Schemas in
Acknowledgements
Oracle 8, Succeeding with Object Databases: A
This work was supported by NSF’s DUE CCLI-EMD
Practical Look at Today’s Implementations with Java
program (DUE-9980417). We thank Microsoft Research
and XML, J. Wiley Publishers, A. Chaudri and R.
and ASU CRESMET (Center for Research on Education in
Zicari (editors), 2000.
Science, Mathematics, Engineering, and Technology) for
their initial funding of this project. We would like to thank
361