Chapter 7: Social implications
Chapter 9: Database design
At the end of this chapter you should be able to:
- describe examples of database management software (DBMS)
- explain how database management decisions are made
- list and describe different database careers
A database is an organised collection of data regarding a specific topic. More specifically, a database is an electronic system that allows data to be easily stored, organised, processed and changed.
Modern databases are managed using a database management system (DBMS). The DBMS provides users and programmers with an organised way to create, retrieve, update and manage data in a database. The DBMS basically serves as an interface between the database and end users or application programs, ensuring that data is consistently organized and is easily accessible.
An example of a database could be a database that is used to store all of the information about the books in the school library. The title, author and subject, amongst others, could be some of the details that would be kept in the database. This would allow learners to search the database for all the books written by a particular author to see if those books are in the school library.
In this chapter you will learn about different types of database management software, how to make database management decisions, and about database management careers.
Using the information learned in this chapter, you will be ready to design and create databases.
If you want to learn a bit more about how and why databases are used, you can watch the video in the QR link.
8.1 Database software
Database management software (DBMS) is software used to create and manage databases. DBMS software enables you to:
- create databases
- create database tables
- add new data to databases
- delete information from databases
- retrieve data from databases
- make data available to users
- make data available to applications
- create, manage and monitor users using the database.
database - a collection of interrelated data. In practice, these applications do the same basic tasks, but they may do them in different ways with different levels of complexity.
A Database Management System – is a collection of programs that eneables us to create and maintain a Database. It is general-purpose software system that facilitates the process of defining, constructing and manipulating database for various applications. A database system consists of the combination of a DBMS and a database.
The DBMS therefore manages the databases, the tables in the database, the data stored in the tables and the users who have access to the database.
ADVANTAGES OF DBMS
The advantages of a DBMS are listed below:
- Data sharing
- Data Independence
- Better data integrity
- Controlled Redundancy
- Data consistency
- Data security
- Faster Application Development
- Concurrency control
- Recovery and Backup
The table below describes six examples of popular DBMS applications.
8.1.1 What is a database?
8.1.2 Explain the purpose of a database.
8.1.3 List THREE things DBMS software allows you to do.
8.1.4 Briefly describe the following DBMS software:
a. Microsoft SQL Server
c. BlackFish SQL
8.2 Database types
You can be assured that your school has some form of database that stores all of your information such as your marks, subjects, teachers and probably your address details. This database can be accessed and searched at any time to check your marks. Your teachers will also enter your marks on this system and will be able to go back to marks from previous terms to monitor your progress throughout the year.
If there is data that needs to be stored, programmers prefer to store it in a database.
This unit will briefly look at three different database decisions that should be made. These are:
- Should the database be installed on a desktop or a server?
- Should a distributed database be used?
- What software should be used?
DESKTOP OR SERVER
When planning a database, the first thing you need to consider is whether you will need a desktop or server based database. This will be determined by the following two factors:
- Size: How much data will be stored in the database.
- Accessibility: How that database will be accessed by users. Will it be accessed on the same computer every time or will it need to be accessed by many users from different locations.
A desktop database will be used for a small database that is only being accessed by a single user on a single computer. An example could be if you decided to keep a database of your movie collection.
A server database is stored on a dedicated server that is connected to the internet so that multiple users from multiple locations can access the database. A server would be required if the database held a large number of records such as the details of the customers of a cellphone company.
SINGLE USER DATABASE/DESKTOP
Its a standalone application that runs on your computer and only supports one user at a time. It runs on your local machine and all the resources are fully used by one user. e.g Microsoft Access.
- Runs locally computer
- All resources are always for the user to work.
- One or two Tier architecture
- Supports one user at a time
It is a database that runs on a server first so all multiple users can connect to it. It can be stored locally at your organisation premises or anywhere online/cloud. All the resources that are allocated to this Database are being shared amongst all the users that are connected to it at any instatnce. It supports multi-user.
- Runs on a server locally or online
- All resources are always shared
- Supports multiple users at a time
- the two types include Workgroup and Enterprise database
A distributed database (like Amazon Web Services or Google Firebase) are databases that are not stored and run from a single computer (or server), but instead are stored on multiple computers at the same time. The most common examples of distributed databases are database that run on the cloud. Distributed databases, especially cloud-based distributed databases, are incredibly powerful since they can be expanded easily and make use of the power and bandwidth provided by multiple computers. Distributed databases are also more reliable, since the database will continue working as long as a single computer running the database stays active.
distributed database – a database that may be stored in multiple computers, located in the same physical location; or dispersed over a network of interconnected computers
cloud - a network of remote servers hosted on the Internet to store, manage, and process data
Case Study School database
You want to create a database for your school to keep records of all the learner’s marks, subjects and attendance statistics. For this application, you will need to create a database that will store a list of all the subjects offered at your school and all the learner’s names. You need to decide how large the database will be, how many users will be accessing the database, how frequently the database will be updated and whether different users need to access the same database.
This database will contain a large amount of data if it contains the subjects, marks and teachers of every learner in your school.
Looking at the accessibility of the application, multiple users, being your teachers will need to access the database. This means that the database will need to be stored on a server so that all the teachers can capture the marks.
Case Study Amazon Web Services
Amazon is known as the world’s largest online shopping website, a few years ago, Amazon Web Services (AWS) was responsible for almost all of Amazon’s profit for the year. Many of the world’s most successful websites and web applications are hosted on AWS, including Airbnb, Netflix, Reddit and Pinterest.
This does not mean everything always goes well for Amazon! An Amazon employee one day made a typing error when running an SQL command and accidentally disabled many AWS servers. As a result, thousands of websites went offline including incredibly popular websites like Slack, Medium and Expedia. These websites stayed offline for hours while Amazon restarted the servers.
Or as a writer from USA Today described the situation: ‘When Amazon sneezes, the Internet catches a cold.’
Compare the three types of databases.
8.3 Database careers
The table below lists and describes a few of the most popular ICT careers. This includes a few careers you learned about previously, but also adds new careers.
8.3.1 What are the main roles of the following careers, that is, what do people in those careers do?
a. Database administrator
b. Database programmer
c. Database analyst
d. Database project manager
8.3.2 If you could choose one of these careers, which would it be? Give reasons for your answers.
CONSOLIDATION ACTIVITY Chapter 8: Database management
1.Match the COLUMN A with the correct answer in COLUMN B. Write down only the question number (1.1–1.6) and the matching letter (A–F) in COLUMN B, for example 1.6–F.
2.The database will be designed on one computer and will run on one standalone computer.
a.What is the name given to this type of database?
b.Give an example of a program that can be used to design the database mentioned in the previous question
c.What is the name given to a database that is shared on the internet?
d.Give TWO examples of programs that can be used to design the database described in the previous question.
3.While discussing the database, it is suggested that you set up a distributed database for your small office.
a.What is a distributed database?
b.Justify why this may not be a good idea.
c.Suggest a more appropriate type of database for your office.
d.Give an example of a program that can be used to design a distributed database.
e.Will it be possible for many staff members to work on the distributed database at the same time? Justify your answer.
f.You realise you might need the help of a database programmer. List THREE responsibilities a database programmer has.
4.Choose the correct answer.
a.Which one is NOT a function or duty of a database administrator
A.Managing and maintaining the database via a DBMS.
B.Capturing and entering data in a database.
C.Setting up and maintaining users of the database and their access rights.
D.Performing routine maintenance on the database.
b.Which one of the following is an example of a distributed database?
A.Amazon web services
5.Match the COLUMN A with the correct answer in COLUMN B. Write down only the question number (1.1–1.6) and the matching letter (A–F) in COLUMN B, for example 1.2–A.
6.What is a database used for?
7.List TWO factors that determine how databases are used.
8.Give ONE difference between a database on a desktop and database on a server.
9.Give THREE factors to consider when choosing a DBMS to use for the database.
10.List TWO open-source DBMS applications.
11.Give a description of a Microsoft SQL Server.
12.Look at the following DBMS systems. Indicate which type of DBMS you would use for the following situations. Motivate your answer.
a. Sign-in and sign-out information of a company of 100 employees.
b.An online programming course website.
c.An online hotel booking service.
13.Discuss TWO reasons why businesses make use of the distributed database.
14.You have been appointed as a Database Analyst for the planned database of your brother’s Primary School. More than 1 000 learners attend the school, you must make several presentations to the school management, teachers and governing body.
a.One of the governing body members has suggested that you plan for a distributed DBMS instead of a server DBMS.
A.What is a DBMS?
B.List THREE activities that a DBMS allows you to do.
C.Give TWO reasons when it becomes necessary for an organisation to have a distributed database.
b.A Database Administrator will have to be appointed. List TWO tasks of a database administrator.
15. a.You want to create a database for a new online messaging app to store both the users’ settings and the messages sent between users. In terms of the amount of data that will be used, it is difficult to say. Since it is a new application, you do not expect there to be millions of messages sent. However, even with just a few thousand users, you can easily see a hundred thousand messages being sent a day. The database should therefore be designed to handle large amounts of data.
b.Describe the difference between a local database and an online database.
c.Based on this scenario, which database would you use. Motivate your answer.
16.You need to create a database used to store the text and images for a large website. The website will need to be very reliable and be able to expand quickly as it becomes more popular.
a.Which type of database would you choose for this scenario? Motivate your answer.
17.The following screenshot is an example of a possible database that can be used. It is created in Microsoft Access. A database analyst was asked to help with this.
a.List TWO tasks of a database analyst.
b.Under which Database Management System (DBMS) software does Microsoft Access fall?
c.Give ONE advantage of the database described in question b).
Chapter 7: Social implications
|Table of Contents||
Chapter 9: Database design