0% found this document useful (0 votes)
2 views

DBMS - Unit 1

The document provides an overview of Database Management Systems (DBMS), detailing their purpose, applications, and components like schemas and data dictionaries. It discusses various database models, including relational and entity-relationship models, as well as the roles of database users and administrators. Additionally, it covers database languages such as SQL, types of database schemas, and constraints used in database design.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

DBMS - Unit 1

The document provides an overview of Database Management Systems (DBMS), detailing their purpose, applications, and components like schemas and data dictionaries. It discusses various database models, including relational and entity-relationship models, as well as the roles of database users and administrators. Additionally, it covers database languages such as SQL, types of database schemas, and constraints used in database design.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 67

DATABASE MANGEMENT

SYSTEMS
Unit-1: Introduction to DBMS
Introduction to DBMS
● Collection of interrelated data
● Set of programs to access the data
● DBMS contains information about a
particular enterprise
● DBMS provides an environment that is both
convenient and efficient to use.
Database-System Applications
•Enterprise Information
Sales, Accounting, Human Resources, Manufacturing, Online
Retailers

•Banking and Finance


Banking, Credit card transactions, Finance

•Universities
Students Information, Course Registration , Grades

•Airlines
Reservation, Flight Schedule

•Telecommunication
Monthly Bills, Customer Information, Pre Paid Call Records,
Recorded calls
DBMS

• DBMS(Database Management System)


 Database Management System is basically software that
manages the collection of related data.
 It is used for storing data and retrieving the data effectively
when it is needed.
 It also provides proper security measures for protecting the
data from unauthorized access.
 In Database Management System the data can be fetched by
SQL queries and relational algebra.
 It also provides mechanisms for data recovery and data
backup.
DBMS
• .
Purpose of Database System
● In the early days, database applications were built on top of file
systems
● Drawbacks of using file systems to store data:
● Data redundancy and inconsistency
● Multiple file formats, duplication of information in different files
● Difficulty in accessing data
● Need to write a new program to carry out each new task
● Data isolation — multiple files and formats
● Integrity problems
● Integrity constraints (e.g. account balance > 0) become part of
program code
● Hard to add new constraints or change existing ones
Purpose of Database Systems (Cont.)
● Drawbacks of using file systems (cont.)
● Atomicity of updates
● Failures may leave database in an inconsistent state with partial
updates carried out
● E.g. transfer of funds from one account to another should either
complete or not happen at all
● Concurrent access by multiple users
● Concurrent accessed needed for performance
● Uncontrolled concurrent accesses can lead to inconsistencies
– E.g. two people reading a balance and updating it at the same
time
● Security problems
● Database systems offer solutions to all the above problems
Database isolation

Database isolation refers to the ability of a database to allow
a transaction to execute as if there are no other concurrently
running transactions (even though in reality there can be a
large number of concurrently running transactions)
Data Dictionary
 A data dictionary in Database Management System
(DBMS) can be defined as a component that stores the
collection of names, definitions, and attributes for data
elements that are being used in a database.
 The Data Dictionary stores metadata, i.e., data about the
database.
Database Users
Users are differentiated by the way they expect to interact
with the system
● Application programmers – interact with system through
DML calls
● Sophisticated users – form requests in a database query
language
● Specialized users – write specialized database applications
that do not fit into the traditional data processing framework
● Naïve users – invoke one of the permanent application
programs that have been written previously
● E.g. people accessing database over the web, bank tellers, clerical
staff
Database Administrator
● Coordinates all the activities of the database system; the
database administrator has a good understanding of the
enterprise’s information resources and needs.
● Database administrator's duties include:
● Schema definition
● Storage structure and access method definition
● Schema and physical organization modification
● Granting user authority to access the database
● Specifying integrity constraints
● Acting as liaison with users
● Monitoring performance and responding to changes in
requirements
Instances and Schemas
● Similar to types and variables in programming languages
● Schema – the logical structure of the database
● e.g., the database consists of information about a set of customers and
accounts and the relationship between them)
● Analogous to type information of a variable in a program
● Physical schema: database design at the physical level
● Logical schema: database design at the logical level
● Instance – the actual content of the database at a particular point in time
● Analogous to the value of a variable
● Physical Data Independence – the ability to modify the physical schema
without changing the logical schema
● Applications depend on the logical schema
● In general, the interfaces between the various levels and components
should be well defined so that changes in some parts do not seriously
influence others.
View of Data
∙ An architecture for a database
system
Levels of Abstraction
● Physical level describes how a record (e.g., customer) is stored.

