institute of southern punjab, multan · 2018-04-01 · database another important thing that you...

87
Institute of Southern Punjab, Multan Mr. Muhammad Nouman Farooq BSC-H (Computer Science) MS (Telecomm. and Networks) Honors: Magna Cumm Laude Honors Degree Gold Medalist! Blog Url: noumanfarooqatisp.wordpress.com E-Mail: [email protected]

Upload: others

Post on 15-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Institute of Southern Punjab, Multan

Mr. Muhammad Nouman Farooq

BSC-H (Computer Science)

MS (Telecomm. and Networks)

Honors:

Magna Cumm Laude Honors Degree

Gold Medalist!

Blog Url: noumanfarooqatisp.wordpress.com

E-Mail: [email protected]

2

Classification

Assignments & Quizzes 6% (6 Marks in Total)

Project & Presentation 9% (9 Marks)

Midterm Exams 25% (25 Marks)

Final Exam 50% (50 Marks)

Total 100 %

NOTE: 10% Marks will be Automatically given by Examination Deptt. on Attendance.

Grading Policy

Academic Honesty

Your work in this class must be your own

If students are found to have collaborated excessively or to

have cheated (e.g. by copying or sharing answers during an

examination), all involved will at a minimum receive grades of

“0” for the first violation

Further violations will result in failure in the course

3

Attendance will be taken with in 15 minutes at the start of class

Students are allowed to enter into class with in 30 minutes at the starting

of class

Zero tolerance policy on attendance, discipline of class during lectures!

Assignments must be submitted on time, no late submissions

In case of copied assignment both parties will be given zero!

Projects, Presentation, Quizzes, Assignments, Class participation are very

important.

Don’t miss your Classes, Quizzes, Presentations, Assignments and

Projects!

Few Things to Remember!!

4

5

Database Systems

Lecture# 1

Introduction to Databases

Recommended Books

Modern Database Management by Jeffrey A. Hoffer, V. Ramesh and H. Topi

10th Edition

Database Systems-A Practical Approach to Design, Implementation and

Management by Thomas Connolly and Carolyn BEGG, 4th Edition

Database Systems – Design, Implementation, and Management-Carlos,

Steven and Peter (9th Edition)

Fundamentals of Database Systems by Elmasri and Navath

6

Reference Lab Manuals

A guide to MySQL latest Edition by Muhammad Nouman Farooq

A Guide To MySQL 8th Edition by Philip J. Pratt & Mary Z. Last

7

Lecture 1: Introduction to Databases

Introduction to the Course

Database Definitions

Data & Information

Data Models

Flat File Vs Relational Database System

Importance of Databases

Introduction to File Processing Systems

Advantages of Database Approach

Database Users 8

9

Jonathan Abrams Friendster fails due to

not optimized and efficient Database

System

Mark Zuckerberg Facebook did not fail

due to optimized and efficient Database

System

10

11

Introduction to the Course

Introduction

This course is first (fundamental) course on database management

systems.

The course discusses different topics of the databases.

We will be covering both the theoretical and practical aspects of

databases.

As a student to have a better understanding of the subject, it is very

necessary that you concentrate on the concepts as well as on the

practical's which were done in the course.

12

Continued…

1) Database design and application development:

How do we represent a real-world system in the form of a

database?

2) Concurrency and Robustness:

How does a DBMS allow many users to access data concurrently,

and how does it protect against failures?

13

Continued…

3) Efficiency and Scalability:

How does the database cope with large amounts of data?

4) Study of tools to manipulate databases:

In order to practically implement, that is, to perform

different operations on databases some simulators are required. The

operations on databases include right from creating them to add,

remove and modify data in the database and to access by different

ways.

14

15

Database Definitions

Database Definitions

An organized collection of information in computerized format.

A collection of information organized and presented to serve a

specific purpose

A Computerized representation of any organizations flow of

information and storage of data.

16

Continued…

The term database is often incorrectly referred to as a synonym for a

“database management system (DBMS)”.

17

Continued…

Each of the above given definition are correct, and describe

database from slightly variant perspectives.

From exam point of view, anyone will do. However, within

this course, we will be referring first of the above

definitions more frequently, and concepts discussed in the

definition like, logically related data, shared collection

should be clear.

18

Database

Another Important thing that you should be very clear about is thedifference between database and the database management system(DBMS).

The database is the collection of data about anything, could beanything. Like cricket teams, students, busses, movies, personalities,stars, furniture, lab equipment, hobbies, hotels, pets, countries, andmany more anything about which you want to store data.

What we mean by data; simply the facts or figures

Information: Data that have been processed in such a way as toincrease the knowledge of the person who uses the data.

19

20

21

Data and Information

Data and Information Data is the collection of raw facts collected from any specific

