COMP07176 2018 Database Programming
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;
Design the requirements for stored procedures for a given scenario
Develop code for stored procedure based on a given design requirement
Create database test data and run tests against developed stored procedures
Manage database program concurrency options both at data level and session level to ensure data integrity and recoverability
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 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 |
Required & Recommended Book List
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.