● Logical level describes data stored in database, and the


relationships among the data.
type customer = record
name : string;
street :
string; city
: integer;
end;

● View level: application programs hide details of data types.


Views can also hide information (e.g., salary) for security
purposes.
Database Language
• Data Definition Language (DDL)
• Data Manipulation Language (DML)

Data Definition Language (DDL)


● Specification notation for defining the database schema
● E.g.
create table account (
account- char(10),
number integer)
balance
● DDL compiler generates a set of tables stored
in a data dictionary
● Data dictionary contains metadata (i.e., data about data)
● database schema
● Data storage and definition language
● language in which the storage structure and access
methods used by the database system are specified
Data Manipulation Language (DML)
● Language for accessing and manipulating the data organized
by the appropriate data model
● DML also known as query language
● Two classes of languages
● Procedural – user specifies what data is required and how to get those
data
● Nonprocedural – user specifies what data is required without
specifying how to get those data
● SQL is the most widely used query language
Structured Query Language(SQL)
● SQL: widely used non-procedural language
● E.g. find the name of the customer with customer-id 192-83-7465

select customer.customer-name
from customer
where customer.customer-id = ‘192-83-7465’
● E.g. find the balances of all accounts held by the customer
with customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer-id = ‘192-83-7465’ and
depositor.account-number = account.account-number
● Application programs generally access databases through one of
● Language extensions to allow embedded SQL
● Application program interface (e.g. ODBC/JDBC) which allow SQL
queries to be sent to a database
Data Models
● A collection of tools for describing
● data
● data relationships
● data semantics
● data constraints
● Entity-Relationship model
● Relational model
● Other models:
● object-oriented model
● semi-structured data models
● Older models: network model and hierarchical model
Entity-Relationship
Model
Example of schema in the entity-relationship model
Entity Relationship Model (Cont.)
● E-R model of real world
● Entities (objects)
● E.g. customers, accounts, bank branch
● Relationships between entities
● E.g. Account A-101 is held by customer Johnson
● Relationship set depositor associates customers with
accounts
● Widely used for database design
● Database design in E-R model usually converted to
design in the relational model (coming up next) which is
used for storage and processing
Relational
Model
● Example of tabular data in the relational model
Attributes

customer- customer- customer- account-


Customer-id street city number
name

192-83-7465 Johnson Alma Palo Alto A-101

019-28-3746 Smith
North Rye A-215

192-83-7465 Johnson
Alma Palo Alto A-201

321-12-3123 Jones
Main Harrison A-217

019-28-3746 Smith
North Rye A-201
A Sample Relational
Database
Relational Model
• primary data model for commercial data processing applications.
• Simplicity
• Collection of tables

Structure of Relational Databases

The instructor relation.


Structure of Relational Databases (cont.)

The course relation.


Database Schemas
• What is Schema?
• The Skeleton of the database is created by the attributes and
this skeleton is named Schema.
• Schema mentions the logical constraints like table, primary key,
etc.
• The schema does not represent the data type of the attributes.
• Example:
Database schema: Details of a
customer
Database Schema
• Database Schema
• A database schema is a logical representation of
data that shows how the data in a database should be stored
logically. It shows how the data is organized and the
relationship between the tables.
• Database schema contains table, field, views and relation
between different keys like primary key, foreign key.
• Data are stored in the form of files which is unstructured in
nature which makes accessing the data difficult. Thus to
resolve the issue the data are organized in structured way
with the help of database schema.
Cont..

• Database schema provides the organization of data and


the relationship between the stored data.
• Database schema defines a set of guidelines that
control the database along with that it provides
information about the way of accessing and modifying
the data.
Types of Database Schemas
• There are 3 types of database schema:
• Physical Database Schema
• A Physical schema defines, how the data or
information is stored physically in the storage systems
in the form of files & indices.
• This is the actual code or syntax needed to create the
structure of a database, we can say that when we
design a database at a physical level, it’s called physical
schema.
• The Database administrator chooses where and how to
store the data in the different blocks of storage
Logical Database Schema
• Logical Database Schema
• A logical database schema defines all the logical
constraints that need to be applied to the
stored data, and also describes tables, views,
entity relationships, and integrity constraints.
• The Logical schema describes how the data is
stored in the form of tables & how the
attributes of a table are connected.
• Using ER modelling the relationship between
the components of the data is maintained.
• In logical schema different integrity constraints
are defined in order to maintain the quality of
insertion and update the data.
View Database Schema

• View Database Schema


