rdbms concepts
DESCRIPTION
Course Objectives:To provide an overview of the basic RDBMS Concepts.To provide an insight into the architecture and components of a Database System.TRANSCRIPT
© Tata Consultancy Services ltd. April 8, 2023 1
RDBMS Concepts
2
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Course Prerequisites
A basic understanding of SQL in Oracle Understanding of a procedural language
3
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
To provide an overview of the basic RDBMS Concepts
To provide an insight into the architecture and components of a Database System.
Course Objectives
4
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Session Outline
RDBMS : Description Evolution of the Database Model Entity Relationship Model Integrity Rules Normalization Integrity Rules ER Diagrams ER Model Relational Algebra Operators Relational Database
5
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
RDBMS Concepts Evolution of the database model Approaches to Data Management
File Based Systems DBMS
The Entity Relationship Model Normalization Relational Algebra Codd ’s Rules ORDBMS
!
6
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Needs of Computerized Systems
Management of
Data that needs to be stored
Business functions that need to be performed
!
7
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Evolution of the Database ModelFiles based system
1970 1985 1990 19951975 1980 2000
Hierarchical DBMS
Network DBMS
Relational DBMS
Distributed DBMS
Object Oriented
DBMS
Object Relational DBMS
!
8
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
File-Based SystemsDrawbacks:
Data redundancy and inconsistency
Poor handling of unanticipated queries
Concurrent access anomalies
Security problems
Integrity problems
Application dependent on
Storage structure of data
Access strategy of data
!@
9
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
File-Based Systems
Checking A/c
Application
Checking A/c
Data file(s)
Loan InstallmentApplication
LoanInstallmentData file(s)
Savings A/c
Application
Savings A/c
Data file(s)
!
10
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
CheckingA/c
Application
(All Data)Data Base
SavingsA/c
Application
LoanInstallmentApplication
DatabaseManagement
System(DBMS)
Any NewApplication
- Integrated- Shared
Database Management SystemsA database is a collection of stored operational data used by application systems of a particular enterprise
!@
11
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Database Management SystemsFunctions:
Data Definition Data Manipulation
Planned Unplanned
Data Security & Integrity Data Recovery & Concurrency Data Dictionary Maintenance Performance
!
12
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Database Management Systems
Physical/ InternalHow the data is stored
[ DATA FILES ]
Conceptual/ LogicalWhat data and How it is organized logically
[ TABLE SPACE, SEGMENTS ]
User/ ExternalWhat the user sees
[ TABLES, VIEWS … ]
3-Level DBMS Architecture
!
13
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Database Management SystemsAdvantages:
Minimal Data Redundancy
Data Consistency
Data Integration
Data Sharing
Enforcement of Standards
Application Development Ease
Better Controls
Data Independence
!
14
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
The Entity Relationship Model
The Entity-Relationship data model is based on a perception of the real world which consists of basic objects called entities and relationships among these objects.
!@
15
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
The Entity Relationship Model
Entity
Attribute
Domain
Relation
Cardinality
Key
Constraint
!
16
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: EntityEntity: Is an object that exists, and is distinguishable from other objects, and about
which data needs to be stored in the system Maybe concrete (person, book) or abstract (holiday, concept)
Hint: Identified by nouns Entity Set is a set of entities of the same type
eg: A set of all persons who are allowed to issue books at the library can be defined as entity set Member.
!
17
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: Attribute and DomainAttribute: (Characteristics) Is a feature which qualifies an entity, and about which data needs to be
stored Maybe concrete (name, identity number) or abstract (status)
eg: A Member has a Member ID, Name, Address
A Book has a Book ID, Name, Author
Domain: (Data Type + Format + Validation) Each attribute has a set of permitted values, called the domain of that
attribute
eg: Status can have any one of these values at a time:
Issued, Available, Lost
!
18
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: RelationshipRelationship: Is an association among several entities, and about which data needs to
be storedeg: A Member requests books from the library
Hint: Identified by Verbs
A relationship set is a set of relationships of the same type
May have descriptive attributes
!
19
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: RelationshipCardinality: Expresses the number of instances of the entity to which another entity can be
associated via a relation. Types:
One to One A copy of a Book can be issued by only one Member at a time
One to Many A Member can issue many Books
Many to Many An author can write many books, and a book can be written by many
authors
!
20
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: KeyKey:
A key is an attribute or set of attributes of an entity which can be used to identify it.
Super Key is a set of one or more attributes which, taken collectively, allows an
entity to be uniquely identified in an entity set Candidate Key
is a super key for which no proper subset is a super key (i.e., a minimal super key)
Primary Key is a candidate key chosen by the database designer as the principle
means of identifying entities within an entity set
!
21
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: KeyKey:
Alternate Key is a candidate key that is not a primary key
Foreign Key is an attribute or set of attributes that exist in one entity and
reference similar attribute(s) in another entity wherein they serve as a primary key
!
22
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: ConstraintsConstraints:
Key Constraints:These are constraints implied by the existence of candidate keys. The table definition includes a specification implying uniqueness of the attributes constituting the primary key or alternate keys. A primary key constraint also implies a no-nulls constraint.
Referential Constraints:Constraints implied by the existence of foreign keys in the table definition.
Other Constraints:Constraints enforcing checks of business logic of the application in the table definition.
!
23
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: Example
Cheques
# Chq No* Cust No.* Amount* Date* Amount* To name0 Comments
# primary key
* mandatory
0 optional
OptionalMandatory
Only oneMany
Cust Account
# Customer No.# Account Type# Account No.* Date opened* Balance0 Last Activity
Has/ Issued from
Legend:
ER Diagram for:Cheques are issued from Customer Account
!@
24
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
ER Model: Example Entity - Cust Account
Attribute - Account No, Date Opened ...
Domain - Date Opened should be valid date
Relation - Cheques are “issued from” Cust account.
Cardinality - Many cheques can be written from the same account
Key - Cheque No. is a Primary Key
Constraint - Amount should be not NULL
!
25
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Reducing ER diagrams to Tables
The database should conform to the E-R diagram Each entity should have a table Each table will have as many columns as the number of attributes of the
entity (which are unique in the table) Attributes should conform to their domain characteristics Constraints on attributes can be represented as check constraints, not null
or unique constraints Relationships between entities on should be represented as referential key
constraints or tables
!@
26
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Reducing ER diagrams to Tables
Tuple:
A row in a table is referred to as a tuple (rhymes with ‘couple’)Example: An instance of a Book - (1, ‘Backup and Recovery’, ‘Rama
Velpuri’)
Properties of Relationships: No duplicate tuples Tuples are unordered Attributes are unordered Attribute values are atomic (cannot be decomposed)
!
27
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Integrity Rules
Integrity Rules:
No component of the Primary Key can be null The database must not contain any unmatched foreign key values Issues to consider at design time:
Can the foreign key accept nulls What to do in case of deletes/updates of parent
restrict cascade nullify
!@
28
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Normalization
Normalization: A relation is said to be in normal form if it satisfies a set of constraints
Universe of relations (normalized and unnormalized)
1NF relations (normalized relations)
2NF relations3NF relations
BCNF (Boyce Codd) relations4NF relations
PJ/ NF (5NF Projection Join) relations
!@
29
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Normalization
FIRST Normal form (1NF) if it contains atomic values only
SECOND Normal form (2NF) if it is in 1NF and every non-key attribute is dependent on the primary
key
THIRD Normal form (3NF) if it is in 2NF and every non-key attribute is non-transitively
dependent on the primary key
!@
30
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Normalization
Functional Dependency Unique value of one attribute can always be determined if we know the
value of another.Independent variable (X), dependent variable (Y)invoice number (X) --> Order date (Y)
Total Dependency When both the variables are dependent on each other
Employee number (X) <--> Driving license number (Y)
!
31
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Normalization
Full Dependency When one attribute is always dependent on at least two other
attributes Invoice Number (X) Part number (Y) Order Quantity (Z)
Transitive Dependency If Y depends on X and X depends on Y
Invoice (X) --> Customer Number (Y) --> Customer Name (Z)
Course (X) --> Department (Y) --> College (Z)
!
32
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
NormalizationInvoice Number: 4001Date: 22/5/98
Customer ID: C0051Name: Mr. Babu DaveAddress: B-10, Sada society, Borivali (W), Mumbai - 400 092.
Sr. Part Name Qty Unit QtyNo. No. Price Price------------------------------------------------------------------------1. U90 U-pin box 3 10 302. E12 Big eraser box 2 30 60------------------------------------------------------------------------TOTAL: 90
Terms and conditions: TC035Sales person: S04
ABC Company INVOICE
(NOTE: See the appendix #@)
!
33
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Relational Algebra Operators
SELECT
PROJECT
PRODUCT
DIVIDE
JOIN
UNION
INTERSECT
DIFFERENCE
!
34
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Relational Algebra OperatorsSELECT employees with department number 10
PROJECT name and salary from employee
dept#=10(DEPT)
name, salary(EMP)
!
35
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Relational Algebra OperatorsPRODUCT of employee with departmenta
bxyz
aaabbb
X =xyzxyz
EMP X DEPT
DIVIDE Orders containing item numbers X and Z
xz
aaabb
xyzxy
a=
ord#, Item#(ORD_ITEMS)
Item#(item#=‘X’ or ‘Z’(ITEMS))
!
36
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Relational Algebra Operators
a1a2
b1b2
c1c2
b1b2
a1a2
b1b2
c1c2
JOIN of employee with department
EMP DEPT
=
!
37
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Relational Algebra Operators
cust# (ORD_JUL) cust#(ORD_AUG)
INTERSECT
cust# (ORD_JUL) - cust#(ORD_AUG)
DIFFERENCE
UNION
ORD_JUL ORD_AUG
!
38
Text in blue and black can be changedPositions in Blue text cannot be alteredText in black can be altered in position and sizes if need beText in yellow ochre is meant for legal matters and updates
Relational Database A database system may be defined as fully relational
if it supports
relational databases (including concepts of domain and key and the two integrity rules)
a language that is at least as powerful as relational algebra
!