environment for a specific purpose.

Data in itself does not show anything about its environment, so to

get desired types of results from the data we transform it into

information by applying certain processing on it.

Once we have processed data using different methods; than data is

converted into meaningful form and that form of the Data is called

information.

22

Continued…

23

Continued…

If we consider the data in the previous figure without the titles or the

labels associated with the data (EmpName, age, salary) then; it is not

much useful.

However, after attaching these labels it brings some meanings to us,

this meaningfulness is further increased when we associate some other

labels, like the company name and the department name etc.

So this is a very simple example of processing that we can do on the

data to make it information.

24

Continued…

There could be infinite examples, there could be so many facts

about each thing that we are storing data about.

What exactly we will store depends on the perspective of the person

or organization who wants to store the data. For example, if

you consider food, data required to be stored about the food from

the perspective of a cook is different from that of a person eating it.

25

Continued…

Think of a food, like, Karhahi Gosht, the facts about Karhahi Gosht

that a cook will like to store may be, quantity of salt, green and red

chilies, garlic, water, time required to cook and like that.

Where as the customer is interested in chicken or meat, then black

or red chilies, then weight, then price and like that. Well, definitely

there are some things common but some are different as well. The

thing is that the perspective or point of view creates the difference

in what we store; however, the main thing is that the database

stores the data using DBMS.

26

Database Management System

The database management system (DBMS), on the other hand is the

software or tool that is used to manage the database. Some tools

are given below:

1. XAMPP (Navicat can be used as GUI of XAMPP)

2. Sequel Pro

3. Sequel Server

4. Microsoft Access

5. Oracle

27

28

Continued…

Database Systems

The term database system is a combination of database and

the Database Management System (DBMS).

So, database is collection of meaningful data/information,

DBMS is a tool to manage this data, and both jointly are called

database system.

29

30

Data Models

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

Flat File Vs. Relational Database System

Flat File Vs Relational Database System

A flat file database is a database designed around a single table.

The flat file design puts all database information in one table, or

list, with fields to represent all parameters.

A flat file may contain many fields, often, with duplicate data that

are prone to data corruption.

49

Continued…

If you decide to merge data between two flat files, you need to

copy and paste relevant information from one file to the other.

There is no automation between flat files.

If you have two or more flat files that contain client addresses, for

example, and a client moved, you would have to manually modify

the address parameters in each file that contains that client’s

information.

50

Relational Database System

A relational database, on the other hand, incorporates multiple

tables with methods for the tables to work together.

The relationships between table data can be ordered, merged

and displayed in database forms.

These tables are to be normalized up to 3rd Normal Form (3-NF).

51

52

Importance Of Database

Importance Of Database

Databases are important; why?

Traditionally computer applications are divided into commercial and

scientific (or engineering) ones.

Scientific applications involve more computations, that is, different

type of calculations that vary from simple to very complex.

Today such applications exist, like in the fields of space, nuclear,

medicine that take hours or days of computations on even computers

of the modern age.53

Continued…

On the other hand, the applications that are termed as commercial

or business applications do not involve much computations, rather

minor computation but mainly they perform the input/output

operations.

That is, these applications mainly store the data in the computer

storage, then access and present it to the users in different formats

(also termed as data processing) for example, banks, shopping,

production, utilities billing, customer services and many others.

54

Continued… From the previous examples, the commercial applications exist in

the day to day life and are related directly with the lives of

common people.

In order to manage the commercial applications more efficiently

databases are the ultimate choice because efficient management

of data is the sole objective of the databases.

So, such applications are being managed by databases even in a

developing country like Pakistan. This way databases are related

directly or indirectly almost every person in society.

55

56

Introduction to File Processing Systems

File Processing System

57

File Processing System

58

File Processing System

59

Continued…

The main point being highlighted is the program and data

interdependence, that is, program and data depend on each

other, well they depend too much on each other.

As a result any change in one affects the other as well.

60

Continued…

The systems (even the file processing systems) are created

after a very detailed analysis of the requirements of the

organizations.

But it is not possible to develop a system that does not need a

change afterwards.

There could be many reasons, mainly being that the users get

the real taste of the system when it is established.

61

Continued…

Users tell the analysts or designers their requirements, the

designers design and later develop the system based on those

requirements.

But when system is developed and presented to the users, it is

only then they realize the outcome of the effort.

62

Continued…

Now, it could be slightly and (unfortunately) sometimes very

different from what they expected or wanted it to be.

So, the users ask changes, minor or major.

Another reason for the change is the change in the

requirements. For example, previously the billing was

performed in an organization on the monthly basis, now

company has decided to bill the customers after every ten days.63

Continued…

Another major drawback in the traditional file system environment is

the non-sharing of data.

It means; if different systems of an organization are using some

