Write a program not in Database Languages, e.g. SQL but in a high-level language, e.g. C++, Java, or Python, etc.
to implement a File System for the tables demonstrated (one file for one table) in Sept. 2 class: Fig. 1.2 (a) and (b) and the resulting table by join/merging of the two tables as in Fig. 1.4.
Functionalities of the File System includes, e.g.:
1) Creating the tables.
Insertion of the records, and add operations of the tables,
such as sorting by one attribute, retrieval of information, the connection of tables including natural join operations, to generate another table, input/output the whole or partial (like view in the database) records of the tables etc.
2) Access to the data in tables to
e.g. • Retrieval of information stored in the tables
• Insertion of new information into the tables
• Deletion of information from the tables
• Modification of information stored in the tables
3) Operations between tables
The operations (functions, features, etc.) of the file system shall be implemented like what DDL, DML in SQL can do. (Selection ◦ Projection, grouping, aggregation, etc. within a table, set operations, i.e. operations among tables: such as◦◦ Set operations: Union/Interception ∪ ◦ difference − ◦ Selection, Projection, Cartesian product × and Join/Merge two or more tables, etc.)
Due to the time limit, try the simple functions first and get more and more later. No need to get it all complete when this work is done individually until later (after this assignment) we might go for teamwork for covering more functions.
Again, for any program in high level language or SQL
Drawbacks of using file systems to store data
o Data redundancy and inconsistency
§ Multiple file formats, duplication of information in different files
o Difficulty in accessing data
§ Need to write a new program to carry out each new task
o Data isolation — multiple files and formats
o Integrity problems
§ Integrity constraints (e.g., account balance > 0) become “buried” in program code rather than being stated explicitly
§ Hard to add new constraints or change existing ones
o Atomicity of updates
§ Failures may leave database in an inconsistent state with partial updates carried out
§ Example: Transfer of funds from one account to another should either complete or not happen at all
o Concurrent access by multiple users
§ Concurrent access needed for performance
§ Uncontrolled concurrent accesses can lead to inconsistencies
§ Example: Two people reading a balance (say 100) and updating it by withdrawing money (say 50 each) at the same time
o Security problems
§ Hard to provide user access to some, but not all, data
Delivering a high-quality product at a reasonable price is not enough anymore.
That’s why we have developed 5 beneficial guarantees that will make your experience with our service enjoyable, easy, and safe.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.Read more
Each paper is composed from scratch, according to your instructions. It is then checked by our plagiarism-detection software. There is no gap where plagiarism could squeeze in.Read more
Thanks to our free revisions, there is no way for you to be unsatisfied. We will work on your paper until you are completely happy with the result.Read more
Your email is safe, as we store it according to international data protection rules. Your bank details are secure, as we use only reliable payment systems.Read more
By sending us your money, you buy the service we provide. Check out our terms and conditions if you prefer business talks to be laid out in official language.Read more