Database Management Systems - sabraz · 2016-03-01 · Database Management Systems Introduction to...
Transcript of Database Management Systems - sabraz · 2016-03-01 · Database Management Systems Introduction to...
HNDIT 1105
Database Management Systems
Introduction to the course and Lesson 01: Introduction to DBMS
By
S. Sabraz Nawaz
M.Sc. In IS (SLIIT), PGD in IS (SLIIT), BBA (Hons.) Spl. in IS (SEUSL),
MIEEE, MAIS
Senior Lecturer in MIT
Department of Management and IT, SEUSL
Module Aims & Objectives
• Develop fundamental skills required in planning, organizing,
and storage retrieval of information in computer systems and
skills required for managing / administrating small and mid-
range database systems.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Learning Outcomes
• At the end of the module the student will be able to:
o Describe the fundamental concepts in databases and data processing
o Analyze and systematically represent relationships in data records and perform data modeling Create, populate and manage relational databases in desktop and server environments
o Use query languages to populate, update and retrieve data from databases
o An introduction to data processing and databases Database management systems Data analysis and Data modeling (ER diagrams and conceptual modeling)
o Relational models and normalizations
o Creating databases using GUI tools Query Languages (Standard Query language)
o Introduction to database security
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Outline Syllabus
1. Introduction to DBMS.
2. Database model & Schema
3. Database Design ER model
4. Structure Query Language
5. Table normalization
6. Security concepts & introducing advanced database concepts
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Assessment Weight
Type Activity Weighting
Continuous Assessment Class assignments, Group activity, Team based activity and tutorials
50%
End of semester Examination
Structured exam paper 50%
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Resources: Equipment, Tools
and Materials• Equipment, Tools and Materials Computer lab with Internet
access, desktop database (such as MS Access or compatible)
Server with a SQL database (MSSQL Server or MySQL
Server) and management tools
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Prescribed Text
[1]. Ramez Elmasri and Shamkant B. Navathe, Fundamentals of
Database Systems, (6th Ed.), Addison-Wesley
[2]. Balter, Teach yourself Microsoft SQL Server 2005 Express in
24 Hours, Pearson Educatio
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Introduction
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Introduction
• A database management system (DBMS) is a collection of programs that enables users to create and maintain a database.
• The DBMS is a general-purpose software system that facilitates the processes of defining, constructing, manipulating, and sharingdatabases among various users and applications.
• Defining a database involves specifying the data types, structures, and constraints of the data to be stored in the database.
• The database definition or descriptive information is also stored by the DBMS in the form of a database catalog or dictionary; it is called meta-data. Constructing the database is the process of storing the data on some storage medium that is controlled by the DBMS.
• Manipulating a database includes functions such as querying the database to retrieve specific data, updating the database to reflect changes in the miniworld (aspect of the real world), and generating reports from the data. Sharing a database allows multiple users and programs to access the database simultaneously.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Introducing the Database
• What is a database? A database is a collection of related data
(University Database, Credit Card Processing Systems, Airline
Reservation Systems, Banking System, etc.)
• A database is a shared, integrated computer structure that
stores a collection of: End-user data, that is, raw facts of
interest to the end user.
• Efficient data management typically requires the use of a
computer database.
• Metadata, or data about data, through which the end-user data
are integrated and managed.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Role and Advantages
• The DBMS serves as the intermediary between the user and
the database. The database structure itself is stored as a
collection of files, and the only way to access the data in those
files is through the DBMS.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Role
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Role…
• The DBMS receives all application requests and translates
them into the complex operations required to fulfill those
requests. The DBMS hides much of the database’s internal
complexity from the application programs and users.
• The application program might be written by a programmer
using a programming language such as Visual Basic.NET,
Java, or C#, or it might be created through a DBMS utility
program.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Types of Databases
• A DBMS can support many different types of databases.
Databases can be classified according to the number of users,
the database location(s), and the expected type and extent of
use.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Types of Databases: Number of
Users • A single-user database supports only one user at a time. In
other words, if user A is using the database, users B and C must wait until user A is done. A single-user database that runs on a personal computer is called a desktop database.
• A multiuser database supports multiple users at the same time. When the multiuser database supports a relatively small number of users (usually fewer than 50) or a specific department within an organization, it is called a workgroup database.
• When the database is used by the entire organization and supports many users (more than 50, usually hundreds) across many departments, the database is known as an enterprise database.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Types of Databases: Location
• A database that supports data located at a single site is
called a centralized database.
• A database that supports data distributed across
several different sites is called a distributed
database.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Types of Databases: Time and
Usage• Based on how DBMS are used and on the time sensitivity of
the information gathered from them:
o Operational Database (Transactional or production
database)
o Data warehouse
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Types of Databases: Time and
Usage Operational Database• Transactions such as product or service sales, payments, and
supply purchases reflect critical day-to-day operations. Such
transactions must be recorded accurately and immediately
• A database that is designed primarily to support a company’s
day-to-day operations is classified as an operational database
(sometimes referred to as a transactional or production
database).
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Types of Databases: Time and
Usage data warehouse • A data warehouse focuses primarily on storing data used to
generate information required to make tactical or strategic decisions. Such decisions typically require extensive “data massaging” (data manipulation) to extract information to formulate pricing decisions, sales forecasts, market positioning, and so on.
• Most decision support data are based on data obtained from operational databases over time and stored in data warehouses. Additionally, the data warehouse can store data derived from many sources. To make it easier to retrieve such data, the data warehouse structure is quite different from that of an operational or transactional database.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Example of a database:
University DB
• University database maintaining information
concerning:
o Students
o Courses
oGrades
o and …
HNDIT 1105, DBMS By: S.Sabraz Nawaz
An example of a database that stores students and their grades of followed courses
STUDENT Name StudentNumber Class Major
Smith 17 1 CS
Brown 8 2 CS
COURSE CourseName CourseNumber CreditHouse Department
Intro to Computer Science CS 1310 4 CS
Data Structures CS 3320 4 CS
Discrete Mathematics MATH 2410 3 MATH
Database CS 3380 3 CS
GRADE_REPORT StudentNumber Sectionaldentifier Grade
17 112 B
17 119 C
8 85 A
8 92 A
8 102 B
8 135 A
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Example: University DB (cont…)
• It shows the database structure and a few sample data.
• It is organized as five files.
o The STUDENT file – data on each student,
o The COURSE file – data on each course,
o The GRADE_REPORT file – data on grades that students
receive in the various sections they have completed
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Activity 1
• Why would you choose a database system instead of simply
storing data in flat files (operating system files)? When would
it make sense not to use a database system?
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Organizing Data in a Traditional File
Environment
THE DATA HIERARCHYA computer system organizes data
in a hierarchy that starts with the bit, which represents either a 0 or a
1. Bits can be grouped to form a byte to represent one character,
number, or symbol. Bytes can be grouped to form a field, and related
fields can be grouped to form a record. Related records can be
collected to form a file, and related files can be organized into a
database.
MBA 51043 24
TRADITIONAL FILE PROCESSING
The use of a
traditional approach to
file processing
encourages each
functional area in a
corporation to develop
specialized
applications. Each
application requires a
unique data file that is
likely to be a subset of
the master file. These
subsets of the master
file lead to data
redundancy and
inconsistency,
processing inflexibility,
and wasted storage
resources.
MBA 51043 25
Problems with the Traditional
File Environment• Problems with the traditional file environment (files maintained
separately by different departments)
o Data redundancy:
• Presence of duplicate data in multiple files
o Data inconsistency:
• Same attribute has different values
o Program-data dependence:
• When changes in program requires changes to data accessed by program
o Lack of flexibility: e.g. can’t create ad hoc reports
o Poor security
o Lack of data sharing and availability
MBA 51043 26
How a DBMS Solves the Problems
of the Traditional File Environment
• If you have just one database that serves the entire organization, you
eliminate the islands of information.
o You reduce the chances of having redundant and inconsistent data because each
entity has only one record.
o You construct the data separate from the programs that will use them.
o The data are available to whoever needs them, in the form that works best for
the task at hand.
o Securing just one database is much easier than controlling access to multiple
databases.
MBA 51043 27
HUMAN RESOURCES DATABASE WITH
MULTIPLE VIEWS
A single human resources
database provides many
different views of data,
depending on the
information requirements
of the user.
Illustrated here are two
possible views, one of
interest to a benefits
specialist and one of
interest to a member of the
company’s payroll
department.
MBA 51043 28
Need for a DBMS
Traditional File System provided by the Operating System is
insufficient to meet the requirements of enterprise applications
Scenario:
A company has a large collection (500 GB) of data on database.
This data is accessed concurrently by several employees.
Questions about the data must be answered quickly, changes
made to the data by different users must be applied
consistently, and access to certain parts of the data must be
restricted.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
When NOT to use a DBMS
• High initial investment (DBMS is an expensive software package)
• Applications use small amounts of data
• Lack of resources (disk space, memory, etc.) to support a database
• Single-user applications
• Overhead for flexible querying, security, concurrent access & crash recovery is not required
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Advantages of using DBMSs
HNDIT 1105, DBMS
By: S.Sabraz Nawaz
DBMS: Advantages
• Having a DBMS between the end user’s applications and the
database offers some important advantages.
o First, the DBMS enables the data in the database to be shared among
multiple applications or users.
o Second, the DBMS integrates the many different users’ views of the
data into a single all-encompassing data repository.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages - Improved
data sharing• The DBMS helps create an environment in which end users
have better access to more and better-managed data. Such
access makes it possible for end users to respond quickly to
changes in their environment
• Concurrent accesses are scheduled by DBMS: users can think
of the data as being accessed by one user at a time
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages - Improved
data security• The more users access the data, the greater the risks of data
security breaches.
• Corporations invest considerable amounts of time, effort, and
money to ensure that corporate data are used properly.
• A DBMS provides a framework for better enforcement of data
privacy and security policies.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages - Better
data integration• Wider access to well-managed data promotes an integrated
view of the organization’s operations and a clearer view of the
big picture.
• It becomes much easier to see how actions in one segment of
the company affect other segments.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages -
Minimized data inconsistency• Data inconsistency exists when different versions of the same
data appear in different places.
• The probability of data inconsistency is greatly reduced in a
properly designed database.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages - Improved
data access• The DBMS makes it possible to produce quick answers to ad
hoc queries.
• From a database perspective, a query is a specific request
issued to the DBMS for data manipulation—for example, to
read or update the data.
• Simply put, a query is a question, and an ad hoc query is an
unpremeditated question. The DBMS sends back an answer
(called the query result set) to the application.
• Example?
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages - Improved
decision making• Better-managed data and improved data access make it
possible to generate better-quality information, on which better
decisions are based. The quality of the information generated
depends on the quality of the underlying data.
• Data quality is a comprehensive approach to promoting the
accuracy, validity, and timeliness of the data. While the DBMS
does not guarantee data quality, it provides a framework to
facilitate data quality initiatives.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages - Increased
end-user productivity• The availability of data, combined with the tools that
transform data into usable information, empowers end users to
make quick, informed decisions that can make the difference
between success and failure in the global economy.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
DBMS: Advantages- Reduced
Application Development Time
• DBMS supports many functions common to applications that
access the database
• These applications are likely to be more robust than
applications developed from scratch because many important
tasks are handled by DBMS instead of being implemented by
the application
• Note: The advantages of using a DBMS are not limited to the
few just listed. In fact, you will discover many more
advantages as you learn more about the technical details of
databases and their proper design.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Describing & Storing Data in a
DBMS• The user of a DBMS is ultimately concerned with some real-
world enterprise, and the data to be stored describes various aspects of this enterprise. For example, there are students, faculty, and courses in a university, and the data in a university database describes these entities and their relationships.
• A data model is a collection of high-level data description constructs used to model the application domain. It hides the low-level storage details.
• Most commercial database systems are based on the relational data model
• It is easier to use a semantic data model to model an application domain. A well-known semantic data model is the Entity Relationship (ER) Model
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Describing & Storing Data in a
DBMS (cont.…)• In relational data model, the main construct is a relation.
• A relation has fields that belong to it which contain the name & data type of each field
• A description of data in terms of a data model is called the schema.
o Every relation has a schema, which describes the name of the relation, name of each attribute (field or column), and the type of each column.
o e.g. Students(sid: string, name: string, login: string,
age: integer, gpa: real)
HNDIT 1105, DBMS By: S.Sabraz Nawaz
An example instance of the
Students relation
HNDIT 1105, DBMS By: S.Sabraz Nawaz
SID Name Login Age GPA
53666 SaNa [email protected] 36 3.7
53668 Kumar [email protected] 34 3.2
53670 Sanath [email protected] 44 3.8
Activity 2
• Describe the following data models1. Hierarchical model
2. Network model
3. Object oriented model
4. Object relational model
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a
DBMS• To illustrate the meaning of data abstraction, consider the example of automotive
design.
• A car designer begins by drawing the concept of the car that is to be produced. Next,
engineers design the details that help transfer the basic concept into a structure that can
be produced. Finally, the engineering drawings are translated into production
specifications to be used on the factory floor.
• As you can see, the process of producing the car begins at a high level of abstraction
and proceeds to an ever-increasing level of detail. The factory floor process cannot
proceed unless the engineering details are properly specified, and the engineering
details cannot exist without the basic conceptual framework created by the designer.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a
DBMS
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a
DBMS
• DBMS is described at four levels of abstraction:
o External Model
o Conceptual Model
o Internal Model
o Physical Model
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a DBMS:
External Model
• The external model is the end users’ view of the data environment. The term end users refers to people who use the application programs to manipulate the data and generate information. End users usually operate in an environment in which an application has a specific business unit focus.
• Companies are generally divided into several business units, such as sales, finance, and marketing. Each business unit is subject to specific constraints and requirements, and each one uses a data subset of the overall data in the organization.
• Therefore, end users working within those business units view their data subsets as separate from or external to other units within the organization.
• A specific representation of an external view is known as an external schema.
• Each external schema consists of a collection of one or more views and relations from the conceptual schema.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a DBMS:
Conceptual Model
• The conceptual model represents a global view of the entire database as
viewed by the entire organization. That is, the conceptual model integrates all
external views (entities, relationships, constraints, and processes) into a single
global view of the data in the enterprise.
• Also known as a conceptual schema, it is the basis for the identification and
high-level description of the main data objects (avoiding any database model–
specific details).
• The most widely used conceptual model is the ER model.
• Generally, the term logical design is used to refer to the task of creating a
conceptual data model that could be implemented in any DBMS.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
• Once a specific DBMS has been selected, the internal model maps the conceptual model
to the DBMS.
• The internal model is the representation of the database as “seen” by the DBMS. In
other words, the internal model requires the designer to match the conceptual model’s
characteristics and constraints to those of the selected implementation model.
• An internal schema depicts a specific representation of an internal model, using the
database constructs supported by the chosen database.
• Because the internal model depends on specific database software, it is said to be
software-dependent. Therefore, a change in the DBMS software requires that the
internal model be changed to fit the characteristics and requirements of the
implementation database model.
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a DBMS:
Internal Model
• The physical model describes the way data are saved on storage media such as disks or tapes. The
physical model requires the definition of both the physical storage devices and the (physical) access
methods required to reach the data within those storage devices, making it both software- and
hardware- dependent.
• The storage structures used are dependent on the software (the DBMS and the operating system) and
on the type of storage devices that the computer can handle.
o Describes storage details
o Summarizes how the relations described in the conceptual schema are actually stored on
secondary storage devices such as disks and tapes
o Decide what file organizations used to store the relations
o Create indexes to speed up data retrieval operations
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Levels of Abstraction in a DBMS:
Physical Model
How does a DBMS do all this?• DBMS is a complex software package and the major components of a
DBMS are shown
HNDIT 1105, DBMS By:
S.Sabraz Nawaz
Activity 3
• Explain the Structure or Architecture of a DBMS (e.g.: explain
how it processes a query).
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Queries In A DBMS
• With reference to a fictitious university database
1. What is the name of the student with student ID
SEU/IS/98/MG/16?
2. What is the average salary of lecturers who teach the
course with course ID MIT22033?
3. How many students are enrolled in course MIT22033?
4. Is there any student with a GPA less than 3.0 enrolled in
course CS564?
• These questions involving the data stored in a DBMS are
called queries
HNDIT 1105, DBMS By: S.Sabraz Nawaz
Reference:
Ramakrishnan, R., & Gehrke, J. (2003). Database management
systems. Osborne/McGraw-Hill. (Pp. 03– 23)
HNDIT 1105, DBMS By: S.Sabraz Nawaz