Uploaded by prabhakar reddy

Database-Management-System

advertisement
WELCOME TO THIS COURSE – DATABASE MANAGEMENT SYSTEM
UNIT-I
DATABASE MANAGEMENT SYSTEM
DATA MODELING
RELATIONAL DATABASE MANAGEMENT SYSTEMS
UNIT-II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND
NORMALISATION
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
SQL: QUERIES AND SUBQUERIES
UNIT-III
DATABASE SECURITY AND INTEGRITY
DATABASE SECURITY AND INTEGRITY
DATABASE MANAGEMENT SYSTEM
UNIT I
CHAPTER I
DATABASE MANAGEMENT SYSTEM
DATABASE MANAGEMENT SYSTEM
UNIT I
Database Management System
•
•
A collection of programs that enables to store, modify, and extract information
from a database.
There are many different types of DBMSs, ranging from small systems that run
on personal computers to huge systems that run on mainframes.
Updating data
Extraction
of data
Database Management
System
Modification of data
Storing of data
UNIT I
Process of Database
DATABASE MANAGEMENT SYSTEM
DATABASE MANAGEMENT SYSTEM
UNIT I
Database Organisation
Database Organisation defines how and where the data are organised in physical
storage.
Phases of Database Organisation
•
•
•
External schema: Defines views of the database for individual user.
Conceptual schema : Describes the stored data structure, data types,
relationships, operations and constraints.
Internal schema : Defines how and where the data are organised in physical
storage.
Analyze
Design
Development
DATABASE MANAGEMENT SYSTEM
UNIT I
Major Components of Database
Basic
Components
Description
Commands used
•
DDL (Data
Definition
Language )
It is used to create
and destroy
databases and
database objects.
CREATE DATABASE (To create a
database): CREATE DATABASE <databasename> ;
• DROP DATABASE (To removes the
database) : DROP DATABASE <databasename> ;
• CREATE TABLE (To create tables) :
CREATE TABLE <table-name> ( ...);
• DROP TABLE (removes the table) : DROP
TABLE <table-name> ;
• ALTER TABLE (To ‘alter’ tables after the
creation of table) :
 ALTER TABLE <table-name> ADD <fieldname> <data-type>
 ALTER TABLE <table-name> DROP <fieldname>
 ALTER TABLE <table-name>
MODIFY <field-name> <new-fielddeclaration>
DATABASE MANAGEMENT SYSTEM
UNIT I
Major Components of Database
Basic
Components
DML (Data
Modified
Language )
Description Commands used
Modification
of data like
insert, select
and update
data.
• INSERT Statement (To get data into a database):
INSERT INTO <table-name>
(<column1>,<column2>,<column3>,...)
VALUES (<column-value1>,<columnvalue2>,<column-value3>);
• SELECT Statement (To select the statement in the
database): SELECT <column-list>
FROM <table-list>
WHERE <search-condition>
• UPDATE Statement (To update statement): UPDATE
<table-name> SET <column1> = <value1>, <column2>
= <value2>, ...
WHERE <criteria>
• DELETE Statement (To delete the statement): DELETE
FROM <table-name>
WHERE <criteria>
DATABASE MANAGEMENT SYSTEM
UNIT I
Advantages and Disadvantages of DBMS
Advantages
•
•
•
•
•
•
•
Redundancies and inconsistencies can be reduced
Better service to the Users
Flexibility of the system is improved
Cost of developing and maintaining systems is lower
Security can be improved
Enterprise requirements can be identified
Data model must be developed
Disadvantages
•
•
•
•
Increased Complexity and size
Specialised manpower and increased installation and management cost
Need for explicit backup and recovery
Confidentiality, Privacy and Security
CHAPTER II
DATA MODELING
DATA MODELING
UNIT I
Introduction of Data Modeling
•
•
•
Data modeling is used for representing entities of interest and their relationships in
the database.
Provide the way of structuring the data
Allow a set of manipulative operations like updating and retrieving the data from
the database
Types of
Data
Model
Ex: E-R
Model
Physical
Data
Model
Implementation
Data Model
High level
or
conceptual
Hierarchi
cal Data
Model
Network
Data
Model
Relationa
l Data
Model
Object –
Based
Data
Model
Semi
structured
Data
Model
Explain how
data stored on
disk and what
access
methods are
available
UNIT I
DATA MODELING
Conceptual Data Model
•
•
It describes the information used by an organisation.
The main advantage of Conceptual data model is that it is independent of
implementation details and understood by non technical background end-user.
Implementation Data Model
•
Implementation Data Model hide some data storage details from the user.
Some of the data models:
 Hierarchial data model:
