University of Technology Sydney

31253 Database Programming

Warning: The information on this page is indicative. The subject outline for a particular session, location and mode of offering is the authoritative source of all information about the subject for that offering. Required texts, recommended texts and references in particular are likely to change. Students will be provided with a subject outline once they enrol in the subject.

Subject handbook information prior to 2024 is available in the Archives.

UTS: Information Technology: Computer Science
Credit points: 6 cp

Subject level:

Undergraduate

Result type: Grade and marks

Requisite(s): 31271 Database Fundamentals OR 31061 Database Principles OR 31474 Database Fundamentals OR 31487 Database Management Systems
Anti-requisite(s): 31099 Distributed Database Programming and Administration

Recommended studies:

it is assumed that students are familiar with basic database concepts; familiarity with the SQL language is mandatory and previous experience with at least one higher-level programming language is required

Description

This subject teaches students how to design, develop and evaluate database programming and administration solutions to meet pre-defined quality characteristics of functionality (suitability, security), usability (operability), efficiency (time behaviour, resource utilisation), and maintainability (changeability, testability). Database programming and administration solutions are implemented using Oracle 11G, SQL*Plus and PL/SQL. Concepts, theories and technologies underlying the methods and techniques are introduced and explained as required. Students apply all that they have learnt to develop a small application to solve a database problem.

Subject learning objectives (SLOs)

Upon successful completion of this subject students should be able to:

1. Be able to describe the benefits of Database Programming. (B.1)
2. Understand programming constructs available in PL/SQL. (D.1)
3. Understand how triggers, stored procedures and stored functions and database packages operate. (D.1)
4. Understand the current development methodology in modern database systems. (D.1)
5. Describe the use of supplied packages in the Oracle database. (D.1)
6. Have a basic understanding of the roles and responsibilities of a database administrator. (B.1)

Course intended learning outcomes (CILOs)

This subject also contributes specifically to the development of the following Course Intended Learning Outcomes (CILOs):

  • Socially Responsible: FEIT graduates identify, engage, interpret and analyse stakeholder needs and cultural perspectives, establish priorities and goals, and identify constraints, uncertainties and risks (social, ethical, cultural, legislative, environmental, economics etc.) to define the system requirements. (B.1)
  • Technically Proficient: FEIT graduates apply abstraction, mathematics and discipline fundamentals, software, tools and techniques to evaluate, implement and operate systems. (D.1)

Contribution to the development of graduate attributes

Engineers Australia Stage 1 Competencies

This subject contributes to the development of the following Engineers Australia Stage 1 Competencies:

  • 1.2. Conceptual understanding of the mathematics, numerical analysis, statistics, and computer and information sciences which underpin the engineering discipline.
  • 1.3. In-depth understanding of specialist bodies of knowledge within the engineering discipline.
  • 2.2. Fluent application of engineering techniques, tools and resources.
  • 3.1. Ethical conduct and professional accountability.

Teaching and learning strategies

Each week there will be a 2-hour lecture and a 1-hour tutorial/lab. Lab sessions will be used to support the lectures with illustrative examples and exercises. Lecture and tutorial will be in one session.

Content (topics)

  1. Introduction to Database Programming, revision of SQL and an introduction to SQL*Plus, iSQL*Plus and the development tool SQL Developer
  2. PL/SQL language fundamentals, variables and built in functions
  3. Database procedures, functions, triggers and packages
  4. Error and exception handling
  5. File input/output from the database
  6. Introduction and awareness of performance tuning
  7. Database administration

Assessment

Assessment task 1: Assignment

Intent:

The students should be able to analyse the business requirements specified, then build a robust database centric application to meet the business requirements. PL*SQL will be the programming language and the program will be stored in the students schema in the ORACLE database.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2, 3, 4 and 5

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

B.1 and D.1

Type: Exercises
Groupwork: Individual
Weight: 50%

Assessment task 2: Final Examination

Intent:

The open-book exam will test students’ knowledge of the tasks covered during the session. The exam will focus on students' understanding of the programming environment that has been studied during the session.

Objective(s):

This assessment task addresses the following subject learning objectives (SLOs):

1, 2, 3, 4, 5 and 6

This assessment task contributes to the development of the following Course Intended Learning Outcomes (CILOs):

B.1 and D.1

Type: Examination
Groupwork: Individual
Weight: 50%

Minimum requirements

In order to pass the subject, a student must achieve an overall mark of 50% or more.

Required texts

Prescribed Text 978-0-596-51446-4
Oracle PL/SQL Programming (5th Edition) ISBN 978-0-596-51446-4
by Steven Feuerstein with Bill Pribyl
Published by O'Reilly and Associates Inc.

References

Other References

  1. OTN - Oracles On Line Help System
  2. Oracle PL/SQL by Example (Third Edition) ISBN 0-13-117261-1
By Benjamin Rosenzweig and Elena Silvestrova Published by Prentice Hall