Web Database Systems

Module summary

Module code: COMP1808
Level: 4
Credits: 15
School: Liberal Arts and Sciences
Department: Computing and Mathematical Sci.
Module Coordinator(s): Roberto Pascalis

Specification

Pre and co requisites

Level 4 HTML, CSS and JavaScript
Level 4 programming
Level 4 Database design with ERD

Aims

To support students through practical experience in acquiring the knowledge, understanding and skills to develop a stateful database driven web application that is fit for purpose in that it is; secure, stable, scalable, usable, accessible, legal and standard compliant.

Learning outcomes

On successful completion of this course a student will be able to:
1 Design and implement an efficient, normalised, relational database.
2 Design and implement a stateful, secure, scalable, usable, accessible, legal and standard compliant web application
3 Identify and discuss legal, social, ethical and professional issues, considerations and risks
arising in web applications.

Indicative content

Databases; normalisation, logical and physical design, data types, querying, MySQL (MariaDB).

HTTP; GET POST, URL, caching in servers, proxies and clients.
HTTP servers; Apache, PHP processing (contrast CGI or Apache module), accessing HTML form data. State models; cookies, session variables, GET parameters, re-written URLs, hidden form fields, files, databases.
User input validation; client side (dynamic) and server side (active), user communication, regular expressions.
User input verification; CAPTCHA, email handshaking. Development tools, debugging and exception handling.
Security; protection against attack vectors, SQL injection, script injection, bots, DOS. Usability; navigation, flow of control and communication with the user.
Accessibility; device independence, assistive technology, legal compliance. Scalability; handling large data sets, limiting database queries.
Maintainability; separating concerns, use of include files client and server side. User generated content; uploading and consequent risks.
Standard compliance; W3C, IETF, how standards help the developer. Legal compliance, applicable laws and how they affect the developer.

Note:
This course is not about designing visually attractive websites, nor is it about learning PHP and MySQL. Students may learn a great deal about PHP and MySQL during this course but that will be a side effect of using PHP and MySQL while learning how to build a web application that is fit for purpose.