i. It is a tree like structure having both child and parent node.
ii. Each child node can have only one parent node.
iii. It comprises of a set of records connected to one another through links.
 Network data model:
i. Data is represented by a collections of records, relationship among data are
represented by links.
ii. All nodes are link to each other without any hierarchy.
iii. It is organised in the form of graphs.
iv. It is quite complicated to handle.
UNIT I
DATA MODELING
Relational data model:
i. It does not contain any physical link.
ii. All data is maintained in the form of tables.
Object based data model:
i. It is the extension of relational data model.
ii. It combines the feature of both relational model and object oriented data model
Physical Data Model:
•
•
Physical Data Model describes the data in terms of collection of files, indices and other
storage structure.
It describes how the data is stored in disk and what access methods are available
DATABASE MANAGEMENT SYSTEM
UNIT II
CHAPTER III
INTRODUCTION TO RELATIONAL
DATABASE MANAGEMENT
SYSTEMS
UNIT II
INTRODUCTION TO RELATIONAL DATABASE MANAGEMENT SYSTEMS
Relational Database Management System
•
•
•
The data in RDBMS is stored in database objects called tables.
The database tables are the primary data storage for every RDBMS.
MS SQL Server, DB2, Oracle and MySQL are all Relational Database Management
Systems.
The Relational Data Structure
Data structures are composed of two components:
• ENTITY TYPES- i.e. data group types:
 Represented by relations and base table.
 A base table is loosely defined as an un-ordered collection of zero, one or more
tuples (rows).
 Each row of a table is uniquely identified by a PRIMARY KEY composed of one or
more columns.
 Superkey, primary key and candidate key are also applicable to the relational
model.
UNIT II
INTRODUCTION TO RELATIONAL DATABASE MANAGEMENT SYSTEMS
Key
•
A set of attributes constituting a key is a property of the relational schema.
•
A key is determined from the meaning of the attributes and the property.
•
A column, or group of columns, that uniquely identifies a row in a table is called
a CANDIDATE KEY.
•
The Candidate Key cannot contain NULL value and should always contain a
unique value.
•
Primary key is the candidate key in the relation whose values are used to
identify tuples.
UNIT II
INTRODUCTION TO RELATIONAL DATABASE MANAGEMENT SYSTEMS
Constraints
• Constraints are logic rules that are used to ensure data consistency.
• Major integrity constraints:
 Domain constraints: Value of each attribute must be atomic from the domain.
The major components of domain constrains:
a. Domain name
b. Meaning
c. Data type
d. Size or length
 Entity integrity constraints:
a. It states that no part of a primary key field can contain NULL value.
b. The primary key value is used to identify individual tuples in a relation.
c. Entity integrity constraints are specified on the individual relations.
 Referential integrity constraints:
a. Concept of relationships between tables, based on the definition of a primary key and
a foreign key.
b. Referential integrity is a mechanism which prevents accidental database corruptions
when doing inserts, updates, and deletes.
c. Referential constraint provide security to the database.
 Operational constraints: These constraints are used in an organisation for business
rules and policies.
UNIT II
INTRODUCTION TO RELATIONAL DATABASE MANAGEMENT SYSTEMS
Codd’s 12 Rules
Rule 1
The information rule
Rule 2
The guaranteed access rule
Rule 3
Rule 4
Rule 5
Rule 6
Rule7
Rule 8
Systematic treatment of null values
Active online catalogue based on the relational model
The comprehensive data sub-language rule
The view-updating rule
High-level insert, update, and delete
Physical data independence
UNIT II
INTRODUCTION TO RELATIONAL DATABASE MANAGEMENT SYSTEMS
Codd’s 12 Rules
Rule 8
The information rule
Rule 9
Logical data independence
Rule 10
Integrity independence
Rule 11
Distribution independence
Rule 12
The no subversion rule
CHAPTER IV
RELATIONAL DATABASE
MANAGEMENT SYSTEMS AND
NORMALISATION
UNIT II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND NORMALISATION
Relational Database Design
•
•
•
•
The main objective of logical data model is to create an accurate representation of data.
The Normalization technique is used to achieve the objective.
Four commonly used normal forms:
 First Normalization (1NF)
 Second Normalization (2NF)
 Third Normalization (3NF)
The main aim of relational database design is to group attributes into relation to minimize
the redundancy.
Process of Normalization
Un-Normalized Normal Form (UNF)
First Normal Form (1NF)
Second Normal Form (2NF)
Third Normal Form (3NF)
UNIT II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND NORMALISATION
Unnormalized Normal Form (UNF)
•
A table that contains one or more repeating groups
To create an unnormalized table
 Transform the data from the information source (e.g. form) into table format with