• It is a view level design which is able to define the interaction
between end-user and database.
• User is able to interact with the database with the help of the
interface without knowing much about the stored mechanism of
data in database.
Three Layer Schema Design
Creating Database Schema
• Creating Database Schema
• For creating a schema, the statement “CREATE SCHEMA” is
used in every database. But different databases have different
meanings for this. Below we’ll be looking at some statements
for creating a database schema in different database systems:
Creating Database schema:
• 1. MySQL: In MySQL, we use the “CREATE SCHEMA”
statement for creating the database, because, in MySQL
CREATE SCHEMA and CREATE DATABASE, both statements are
similar.
• 2. SQL Server: In SQL Server, we use the “CREATE SCHEMA”
statement for creating a new schema.
• 3. Oracle Database: In Oracle Database, we use “CREATE
USER” for creating a new schema, because in the Oracle
database, a schema is already created with each database
user.
• The statement “CREATE SCHEMA” does not create a schema,
instead, it populates the schema with tables & views and also
allows one to access those objects without needing multiple
SQL statements for multiple transactions.
Database Schema Designs
• There are many ways to structure a database, and we should use
the best-suited schema design for creating our database because
ineffective schema designs are difficult to manage & consume
extra memory and resources.
• Schema design mostly depends on the application’s requirements.
Here we have some effective schema designs to create our
applications, let’s take a look at the schema designs:
• Flat Model
• Hierarchical Model
• Network Model
• Relational Model
• Star Schema
• Snowflake Schema
Flat Model
Flat Model
• A flat model schema is a 2-D array in which every column contains
the same type of data/information and the elements with rows are
related to each other. It is just like a table or a spreadsheet. This
schema is better for small applications that do not contain complex
data.
Hierarchical Model

• Hierarchical Model
• Data is arranged using parent-child relationships and a tree-like structure
in the Hierarchical Database Model. Because each record consists of
several children and one parent, it can be used to illustrate one-to-many
relationships in diagrams such as organizational charts. Although
obvious, it might not be as adaptable in complicated partnerships.
Network Model
• Network Model
• The network model and the hierarchical model are quite similar with
an important difference that is related to data relationships. The
network model allows many-to-many relationships whereas
hierarchical models allow one-to-many relationships.
Relational Model

• Relational Model
• The relational model is mainly used for relational
databases, where the data is stored as relations
of the table. This relational model schema is
better for object-oriented programming.
Relational Model
Difference between Logical and Physical
Database Schema

Physical Schema Logical Schema

Logical schema provides the conceptual view


Physical schema describes the way of storage of
that defines the relationship between the data
data in the disk.
entities.

Having Low level of abstraction. Having a high level of abstraction.

The design of a database must work with a


The design of database is independent to any
specific database management system or
database management system.
hardware platform.

Changes in Physical schema effects the logical Any changes made in logical schema have
schema minimal effect in the physical schema

Physical schema does not include attributes. Logical schema includes attributes.

Physical schema contains the attributes and their Logical schema does not contain any attributes
data types. or data types.

Examples: Data definition language(DDL), Examples: Entity Relationship diagram, Unified


storage structures, indexes. Modeling Language, class diagram.
Database
Schema
• Database Schema Vs Database Instance
• Relation Schema

The department relation.


• department (dept name, building, budget)
Database Schema
(cont.)

section (course id, sec id, semester, year,
building, room number, time slot id)

The section relation.


Database Schema
(cont.)
•teaches (ID, course id, sec id, semester, year)

The teaches relation.


Database Schema
(cont.)
• student (sid, sname, dept_name, tot_cred)
• mentor (sid, fid)
• registration (sid, course_id, sec_id, semester, year, grade)
• classroom (building, room_number, capacity)
• timetable (tt_id, day, start_time, end_time)
Types of Constraints (Keys)
 Primary key
 Foreign key
 Default
 Check
 Not NULL
 Unique

Primary Key: A primary key is a key by which we can uniquely identifies


each row of the table and prevents NULL values. A table can have only one
primary key constraint.
Foreign Key: A foreign key is a key by which we can refers the columns of
the another table. A table can have any number of foreign key constraint.
When a foreign key refers the columns of the same table then it is called self
referencing foreign key
Default Value: The default value specified will be used when you do not
specify any value for the column while inserting data. If a default value is
not explicitly set, the default for the column is implicitly set to NULL.
Types of Constraints (cont.)

