Logo

Data Retreival and Storage

Code: 104851
Credits: 6
2026/2027
Degree programme Type Course
Applied Statistics FB 1

Contact lecturer

Name :
Marc Vallribera Ros
Email :
marc.vallribera@uab.cat

Teaching staff

Jordi Castilla Miro

Group languages

You can consult this information at the end of the document.

Prerequisites

Knowledge about logical operations.
Knowledge about sets and relationships between sets.
Basic knowledge of Python.

Objectives

In this subject, the basic concepts of Databases (DB) necessary for both DB designer and user level are introduced, as well as the mechanisms for obtaining information from the Internet through Web Scraping and store it in a DB.

Learning outcomes

  • CM03 (Refine the information, considering the ethical implications, to store it in computerised form for subsequent use.) Refine the information, considering the ethical implications, to store it in computerised form for subsequent use.
  • KM06 (Recognise the basic concepts of databases, both at user and designer level, considering the ethical implications associated with the information collected.) Recognise the basic concepts of databases, both at user and designer level, considering the ethical implications associated with the information collected.
  • SM05 (Obtain information via web scraping to store it in suitable databases.) Obtain information via web scraping to store it in suitable databases.
  • SM06 (Use databases of any size.) Use databases of any size.

Contents

  1. Introduction to databases
  2. Information systems and databases
  3. Databases
  4. Concepts
  5. Features
  6. Database evolution
  7. Definition and characteristics of an DBMS
  8. Architecture of the DBMS
  9. Main DBMS
  10. BD application development phases
  11. BD Design Stages
  12. Conceptual design
  13. Logical design
  14. Application design
  15. The Entity-Relationship Model (E-R)
  16. The E-R diagram
  17. Entities, attributes, interrelationships
  18. Interrelationship attributes
  19. Dependence on existence and participation
  20. The relational model
  21. Relationship or table concept, attributes, tuples, domains, primary and external keys
  22. Domain restrictions, key integrity, and reference
  23. Transforming the E/R model to relational
  24. Relational algebra operators
  25. Database implementation
  26. Structured Query Language (SQL)
  27. Data processing
  28. Data query
  29. Data Base management with SQL
  30. Working with SQLite databases
  31. HTML and Regular Expressions basics
  32. Web page code structure
  33. HTML and CSS tags and attributes
  34. Text search using Regular Expressions
  35. Special characters, sets, groups and repetitions
  36. Collecting and storing data from web pages
  37. Introduction to WebScrapping Tools
  38. Programming Web Scraping tools using Python
  39. Searching and obtaining information with Regular Expressions
  40. Searching and obtaining information with Beautiful Soup
  41. Database storage
  42. Exporting results in comma separated values files

Learning activities and methodology

Title Hours ECTS Learning outcomes
Practices 36 1.44
Theory lessons 26 1.04
Proposed problems 23 0.92
Books reading 20 0.8
Study 15 0.6
Practices preparation 10 0.4
Deliveries of individual exercises 9 0.36

Theory
Classes are taught through master classes with transparencies. These transparencies are accessible, and the students can obtain them from the Virtual Campus.

Exercises
There will be two deliveries (individual) so that the student can prove that is acquiring the knowledge that is explained in the class. The delivery will be done through the Moodle on the Virtual Campus.

Proposed problems
during the course, a list of problems will be provided, about the most practical topics of the subject, so that the student can acquire and/or consolidate their knowledge of the various stages in the design, implementation, and exploitation of the databases.

Preparation of the practices
The student must have read and prepared the practices to be able to do them within the established schedule of practices and at home.

Practices
The objective of the lab sessions is to give a broad vision of the databases, from management and creation to the connection with an application that allows you to consult and modify the data. Students will have to acquire competences in the creation, management, and manipulation of databases, as well as obtaining information from the Internet, and the storage of that data in the database. Throughout these lab sessions, the teacher will supervise and guide every group of students during the process.

Annotation: within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Assessment

Continuous assessment activities

Title Weight Hours ECTS Learning outcomes
Excercises delivery 30% 3 0.12 SM05, SM06
Final exam 40% 3 0.12 KM06, SM05, SM06
Practices delivery 30% 5 0.2 CM03, KM06, SM05, SM06

70% of the course grade will be based on practices mark and a final exam, which can be recovered. The remaining 30% will be assessed through continuous evaluation deliveries. All notes listed below are on 10.

The final grade will be: Final mark = 0.4 * Exam mark + 0.3 * Practices mark + 0.3 * Exercises mark

Passing the course requires passing the practices and exam separately.

Exam (40%): The main exam of the course and the recovery exam will be held on the day reserved for this subject within the exams schedule. The recovery exam can only be done if the mark of the final exam is at least 3.

Practices (30%): There will be an evaluated delivery of the sessions.

At the end of the course, the practices can be re-evaluated, with a special delivery. The maximum grade that can be obtained in the re-evaluation of practices will be 5.

Exercises (30%): The exercises mark will be obtained from the problems that will be delivered during the course. The specific form and the days that the deliveries of the problems will be notified with prior notice on the Virtual Campus of the subject. The exorcices mark is not recoverable.

Single Assessment

If you take the Single Assessment, at the end of the course you will be asked to provide an exercise like those made in the practices, in addition to taking an exam with some additional questions. In this case, the grade will be 70% for the final exam and 30% for the exercise assignment.

The same recovery system will be applied as for the continuous assessment.

The review of the final qualification follows the same procedure as for the continuous assessment.

In order to opt for the Single Evaluation, you must inform the teacher in writing at the beginning of the course.

Bibliography

A. Silberschatz, H.F. Korth, S. Sudarshan (2006), Fundamentos de Bases de Datos, McGraw-Hill

Ian Mackie (2020), A Begginners Guide to Python 3 Programming
https://bibcercador.uab.cat/permalink/34CSUC_UAB/1eqfv2p/alma991010431569006709

Michael Heydt (2018), Python web scraping cookbook: over 90 proven recipes to get you scraping with Python, microservices, Docker, and AWS
https://bibcercador.uab.cat/permalink/34CSUC_UAB/1eqfv2p/alma991009832849706709

Ryan Mitchell (2018), Web scraping with Python: collecting data from the modern web
https://bibcercador.uab.cat/permalink/34CSUC_UAB/1eqfv2p/alma991009832809706709

Software

Course groups and languages

The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE

Type of teaching Group Language Semester Shift
(TE) Theory 1 Catalan second semester afternoon
(PLAB) Practical laboratories 1 Catalan second semester afternoon
(SEM) Seminars 1 Catalan second semester afternoon
(PLAB) Practical laboratories 2 Catalan second semester afternoon
(SEM) Seminars 2 Catalan second semester afternoon