Software Development  ·  Level 6
Computerised Database Systems Management

Chapter 2: Create database system

📚 8 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • Choose the right database management software based on the system needs.
  • Set up the database development environment correctly to match application requirements.
  • Create database objects accurately by following design plans.
  • Apply data attributes properly as detailed in the database design.
  • Build data relationships correctly according to the design specifications.
  • Follow workplace safety and health practices that meet OSHA standards.
  • Identify the correct methods for storing and disposing of e-waste safely.
  • Demonstrate proper e-waste management following OSHA guidelines.

These skills will help you build reliable database systems while keeping your workplace safe and environmentally responsible—key qualities for success in the tech trade!

Compiled by: John Okoth

2.1 Database management software identification

A database management system (DBMS) is the software that stores, organises, protects and serves the data of a database to users and programs. Identifying database management software means knowing the main products on offer, what kind of data each one is built for, and what each one costs to run. A developer who can name the options and say what separates them can recommend a product with reasons instead of choosing the one that happens to be installed on a laptop.

Database software falls into two broad families. Relational DBMSs store data in tables of rows and columns, link tables through keys and are queried with Structured Query Language (SQL). Non-relational (NoSQL) systems store data in other shapes, such as documents, key-value pairs or graphs. Most business record systems, such as stock, sales and booking records, fit the relational family.

Example: a hardware shop with three branches wants one system for stock, suppliers and daily sales. Its data is made of well-defined records that must always add up, so a relational DBMS is the natural family to consider.

The products below are widely used and are met by a software developer in training and in small and medium projects. SQL examples in this chapter use MySQL 8 syntax unless another product is named.

Product Type and licence Typical use
MySQL Relational, client-server; free Community Edition and paid editions from Oracle Web applications, small to medium business systems
MariaDB Relational, client-server; open source fork of MySQL, largely compatible with it Web applications, drop-in replacement for MySQL, bundled in the XAMPP package
PostgreSQL Relational, client-server; open source Systems that need strict standards support, advanced data types, complex queries
SQLite Relational, embedded; the whole database is one file with no server Mobile apps, desktop tools, prototypes, small local data
Microsoft SQL Server Relational, client-server; commercial, with a free Express edition that has size and resource limits Windows-centred businesses, applications written in C# and .NET
Oracle Database Relational, client-server; commercial licence Very large organisations with heavy transaction loads
Microsoft Access Relational desktop database; part of some Microsoft 365 plans, Windows only Small single-office record keeping with simple forms
MongoDB Non-relational document database; free community edition and a paid cloud service Data stored as flexible JSON-like documents, such as product catalogues with varying fields

2.1.1 Selecting Appropriate DBMS

Selecting a DBMS is a decision that is hard to reverse: once data, application code and staff skills are built around one product, changing it costs time and money. A sound selection starts from the needs of the system, not from the product name, and ends with a written recommendation that the client can read and approve.

Selection criteria

  • Data model fit: Check whether the data is tabular and strongly linked (relational) or varies a great deal from record to record (document). A shop's sales and stock records are relational. A catalogue of products with very different attributes may suit a document store.
  • Size and growth: Estimate the volume of data now and in three to five years, and how many users will connect at the same time. A product that handles one branch comfortably may need redesign for ten.
  • Cost and licensing: Count the licence fee, the hardware or hosting cost, backup storage, and the cost of training. Free software still has running costs, and a licence that is free for development may carry fees in production.
  • Operating system and hosting: Confirm the product runs on the server the client owns or can rent. Many shared hosting plans include MySQL or MariaDB, while SQL Server is chosen when the server runs Windows.
  • Language and tool support: Check that the programming language of the application has a reliable driver for the product, for example PHP, Python, Java or C#.
  • Skills available: A product the local team already knows is faster to build and cheaper to support than a technically better one that nobody can administer.
  • Security and backup features: Look for user accounts and permissions, encryption options, and tools for backup and restore. Security design itself is covered in the chapter on database security.
  • Support and community: Compare vendor support contracts, documentation quality and the size of the community that answers questions online.
  • Legal and data protection duties: If the system holds personal data, the choice and its hosting location must allow the owner to meet the Data Protection Act, 2019.

Steps in selecting a DBMS

  1. Gather the requirements: what data is stored, how many users, what reports, what peak loads, what budget and what deadline.
  2. Write the selection criteria and give each a weight out of 100 according to its importance to the client.
  3. Shortlist two to four products that can meet the must-have requirements, such as the operating system and the data model.
  4. Score each product from 1 (poor) to 5 (excellent) against every criterion, using documentation, a small trial installation and the team's own experience.
  5. Multiply each score by the weight of its criterion and add the results for each product.
  6. Test the leading product with a small prototype: create the main tables, load sample data and run the three or four most important queries.
  7. Write the recommendation, stating the scores, the risks and the running costs, and have the client approve it.

