Assignment work submissions must be word-processed with a footer comprising: your registration number; module code; date; page number. Work should be submitted before the deadline specified via the assignment box for CO4703 in Blackboard.
You are required to submit one single word-processed file including both tasks below. You must also complete and add the cover sheet (separate file on Blackboard) to your assignment submission.
You must retain SQL script and Form files in case you are required to submit in future or in case you are required to demonstrate your work. Staff reserve the right to interview individual students in order to determine final marks.
Learning Outcome
On completion of this assignment you will be expected to be able to:
1.Implement a functional relational database, giving consideration to integrity and validation constraints, using appropriate database environment
2.Apply and justify database design techniques for the construction of a conceptual data model
3.Critically review work with respect to underpinning theories
Task 1 (50 marks)
Use Oracle Forms to create a database application. This application is based on the following table types, with primary keys underlined and foreign keys in italics:
You are expected to create these tables using SQL and then populate them with appropriate and sufficient test data of your own (hint: use varchar2 for netId and other variable length character strings).
To gain a pass mark for task 1 you will achieve basic functionality for forms A, B and C as outlined below. To gain higher marks you will create more user-friendly forms (e.g. good layout, use of buttons and clear messages) ), and will achieve the functionality as italicised for each form
Form A – Create/Amend a student (20 marks)
1.Enter details; all alphabets should be in upper case automatically
2.Save a new record
3.Year should be 1 to 4 only (inclusive)
4.Date of birth (they should be on or past their 18th birthday)
5.Buttons that perform functions (SAVE, CLEAR, DELETE etc.)
6.A list of values for the course code (based on existing codes in your data)
7.Any other functionality you deem to be appropriate
Form B – Display a student’s loan details (20 marks)
A two block form showing full details of a student and all the loans they have.
1.Enter a netId and the basic loan details should be displayed
2.This form is read-only (no data displayed on the screen can be changed)
3.netID is selected from a list of values
4.For each loan, the book title should be displayed
5.For each loan that a student has taken, the duration of the loan should be displayed if the book has been returned
6.Addition of functional buttons
7.Any other functionality that you deem to be appropriate
Form C – Menu (10 Marks)
1.Two buttons which call up Forms A and B
2.When Forms A and B are exited, control should pass back to the menu
3.A password is required for form A (but not B). Form A should be accessed only if the correct password is entered.
4.Any other functionality that you deem to be appropriate.
For Task 1, you should submit relevant and detailed documentation in a word-processed file demonstrating the design and implementation of the above three forms. The documentation should have the following; you may include additional items that you deem to be appropriate.
1.SQL table creation and insertion statements for all tables.
2.For each of the functions listed above under Form A, B and C, explain how the function is implemented. Show and explain trigger codes and other techniques (list of values, alert etc.) wherever appropriate.
3.Include screenshots to illustrate your explanation wherever appropriate.
Because Task 1 is assessed through this documentation only, anything that is not included in it will not be given marks.
Task 2
(a)Design a relational database for the table fragment shown on the next page.
You should assume that the data shown in the table is a typical snapshot of data for these records and demonstrates all the enterprise rules which apply, even though some rules may be simpler than those in reality.
Normalise this table into Third Normal Form showing the intermediary stages of First and Second Normal Form. Primary keys and foreign keys in all the three forms should be indicated clearly. You are expected to start the normalisation process by first choosing the customer number as a primary key. Your normalised tables should only include the attributes shown in the table fragment; do not add any new attribute.
Justify your solution to this problem.
(b)Critically evaluate normalisation as a technique for database design. For each advantage or disadvantage identified, you should use the First Bank data to illustrate and explain it. You may extend these data in order to identify suitable examples to illustrate your point, however you should only do so if the current data do not provide for such examples.
References must be listed in the end and cited within your evaluation using a consistent format such as Harvard Refencing.