0% found this document useful (0 votes)
13 views45 pages

2 Slide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views45 pages

2 Slide

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

Fundamentals of Database Systems

(Database Development Life Cycle)

Lecturer: Abdul Wajid Fazil


[email protected]
[email protected]

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 1


Database Development Life Cycle
What is Database Development Life Cycle

The Database Development Life Cycle (DBLC) is a structured


approach to designing, implementing, and maintaining a
database system. It encompasses the processes and steps
involved in creating a database from the initial
conceptualization to ongoing maintenance and optimization.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 3


What is Requirements Analysis?

 Requirements analysis or requirements engineering is a


process used to determine the needs and expectations of
a new product. It involves frequent communication with
the stakeholders and end-users of the product to define
expectations, resolve conflicts, and document all the key
requirements.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 4


Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 5
Requirements Analysis Process
Step 1: Identify Key Stakeholders and
End-Users
 The first step of the requirements analysis process is to
identify key stakeholders who are the main sponsors of
the project. They will have the final say on what should
be included in the scope of the project.
 Next, identify the end-users of the product. Since the
product is intended to satisfy their needs, their inputs are
equally important.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 6


Requirements Analysis Process

Step 2: Capture Requirements


 Ask each of the stakeholders and end-users their
requirements for the new product. Here are some
requirements analysis techniques that you can use to
capture requirements:
1. Hold One-On-One Interviews
 Interview each stakeholder and end-user individually.
This technique will help you gather specific
requirements.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 7


Requirements Analysis Process
2. Use Focus Groups
 Conduct group interviews or group workshops to understand the
flow of information between different stakeholders and end-
users. This technique will ensure that there will be no conflict
of interest later on during the project.
3. Utilize Use Cases
 Use cases provide a walkthrough of the entire product through
the eyes of the end-user. This technique will help visualize how
the product will actually work.
4. Build Prototypes
 A prototype provides users a sample look and feel of the final
product. This technique will help address feasibility issues and
identify problems ahead of time.
Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 8
Requirements Analysis Process
Step 3: Categorize Requirements
 Since requirements can be of various types, they
should be grouped to avoid confusion.
Functional Requirements:
 Describes the specific functions and operations that
the database must perform.
 Examples include data entry, retrieval, update, and
deletion, as well as query processing and report
generation.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 9


Requirements Analysis Process
Non-functional Requirements:
 Encompasses aspects other than specific functionalities, focusing on
qualities such as performance, security, and usability.
 Includes requirements related to performance, scalability, reliability,
security, and usability.
Performance Requirements:
 Specifies criteria related to the speed, responsiveness, and efficiency
of the database.
 Covers aspects like response time, throughput, and concurrent user
support.
Security Requirements:
 Addresses measures to ensure the confidentiality, integrity, and availability of
the data.
 Includes access controls, authentication, encryption, and audit trail
requirements.
Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 10
Requirements Analysis Process
Usability Requirements:
 Focuses on the user-friendliness of the database system.
 Involves considerations such as user interfaces, navigation, and ease
of learning.
Compliance Requirements:
 Addresses adherence to legal, regulatory, and industry-specific
standards.
 Involves compliance with data protection laws, industry regulations,
and Specifies organizational policies.
Reliability and Availability Requirements:
 Specifies criteria for ensuring the reliability and continuous
availability of the database.
 Involves backup and recovery strategies, as well as measures to
minimize downtime.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 11


Requirements Analysis Process
Step 4: Interpret and Record Requirements
 Once the requirements are categorized, determine which
requirements are actually achievable and document each one
of them. Here are some techniques to analyze and interpret
requirements:
Define Requirements Precisely
 Ensure that the requirements are clearly worded, sufficiently
detailed, and related to business needs.
Prioritize Requirements
 Prioritize requirements and list them out based on which ones
are the “most critical” and which ones are just “nice-to-have”.
Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 12
Requirements Analysis Process
Carry Out an Impact Analysis
 Carry out an impact analysis to make sure that you fully
understand the consequences of the requirements.
Resolve Conflicts
 Arrange a meeting with key stakeholders and resolve
conflicting requirements. You can also perform a scenario
analysis to explore how the requirements would work for
different possible scenarios.
Analyze Feasibility
 Perform a detailed analysis of the product based on the
requirements gathered to determine its reliability and to
identify any major problems.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 13


Requirements Analysis Process
Step 5: Sign off
 Once a final decision is made on the requirements, ensure
that you get a signed agreement from the key
stakeholders. This is done to ensure that there are no
changes or uncontrolled growth in the scope of the
project.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 14


Logical design
 During the first part of Logical Design, a conceptual
model is created based on the needs assessment
performed in stage one.
 A conceptual model is typically an entity-relationship (ER)
diagram that shows the tables, fields, and primary keys of
the database, and how tables are related (linked) to one
another.
 The tables sketched in the ER diagram are
then normalized. The normalization process resolves any
problems associated with the database design, so that
data can be accessed quickly and efficiently.
Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 15
Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 16
Physical Design
 The Physical Design stage has only one purpose: to
maximize database efficiency. This means finding ways to
speed up the performance of the RDBMS.
 Manipulating certain database design elements can speed
up the two slowest operations in an RDBMS: retrieving
data from and writing data to a database.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 17


Implementation
 During the implementation stage of the DBLC, the tables
developed in the ER diagram (and subsequently
normalized) are converted into SQL statements.
 These SQL statements are then executed in the RDBMS to
create a database. By this stage in the database life
cycle, the System Administrator has installed and
configured an RDBMS.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 18