columns and rows.
Example: Un-normalized Student Table
UNIT II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND NORMALISATION
The requirements to satisfy the 1st NF:
•
•
•
Each table has a primary key: minimal set of attributes which can uniquely identify a
record
The values in each column of a table are atomic (No multi-value attributes allowed).
There are no repeating groups: two columns do not store similar information in the
same table.
Example: Normalized Student Table
UNIT II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND NORMALISATION
The requirements to satisfy the 2nd NF:
•
•
•
All requirements for 1st NF must be met.
Redundant data across multiple rows of a table must be moved to a separate table.
The resulting tables must be related to each other by use of foreign key.
Registration Table
Student Table
UNIT II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND NORMALISATION
The requirements to satisfy the 3rd NF:
•
•
All requirements for 2nd NF must be met.
Eliminate fields that do not depend on the primary key;
 That is, any field that is dependent not only on the primary key but also on
another field must be moved to another table.
Student Table
Registration Table
Advisor Table
UNIT II
RELATIONAL DATABASE MANAGEMENT SYSTEMS AND NORMALISATION
BCNF (Boyce-Codd Normal Form)
•
•
•
BCNF is based on the concept of a determinant.
A determinant is any attribute (simple or composite) on which some other attribute is fully
functionally dependent.
A relation is in BCNF is, and only if, every determinant is a candidate key.
Consider the following relation and determinants.
R(a,b,c,d)
a,c -> b,d
a,d -> b
Here, the first determinant suggests that the primary key of R could be changed from a,b to
a,c. If this change was done all of the non-key attributes present in R could still be
determined, and therefore this change is legal. However, the second determinant indicates
that a,d determines b, but a,d could not be the key of R as a,d does not determine all of the
non key attributes of R (it does not determine c).
CHAPTER V
DATABASE DESIGN AND ENTITYRELATIONSHIP MODELLING
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
UNIT II
Design Process
Data to be
stored
Superimpose a
logical structure
upon the data
Determine
relationship
between different
Data
Determining the
group of information
Determine the
relationship between
the groups
UNIT II
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
The Entity-Relationship Model
•
•
•
•
•
•
Entity-relationship model is a data modeling method used to model a system
An entity-relationship model (ERM) is a representation of structured data and entityrelationship
The end-product of the modeling process is an entity-relationship diagram (ERD)
The E-R (entity-relationship) data model views the real world as a set of basic objects
The first stage of information system design uses these models during the requirements
analysis.
An information system that is based on a database, the conceptual data model is,
mapped to a logical data model, such as the relational model
Notations of E-R Diagram
Symbol
Meaning
Entity
Weak Entity
Relationship
UNIT II
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
Components of an E-R Model
Major components of E-r Model:
People
Lives in
Names
UNIT II
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
Entities and Entity Sets
•
•
•
•
An entity may be concrete (a person or a book, for example) or abstract (like a holiday or
a concept).
Entity sets need not be disjoint. For example, the entity set employee (all employees of a
bank).
An entity has a name and is represented by a set of attributes. E.g. name, Cust_Id,
street, city for “customer” entity.
The domain of the attribute is the set of permitted values
Attributes
Every entity is described by a set of (attribute, data value) pairs.
Types of attributes:
• Simple and Composite Attributes: Attribute which is composed of a single component
with an independent existence is called the simple attribute.
• Single valued and multi-valued attribute: The attributes that hold a single value for a
single entity are single valued.Ex: an enrolment number attribute for the particular student
may refer to only one enrolment number
• Null Attributes : A null value is used when an entity does not have a value for an
attribute.
• Derived attributes: The value for this type of attribute can be derived from the values of
other related attributes or entities.
UNIT II
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
Entity-Relationship Diagram
Definition:
An entity-relationship (ER) diagram is a specialized graphic that illustrates the
interrelationships between entities in database.
Sample E-R Diagram
UNIT II
DATABASE DESIGN AND ENTITY-RELATIONSHIP MODELLING
Terms Associated with Entities:
Degree
• The degree of a relationship is the number of entities that participate in the
relationship.
• The degree is of three types:
 Unary Relationships
 Binary Relationships
 Ternary relationship
 Quaternary relationship
Cardinalities
• Cardinality expresses the number of entities to which another entity can be associated
via a relationship set.
• A cardinality is expressed with the help an crowsfoot symbol ( ) in ERD.
• The cardinality relationship must be one of the following points:
 One-to-one
 One-to-many
 Many-to-one
 Many-to-many
