COMP07176 2018 Database Programming

General Details

Full Title
Database Programming
Transcript Title
Database Programming
Code
COMP07176
Attendance
N/A %
Subject Area
COMP - Computing
Department
COEL - Computing & Electronic Eng
Level
07 - NFQ Level 7
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2018 - Full Academic Year 2018-19
End Term
9999 - The End of Time
Author(s)
John Weir, Padraig Harte
Programme Membership
SG_KSODV_H08 201800 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201800 Bachelor of Science (Honours) in Computing SG_KSODV_B07 201800 Bachelor of Science in Computing in Software Development SG_KCMPU_B07 201800 Bachelor of Science in Computing in Computing SG_KSOFT_B07 201800 Bachelor of Science in Computing in Software Development SG_KSODV_H08 201900 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 201900 Bachelor of Science (Honours) in Computing SG_KCMPU_B07 201900 Bachelor of Science in Computing in Computing SG_KSODV_B07 201900 Bachelor of Science in Computing in Software Development SG_KCMPU_H08 202000 Bachelor of Science (Honours) in Computing SG_KSODV_H08 202000 Bachelor of Science (Honours) in Computing in Software Development SG_KSODV_B07 202100 Bachelor of Science in Computing in Software Development SG_KSODV_H08 202100 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202100 Bachelor of Science (Honours) in Computing SG_KCMPU_B07 202100 Bachelor of Science in Computing SG_KSODV_H08 202200 Bachelor of Science (Honours) in Computing in Software Development SG_KCMPU_H08 202200 Bachelor of Science (Honours) in Computing
Description

In this module, learners will be required to develop server side database applications using a language such as TSQL.  Learners will develop the application logic which will reside on the server and serve this up in stored procedures.  There will be a focus on programming these stored procedures in a concurrent multi user environment. 

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Design the requirements for stored procedures for a given scenario

2.

Develop code for stored procedure based on a given design requirement

3.

Create database test data and run tests against developed stored procedures

4.

Manage database program concurrency options both at data level and session level to ensure data integrity and recoverability

5.

Move local databases to the cloud

Teaching and Learning Strategies

Practical Approach to teaching ‑ problem based learning techniques will be applied where appropriate.

Virtual Machines will be used to allow flexibility and enhance learning.

Module Assessment Strategies

50% continuous assessment. Students have to complete a project with staged submissions throughout the semester. The project will require the student to practically apply their learning to prescribed case study scenarios. There will be a final laboratory based exam at the end also worth 50%.

 

Repeat Assessments

Repeat Exam to cover learning outcomes.

 

Indicative Syllabus

Design the requirements for stored procedures for a given scenario

  • Define scope of the requirements.
  • Analyse a specification from a database program perspective.
  • Deploy program design principle to develop a set of plan for the required programs.

 

Design and create advanced stored procedures

  • Manipulating Strings.
  • Manipulating Dates.
  • Efficient SQL Statements.
  • Error Handling.
  • Advanced Logic Statements.

 

Create database test data and run tests against developed stored procedures

  • Analyse the data requirements to test developed stored procedures.
  • Insert test data into a database.
  • Use test input data to verify to verify that a database program produces some expected results. 

 

Manage database program concurrency options both at data level and session level to ensure data integrity and recoverability

  • Properties of a good transaction
  • Challenges for an on‑line multi user Database
  • Optimistic Concurrency Control
  • Pessimistic Concurrency Control
  • Transaction Isolation levels
  • Lock Hints
  • Lock Escalation
  • Managing Deadlock

Move local databases to the cloud

  • Cloud Based Stored Procedures.
  • Setting up a database in the cloud.
  • Synchronising local and cloud databases.
  • Executing a Query on the cloud.
  • Executing a Stored Procedure on the cloud.
  • Modifying Data on a cloud Server.

 

50% continuous assessment. Students have to complete a project with staged submissions

 

throughout the semester. The project will require the student to practically apply their learning to

 

prescribed case study scenarios. There will be a final laboratory based exam at the end also worth

 

50%.

 

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
50 %
End of Semester / Year Formal Exam
50 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Project to design and build a suite of database tables and programs that will implement a given scenario Coursework Assessment Project 50 % OnGoing 1,2,3
             
             

End of Semester / Year Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Practical Evaluation End of Module Laboratory Exam Final Exam Open Book Exam 50 % End of Term 1,2,3,4,5
             
             

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Lecture Theatre Lectures Advanced Database Programming 2 Weekly 2.00
Practical / Laboratory Computer Laboratory Advance Database Programming Implementation 2 Weekly 2.00
Independent Learning Not Specified Independent learning 3 Weekly 3.00
Total Full Time Average Weekly Learner Contact Time 4.00 Hours

Required & Recommended Book List

Recommended Reading
2013-07-26 Cloud Database Development and Management Auerbach Publications

Although todays job market requires IT professionals to understand cloud computing theories and have hands-on skills for developing real-world database systems, there are few books available that integrate coverage of both. Filling this void, Cloud Database Development and Management explains how readers can take advantage of the cloud environment to develop their own fully functioning database systems without any additional investment in IT infrastructure.

Filled with step-by-step instructions, examples, and hands-on projects, the book begins by providing readers with the required foundation in database systems and cloud-based database development tools. It supplies detailed instructions on setting up data storage on Windows Azure and also explains how readers can develop their own virtual machines with Windows Server 2012 as the guest operating system.

The books wide-ranging coverage includes database design, database implementation, database deployment to the cloud environment, SQL Database, Table Storage service, Blob Storage service, Queue Storage service, and database application development. The text deals with all three aspects of database design: conceptual design, logical design, and physical design. It introduces the SQL language, explains how to use SQL to create database objects, and introduces the migration of the database between Windows Azure and the on-premises SQL Server. It also discusses the management tasks that keep both SQL Database and Windows Azure running smoothly.

Detailing how to design, implement, and manage database systems in the cloud, the book provides you with tools that can make your cloud database development much more efficient and flexible. Its easy-to-follow instructions will help you develop the hands-on skills needed to store and manage critical business information and to make that data available anytime through the Internet.

Module Resources