Monitoring, Modification, and Maintenance
 A successfully implemented database must be
carefully monitored to ensure that it is functioning
properly and that it is secure from unauthorized access.
The RDBMS usually provides utilities to help monitor
database functionality and security.
 Database modification involves adding and deleting
records, importing data from other systems (as needed),
and creating additional tables, user views, and other
objects and tools. As an organization grows,
its information system must grow to remain useful.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 19


An Example (cont'd.)
Database Designing is similar to below picture instruction
Database Applications

 Banking:
 For customer information, accounts, loans and banking transactions.

 Universities:
 For student information, course registrations, and grades.

 Sales:
 For customer, product, and purchase information.
 Airlines:
 For reservations and schedule information.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 22


Database Applications

 Credit card transactions:


 For purchases on credit cards and generation of monthly statements
“printed record of account activity”.
 Human resources:
 For information about employees, salaries, payroll taxes and benefits,
and for generation of pay checks “salary voucher”.
 Telecommunication:
 For keeping records of calls made, generating monthly bills, maintaining
balances on prepaid calling cards, and storing information about the
communication network.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 23


Database Applications

 Finance:
 For storing information about sales, and purchases of financial
instruments such as stocks and bonds.
 Manufacturing:
 For management of supply chain and for tracking production of items in
factories, inventories of items in warehouses/stores, and orders for items.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 24


Brainstorming Summary

 Databases play a critical role in almost


all areas in which computers are used!

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 25


Size & Complexity of a Database

 A database can be of any size and complexity


 Example for a small database:
 Personal DB with addresses with only a few hundred records (each with a
simple structure)
 Example for a large database:
 Amazon.com: with more than 20 million of books, CDs, eBooks,
magazines, journals and etc. In a DB with the size of 2 terabytes

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 26


Database Management Systems (DBMS)

 A Database Management System (DBMS) is a collection of


interrelated data and set of programs to access those data.
 The collection of data, usually referred to as the database, contains
information related to an enterprise.
 Is a collection of programs that enables users to create and
maintain a database.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 27


Database Management Systems (DBMS)

 DBMS fulfils different purposes:


 Defining : Specifying the data types, structures, and constraints for the
data to be stored in the database.
 Constructing : Process of storing the data itself on some storage medium
that is controlled by the DBMS.
 Manipulating : Adding, Updating, Deleting ….
 Sharing databases among various users and applications

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 28


DBMS

 MS Access
 MySQL (Open Source)
 SQL-Server (Microsoft)
 Oracle
 PostgreSQL
 FoxPro
 SQLite
 …
Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 29
Application Program

 An application program accesses the database by sending


queries or requests to the DBMS.
 A query (question, inquiry) is the interaction with the database, e.g.
retrieving or manipulating data.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 30


Database System

 The database, the DBMS software, and the application


program together are called a database system.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 31


Overview

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 32


Example of a Database System

 UNIVERSITY database
 Defining the database: we must specify the structure of the records of
each file by specifying the different types of data elements to be stored
in each record .
 Constructing the database: we store data to represent each student,
course, section, grade report, and prerequisite as a record in the
appropriate file
 Manipulating the database : Querying and updating

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 33


Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 34
Characteristics of the Database Approach

 A number of characteristics distinguish the database approach


from the traditional approach of programming with files :
 Self Describing nature of the database
 Database system contains not only the database itself but also a
complete definition or description of the database structure and
constraints. This definition is stored in the system catalog.
 The information stored in the catalog is called meta-data

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 35


Characteristics of the Database Approach

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 36


Characteristics of the Database Approach

 Data Abstraction
 Allows program-data independence and program-operation
independence
 Multiple Views of the Data
 Some users may not need to be aware of whether the data they refer
to is stored or derived
 One user of the database may be interested only in the transcript of
each student;
 A second user, who is interested only in checking that students have
taken all the prerequisites of each course they register for

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 37


Two views derived from the database in Figure (a) The TRANSCRIPT view. (b) The
COURSE_PREREQUISITES view.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 38


Characteristics of the Database Approach

 Sharing of Data and Multiuser Transaction Processing


 Concurrency Control to manage transactions
 A transaction is an executing program or process that includes one or
more database accesses, such as reading or updating of database
records

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 39


Actors on the scenes

 What roles do people take around a database system?


 Database Administrators
 Database Designers
 End Users
 Application Programmers (Software Engineers)

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 40


Actors on the scenes

 Database Administrators
 When the database is designed and implemented it is handed over to the
DB administrator
 person responsible for the DB during its lifetime
 management of user accounts, hardware resources, backups, etc.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 41


Actors on the scenes

 Database Designers
 The database designers conceptually design and implement the DB
 Analyze requirements for the DB
 Gathering of information about the application field
 Conceptual schema. (conceptual = of an idea or concept)
 Choice of DBMS

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 42


Actors on the scenes

 End Users
 The people who will use the DB when it is finished
 Normally little technical knowledge
 Use the DB

 Application Programmers
 Programmers that write programs that use the DB
 Programmers of a graphical user interface (GUI) for the database

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 43


Workers behind the scenes

 People who are working behind the database scenes are as:
 DBMS system designers and implementers
 Design and implement the DBMS modules and interfaces as a software
package.
 Tool developers
 Design and implement tools—the software packages that facilitate database
modelling and design, database system design, and improved performance.
 Operators and maintenance personnel
 Responsible for the actual running and maintenance of the hardware and
software environment for the database system.

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 44


Any Question??

Fundamentals of Database Systems Lecture 01 Summer 2023 5/27/2024 45

You might also like