You are on page 1of 27

HARAMAYA UNIVERSITY

COLLEGE OF COMPUTING AND INFORMATICS


DEPARTMENT OF SOFTWARE ENGINEERING

ADVANCED DATABASE SYSTEMS (SEng 3072)

CHAPTER ZERO: PREREQUISITE NOTES

COMPILED BY: GIZACHEW B.


2 CONTENTS

 PART I: PRELIMINARY CONCEPTS

 PART II: REVIEW ON FUNDAMENTALS OF DATABASE SYSTEMS

 Introduction.

 Database Development Life Cycle

 Database Designing (Conceptual, Logical, Physical)

 Data Anomalies and Normalization


3
PREREQUISITE CONCEPTS … (1)

What is Software Engineering?

IEEE definition: Software Engineering is the

application of a systematic, disciplined,

quantifiable approach to the development,

operation and maintenance of software.

Others:

Software engineering is the branch of computer

science that deals with the design, development,

testing, and maintenance of software applications.


4
PREREQUISITE CONCEPTS … (2)

Career Opportunities of Studying Software Engineering

 Software Developer/Engineer  Database Designer

 Full-Stack Developer  Technical Consultant

 Software Architect  Software Project Manager

 Quality Assurance Engineer  Game Developer

 DevOps Engineer  Mobile App Developer

 Systems Analyst  Entrepreneur or Startup Founder


5
PREREQUISITE CONCEPTS … (3)

 What is Computer and Computer System?

 How Computer Works?

o CPU, RAM, and HDD/SSD Communication (Managed by OS)

 Implication of variable declaration.

o Data Type, Variable, and Syntax


6
PREREQUISITE CONCEPTS … (4)

DATA TYPE SIZE DESCRIPTION

int 4 bytes Stores whole numbers from -2,147,483,648 to 2,147,483,647

long 8 bytes Stores whole numbers from -9,223,372,036,854,775,808 to


9,223,372,036,854,775,807

float 4 bytes Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits

double 8 bytes Stores fractional numbers. Sufficient for storing 15 decimal digits

bool 1 bit Stores true or false values

char 2 bytes Stores a single character/letter, surrounded by single quotes


7
PREREQUISITE CONCEPTS … (5)

 Declaring a variable means: allocating memory location for some specific data.

 Initializing a variable means: assigning the initial value to that allocated memory location.

MEMORY: an array of bytes within RAM [Street]


MEMORY BLOCK: a single unit (byte) within memory: used to hold value [Person]
MEMORY ADDRESS: the address of where a memory block is located. [House Address]

EACH BLOCK = 1 BYTE


8
PREREQUISITE CONCEPTS … (6)

Variable Declaration Syntax DURING EXECUTION


Datatype variablename;

BEFORE EXECUTION

// Variable Declaration
int Age;
Memory Location Name= Age
Type = Integer Memory Location Address = #201256
Size = 4 Byte Holds Integer
Location Name = Age
9
PREREQUISITE CONCEPTS … (7)

BEFORE EXECUTION DURING EXECUTION

// Value Assignment to variable


20
Age = 20;

NOTE: Memory Address is assigned dynamically (in runtime).


10

 PART II: REVIEW ON FUNDAMENTALS OF DATABASE SYSTEMS

 Introduction.

 Database Development Life Cycle

 Database Designing (Conceptual, Logical, Physical)

 Data Anomalies and Normalization


11
INTRODUCTION … (1)

 Data is a collection of raw facts and information is a processed data in the form that is meaningful to the user.

 The word raw indicates that the facts have not yet been processed to reveal their meaning.

 Mostly data represents recordable facts that helps in producing information, which is based on facts.

o Example, if we have data about marks obtained by all students, we can then conclude about toppers and

average marks. easy for manipulation, accessing, searching, and etc.

 In order to process data and to obtain an information, the data should be organized and structured in the way to

be easy for manipulation, accessing, searching, and etc.

 Traditionally, it is known as record keeping system or Filing system

 Each and every sector in the world such as educational, health, industrial, commercial, as a whole governmental

and non- governmental institutions have their own record keeping system.
12
INTRODUCTION … (2)

 Data management is a discipline that focuses on the proper generation, storage, and

retrieval of data.

 Given the crucial role that data play, it should not surprise you that data management is a

core activity for any business, government agency, service organization, or charity.

 Generally, there are two data management approaches

o Manual approach

o Computerized Approach

 File based approach

 Database approach
13
INTRODUCTION … (2)

MANUAL APPROACH FILE BASED APPROACH


14
INTRODUCTION … (2)

DATABASE APPROACH
15
INTRODUCTION … (3)

 Database systems are designed to manage large bodies of information.

 Management of data involves both defining structures for storage of information and

providing mechanisms for the manipulation of information.

 In addition, the database system must ensure the safety of the information stored, despite

system crashes or attempts at unauthorized access.

 If data are to be shared among several users, the system must avoid possible anomalous

results.
16
INTRODUCTION … (4)
17
INTRODUCTION … (5)

 Databases can be classified according to:

o Number of users [single-user and multiuser]

o Data Location [centralized and distributed]

o Data Usage [Operational or Transactional and Data Warehouse]


18
DATABASE DEVELOPMENT LIFE CYCLE

 Major steps of database development life cycle

o Requirement gathering and analysis

o Designing

o Implementation

o Testing

o Maintenance
19
DATABASE DESIGNING

 There are mainly three steps of database designing

o Conceptual Database Designing

o Logical Database Designing

o Physical Database Designing


20
DATA ANOMALIES … (1)

 Data anomalies are inconsistencies in the data stored in a database as a result of an

operation such as update, insertion, and/or deletion.

 Such inconsistencies may arise when have a particular record stored in multiple locations

and not all of the copies are updated.

 We can prevent such anomalies by implementing level of normalization called Normal

Forms (NF)
21
DATA ANOMALIES … (2)
22
DATA ANOMALIES … (3)
23
NORMALIZATION … (1)

 Normalization is a technique of organizing data in database in to multiple related tables to minimize

data redundancy.

 Data redundancy is repetition of similar data in multiple places that increases the size of the

database (Memory Space).

 Data redundancy leads to insertion, updating, and deletion anomalies.

 Normalization is a solution for the former problem.

o Dividing the table in to two separate table (Student and Department)


24
NORMALIZATION … (2)
25
NORMALIZATION … (3)
26 CASE STUDY

ABC HIGH SCHOOL STUDENT ROSTER


GRADE: 9A
HOMEROOM TEACHER: UJULU
ACADEMIC YEAR: 2016 | SEMESTER I
STUDENT NAME GENDER ID SUBJECTS TOTAL AVG RANK STATUS
MATHS ENG BIO CHEM PHY
STUD 1 M ABC001/16 88 74 65 90 55 372 74.4 1 PASS
STUD 2 F ABC002/16 77 64 55 80 45 321 64.2 2 PASS
STUD 3 M ABC003/16 66 54 45 70 35 270 54 3 PASS
STUD 4 F ABC004/16 55 44 35 60 25 219 43.8 4 FAIL

NOTE:
 SUBJECT LEVEL TOTAL = 100  Teachers have subject based department. The subject will be
 OVERALL TOTAL = 500 assigned for one of the teacher from the department.
 PASS MARK = 50%  Homeroom Teacher: a teacher who collect student’s mark from
subject teachers and prepare a student roster.
TEACHING YOU IS A GOOD LUCK

You might also like