DATABASE MANAGEMENT SYSTEM
UNIT III
CHAPTER VI
SQL: QUERIES AND SUBQUERIES
UNIT III
SQL: QUERIES AND SUBQUERIES
SQL Data Types
Integer
It represents a signed integer, decimal or binary.
Smallint
It represents a signed integer, decimal or binary.
SMALLINT must not exceed that of INT.
Double Precision
Double-precision floating point number.
DATE
Stores year, month and day values.
Time
Store the hour, minute and second values.
Timestamp
Stores year, month, day, hour, minute, and second
values
UNIT III
SQL: QUERIES AND SUBQUERIES
Clauses in SQL
SQL Data Query Language (DQL):
DQL has only one data query statement whose syntax is SELECT.
Syntax
SELECT [ DISTINCT | ALL ]
column_expression1, column_expression2, ....
[ FROM from_clause ]
[ WHERE where_expression ]
[ GROUP BY expression1, expression2, .... ]
[ HAVING having_expression ]
[ ORDER BY order_column_expr1, order_column_expr2, .... ]
Example
SELECT name FROM s WHERE city=’Rome’
Where "s" is the name of the table
List of suppliers
Supplier
Location
Pierre
Paris
John
London
Mario
Rome
UNIT III
SQL: QUERIES AND SUBQUERIES
The FROM Clause
The FROM clause always follows the SELECT clause.
Example
SELECT * FROM s
Here the entire table s is selected.
SELECT supplier.name FROM s supplier
Here only the supplier name is selected.
ORDER BY Clause
It must be the last clause in the SELECT statement.
The ORDER BY clause defines the ordering of rows based on columns from the SELECT
clause.
The ORDER BY clause has the following general format:
• ORDER BY column-1 [ASC|DESC] [column-2 [ASC|DESC]]...
• ORDER BY sorts rows using the ordering columns in left-to-right, major-to-minor order.
SQL: QUERIES AND SUBQUERIES
UNIT III
Types of Functions
Basics types of functions:
Aggregate Functions
Scalar Functions
Aggregate Functions
Function
Description
AVG (column)
Returns the average value of a column
COUNTS (Column)
Returns the number of row (without a NULL value) of a column.
COUNT(*)
Returns the number of selected rows
MAX(column)
Returns the highest value of a column
MIN(column)
Returns the lowest value of a column
SUM(column)
Returns the total sum of a column
UNIT III
SQL: QUERIES AND SUBQUERIES
Scalar Functions
Scalar functions operate against a single value, and return a single value based on the input
value. The built in functions:
SUBSTRING (exp-1 FROM exp-2 [FOR exp-3])
Extracts a substring from a string - exp-1, beginning at the integer value exp-2, for the
length of the integer value - exp-3
TRIM([LEADING|TRAILING|BOTH] [FROM] exp-1)
TRIM([LEADING|TRAILING|BOTH] exp-2 FROM exp-1)
Trims leading, trailing or both characters from a string - exp-1.
Data Definition Language (DDL)
1. The DDL provides commands for defining relation schemas, deleting relation schemas and
modifying relation schemas
2. The syntax of the commands are CREATE, ALTER and DROP
Syntax for CREATE Table
CREATE TABLE "table_name"
("column 1" "data_type_for_column_1",
"column 2" "data_type_for_column_2",
... )
CHAPTER VII
DATABASE SECURITY AND
INTEGRITY
UNIT III
DATABASE SECURITY AND INTEGRITY
Introduction to Database Security
•
•
Database security is the system, processes, and procedures that protect a database
from unintended activity.
Database Security is a specialty within the much broader area of computer security.
Database Security Threats
Databases need to have level of security in order to protect the database against both
malicious and accidental threats.
Factors that drive the need for security
• Theft and fraud
• Confidentiality
• Integrity
• Privacy
• Database availability
UNIT III
DATABASE SECURITY AND INTEGRITY
Data Tampering
•
•
•
•
Data tampering is the deliberate destruction or manipulation of data.
The tampering may or may not be detected until some time in the future.
The tampering may or may not be detected until some time in the future.
Beyond controlling access, sensitive data should be encrypted using hashes and digital
signatures.
Data Theft and Eavesdropping
•
•
Some popular methods are Ecommerce, Password cracking and eavesdropping.
In eavesdropping the data sent on insecure lines can be wiretapped and recorded.
Password-Related Threats
•
•
•
They may also choose to standardize passwords so that they are the same on all
machines or web sites.
Users with complex passwords may write them down where an attacker can easily find
them .
They may also choose to standardize passwords so that they are the same on all
machines or web sites.
UNIT III
DATABASE SECURITY AND INTEGRITY
Data Security Requirements
Vulnerability Assessments
• A vulnerability assessment attempts to find vulnerability holes that could be used to
break into the database.
• Information security administrators run vulnerability scans on databases to discover
mis-configuration of controls.
• Database objects may include table or other objects listed in
the table link.
• Vulnerability assessment is a preliminary procedure to
determine risk where a compliance program is the process
of on-going risk assessment.
Monitoring of Database Protocol Traffic (SQL)
• Security layer includes the real-time monitoring of database
protocol traffic (SQL) over the network.
• When a network level audit system is not feasible a native
database audit program should be instituted.
• A Database Security program should include the regular
review of permissions granted to individually.
UNIT III
DATABASE SECURITY AND INTEGRITY
Authentication
•
•
Authentication is the act of verifying a claim of identity.
Strong authentication requires providing information from two of the three different types
of authentication information.
Integrity
•
•
Integrity means that data should be protected from deletion and corruption.
Referential Integrity is the ability to maintain valid relationships between values in the
database.
Availability
There are number of aspects in system availability:
• Resistance: User profiles must be in place to define and limit the
resources any given user may consume
• Scalability: System performance must remain adequate regardless
of the number of users or processes
• Flexibility: Administrators must have adequate means of
managing the user population
• Ease-of-use: Availability of valid user to get the work done
CHAPTER VIII
DATABASE SECURITY AND
INTEGRITY
UNIT III
STRUCTURE, COMPONENTS, FUNCTIONS AND IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM
Introduction
•
•
The function of DBMS are supported by Operating System to provide basic
services.
The physical data and system catalog are stored on a physical disk.
Execution Steps of Operating System
User issue a query
Passing the query to the
query optimizer and the
DBMS accepts the user
DBMS produces the query
evolution plan
DBMS executes the plan
UNIT III
STRUCTURE, COMPONENTS, FUNCTIONS AND IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM
Components of DBMS
Major software modules or components of DBMS are as follows:
• Query processor
•
Run time database manager
•
DML processor
•
DDL processor
Query Processor
•
•
•
The query processor transforms user queries into series of low level instructions.
It is used to interpret the online user query and convert it into an efficient query.
Query processor use the data dictionary to find the structure of relevant portion.
Runtime Database Manager
•
•
•
It handles database during runtime.
The run time data manager then places a call to the physical database to perform the
request.
Major components of runtime database managers are authorisation control, command
processor and query optimizer.
UNIT III
STRUCTURE, COMPONENTS, FUNCTIONS AND IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM
DML Processor
•
•
DML processor converts the DML statements into standard function calls in the host
language.
The DML compiler converts the DML statements written in host programming
language into object code for database access.
DDL Processor
•
•
•
•
The DDL processor converts the DDL statements into a set of tables containing
metadata.
These tables are then stored in the system catalog while control information is stored
in data file headers.
The DDL compiler processes schema definitions, specified in the ddl and stores
description of the schema.
The system catalog includes information such as the names of data files, data items,
storage details.
UNIT III
STRUCTURE, COMPONENTS, FUNCTIONS AND IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM
Functions of DBMS
•
•
•
•
•
•
•
•
Data Storage Management
Data Manipulation Management
Data Definition Services
Data Dictionary/System Catalog Management
Database Communication Interfaces
Backup and Recovery Management
Data Independence Services
Transaction Management
Types of DBMS
Types of DBMS
Centralised DBMS
Distributed DBMS
Client/Server DBMS
UNIT III
STRUCTURE, COMPONENTS, FUNCTIONS AND IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM
Centralized Database System
The centralised database system consists of a single processor together with its associated
data storage and other peripherals.
Distributed Database Systems
•
•
A distributed database is a database that is under the control of a central database
management system (DBMS) in which storage devices are not all attached to a common
CPU.
It may be stored in multiple computers located in the same physical location, or may be
dispersed over a network of interconnected computers.
UNIT III
STRUCTURE, COMPONENTS, FUNCTIONS AND IMPLEMENTATION OF DATABASE MANAGEMENT SYSTEM
Client/Server Database System
•
•
•
In client/server architecture the client is generally a desktop PC whereas the server can
be a large workstation.
The applications and tools of the DBMS run on one or more client platforms.
The server computer is called a backend and the client’s computer is called the
frontend.
Download