Bulletin of Applied Computing and Information Technology

Simon Dacey
UNITEC,  New Zealand
sdacey@unitec.ac.nz

Dacey,S. (2004, November), Conceptual Design and Physical Development of Database Courses. Bulletin of Applied Computing and Information Technology Vol. 2, Issue 3. ISSN 1176-4120. Retrieved from

ABSTRACT

This paper reports on a consultation process with industry representatives leading  to the improvement of degree courses in database design and development. UNITEC’s  Bachelor of Computing Systems (BCS) currently contains four database courses, one of which will be discontinued in 2005. Concerns has been raised that options for advanced  studies in the area of database design and development are limited.  There is also a concern that students are exiting the BCS programme without sufficient knowledge in this area to secure employment in an information technology (IT) position. The learning and skills outcomes of the current BCS database courses are analysed and evaluated on their relevancy to the current practices in industry. Industry research has been conducted by the author in order to determine the level of skills required to gain employment in a database development role.   This paper will detail the findings of this research.   It will go on to make specific recommendations about how the BCS programme can be restructured and/or augmented to better reflect the needs of the IT industry.

Keywords

Database design, database development, object oriented databases, revision of programme structure.

1. INTRODUCTION

In endeavouring to nurture computing graduates for the database sector of the IT industry, the author made an investigation of the needs of industry by interviewing database professionals. This paper defines the database courses currently offered as part of UNITEC's Bachelor of Computing Systems (BCS) programme which is delivered by the School of Computing and Information Technology (SoCIT) and describes current industry needs. One course in particular is examined and its weaknesses and limitations, to cater for IT industry needs, are explained.  The paper then discusses how these issues could be addressed by changing the existing structure of the database courses. The existing database design course will be broken up into two courses and a new course will be introduced.  The paper concludes that these changes will give the students more opportunities to acquire and practice database design and development skills.

2. CURRENT COURSES

The BCS programme contains four database courses:

  • Data & Databases (level 5) – 18 credits, compulsory
  • Database Design (level 6) – 18 credits, optional
  • Database Administration (level 7) – 18 credits, optional
  • Object Oriented Development (level 7) – 18 credits , optional

The level 5 (year 1) course " Data & Databases" includes development of single user database in Access, SQL (excluding sub queries and set operators), normalisation, data integrity, entity relationship diagrams (ERDs), database environments  and concurrency.   Also introduced are database administration, distributed databases and data warehouses.

The level 6 (year 2) course "Database Design" includes development of client/server database application using Oracle, SQL (sub queries, set operators, locking), normalisation, denormalisation, PL/SQL, Enhanced ERDs, database administration, distributed databases, data warehouses, physical design and concurrency.   Also introduced are internet databases, object oriented databases and object relational databases.  The course is assessed by an examination and a three-part assignment.

The level 7 (year 3) course "Database Administration" includes physical database architecture, backup and recovery, redo logs, performance monitoring and tuning. This is a very technical course for those students who are aiming for a database administration role in industry.

The level 7 course "Object Oriented Development" includes development of a database using an object oriented development environment and analysis using UML. 

A decision has been made recently, at BCS programme level, to phase out the structured approach in favour of an object oriented approach. This is already being implemented in the two Systems Analysis and Design papers where object oriented theory is replacing structured theory. 

The level 7 Object Oriented course will be discontinued from semester 2 of 2005.  This is because the emphasis on object oriented theory in the analysis papers has made a large part of the database course redundant.  The object oriented database programming will need to be integrated into other database courses to ensure that this important skill is still taught. 

The current degree structure engenders several problems.   Students can potentially graduate with a BCS degree having completed only the one compulsory level five database course.   This limits the type of employment they can enter into.   Also, students have to complete an industry-based group project at the end of their third year.   Databases design and/or development projects are commonly provided by industry members supporting this initiative.   Therefore in many cases students are attempting to complete a database centred project after only completing the level 5 course. Finally, even if students do take all the database courses offered, they can currently only complete four (and from semester 2 of next year – only three).  Although two of the courses (one relational and one object oriented) cover database design and development, both of them also have to cover analysis as well and so time spent on development is restricted.  This is seen as insufficient to prepare students for employment in the field of database design and development.