Worked example: the hardware shop uses four criteria with weights that add up to 100: cost 30, ease of administration 25, fit with its PHP web application 25, and local skills 20. The scores below are the developer's judgement for this shop only.

Criterion (weight) MySQL PostgreSQL SQL Server Express
Cost (30) 5 5 4
Ease of administration (25) 4 3 4
Fit with PHP application (25) 5 4 3
Local skills (20) 4 2 3

Weighted total for MySQL = (30 × 5) + (25 × 4) + (25 × 5) + (20 × 4) = 150 + 100 + 125 + 80 = 455, which is 4.55 out of 5.

Weighted total for PostgreSQL = (30 × 5) + (25 × 3) + (25 × 4) + (20 × 2) = 150 + 75 + 100 + 40 = 365, which is 3.65 out of 5.

Weighted total for SQL Server Express = (30 × 4) + (25 × 4) + (25 × 3) + (20 × 3) = 120 + 100 + 75 + 60 = 355, which is 3.55 out of 5.

MySQL scores highest for this shop, so the developer builds the prototype on MySQL. A different shop with different weights, for example one whose staff all know SQL Server, could reach a different result with the same method.

The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒2.2 Database development environment configuration

A database development environment is the set of computers, database software, tools and settings in which a database is built and tested before real users depend on it. Configuring it properly means that every developer works on the same version of the DBMS w…

🔒2.3 Database objects

A database object is any named structure that the DBMS stores inside a database. Tables hold the data, indexes speed up searches, and stored procedures and functions hold reusable code. Other objects, such as views and triggers, also exist, but this topic deal…

🔒2.4 Data attributes

A data attribute is a property that describes an entity, such as a client, a product or a booking. In a table, each attribute becomes a column, and each value of the attribute becomes a cell in a row. Deciding what kind of attribute each property is tells the…

🔒2.5 Data relationships

A data relationship is a logical link between rows of two tables. Real businesses are made of connected things: a customer places orders, an employee works at events, a guide holds a licence. A relational database records these connections with keys, so that e…

🔒2.6 Workplace safety and health practices

Workplace safety and health practices are the habits, rules and controls that protect people, equipment and data while work is being done. A database developer or administrator works long hours at a computer, handles electrical equipment such as servers, switc…

🔒2.7 E-waste storage and disposal

Electronic waste, or e-waste, is any discarded electrical or electronic equipment that is broken, obsolete or no longer wanted. In a database workplace it includes old servers, desktop computers and laptops, hard disks and solid-state drives, backup tapes and…

🔒2.8 E-waste management

E-waste management is the planned control of electronic equipment from the day it leaves service until it is reused, recycled or finally disposed of. Where the earlier topic explained what e-waste is and why it is hazardous, management turns that knowledge int…

Chapter Practical Activities

Practical 1: Create a student registration database with tables and fields

Software Development · Level 6
Computerised Database Systems Management
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Create a database named 'StudentRegistration' with three tables: Students (StudentID, FirstName, LastName, DateOfBirth, Email), Courses (CourseID, CourseName, DurationMonths), and Enrollments (EnrollmentID, StudentID, CourseID, EnrollmentDate) with appropriate data types and primary keys.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Relational Database Management System (MySQL, PostgreSQL, MS SQL Server)Rewritable Compact Disc (CD-RW)
Data Modelling Tool (Lucidchart, EdrawMax, Draw.io)
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Relational Database Management System (MySQL, PostgreSQL, MS SQL Server)1 Pc per Candidate
2Data Modelling Tool (Lucidchart, EdrawMax, Draw.io)1 Pc per Candidate
3Rewritable Compact Disc (CD-RW)1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Create database and tables
Created database named 'StudentRegistration'
(Award 1 mark for correct database creation)
1
Created table 'Students' with fields and appropriate data types
(Award 1 mark for each correct field and data type: StudentID integer PK, FirstName varchar, LastName varchar, DateOfBirth date, Email varchar)
4
Created table 'Courses' with fields and appropriate data types
(Award 1 mark for each correct field and data type: CourseID integer PK, CourseName varchar, DurationMonths integer)
3
Created table 'Enrollments' with fields and appropriate data types
(Award 1 mark for each correct field and data type: EnrollmentID integer PK, StudentID integer FK, CourseID integer FK, EnrollmentDate date)
4
Set primary keys on StudentID, CourseID, EnrollmentID fields respectively
(Award 1 mark for each primary key defined)
3
Set foreign key constraints on Enrollments.StudentID and Enrollments.CourseID referencing Students and Courses respectively
(Award 1.5 marks for each foreign key constraint)
3
Used consistent naming conventions for tables and fields
(Award 2 marks for consistent and meaningful naming)
2
Sub-Total20
PRODUCT CHECKLIST
Students table with fields: StudentID (integer, PK), FirstName (varchar), LastName (varchar), DateOfBirth (date), Email (varchar)
(Award 3 marks for correct fields, data types, and primary key)
3
Courses table with fields: CourseID (integer, PK), CourseName (varchar), DurationMonths (integer)
(Award 2 marks for correct fields, data types, and primary key)
2
Enrollments table with fields: EnrollmentID (integer, PK), StudentID (integer, FK), CourseID (integer, FK), EnrollmentDate (date)
(Award 3 marks for correct fields, data types, primary key, and foreign keys)
3
Referential integrity enforced via foreign keys between Enrollments and Students, and Enrollments and Courses
(Award 2 marks for correct foreign key constraints)
2
Database structure follows normalization and best design practices
(Award 2 marks for normalization and consistent naming)
2
Sub-Total12
GRAND TOTAL32
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Define Primary and Foreign Keys in a Student-Subject Database

