The course gives the knowledge for understanding and evaluating the internal structure of Data Base Management systems. Secondary storage; buffer pool (LRU). Fixed and variable length files. Access methods. Index construction. Static and dynamic hashing. B-trees and B*-trees. Other structures. The grid method. Trees and lists in secondary memory. Multiple and inverted lists. Relational algebra and its implementation. Access strategies. Information Retrieval. Other models
A. Albano “Costruire sistemi per basi di dati” Addison-Wesley
Learning Objectives
Knowledge acquired:
Internal structure of database management system. Algorithms for information retrieving from secondary memory. Sorting methods for secondary storage. Query organization.
Competence acquired:
Critical evaluation of the general structure and performance of a database. Be able to attack and solve performance problems.
Skills acquired (at the end of the course):
Be able to make the best design choices, when they depend on the internal structure of the database.
Prerequisites
Courses required: Databases
Courses recommended: Algorithms and data Structures
Teaching Methods
Total hours of the course (including the time spent in attending lectures, seminars, private study, examinations, etc...): 150
Hours reserved to private study and other indivual formative activities: 102
Contact hours for: Lectures (hours): 48
Further information
Frequency of lectures, practice and lab: Recommended
Teaching Tools
UniFi E-Learning: http://e-l.unifi.it
Office Hours:
Contact professor by phone number or, better, by e-mail
Viale Morgagni, 65 - 50134 Firenze
Tel. 055 4237438
Fax. 055 - 4237436
E_mail: renzo.sprugnoli@unifi.it
Type of Assessment
Implemenation project and oral examination.
Course program
General notions on secondary memory, files, databases. Optical disks, magnetic disks. Access time. Input/output optimization. LRU method. Files with variable length records and fixed length records. Sequential, relative (direct) and key access methods. Polyphase merging, Fibonacci numbers. Information retrieval. Index construction. Procedural methods: static hashing and different types of dynamic hashing. Performance. Tree methods: B-trees and B*-trees. Rotations and Load factor. K-d-trees and quad-trees. Grid method and how to determine dimensional parameters.
Binary trees and lists allocation to secondary memory. Multiple lists used in the network model. Inverted lists used in relational model. Information retrieval and databases. Relational algebra. Selection techniques. Equi-join operation. Index use. Performance evaluation. Projection. Concept of differential file. The network model. Definition of records and sets. Data Definition and Data Manipulation Language (DDL e DML). Information Retrieval. Concurrent access to information. The case of B-tree with a lock at root node. XML language. Query optimization and access plans.