Assignment Brief
Unit Number and Title               Unit 4: Database Design & Development
   Academic Year                                    2024-2025
        Unit Tutor                            Mr. Abdurrahman Dawi
   Assignment Title                         School Management System
       Issue Date                                   06/03/2025
   Submission Date                                  06/04/2025
Submission Format
Assignment Report
All your work must be supported with research and referenced correctly using the
Harvard referencing system. You also need to provide a bibliography using the
Harvard referencing system. Inaccurate use of referencing may lead to issues of
plagiarism if not applied correctly and will affect your final grade. Ensure that your
assignment follows the learning outcomes.
Format:
   - Typed document (12-point font, double-spaced).
   - Softcopy of the report in a MS word format and PDF.
Length:
3,000-4,000 words for the report.
Unit Learning Outcomes
LO1 Use an appropriate design tool to design a relational database system for a
substantial problem.
LO2: Develop a fully-functional relational database system, based on an existing
system design.
LO3: Test the system against user and system requirements.
LO4: Produce technical and user documentation.
Transferable Skills and competencies developed
   -   Assessing information and making informed decisions regarding database
       design and functionality.
   -   Evaluating the effectiveness of different database models and solutions.
                                          1
-   Gaining hands-on experience with database management systems (DBMS)
    and programming languages (e.g., SQL).
-   Familiarity with data modelling tools and software.
-   Planning, executing, and managing database projects from conception to
    deployment.
-   Coordinating tasks, timelines, and resources effectively.
-   Clearly conveying technical information to non-technical stakeholders.
-   Documenting processes, designs, and user requirements comprehensively.
-   Identifying issues in database design and implementation and developing
    viable solutions.
-   Analysing user requirements and translating them into functional database
    features.
-   Proficiency in creating Entity-Relationship Diagrams (ERDs) and data flow
    diagrams.
-   Understanding normalization and denormalization techniques to optimize
    database performance.
-   Implementing data integrity and validation rules to ensure consistent and
    accurate data.
-   Knowledge of data security practices and compliance regulations.
-   Conducting testing on database systems to ensure functionality and
    performance.
-   Evaluating database solutions against user needs and project requirements.
-   Collaborating with peers and instructors for feedback and improvement.
-   Staying current with emerging technologies and trends in database
    management.
-   Willingness to learn and apply new tools and methodologies as needed.
                                       2
Vocational Scenario
Role
You are tasked with designing a database for a school management system. The
database will manage information related to students, courses, teachers, and
enrolments.
The system should efficiently handle (not only the following data): -
- Students: Student ID, Name, Date of Birth, Address, Phone Number, Email.
- Courses: Course ID, Course Name, Description, Credits, Teacher ID.
- Teachers: Teacher ID, Name, Subject Specialty, Phone Number, Email.
- Enrolments: Enrolment ID, Student ID, Course ID, Enrolment Date, Grade.
Assignment activity and guidance
LO1: Use an appropriate design tool to design a relational database system for a
substantial problem.
Guideline:
  - Clearly define the substantial problem you are addressing.
  - Collect both functional and non-functional requirements from stakeholders
     or through research.
  - Familiarize yourself with various database design tools (e.g. SQL Server
     Management Studio).
  - Choose a design tool based on the complexity of the project, collaboration
     features, and personal familiarity.
  - Identify entities (tables) relevant to the problem.
  - Determine relationships between entities (one-to-one, one-to-many, many-
     to-many).
  - Define attributes for each entity.
  - Convert the ERD into a relational schema that includes tables, keys (primary
     and foreign), and constraints.
  - Ensure the design adheres to normalization rules to eliminate redundancy.
  - Consider how the data will be stored and accessed.
  - Implement indexing strategies and consider partitioning if necessary.
  - Utilize your chosen design tool to create the database structure.
  - If applicable, generate SQL scripts for creating tables and relationships.
                                        3