It is this third issue that has been the incentive for writing this paper.   There is a need to equip students who are interested in a career working with databases with a robust degree which provides them with skills and knowledge sufficient to allow them to enter this domain.   This paper will suggest a new course structure which will address this issue.

3. DETERMINING THE DEMANDS OF INDUSTRY

Before being able to make recommendations about the course structure it was appropriate to consult with members of the industry who would potentially be hiring BSC graduates in database related employment.  IT professionals, with varying degrees of experience and responsibility, were interviewed for this paper.  Each person was shown the current degree structure.  Open-ended questions were used to elicit information on the following topics: 

  • The types of entry-level database jobs their companies have employed graduates in.
  • The skills considered important for graduates entering employment working with databases.
  • The skills lacking in the recent graduates they have employed in database related jobs.
  • Results from interviews with industry members.

The industry members interviewed have employed graduates in a number of database related roles.  These included basic database support, testing and documentation.   It was emphasised by all of the subjects that graduates are not given development roles without first going through this training and acclimatisation process.  This period also allowed the employer to be able to determine the strengths and weaknesses of their newly hired graduates

The skills most often required by graduates seeking employment are listed below:

  • Exposure to a range of database applications.
  • A comprehension of the difference between single user and client/server.
  • Data modelling via ERDs and class diagrams.
  • Object oriented analysis using UML.
  • Database administration skills including performing backups, data recovery and security.
  • Indexing.
  • SQL (up to and including sub-queries & set operators).
  • An understanding of data integrity.
  • An understanding of concurrency, locking & transactions.
  • Being able to write clear, concise documentation.
  • Have heard of key terms such as distributed databases, change control.
  • Data Warehousing.
  • An understanding of normalisation/denormalisation.
  • The ability to communicate with all the relevant stakeholders who make up the database development cycle.

Several of the industry experts consulted are currently working on data warehousing projects and it was commented on that there is an increasing need for expertise in this area.  Also, it was noted that, although relational databases are still the most commonly used, the core analysis is usually carried out using UML. This supports the recent decision to adopt the object oriented approach.

 It became clear in the discussion on the skills that graduates were lacking that there is a large gap between the ideal knowledge set described above and the reality.  Most were lacking several of the key skills that a database professional should possess.  SQL was one area in particular where graduates were lacking.   Also, many graduates had a lack of exposure to a range of useful database applications.  SQL server was recommended as a particularly useful database management system to learn as it widely used and is being increasingly used for data warehousing projects. A particularly interesting point made was that many graduates are used to doing just enough work to pass a course.  They do not fully understand the scope of a true database development project.

4. WEAKNESSES OF THE  CURRENT DATABASE DESIGN COURSE

It is clear to the author that the current BCS course on database design does not fully prepare students with the skills listed above.  The level 5 course introduces basic theory and covers some data related topics such as numbers systems, file organisation and B+ trees.  The level 7 course teaches only database administration.  Therefore it is the level 6 course which is currently used to teach and provide the bulk of the knowledge and experience required. 

The level 6 paper is wide of breadth but shallow in depth.  It covers a range of concepts and topics which are new to the students including PL/SQL, physical design, denormalisation, indexing, developing forms and reports and implementing data integrity strategies.  Theoretical topics covered include client/server architecture and distributed databases.

 A large number of the skills required by industry are covered by this course.  However the course has to accommodate so many topics that the time spent on each is insufficient to confer major mastery of the skill.  In many cases the students are exposed to a theoretical concept but are unable to put it into practice. For example students are taught about several physical design techniques but, due to time constraints, are given a set of requirements that are too simple to warrant using them.  All industry members stressed the importance of SQL (even business analysts) and, although SQL is taught at levels 5 & 6, the relative simplicity of the databases used does not pressure the student to hone their SQL skills.

The course is partly assessed by an assignment. This is an attempt to give the students experience at taking a set of requirements and producing an application.  However, time constraints mean that the students only partially implement the application.

