Chapter 7 Advanced Database Concepts
Chapter 7 Advanced Database Concepts
If the GRANT OPTION is given, this means that B can also grant
that privilege on R to other accounts.
▪ Suppose that B is given the GRANT OPTION by A and that B
then grants the privilege on R to a third account C, also with
GRANT OPTION. In this way, privileges on R can propagate
to other accounts without the knowledge of the owner of R.
▪ If the owner account A now revokes the privilege granted to
B, all the privileges that B propagated based on that privilege
should automatically be revoked by the system.
▪ Its basic notion is that permissions are associated with roles, and
users are assigned to appropriate roles.
▪ Roles can be created using the CREATE ROLE and DESTROY ROLE
commands.
▪ The GRANT and REVOKE commands discussed under DAC can
then be used to assign and revoke privileges from roles.
▪ RBAC appears to be a feasible alternative to discretionary and
mandatory access controls;
▪ It ensures that only authorized users are given access to certain
data or resources.
▪ Many DBMSs have allowed the concept of roles, where privileges
can be assigned to roles.
▪ Role hierarchy in RBAC is a natural way of organizing roles to
reflect the organization’s lines of authority and responsibility.
Advanced Database Concepts BY: Mekonnen K Page 0.21
2. 4. Introduction to Statistical Database Security
Shared-Nothing System
Local
Global application
application
No local
applications
Internal view: deals with the physical definition and organization of data.
Conceptual view: abstract definition of the database. It is the “real
world” view of the enterprise being modeled in the database.
External view: individual user’s view of the database.
Advanced Database Concepts BY: Mekonnen K Page 0.42
Distributed Data Systems (2)
Simplify
A distributed database software
can be defined as development
•a logically
Improve
integrated collection system
of shared data which performance
is Physically
• physically distributed
Logically
distributed across the integrated
nodes of a computer
network.
Distributed data
systems
No local
user
Heterogeneous
Homogeneous (Multidatabase)
Local Local
internal internal
schema 1 schema n
Local DB 1 Local DB n
Advanced Database Concepts BY: Mekonnen K Page 0.46
Homogeneous vs. Heterogeneous (1)
Heterogeneous DDBMS
Global
user o In a heterogeneous distributed
database, different sites can use
different schema and software
that can lead to problems in query
Multidatabase
Management
processing and transactions. Also,
Local
Local system
user
a particular site might be
user completely unaware of the other
sites.
o Different computers may use a
DBMS DBMS DBMS DBMS different operating system,
different database application.
They may even use different data
Database 1 Database 2 Database 3 Database 4
models for the database.
Global user
view 1
... Global user
view n
An individual node’s
participation in the MDB
is defined by means of a
participation schema.
Global Conceptual Schema
...
Local user
Local Local
view 1 Local user
Conceptual Conceptual
Schema 1 Schema n view 1
Local DB 1 Local DB n
Advanced Database Concepts BY: Mekonnen K Page 0.49
Replication & Fragmentation
o There are 2 ways in which data can be stored on
different sites. These are:
o Replication - In this approach, the entire relationship is stored
redundantly at 2 or more sites. If the entire database is available at
all sites, it is a fully redundant database. Hence, in replication,
systems maintain copies of data.
o This is advantageous as it increases the availability of data at
different sites. Also, now query requests can be processed in
parallel.
o However, it has certain disadvantages as well. Data needs to be
constantly updated. Any change made at one site needs to be
recorded at every site that relation is stored or else it may lead to
inconsistency. This is a lot of overhead.
o Also, concurrency control becomes way more complex as concurrent
access now needs to be checked over a number of sites.
o It must be made sure that the fragments are such that they can be
used to reconstruct the original relation (i.e, there isn’t any loss of
data).
Fragment R1
Site B
Fragment R2 Copy 2 of R1
the relations
Fragment R3
Fragment R4
Site C
Copy 2 of R2