Criteria:
       P1:
       Design a relational database system using appropriate design tools and
       techniques, containing at least four interrelated tables, with clear
       statements of user and system requirements.
       M1:
       Produce a comprehensive design for a fully-functional system, which
       includes interface and output designs, data validations and data
       normalisation.
       D1:
       Evaluate the effectiveness of the design in relation to user and system
       requirements.
Assignment activity and guidance
LO2: Develop a fully-functional relational database system, based on an existing
system design.
Guideline:
   - Select an appropriate DBMS (e.g. Microsoft SQL Server).
   - Ensure you have the required tools for database development, such as
      database clients and any necessary libraries.
   - Use SQL commands to create tables as defined in the relational schema.
   - Define primary keys, foreign keys, and constraints.
   - Implement relationships between tables using foreign keys to maintain
      referential integrity.
   - Use SQL INSERT statements to populate tables with sample data that
      reflects realistic scenarios.
   - Ensure that the data adheres to the constraints and formats defined in the
      schema.
   - Write SQL queries to perform basic CRUD operations (Create, Read,
      Update, and Delete) on the database.
   - If necessary, develop stored procedures and functions to encapsulate
      complex business logic.
                                         4
Criteria:
        P2:
       Develop the database system with evidence of user interface, output and
       data validations, and querying across multiple tables.
       P3:
       Implement a query language into the relational database system.
      M2:
      Implement a fully functional database system, which includes system
      security and database maintenance.
      M3:
      Assess whether meaningful data has been extracted through the use of
      query tools to produce appropriate management information.
       D2:
      Evaluate the effectiveness of the database solution in relation to user and
      system requirements and suggest improvements.
Assignment activity and guidance
LO3: Test the system against user and system requirements.
Guideline:
   - Outline the goals of your testing process, including verifying functionality,
      performance, and security.
   - Decide on the types of testing to perform, such as:
          • Unit Testing
          • Integration Testing
          • System Testing
          • User Acceptance Testing (UAT)
   - Develop a set of test scenarios that cover all user and system requirements.
      Each scenario should include:
          • A description of the test case
          • Expected results
          • Actual results
   - Organize test cases based on criticality and system usage.
   - Execute each test case systematically, documenting the outcomes. Focus
      on:
          • Functional Testing: Verify that all features work as intended.
          • Performance Testing: Assess response times, query performance, and
            load handling.
          • Security Testing: Check for vulnerabilities, data integrity, and access
            controls.
                                         5
   -   Keep detailed records of test results, including pass/fail status and any
       issues encountered.
           • For any failures or issues found, document them clearly, including:
           • Description of the issue
           • Steps to reproduce
           • Severity level (critical, major, minor)
Criteria:
        P4:
        Test the system against user and system requirements.
       M4:
       Assess the effectiveness of the testing, including an explanation of the
       choice of test data used.
        D2:
       Evaluate the effectiveness of the database solution in relation to user and
       system requirements and suggest improvements.
Assignment activity and guidance
LO4: Produce technical and user documentation.
Guideline:
   - Recognize the two primary types of documentation needed:
   - Technical Documentation: For developers and system administrators.
   - User Documentation: For end-users interacting with the database system.
   - Familiarize yourself with any specific documentation standards required by
      your institution or industry.
   - Collect all relevant design documents, including:
          • Entity-Relationship Diagrams (ERDs)
          • Relational schemas
          • SQL scripts
   - Document outcomes from testing phases, including user feedback.
       Technical Documentation
       System Overview:
       Provide a high-level description of the database system, its purpose, and
       key functionalities.
       Architecture Diagram:
       Include diagrams illustrating the overall architecture, including database
       components and their interactions.
                                          6
       Database Schema:
       Detail the database schema, including:
   -   Tables and their relationships
   -   Attributes for each table
   -   Data types and constraints
       Installation Instructions:
       Provide step-by-step instructions for installing and setting up the database
       system.
       Configuration Guidelines:
       Include any necessary configuration settings for performance optimization
       and security.
       Maintenance Procedures:
       Outline routine maintenance tasks to ensure system performance and data
       integrity.
       User Documentation
       User Guide:
       Develop a comprehensive user guide that includes:
   -   System introduction and purpose
   -   Instructions for accessing the database system
   -   Step-by-step procedures for performing common tasks (e.g., querying data,
       updating records).
       FAQs and Troubleshooting:
       Include a section addressing common questions and issues users may
       encounter, along with solutions.
       Visual Aids:
       Use screenshots or diagrams to enhance clarity, especially for complex
       procedures.
