2.3 Databases
2.3 Databases
3 Databases
Introduction to Databases
A database is a way of storing information in a structured, logical way. They are used to collect and
organize information such as customer details for a business, medical records at a surgery, or stock items at a
warehouse.
Database content is easy to manage and information can be accessed and updated quickly and efficiently. A
database can store and handle vast amounts of data. A user can sort and search a database to find any desired
data.
1. Tables
Data is stored in rows and columns (similar to a spreadsheet – the main difference is HOW the data is
organized). Each row in a table is called a record which is made up of a number of fields (columns in the
table). The data type in the fields is usually either text, numeric or date/time. Most databases contain a number
of tables which are usually linked together in some way.
2. Records
A record is a collection of fields that contains data about a single object – it is a row within a table.
3. Fields
A field is a single category of data within a database, which appears in all the records of a table – it is a
column within a table.
Key fields
A key field is used to identify the records within a database. There are two types of keys:
Primary key;
Secondary key.
Primary key
The Primary key is a unique field that identifies a single record. This prevents any records from having
the same value.
Some ‘natural’ primary keys are:
CarRegistrationNumber;
ISBN – a 10-digit code that uniquely identifies a book;
MAC number – a 6-part number that uniquely identifies a network card
National Insurance Number – can uniquely identify employees of a company (not usable for under
16s or for non-British nationalists!)
Secondary key
A Secondary key is a non-unique field, used in a search that does not always produce only one matching
record.
Page 1 of 28
2.3 Databases
Key
Field
Record structure
Before setting up a database, the record structure must be decided to make better use of the memory and
backing store, and to make searching and report creation easier.
For example, a car showroom wants to record details of the cars it sells. Before setting up the database, the
following attributes need to be decided:
Field Name
Field type
Field size
Format
Input Mask
Validation Rule
Page 2 of 28
2.3 Databases
Record structure
Field name Field type Format
Etc…
When designing a database it is important to choose the correct field type. This ensures that the data stored is
usable and it makes validation easier. For example, if the price paid for goods was stored in a text field, then
the database wouldn’t be able to add each individual figure to produce a total.
Page 3 of 28
2.3 Databases
Page 4 of 28
2.3 Databases
Coding of data:
Any system will need to have data collected, entered and stored.
One method of storing data is to assign codes to it. This usually means shortening the original data in an
agreed manner. The agreement is between the users of the system. This coding scheme could be part of the
training of how to use the system, and it could also be documented within the system for new users.
If the coding is completely obvious then there is no such need for formal documentation. For example if a
field called 'Gender' has only two values 'M' and 'F'. It should be obvious from the field name that this refers
to Male and Female.
Example 1
Example 2
Page 5 of 28
2.3 Databases
Validation can further improve accuracy Value judgments are difficult to code
Estimate the size of a file from its structure and the number of records
Page 6 of 28
2.3 Databases
If we consider a file with 200 records, which stores the details of an organisation’s customers:
Note that to determine the maximum field length, an extreme case was considered and several bytes added to
play safe.
Page 7 of 28
2.3 Databases
We have discussed the structure of a database as consisting of one or more tables, each of which contains
records and fields of various data types.
The next requirement is to have a system in place that can act upon that data as well as creating and
maintaining the database itself.
This is the role of the 'database management system' usually referred to as a DBMS.
The DBMS will have a command language. This includes command statements for:
There are many database management systems that are either commercial products or free open source
applications.
Examples include
Name Comment
MySQL A very popular, free open source system, widely used on web sites
Page 8 of 28
2.3 Databases
Queries
Queries most commonly allow information to be retrieved from tables. Since the information is often spread
across several tables, queries allow it to be viewed as one single datasheet. They also allow filtering so only
the records required are seen. Queries can be either results seen directly on the screen or the output to another
form or report. Example of a query: (house > 200 000) OR (no_of_rooms < 4).
Points to note: (1) there are 10 records in this section of the database
(2) Each record has 4 fields
(3) Sample queries:
(Smallest size (microns) < 1) OR (Toxic = “yes”)
Would output records 4, 7, 8 and 9
(Largest size (microns) > 99) AND (Toxic = “no”)
Would output records 1, 2, 3, 6 and 10
The query should match up with the field titles to ensure a correct search is carried out. Search engines on the
Internet work in a similar way; the clever part is how the information is stored on the databases so that the
time to do the search (based on key words) and the effectiveness of the search itself results in a very powerful
and very useful tool.
Page 9 of 28
2.3 Databases
SELECT STATEMENT
SELECT SYNTAX
SELECT expressions
FROM tables
WHERE conditions;
Tables are the tables that you wish to retrieve records from. There must be at least one table listed in the
FROM clause.
Conditions are conditions that must be met for the records to be selected.
Let's look at how to use a SQL SELECT query to select all fields from a table.
SELECT *
FROM suppliers
In this SQL SELECT statement example, we've used “*” to signify that we wish to view all fields from the
suppliers table where the supplier resides in Newark. The result set is sorted by city in descending order.
Page 10 of 28
2.3 Databases
You can also use the SQL SELECT statement to select individual fields from the table, as opposed to all fields
from the table.
For example:
FROM suppliers
This SQL SELECT example would return only the supplier_name, city, and state fields from
the suppliers table where the supplier_id value is greater than 1000. The results are sorted by
supplier_name in ascending order and then city in descending order.
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
Page 11 of 28
2.3 Databases
The following SQL statement selects the "CustomerName" and "City" columns from the "Customers" table:
Example
SELECT CustomerName,City FROM Customers;
SELECT * Example
The following SQL statement selects all the columns from the "Customers" table:
Example
SELECT * FROM Customers;
The SQL WHERE Clause
The WHERE clause is used to extract only those records that fulfill a specified criterion.
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
The following SQL statement selects all the customers from the country "Mexico", in the "Customers" table:
Example
SELECT * FROM Customers
WHERE Country='Mexico';
SQL requires single quotes around text values (most database systems will also allow double quotes).
Example
SELECT * FROM Customers
WHERE CustomerID=1;
Page 12 of 28
2.3 Databases
Operator Description
= Equal
<> Not equal. Note: In some versions of SQL this operator may be written as !=
The AND operator displays a record if both the first condition AND the second condition are true.
The OR operator displays a record if either the first condition OR the second condition is true.
You can also combine AND & OR (use parenthesis to form complex expressions).
The following SQL statement selects all customers from the country "Germany" AND the city must be equal
to "Berlin" OR "München", in the "Customers" table:
Example
SELECT * FROM Customers
WHERE Country='Germany'
AND (City='Berlin' OR City='München');
Page 13 of 28
2.3 Databases
Database Questions:
Oct/Nov 2006:
A car dealer uses a database to keep details of cars in stock. Part of the stock file is shown below.
(a) (i) State the fieldname that should be used as the key field.
(ii) Explain the purpose of a key field.
(b) The following search condition is input:
(Price($) < 5000) AND (Model = Golf)
Write down the records that match the above search condition using only RegNo.
(c) Write down a search condition to find cars with an Engine greater than 1400cc or which have less than 5
Doors.
(d) When a car is sold, the sale needs to be linked to a customer file. Suggest a new field which could be used
to link the stock file to the customer file.
May/June 2007:
A hospital has decided to computerise its administration system.
(a) Give three ways this could affect the hospital workers.
The hospital will be using a database which holds confidential personal data.
(b) State two precautions that the hospital should take to prevent unauthorised access to the data.
(c) Describe how the database could be recovered if it became corrupted.
(d) Give one example, in each case, of when it would be necessary to amend data, delete data and insert data
into the patient database.
Page 14 of 28
2.3 Databases
Oct/Nov 2007:
A school Science department is going to use a database to record details about its equipment.
(a) Give two advantages of using a computer system rather than a manual filing system.
(b) Part of the database is shown below:
(i) As data is entered it needs to be verified. Describe one way this could be done.
(ii) Data also needs to be validated. Using fields from the database as examples, describe two different
validation checks which could be performed on the data.
Oct/Nov 2008:
To gain access to a database, a user must first type in a user ID and then a password which needs to be
verified.
(a) How is a password usually verified?
(b) In spite of these safeguards, unauthorised access to the database is still possible.
What could be done:
(i) to prevent data being used by unauthorised people?
(ii) to prevent loss of data once the database has been illegally accessed?
(c) Personal data is protected to some extent by a Data Protection Act. Give two requirements of a Data
Protection Act.
Page 15 of 28
2.3 Databases
Oct/Nov 2008:
Page 16 of 28
2.3 Databases
Oct/Nov 2009:
A radio station keeps a database of all its music CDs. Here is part of this database:
May/June 2009:
Explain, using examples where appropriate, the meaning of these computer terms.
(b) relational database
Page 17 of 28
2.3 Databases
May/June 2009:
(a) How many records are shown in the Customer Details table?
(b) (i) Which field connects the New Car Sales table with the Customer Details table?
(ii) Which field connects the New Car Sales table with the Car Manufacturer table?
(c) Give two reasons why List of Extras in the Car Manufacturer table is stored in code form.
(d) A customer goes into the showroom and the salesperson keys in 162154. What fields and information
would be shown on the output screen?
(e) Give one advantage to the car sales company of holding customer information on a database.
Page 18 of 28
2.3 Databases
May/June 2010:
A database has been set up to bring together information about the world’s tallest buildings.
A section of the database is shown below.
(a) How many records are in the section of the database shown?
(b) (b) Using Ref No. only, which records would be output if the following search condition was entered:
(Year < 1990) AND (Height (m) > 375)?
(c) Write down a search condition to find out how many buildings are in China or how many buildings have
more than 80 floors.
(d) For each of the following fields give a different validation check.
Year
Ref No.
(e) The database was sorted in descending order of Year. Using Ref No. only, write down the results of the
sort:
Page 19 of 28
2.3 Databases
May/June 2010:
(a) Using Car ref only, write down which cars would be output if the following search condition was used:
(No of doors = 4) AND (Fuel used (km/litre) > 15)
(b) Write down a search condition to find out which cars have engines larger than 1.8 litres OR have CO2
emissions higher than 150 g/km.
(c) The database is sorted in ascending order on Fuel used (km/litre). Using Car ref only, write down the
results of the sort.
Oct/Nov 2010:
10) A database has been set up to store information about aircraft. A section is shown below.
Page 20 of 28
2.3 Databases
May/June 2011:
A database showing the population of world cities has been produced. A section of the database is shown
below.
Oct/Nov 2011:
An airport has a number of hotels nearby. A database has been set up to give customer’s information to allow
them to select a hotel.
Page 21 of 28
2.3 Databases
Oct/Nov 2011:
A database has been set up to show details about countries. Part of the database is shown below.
Page 22 of 28
2.3 Databases
May/June 2012:
A database was set up to show the properties of certain chemical elements. Part of the
database is shown below.
Page 23 of 28
2.3 Databases
Oct/Nov 2012:
A database was set up showing the largest ocean-going liners. Part of the database is
shown below.
Page 24 of 28
2.3 Databases
May/June 2013:
A database was set up to compare oil companies. A section of the database is shown
below:
Page 25 of 28
2.3 Databases
May/June 2013:
A survey of motorways was carried out and a database was produced. A section of the
database is shown below.
(a) How many fields and how many records are shown?
(i) number of fields
(ii) number of records
(b) Using Motorway ID only, what would be output if the following search condition was used?
(Length (km) > 100) AND (Number of lanes > 3)
(c) What search condition is needed to find the motorways where the number of cars per day exceeds 50 000
or the toll charge per kilometre is greater than $0.50?
Page 26 of 28
2.3 Databases
Page 27 of 28
2.3 Databases
9 A database was set up to keep track of goods in a shop. A section of the database is shown below.
(a) How many records are shown in this section of database? [1]
(b) (i) Using Item code only, what would be output if the following search was carried
out:
(Number in stock < Re-order level) AND (Items ordered = “No”) [2]
(ii) What useful information does this search produce? [1]
(c) Write a search condition to locate items costing more than $2.00 or have a stock value exceeding $300.00.
[2]
Page 28 of 28