<?xml version="1.0" encoding="UTF-8"?>
<CourseUnit xmlns="http://www.manchester.ac.uk/CUICourseUnitDetails" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.manchester.ac.uk/CUICourseUnitDetails.xsd">
  <UnitCode Applicant="Y" Label="Unit code" Student="Y">
    <Code>COMP23111</Code>
  </UnitCode>
  <UnitTitle Applicant="Y" Label="Unit title" Student="Y">
    <Title>Database Systems</Title>
  </UnitTitle>
  <MaxUnits Applicant="Y" Label="Credit rating" Student="Y">
    <Units>10</Units>
  </MaxUnits>
  <TeachingPeriods Applicant="Y" Label="Teaching period(s)" Student="Y">
    <Period>Semester 1</Period>
  </TeachingPeriods>
  <AcademicCareer Applicant="Y" Label="Academic career" Student="Y">
    <Value>Undergraduate</Value>
  </AcademicCareer>
  <UnitLevel Applicant="Y" Label="Unit level" Student="Y">
    <Level>Level 2</Level>
  </UnitLevel>
  <StaffList Applicant="Y" Label="Teaching staff" RoleLabel="Course Unit Role" Student="Y">
    <StaffMember>
      <Name>Gareth Henshall</Name>
      <Role>Unit coordinator</Role>
    </StaffMember>
  </StaffList>
  <OfferedBy Applicant="Y" Label="Offered by" Student="Y">
    <OrganisationList>
      <Organisation>
        <OrgName></OrgName>
      </Organisation>
    </OrganisationList>
    <GroupList>
      <Group>
        <GroupName></GroupName>
      </Group>
    </GroupList>
    <FheqLevels>
      <FheqLevel>
        <LevelNumber>1</LevelNumber>
        <LevelName>FHEQ level (Framework for Higher Education Qualifications) ' Middle part of Bachelors ' </LevelName>
      </FheqLevel>
    </FheqLevels>
    <Ects>
      <MaxUnits>European Credit Transfer &amp; Accumulation System Rating :   5.0</MaxUnits>
    </Ects>
  </OfferedBy>
  <MarketingOverview Applicant="Y" Label="Marketing Course unit overview" Student="">
    <Content>&lt;p&gt;This course provides a comprehensive exploration of databases, emphasizing their pivotal role in modern computing and data management. Students will learn the principles of database design, implementation, and management, with a focus on the relational model, SQL, and normalization. The curriculum also covers database integration with web and front-end systems, transaction management, security, and emerging paradigms like NoSQL. By blending theory with hands-on practice, students will develop essential skills in designing robust databases, writing advanced queries, and leveraging database technologies for real-world applications.&lt;/p&gt;</Content>
  </MarketingOverview>
  <UnitOverview Applicant="" Label="Course unit overview" Student="Y">
    <Content>&lt;p&gt;Databases are foundational, though often unseen, components of modern computing architectures, playing a critical role in both commercial and scientific contexts. Over time, data management has evolved from fragmented, application-specific file systems to organization-wide strategies that recognize data as a vital asset. In today’s competitive landscape, the ability to manage, analyse, and utilize data effectively is a key factor in organisational success.&lt;/p&gt;&lt;p&gt;At the heart of this transformation are database management systems (DBMSs), which serve as the essential software infrastructure for managing data with reliability, consistency, and efficiency. Modern DBMSs are highly sophisticated, embodying advances in areas such as algorithms and data structures, programming language theory, conceptual modelling, concurrency control, and distributed computing. These systems are designed to support a wide range of applications, from transactional systems to data analytics, while ensuring security, scalability, and performance.&lt;/p&gt;&lt;p&gt;This course explores databases as a unifying, data-centric traversal of many of the most exciting topics in modern computing. Students will learn the principles and techniques that underpin the design, implementation, and management of databases, with a particular focus on the relational model, SQL, and database normalization. They will also explore the integration of databases with web and other front-end systems, gaining practical experience in building database-driven applications.&lt;/p&gt;&lt;p&gt;In addition, the course examines advanced topics such as transaction management, database security, and alternative database paradigms like NoSQL systems. By combining theory with hands-on practice, students will develop the skills needed to design robust databases, write advanced queries, and apply database technologies to solve real-world problems effectively.&lt;/p&gt;</Content>
  </UnitOverview>
  <Aims Applicant="Y" Label="Aims" Student="Y">
    <Content>&lt;p&gt;The aim of this course unit is to provide students with a comprehensive understanding of the principles, techniques, and practices that underpin modern database management systems (DBMSs) and their applications in contemporary data management environments.&lt;/p&gt;&lt;p&gt;The course introduces the importance of managing data as a strategic asset and explores the fundamental architectural principles of modern DBMSs, considering various architectures and their corresponding application environments.&lt;/p&gt;&lt;p&gt;A significant focus is placed on the relational model of data, including its theoretical foundations, relational database languages, and SQL. This encompasses advanced topics such as views, triggers, embedded SQL and stored procedures. Students will gain hands-on experience in deriving conceptual data models using the Extended Entity-Relationship (EER) paradigm, mapping these models to relational implementations, and applying normalisation techniques to enhance schema quality. They will also develop and execute both basic and advanced SQL queries to validate database designs against defined data requirements, with practical work conducted using the MySQL DBMS.&lt;/p&gt;&lt;p&gt;The course emphasises the integration of databases with front-end systems to create functional, user friendly applications. Students will learn how to design and implement connections between a database and a web or other front-end interface, enabling seamless data interaction. This includes understanding client-server architecture, employing technologies such as APIs or middleware, and ensuring efficiency and reliability in data exchange.&lt;/p&gt;&lt;p&gt;Database security is another critical topic addressed in this course. Students will study common threats, including theft, fraud, and the loss of confidentiality, privacy, integrity, and availability and examine countermeasures such as access control, authorisation mechanisms, and the use of views to enforce security policies.&lt;/p&gt;&lt;p&gt;Finally, the course introduces alternative database paradigms, including NoSQL systems, and discusses their characteristics, trade-offs, and suitability for handling large and diverse datasets in modern applications.&lt;/p&gt;</Content>
  </Aims>
  <LearningOutcomes Applicant="Y" Label="Learning outcomes" Student="Y">
    <Content>&lt;p&gt;On the successful completion of the course, students will be able to:&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;ILO 1:&lt;/strong&gt; Demonstrate the ability to discuss, explain, and apply the foundational principles of database design, including conceptual modelling and key design trade-offs.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ILO 2: &lt;/strong&gt;Analyse and apply the relational model, including deriving relational schemas from conceptual designs, normalizing schemas to various normal forms, and evaluating their effectiveness in meeting design goals.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ILO 3: &lt;/strong&gt;Explore, and describe the characteristics, use cases, and trade-offs of NoSQL databases, including their differences from relational databases and their applicability to specific types of applications.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ILO 4: &lt;/strong&gt;Design, implement, and execute SQL and NoSQL queries ranging from basic data retrieval and manipulation to complex operations involving joins, subqueries, aggregation, and advanced features.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ILO 5:&lt;/strong&gt; Be able to design and implement a front end, using appropriate technologies, that allows users to execute CRUD operations as well as displaying data in a meaningful way.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;ILO 6:&lt;/strong&gt; Be able to discuss and explain the basic mechanisms to enforce database security, through an understanding of the threats and countermeasures available in classical database management systems.&lt;br/&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;</Content>
  </LearningOutcomes>
  <Knowledge Applicant="Y" Label="Knowledge and understanding" Student="Y">
    <Content></Content>
  </Knowledge>
  <IntellectualSkills Applicant="Y" Label="Intellectual skills" Student="Y">
    <Content></Content>
  </IntellectualSkills>
  <PracticalSkills Applicant="Y" Label="Practical skills" Student="Y">
    <Content></Content>
  </PracticalSkills>
  <TransferableSkills Applicant="Y" Label="Transferable skills and personal qualities" Student="Y">
    <Content></Content>
  </TransferableSkills>
  <EmployabilitySkillsList Applicant="Y" Label="Employability skills" Student="Y">
    <Skill>
      <SkillId>Analytical skills</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Innovation/creativity</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Project management</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
    <Skill>
      <SkillId>Problem solving</SkillId>
      <SkillDescription></SkillDescription>
    </Skill>
  </EmployabilitySkillsList>
  <Syllabus Applicant="Y" Label="Syllabus" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Introduction to Data Managemen&lt;/strong&gt;t [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;(E)ER Modelling&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Functional Dependencies &amp;amp; Normalisation&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Basic SQL + Stored Procedures &amp;amp; Triggers (Adv SQL) &lt;/strong&gt;[1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Web Programming&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Transaction Processing&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Application Integration&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;NoSQL Introduction &amp;amp; Design&lt;/strong&gt; [1 workshop plus laboratory work]&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;More NoSQL + Data Mining &amp;amp; Warehousing&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;NoSQL in CouchBase&lt;/strong&gt; [1 workshop plus laboratory work]&lt;br/&gt;&amp;nbsp;&lt;/p&gt;</Content>
  </Syllabus>
  <TeachingMethods Applicant="Y" Label="Teaching and learning methods" Student="Y">
    <Content>&lt;p&gt;&lt;strong&gt;Workshops&lt;/strong&gt; [10 in total]&lt;br/&gt;&lt;strong&gt;Videos &lt;/strong&gt;[various each week]&lt;br/&gt;&lt;strong&gt;Drop-In Laboratory Session&lt;/strong&gt; [1 per week]&lt;br/&gt;&lt;strong&gt;Lectures&lt;/strong&gt; [3 in total]&lt;br/&gt;&lt;strong&gt;Formative Quizzes&lt;/strong&gt; [1 per week]&lt;br/&gt;&lt;strong&gt;Additional Reading&lt;/strong&gt;&lt;/p&gt;</Content>
  </TeachingMethods>
  <AssessmentMethods Applicant="Y" Label="Assessment methods" Student="Y">
    <IntroText> </IntroText>
    <Method>
      <MethodId>1</MethodId>
      <MethodName>Written exam</MethodName>
      <MethodWeight>30%</MethodWeight>
    </Method>
    <Method>
      <MethodId>8</MethodId>
      <MethodName>Practical skills assessment</MethodName>
      <MethodWeight>70%</MethodWeight>
    </Method>
  </AssessmentMethods>
  <FeedbackMethods Applicant="Y" Label="Feedback methods" Student="Y">
    <Content>&lt;p class="MsoNormal"&gt;Workshops, Drop-In Labs, Discussion Boards, Formal through Coursework&lt;p&gt;&lt;/p&gt;&lt;/p&gt;</Content>
  </FeedbackMethods>
  <RequirementsList Applicant="Y" Label="Pre/co-requisites" Student="Y">
    <Requirement>
      <UnitCode></UnitCode>
      <UnitTitle></UnitTitle>
      <RequirementType></RequirementType>
      <Description></Description>
    </Requirement>
    <AdditionalRequirement>&lt;p&gt;Available as free choice but students &lt;strong&gt;must &lt;/strong&gt;contact unit lead before choosing.&lt;/p&gt;</AdditionalRequirement>
  </RequirementsList>
  <AcademicPrograms Applicant="Y" Label="Academic programmes" Student="Y">
    <AcademicProgram>
      <Program></Program>
      <Plan></Plan>
      <Level></Level>
      <Requirement></Requirement>
    </AcademicProgram>
  </AcademicPrograms>
  <FreeChoice Applicant="Y" Label="Available as a free choice unit?" Student="Y">
    <Content>Y</Content>
  </FreeChoice>
  <Accreditation Applicant="Y" Label="Accreditation" Student="Y">
    <Content></Content>
  </Accreditation>
  <RecommendedReading Applicant="Y" Label="Recommended reading" Student="Y">
    <Content>&lt;p&gt;We do not use a recommended textbook instead providing various resources including articles, papers and blogs throughout the semester.&lt;/p&gt;</Content>
  </RecommendedReading>
  <StudyHours Applicant="Y" Label="Study hours" Student="Y">
    <IntroText> </IntroText>
    <ScheduledHours Applicant="Y" Label="Scheduled activity hours" Student="Y">
      <ActivityHours>
        <ActivityType>Assessment written exam</ActivityType>
        <Hours>2</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Lectures</ActivityType>
        <Hours>3</Hours>
      </ActivityHours>
      <ActivityHours>
        <ActivityType>Practical classes &amp; workshops</ActivityType>
        <Hours>30</Hours>
      </ActivityHours>
    </ScheduledHours>
    <PlacementHours Applicant="Y" Label="Placement hours" Student="Y">
      <ActivityHours>
        <ActivityType></ActivityType>
        <Hours>0</Hours>
      </ActivityHours>
    </PlacementHours>
    <TotalHours Applicant="Y" Label="Independent study hours" Student="Y">
      <Hours>65</Hours>
    </TotalHours>
  </StudyHours>
  <Notes Applicant="Y" Label="Additional notes" Student="Y">
    <Content></Content>
  </Notes>
</CourseUnit>
