Use this table to audit the lecture notes against the 2026 Cambridge AS & A Level Computer Science (9618) syllabus. Tick each item as you confirm it is covered; if a point is missing, the “Quick fix” column suggests a concise addition.
| Syllabus block | What to verify in the notes | Quick fix if missing |
|---|---|---|
| 8 Databases – logical design (8.1) | • Definition and purpose of an E‑R diagram • All core components (entity, attribute, relationship, cardinality, participation) • Cardinality notation (min,max) and examples • Systematic construction steps, including associative entities • Translation from E‑R diagram to relational schema |
Insert a concise “What an E‑R diagram does” paragraph and a step‑by‑step checklist. |
| 8.2 DBMS features | • Backup & recovery, indexing, concurrency control, integrity constraints, security, views • Brief explanation of how each feature supports a relational database |
Add a bullet‑point list with a one‑sentence description for each feature. |
| 8.3 SQL (DDL & DML) | • CREATE, ALTER, DROP statements (DDL) • INSERT, SELECT, UPDATE, DELETE statements (DML) • Example SQL that matches the relational schema derived from the E‑R diagram |
Provide a short code block for each of the five statements. |
| Assessment objectives (AO1–AO3) | • AO1: factual knowledge of concepts • AO2: analysis & design of a database solution • AO3: production of a correct logical design and SQL |
Include a summary table linking each note section to the relevant AO. |
| Syllabus block | Key sub‑topics covered in this note | Assessment Objective(s) |
|---|---|---|
| 8 Databases – logical design | ER diagram components, cardinality, construction steps, associative entities, translation to relational schema | AO1 – knowledge of concepts; AO2 – analyse requirements & design; AO3 – produce a correct logical design |
| 8.2 DBMS features | Backup & recovery, indexing, concurrency control, integrity constraints, security, views | AO1, AO2 |
| 8.3 SQL (DDL & DML) | CREATE, ALTER, SELECT, INSERT, UPDATE, DELETE – syntax & simple examples | AO1, AO2, AO3 (writing & interpreting SQL) |
(min, max).
(1,1) or (0,1) for “exactly one” / “zero or one”.(1,N) or (0,N) for “one or many” / “zero or many”.| Relationship type | Notation (min, max) | Typical meaning in a database |
|---|---|---|
| One‑to‑One | (1,1) : (1,1) | Each A is linked to at most one B and each B to at most one A. |
| One‑to‑Many | (1,1) : (0,N) or (1,N) | One A can be linked to many B; a B links to at most one A. |
| Many‑to‑Many | (0,N) : (0,N) | Many A can be linked to many B. Must be resolved with an associative (junction) entity before implementation. |
(min,max) pair at each end of the relationship line.Requirement (excerpt): The system must store details of students, courses and the enrolment of each student in one or more courses. For each enrolment the grade obtained is recorded.
[Student]───(1,N)───⟨Enrols⟩───(N,1)───[Enrolment]───(N,1)───⟨Enrols⟩───(1,N)───[Course]
In a graphical tool the diagram would show three rectangles (Student, Course, Enrolment). The Enrolment rectangle contains its own attributes (EnrolmentID, Grade) and two diamonds labelled “Enrols”. Cardinalities (1,N) and (N,1) appear at the appropriate line ends.
| Table (entity) | Attributes (PK underlined) | Foreign keys |
|---|---|---|
| Student | StudentID, Name, DOB, Email | — |
| Course | CourseCode, Title, Credits | — |
| Enrolment | EnrolmentID, Grade, StudentID, CourseCode | StudentID → Student(StudentID); CourseCode → Course(CourseCode) |
All examples assume the three tables defined in Section 8.
-- create the three tables
CREATE TABLE Student (
StudentID CHAR(8) PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
DOB DATE,
Email VARCHAR(100)
);
CREATE TABLE Course (
CourseCode CHAR(6) PRIMARY KEY,
Title VARCHAR(100) NOT NULL,
Credits INT CHECK (Credits > 0)
);
CREATE TABLE Enrolment (
EnrolmentID CHAR(10) PRIMARY KEY,
StudentID CHAR(8) NOT NULL,
CourseCode CHAR(6) NOT NULL,
Grade CHAR(2),
FOREIGN KEY (StudentID) REFERENCES Student(StudentID),
FOREIGN KEY (CourseCode) REFERENCES Course(CourseCode)
);
-- insert a new student
INSERT INTO Student (StudentID, Name, DOB, Email)
VALUES ('S1234567', 'Alice Brown', '2002-04-15', 'alice@example.com');
-- enrol Alice in CS101
INSERT INTO Enrolment (EnrolmentID, StudentID, CourseCode, Grade)
VALUES ('E0001', 'S1234567', 'CS101', NULL);
-- list all courses a student is taking (including grade)
SELECT c.CourseCode, c.Title, e.Grade
FROM Enrolment e
JOIN Course c ON e.CourseCode = c.CourseCode
WHERE e.StudentID = 'S1234567';
-- update a grade
UPDATE Enrolment
SET Grade = 'A'
WHERE EnrolmentID = 'E0001';
-- delete a course only if it has no enrolments
DELETE FROM Course
WHERE CourseCode = 'CS101';
(1,1) instead of (0,1) can forbid legitimate null relationships.An E‑R diagram is the first, crucial step in designing a relational database. By systematically identifying entities, attributes, relationships, cardinalities and participation, and by resolving many‑to‑many relationships with associative entities, students produce a logical model that maps directly to tables, primary keys, foreign keys and integrity constraints. Coupled with an understanding of essential DBMS features and basic SQL syntax, this knowledge satisfies the full Cambridge 9618 database syllabus.
DueDate attribute).Create an account or Login to take a Quiz
Log in to suggest improvements to this note.
Your generous donation helps us continue providing free Cambridge IGCSE & A-Level resources, past papers, syllabus notes, revision questions, and high-quality online tutoring to students across Kenya.