common data then rather than storing it once and sharing it, each

system stores data in separate files.

This creates the problem of redundancy or wastage of storage.

64

Continued…

The change in the data in one system sometimes is not

reflected in the same data stored in other system.

So different systems in organization; store different facts

about same thing. This is inconsistency as is shown in figure

below.

65

Continued…

66

67

Advantages of Database Approach

Database System Environment

It will be helpful to reiterate our database definition here, that

is, “Database is a shared collection of logically related data,

designed to meet the information needs of multiple users in an

organization”

A typical database system environment is shown in the figure on

next slide.

68

Continued…

69

Continued…

The figure shows different subsystem or applications in an

educational institution, like library system, examination system,

and registration system. There are separate, different application

programs for every application or subsystem.

However, the data for all applications is stored at the same place

in the database and all application programs, relevant data and

users are being managed by the DBMS.

70

The data for different applications or subsystems is placed at the

same place. This introduces the major benefit of data sharing. That

is, data that is common among different applications need not to be

stored repeatedly, as was the case in the file processing

environment.

For example, all three systems of an educational institution shown

in figure need to store the data about students.

71

1-Data Sharing

Now the data like registration number, name, address, father

name that is common among different applications is being

stored repeatedly in the file processing system environment,

where as it is being stored just once in database system

environment and is being shared by all applications.

72

Continued…

Data and programs are independent of each other, so change in

one has no or minimum effect on other

Means that we do not need to duplicate data

unnecessarily; we do duplicate data in the databases,

however, this duplication is deliberate and controlled.

73

2-Data Independence

3-Controlled Redundancy

Very important feature; means the validity of the data being entered in

the database. Since the data is being placed at a central place and

being managed by the DBMS, so it provides a very helpful to check or

ensure that the data being entered into the database is actually valid.

We can also define it as Level of Correctness of Data.

74

4-Data Integrity:

5-Better Data Security

All application programs access data through DBMS, So

DBMS can very efficiently check that which user is

performing which action and accessing which part of

data.

So, A DBMS is the most effectively control and maintain

security of Data stored in a database.

75

6-Faster Development of new Applications

The database environment allows us faster application

development because of its many reasons.

As we know that database is designed focusing the

conclude result to meet the expectations of the client.

76

7-Better Concurrency Control

Concurrency means the access of database form as number of pointssimultaneously.

Concurrency Control means to access the database in such a waythat all the data accesses are completed correctly andtransparently.

One example of controlled concurrency is the use of ATM Machinefor withdrawal of money (cash).

All ATM machines of a bank are interconnected to a centraldatabase system worldwide, so that a user can access its accountfrom anywhere in the world and can get cash from any ATMterminal.

77

Continued…

As there are thousands of ATM terminal across the world for a

specific bank so as a result thousands of user process and access

the bank’s database.

All this process is managed concurrently using the database

systems and is done in such an efficient manner that no two user

face any delay in the processing of their requests.

78

8-Better Backup and Recovery Facility

Some time happens that a database which was in use and very

important transactions were made after the last backup was made,

all of a sudden due to any disastrous situation the database

crashes (improper shutdown, invalid disk access, etc.)

Now, In such a situation the database management system should

be able to recover the database to a consistent state so that the

transactions made after the last backup are not lost.

79

80

Database Users

Database Users

Users of Database Systems:

1) Application Programmers

2) End Users

Naive User

Sophisticated User

81

1) Application Programmers

This category of database users contains those people who create

different types of database application programmer.

Application programmers design the application according to the

needs of the other users of the database in a certain environment.

Application programmers are skilled people who have clear idea of

the structure of the database and know clearly about the needs of the

organizations.

82

Second category of the Database users are the endusers, this group of users contains the people who use thedatabase application programs developed by the Applicationprogrammers.

This category further contains two types of users:

Naïve User

This category of users is that category who simply usethe application database programs created by theprogrammers.

83

2) End Users

Continued…

Sophisticated User

This type of users has some additional rights over

the Naïve users, which means that they can access the data

stored in the database any of their desired way. They can

access data using the application programs.

Moreover such users should be skilled enough to be

able to get data from database without damaging the data

in database.

84

Recommended Readings

Chapter 1 from: -

Database Systems-A Practical Approach to Design,

Implementation and Management by Thomas Connolly and

Carolyn BEGG, 4th Edition (Page No. 54-67)

Modern Database Management - 8th Edition by Jeffery A.

Hoffer, Prescott and McFadden (Page No. 34-62)

85

Summary of Lecture

86

Lecture 1➦

Database Definitions

Data & Information

Importance of Databases

Data Models

Flat File Vs Relational Database System

Introduction to File Processing Systems

Advantages of Database Approach

Database Users

END OF LECTURE 1

87