NOT NULL: Prevents NULL values from being entered into the column.
These types of constraints are defined on a single column. By default, Oracle
allows NULL values in any column. A NOT NULL constraint is defined at
the column level; it cannot be defined at the table level.

CHECK: Ensures that the value in a column meets a specific condition

UNIQUE: Any unique column will not allow duplicate values to be present
in it. However there can be two or more than two NULL in the unique
column (because Null is not equal to Null).
Schema
Diagrams
• A database schema, along with primary key and foreign key
dependencies, can be depicted by schema diagrams.

Schema diagram for the university database.


Schema
Diagrams(cont.)
classroom(building, room number, capacity)
department(dept name, building, budget)
course(course id, title, dept name, credits)
instructor(ID, name, dept name, salary)
section(course id, sec id, semester, year, building, room number,
time slot id)
teaches(ID, course id, sec id, semester, year)
student(ID, name, dept name, tot cred)
takes(ID, course id, sec id, semester, year,
grade)
advisor(s ID, i ID)
time slot(time slot id, day, start time, end time)
prereq(course id, prereq id)

Schema of the university database.


Relational Query
Languages
• Query Language :In which a user requests information
from the database. These languages are usually on a level
higher than that of a standard programming language.
• Procedural Language: the user instructs the system to
perform a sequence of operations on the database to
compute the desired result.
• Nonprocedural Language: the user describes the desired
information without giving a specific procedure for
obtaining that information.
Relational
Operations
• All procedural relational query languages provide a set of
operations that can be applied to either a single relation or a pair
of relations.
• The relational algebra defines a set of operations on relations,
paralleling the usual algebraic operations such as addition,
subtraction or multiplication, which operate on numbers.
Overview of the Design Process
• The task of creating a database application is a complex one,
involving design of the database schema, design of the
programs that access and update the data, and design of a
security scheme to control access to data.
• Design Phases
✔ Initial Phase
✔ Conceptual Design Phase
✔ specification of functional requirements
✔ Logical and Physical Design Phase
• Design Alternatives
✔ E-R Diagram
✔ Avoid Major Drawbacks: Redundancy &
Incompleteness
The Entity-Relationship Model

• The E-R model is very useful in mapping the


meanings and interactions of real-world enterprises
onto a conceptual schema.
• Many database-design tools draw on concepts
from the E-R model.
• The E-R data model employs three basic concepts:
entity sets, relationship sets, and attributes
Entity
Sets
● A database can be modeled as:
● a collection of entities,
● relationship among entities.
● An entity is an object that exists and is
distinguishable from other objects.
●Example: specific person, company, event,
plant
● Entities have attributes
● Example: people have names and addresses

● An entity set is a set of entities of the same type that


share the same properties.
● Example: set of all persons, companies, trees, holidays
Entity Sets: customer and loan
customer-id customer- customer- customer- loan-
name amount
street city number
Attribute
s
● An entity is represented by a set of attributes, that is descriptive
properties possessed by all members of an entity set.
Example:
customer = (customer-id, customer-name,
customer-street, customer-city)

loan = (loan-number, amount)

● Domain – the set of permitted values for each attribute


● Attribute types:
● Simple and composite attributes.
● Single-valued and multi-valued attributes
●E.g. multivalued attribute: phone-numbers
● Derived attributes
● Can be computed from other attributes
● E.g. age, given date of birth
Composite
Attributes
Relationship
Sets
● A relationship is an association among several entities.
Example:
Hayes depositor A-102
customer entity relationship set account entity

● A relationship set is a mathematical relation among


n ≥ 2 entities, each taken from entity sets
{(e1, e2, … en) | e1 ∈ E1, e2 ∈ E2, …, en ∈ En}

where (e1, e2, …, en) is a relationship


● Example:
(Hayes, A-102) ∈ depositor
Relationship Set
borrower
Relationship Sets
(Cont.)
● An attribute can also be property of a relationship set.
● For instance, the depositor relationship set between entity sets
customer and account may have the attribute access-date.
Steps in ER Modeling

1. Identify the Entities


2. Find relationships
3. Identify the key attributes for every Entity
4. Identify other relevant attributes
5. Draw Complete E-R diagram with all attributes
including Primary key
6. Review results with Business users.
For Example:
ER Model for a College/University Database
Department_Name Location

DEPARTMENT

Offers Handed Has


by

Course_ID

COURSE Is taught by FACULTY


Credits

Faculty_ID Room_No
Course_Name Duration

Faculty_Name
Enrolled Phone_No
by

Gender

STUDENT DoB

Student_ID
Student_Name
THANK
YOU

You might also like