This project demonstrates the implementation of distributed database concepts such as links, synonyms, and fragmentation. Each user's SQL script includes the necessary setup for these concepts. The project aims to showcase how distributed database concepts can enhance data access and management across multiple locations.
- Oracle Database (or any other RDBMS that supports distributed database features)
- SQL Developer or any other SQL client
- Basic knowledge of SQL and database management
- Download and install Oracle Database from the official website.
- Install SQL Developer from the official website.
- Ensure that the database services for each user are running and accessible.
- Set up the environment variables and configuration files as required by your RDBMS.
The project includes the following files:
System.sql
: Contains the SQL script for the main system database.user1_Alice.sql
: SQL script for Alice's database, including links, synonyms, and fragmentation.user2_Bob.sql
: SQL script for Bob's database, including links, synonyms, and fragmentation.user3_Clare.sql
: SQL script for Clare's database, including links, synonyms, and fragmentation.user4_David.sql
: SQL script for David's database, including links, synonyms, and fragmentation.user5_Emily.sql
: SQL script for Emily's database, including links, synonyms, and fragmentation.
- Links: Database links facilitate remote data access. Each user's SQL script creates and configures database links to enable communication between their database and the main system database.
- Synonyms: Synonyms create aliases for database objects, simplifying access across databases. Each user's SQL script includes the creation of synonyms for remote objects.
- Fragmentation: This involves dividing a database into smaller pieces, which can be distributed across different locations. Each user's SQL script implements horizontal and vertical fragmentation for efficient data distribution.
- Main System Database:
- Execute
System.sql
to set up the main system database.
- Execute
- User Databases:
- Execute the SQL scripts for individual user databases (
user1_Alice.sql
touser5_Emily.sql
).
- Execute the SQL scripts for individual user databases (
- Database Link Errors: Ensure the database services are running and the connection details are correct.
- Synonym Issues: Verify that the remote objects exist and the synonyms are correctly created.
- Fragmentation Problems: Check the fragmentation logic and ensure the data is correctly distributed.
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Open a Pull Request.
For questions or support, please contact Me.