ADVANCED TOPICS IN RELATIONAL DATABASES Spring 2011 Instructor: Hassan Khosravi
Jan 17, 2016
ADVANCED TOPICS IN RELATIONAL DATABASES
Spring 2011
Instructor: Hassan Khosravi
4.2
AUTHORIZATION
4.3
Database Authorization
Make sure users see only the data they are supposed to see. Guard the database against modifications by malicious users.
Users have privileges Can only operate on data for which they are authorized
Select on R Insert on R Update on R Delete on R
4.4
Example
Apply(dec), Select(Sid) Student select(SID,GPA)
4.5
4.6
How can we give the following privilege Select students info for Stanford applications only
Delete Berkeley applications only
4.7
Obtaining Privileges
Relation creator is owner Owner has all privileges and may grant privileges
Grant privs on R to users [with grant option]
4.8
Revoking Privileges
Cascade: also revoke privileges granted from privileges being revoked transitively, unless also granted from another source
Restrict: disallow if cascade would revoke any other privileges
4.9
ON-LINE ANALYTICAL PROCESSING (OLAP)
4.10
Two broad types of database activities OLTP: Online Transaction Processing
Short transactions Simple queries Touch small portion of data Frequent updates
OLAP: Online Analytical Processing Long transactions Complex queries Touch large portions of data Infrequent updates
4.11
Data warehousing
Bring data from operational OLPT sources into a single warehouse for OLAP analysis
Decision Support System Data warehouse tuned for OLAP
4.12
Star Schema
Fact table (relationships) Updated frequently, very large
Sales transaction, course enrollment
Dimension tables (entities, objects) Stores, items, customers Students, courses
4.13
Example
4.14
Performance Inherently very slow:
Special indexes Extensive use of materialized views
4.15
DATA CUBES
4.16
Multi-dimensional OLAPData Cube
Dimension data form axes of Cube Fact data in cells
Item
Stores
Customers
4.17
Assuming one quantity for that
Item
Stores
Customers
Qty and price for I32, C4, s17
4.18
Usually have defined aggregate functions that are meaningful Sum(qty * price)
Item
Stores
Customers
Aggregate over all items for C5, s11
4.19
Usually have defined aggregate functions that are meaningful Sum(qty * price)
Item
Stores
Customers
Aggregate over all stores for I 61, C5, C21
4.20
Usually have defined aggregate functions that are meaningful Sum(qty * price)
Item
Stores
Customers
Aggregate over all customers for I 5, s13
4.21
Usually have defined aggregate functions that are meaningful Sum(qty * price)
Item
Stores
Customers
Aggregate over all customers and Items for s2
Aggregate over all stores and Items for c63
Aggregate over all stores and customers for I 52
4.22
Usually have defined aggregate functions that are meaningful Sum(qty * price)
Item
Stores
Customers
Full aggregation
4.23
Example
4.24
4.25
Drill Down
Add for category to the group by and selection
4.26
Roll Up