Criteria:
        P5:
        Produce technical and user documentation.
       M5:
       Produce technical and user documentation for a fully-functional system,
       including data flow diagrams and flowcharts, describing how the system
       works.
                                         7
      D3:
      Evaluate the database in terms of improvements needed to ensure the
      continued effectiveness of the system.
Learning Outcomes
           Pass                        Merit                     Distinction
LO1 Use an appropriate design tool to design a
relational database system for a substantial problem
                            M1 Produce a
                            comprehensive design for
P1 Design a relational      a fully-functional system,
database system using                                        D1 Evaluate the
                            which includes interface
appropriate design tools                                   effectiveness of the
                            and output designs, data
and techniques,                                          design in relation to user
                            validations and data
containing at least four                                 and system requirements.
                            normalisation.
interrelated tables, with
clear statements of user
and system requirements.
LO2 Develop a fully-functional relational database
system, based on an existing system design
                            M2 Implement a fully         LO2 and LO3
      P2 Develop the
                            functional database          D2 Evaluate the
      database system
                            system, which includes       effectiveness of the
      with evidence of
                            system security and          database solution in
      user interface,
                            database maintenance.
      output and data                                    relation to user and system
      validations, and                                   requirements and suggest
                            M3 Assess whether
      querying across                                    improvements.
                            meaningful data has
      multiple tables.
                            been extracted through
                            the use of query tools to
                                        8
       P3 Implement a        produce appropriate
       query language        management information.
       into the relational
       database system.
LO3 Test the system against user and system
                                                           LO2 and LO3
requirements
                                                           D2 Evaluate the
                             M4 Assess the                 effectiveness of the
P4 Test the system against   effectiveness of the          database solution in
user and system              testing, including an         relation to user and system
requirements.                explanation of the choice     requirements and suggest
                             of test data used.            improvements.
LO4 Produce technical and user documentation
                             M5 Produce technical          D3 Evaluate the database
                             and user documentation        in terms of improvements
                             for a fully-functional        needed to ensure the
P5 Produce technical and
                             system, including data        continued effectiveness of
user documentation.                                        the system.
                             flow diagrams and
                             flowcharts, describing how
                             the system works.
Recommended Resources
Textbooks
Churcher, C. (2012) Beginning Database Design: From Novice to Professional. 2nd
edn. Apress.
Connolly, T. and Begg, C. (2014) Database Systems: A Practical Approach to
Design, Implementation and Management. 6th edn. Global Edition. Pearson.
Flejoles, R. P. (2018) Database Theory and Application. Arcler Press.
Karwin, B. (2017) SQL Antipatterns: Avoiding the Pitfalls of Database Programming
Pragmatic Programmers, LLC, The.
Kroemke, D. and Auer, D. (2012) Database Concepts: International Edition. 6th
edn. Pearson.
                                          9
Journals
The Computer Journal – Oxford Academic
International Journal of Database Management (IJDMS)
Journal of Emerging Trends in Computing and Information Sciences
Journal of Systems Analysis and Software Engineering
Systems Journal of Database Management
Web
mva.microsoft.com → Microsoft Virtual Academy Database Development
(Training)
mva.microsoft.com/ebooks → Microsoft Virtual Academy, Microsoft Press (E-
books)
www.lynda.com → Database Training (Tutorials)
Links
This unit links to the following related units:
Unit 11: Strategic Information Systems
Unit 41: Database Management Systems.
                                                               Abdurrahman Dawi
                                                          Unit Instructor
                                             10