Software Development · Level 6
Computerised Database Systems Management
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Create six (6) database tables with defined primary keys and foreign keys.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Relational Database Management System (MySQL, PostgreSQL, MS SQL Server etc.)integer
Data Modelling Tool (Lucidchart, EdrawMax, Draw.io etc.)varchar
Rewritable Compact Disc (CD-RW)date/time
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Relational Database Management System (MySQL, PostgreSQL, MS SQL Server etc.)1 Pc per Candidate
2Data Modelling Tool (Lucidchart, EdrawMax, Draw.io etc.)1 Pc per Candidate
3Rewritable Compact Disc (CD-RW)1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Define Database Keys
Mapped entities from the ERD into six (6) relations
(Award 1 mark per correctly mapped relation, zero if incorrect)
3
Specified attributes for the six (6) relations
(Award 1 mark per table for correct attributes with data types)
6
Specified primary keys for the six (6) relations
(Award 0.5 mark per correct primary key per table)
3
Specified composite primary keys for the marks and subject-teacher relations
(Award 1 mark per correct composite primary key)
2
Enforced referential integrity by specifying foreign keys in the referencing relations
(Award 1 mark per correctly defined foreign key with constraints)
4
Printed the relational schema
(Award 1 mark for clear, complete printed schema)
1
Sub-Total19
PRODUCT CHECKLIST
Created database and six (6) tables with required attributes and data types
(Award 2 marks per table created with correct attributes and data types)
12
Enforced entity integrity (primary key) constraints in the six (6) tables
(Award 1 mark per table for correct primary key enforcement)
6
Enforced referential integrity (foreign key) constraints in the six (6) tables
(Award 1 mark per table for correct foreign key enforcement)
6
Utilized best practices in Database Design: (a) Well normalized relations (b) Consistent naming scheme for relations and attributes
(Award 2 marks for normalization, 2 marks for consistent naming)
4
Sub-Total28
GRAND TOTAL47
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Link tables by establishing data relationships in a student database systemPractical 3
🔒Create a one-to-one relationship between Employee and EmployeeDetail tablesPractical 4
🔒Establish a one-to-many relationship between Customers and Orders tablesPractical 5
🔒Establish Many-to-One Relationship Between Customer and Orders TablesPractical 6
🔒Create a Junction Table to Implement Many-to-Many RelationshipsPractical 7
🔒Create Queries to Retrieve Data from a Student DatabasePractical 8
🔒Design and Create User-Friendly Database Forms for Student RecordsPractical 9
🔒Generate Formatted Database Reports from Student Performance DataPractical 10
🔒Create and Use Database Macros for AutomationPractical 11
🔒Implement Database Indexing for Performance ImprovementPractical 12
🔒Create and manage records within database tablesPractical 13
🔒Create and manage database objects for student performance trackingPractical 14
🔒Development of a Student Performance Database SystemPractical 15
Am I competent?

At the start of this chapter we promised you would be able to:

  • Choose the right database management software based on the system needs.
  • Set up the database development environment correctly to match application requirements.
  • Create database objects accurately by following design plans.
  • Apply data attributes properly as detailed in the database design.
  • Build data relationships correctly according to the design specifications.
  • Follow workplace safety and health practices that meet OSHA standards.
  • Identify the correct methods for storing and disposing of e-waste safely.
  • Demonstrate proper e-waste management following OSHA guidelines.

Tick each one you can genuinely do.

So, are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.