260 likes | 386 Views
ADVANCED TOPICS IN RELATIONAL DATABASES. Spring 2011 Instructor: Hassan Khosravi. Authorization. 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
E N D
ADVANCED TOPICS IN RELATIONAL DATABASES Spring 2011 Instructor: Hassan Khosravi
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
Example • Apply(dec), Select(Sid) • Student select(SID,GPA)
How can we give the following privilege • Select students info for Stanford applications only • Delete Berkeley applications only
Obtaining Privileges • Relation creator is owner • Owner has all privileges and may grant privileges • Grant privs on R to users • [with grant option]
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
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
Data warehousing • Bring data from operational OLPT sources into a single warehouse for OLAP analysis • Decision Support System • Data warehouse tuned for OLAP
Star Schema • Fact table (relationships) • Updated frequently, very large • Sales transaction, course enrollment • Dimension tables (entities, objects) • Stores, items, customers • Students, courses
Performance • Inherently very slow: • Special indexes • Extensive use of materialized views
Multi-dimensional OLAPData Cube • Dimension data form axes of Cube • Fact data in cells Customers Item Stores
Assuming one quantity for that Customers Item Qty and price for I32, C4, s17 Stores
Usually have defined aggregate functions that are meaningful • Sum(qty * price) Customers Item Aggregate over all items for C5, s11 Stores
Usually have defined aggregate functions that are meaningful • Sum(qty * price) Customers Item Aggregate over all stores for I 61, C5, C21 Stores
Usually have defined aggregate functions that are meaningful • Sum(qty * price) Customers Item Aggregate over all customers for I 5, s13 Stores
Usually have defined aggregate functions that are meaningful • Sum(qty * price) Aggregate over all stores and customers for I 52 Customers Aggregate over all stores and Items for c63 Item Aggregate over all customers and Items for s2 Stores
Usually have defined aggregate functions that are meaningful • Sum(qty * price) Customers Item Full aggregation Stores
Drill Down • Add for category to the group by and selection