Until recently, the level 7 object oriented development course was many students first in depth experience of object oriented techniques. Again, this course has suffered from being wide of breadth but shallow in depth as the students have had to become familiar with a new approach, a new development environment (Jade), new analysis tools (UML) and a new case tool (Rational Rose).   

5. NEW COURSE IDEAS

It is proposed that Data and Databases (level 5) be renamed to Introductory Data Modelling and Databases.  Topics such as number systems, B+ trees and file organisation will be removed and place in more appropriate courses. Data modelling (ERDs and Class Diagrams) will be covered and assessed in more depth. Also, more emphasis will be placed on practical development of SQL skills.

Although the database design course builds on knowledge gained in data and databases, it introduces a wide range of new concepts and there is not enough time to cover them all thoroughly.  It is proposed that database design be split into two level 6 courses and a new course at level 7 be introduced as follows:

  • Database Design (level 6).
  • Database Development (level 6).
  • Data Warehousing (level 7).

Database design will include normalisation, designing for performance and integrity, advanced SQL, Crystal report writing, design and use of OLAP cube, object oriented modelling to ERD, data warehousing, XML databases, linking to legacy systems, data mining, data administration and security.  The course will involve lots of problem solving and analysis.  Physical design will be introduced but not covered in depth.  This course will be suitable for those students who are aiming for a database development or business analyst role. 

Database development will include physical design, development and testing.  It will be suitable for those students aiming for a database development role. 

As was mentioned previously, with the removal of the object oriented database course, object oriented database programming will need to be integrated into another database course.  It is suggested that the new database development course is the most logical choice for this inclusion.  Students will learn how to develop relational databases in a structured environment and object oriented databases (persistent objects) in an object oriented environment.  These two methodologies complement each other in the development of student knowledge and will also go along way to upholding the new requirements of the BCS to emphasise object oriented methodologies.   It will also ensure that students get the object oriented training which is becoming more important in industry. 

Data warehousing will include data warehouse theory, design and development.  SQL Server is being considered for use in this course to give students a wider range of database management systems and Kannangara (2003) claims that SQL Server is a popular choice of DBMS in industry.

In database design the students will be given a set of requirements to analyse and design a database accordingly. In database development, the students will be given sets of requirements with sets of analysis documentation and will have to develop and test the database applications. The databases in these courses will be larger than those in the current database design course and will give the students a better opportunity to practice the skills gained in the courses. Also the students will gain experience of completing the analysis and design phase in database design and of completing the development of at least two database applications in database development.

In data warehousing the students will be required to analyse a given set of requirements to design and develop a data warehouse from a set of requirements.  The students will be responsible for planning, designing and developing a data warehouse that includes data from at least three different sources.

With the new courses database design, database development and data warehousing there is more emphasis on full completion of the scope of database design and development projects.  This is to address the problem stated earlier where graduates do not comprehend all the work required in database design and development.

6. CONCLUSION

The paper argues that the current courses, while covering most of the relevant material, do not give the students experience in fully implementing a database application.  By revising the level 5 course, the students will receive a more in depth grounding in data modelling and SQL. By having two level 6 database courses, one on database design and one on database development, larger case studies can be used and a wide range of skills can be covered in depth to address industry needs. Those students who are interested in becoming business analysts can take database design and those interested in a more development-oriented role can take both database design and database development. By introducing the new data warehousing course, students will have the opportunity to develop a data warehouse and integrate their database skills with their project planning and control skills.

7. RECOMMENDATIONS

It is recommended that the current data and databases course be revised, that the current database design course be split into two level 6 courses and that a new course, data warehousing, be introduced at level 7. These changes are to be considered for implementation in semester 1 2005.

8. REFERENCES

Kannangara, D., Fraser, L. & Radicevic, M. (2003) “Survey of the use of DBMSS in polytechnics and industry”. Proceedings of 15th Annual Conference of the National Advisory Committee on Computing Qualifications, Palmerston North, New Zealand, July, pp. 311-314.