Developer: Francesco Moretti University: Universty of Pisa
This project focuses on designing and implementing a database system for a smart home, aiming to manage devices, energy usage, comfort, and security efficiently. The database is designed to handle complex data operations, analytics, and real-time interactions with smart devices, ensuring scalability and reliability.
- Comprehensive Entity-Relationship (E-R) Modeling:
- Initial and restructured E-R diagrams are included for better visualization of the database structure.
- Database Creation:
- Fully scripted in
CreazioneDB.sqlto initialize the smart home database.
- Fully scripted in
- Functional Operations:
- Operations such as CRUD (Create, Read, Update, Delete) for managing devices, energy, and user interactions are implemented in
Operazioni.sql.
- Operations such as CRUD (Create, Read, Update, Delete) for managing devices, energy, and user interactions are implemented in
- Triggers for Automation:
- Implemented in
Trigger.sqlto ensure automatic updates and data consistency within the database.
- Implemented in
- Advanced Analytics:
- Includes two key analytics modules:
Analytic1_Apriori.sql: Implements association rule mining for identifying usage patterns.Analytic2_EffEnerg.sql: Analyzes energy efficiency across devices and rooms.
- Includes two key analytics modules:
The documentation provides detailed insights into the project, including:
- Glossary: Definitions and terminologies related to smart home systems.
- Entity-Relationship Diagrams:
- Non-restructured: Initial design.
- Restructured: Optimized for better normalization and efficiency.
- Data Volume Estimation: Outlines expected data growth to ensure scalability.
- Data Operations: Detailed analysis of database interactions and their implementation.
- Logical Design and Normalization: Ensures consistency and removes redundancies through functional dependency analysis.
- Analytics Area: Advanced queries and operations for actionable insights.
CreazioneDB.sql: Script to create the database structure.Operazioni.sql: Defines database operations such as CRUD functionalities.Trigger.sql: Contains triggers for automating database updates.Analytic1_Apriori.sql: Implements the Apriori algorithm for usage pattern analysis.Analytic2_EffEnerg.sql: Performs energy efficiency analysis.Schema E-R (Non Ristrutturato).pdf: Initial E-R diagram.Schema E-R (Ristrutturato).pdf: Optimized E-R diagram.Documentazione.pdf: Full project documentation with detailed descriptions and diagrams.
- Run
CreazioneDB.sqlto create the database. - Populate the database with sample data (if any).
- Execute
Operazioni.sqlto test the database functionalities. - Use
Trigger.sqlto enable automatic updates and consistency checks. - Perform analytics using
Analytic1_Apriori.sqlandAnalytic2_EffEnerg.sql.
- Expand the analytics area to include predictive models for energy consumption and device failure detection.
- Integrate real-time data inputs from IoT devices.
- Optimize queries for larger datasets.