Case Example: File based Processing
• Real Estate Agent’s office
• Property for sale or rent
• Potential Buyer/renter
• Staff/employees
• 3-bed room apts for sales?
• Flats within 3 miles of the city?
• Average price of house?
• Average rent for 2 BR flat?
• Total annual salary for staff?
• Expected monthly turnover of renters?
• This month’s turnover compare to the last month?
Selling and renting of properties
• Property_for_rent (Pno, Street, Area, City,
Pcode, Type, Rooms, Rent, Ono)
• Owner (Ono, Fname, Lname, Address,
Tel_no, Pref_Type, Max_rent)
Potential renters
Renter (Rno, Fname, Lname, Address,
Tel_No, Pref_Type, Max_rent)
• Lease(Lno, Pno, Rent, Payment, Deposit, paid, Start, Finish, Duration)
• Property_for_rent (Pno, Street, Area, City,
Pcode, Rent)
• Renter (Rno, Fname, Lname, Address,
Tel_No)
• Data entry
• File maintenance
• Reports generation
Payroll Dept
Staff_salary(Staff No, First Name, Last Name,
Address, Date_of_Birth, Salary, National
Insurance Number, Branch Number)
Personnel Dept:
Staff(Staff No, First Name, Last Name,
Address, Telephone Number, Position ,
Date_of_Birth, Salary, National Insurance
Number, Branch Number)
Sales
Data entry and reports
File handling routines
File definition
Sales application programs
Contracts
Data entry and reports
File handling routines
File definition
Contracts application programs
• Separation and Isolation of data
• Duplication of data
• Data dependence
• Incompatibility of files
• Fixed queries/ proliferation of application programs
• “A shared collection of logically related data (and a description of this data) designed to meet the information needs of an organization.”
Staff
IsAllocated
Oversees
Viewing Takes
Property_for
_Rent
Has Branch
Requests
Owns
Owner
Renter
• Six entities (the rectangles): Branch, Staff,
Property_for_Rent, Owner, Renter and
Viewing.
• Six relationships (the diamonds):
IsAllocated, Has, Overseas, Owns,
Requests, and Takes
• “ A software system that enables users to define, create and maintain the database and provides controlled access to this database.”
• Data definition Language (DDL): data types, structures and constraints on the data.
• Data Manipulation Language (DML): insert, update, delete, and retrieve data
• Query Language: general enquiry facility
• Two types of DML:
– Procedural: manipulates the database record by record.
– Non-Procedural: operates on a set of records.
• Most common is Structured Query Language (SQL)
• Controlled Access to the database:
– security system
– integrity system
– Concurrency controlled, shared access
– recovery control system
– user accessible catalog
Sales
Contracts
Data entry and reports
Sales application programs
Data entry and reports
Contracts application programs
DBMS
Property, Owner,
Renter and Lease details + File
Definitions
Database
Hardware Software
Machine
Data
Bridge
Procedures People
Human
• Some DBMS run only on particular hardware and operating systems
• Minimum amount of main memory and disk space to run
• Client -Server architecture:
– Central computer runs the backend of the
DBMS
– Other computers run the frontend
Western Office
Database server
Northern Office
Eastern Office
Southern Office
Database
• The DBMS software
• Application programs: C, COBOL, Fortran, Ada etc.
• Using a fourth level language such as SQL
• Fourth generation tools:
– rapid development of applications
– non-procedural query languages
– report generators
– form generators
– graphic generators
– application generators
• Fourth generation tools can improve productivity.
• The structure of the database is called the schema.
• Tables: Property_for_Rent, Owner, Renter and
Lease
• Attributes
• System Catalog contains:
– Names, types, and sizes of data items
– Integrity constraints on data
– Names of authorized users who have access to the data
– What indexes and storage structures are being used-
Tree structures.
Procedures:
• Log on to the DBMS
• Use particular DBMS facility or application program
• Start and stop the DBMS
• Make backup copies of the database
• Handle hardware and software failures
• Change the structure of the table, reorganize the data across multiple disks, improve performance, or archive data to secondary storage.
PEOPLE:
• DB engineers, DB designers, DB developers/ programmers
• Data Administrator (DA)
– management of data (database planning, development, maintenance of standards, policies, procedures and conceptual and logical database design).
• Database Administrators:
– Physical database design and implementation, security and integrity control, maintanence of the operational system and ensuring satisfactory performance for the applications and users.
• Logical database designers:
– Entities, attributes, relationships, constraints
Business rules
• Physical database designers:
– Decides how it is to be physically realized.
• Retrieving, inserting, updating and deleting
• Programs
– Third Generation Language (3GL)
– Fourth Generation Language (4GL)
• End Users:
– Inexperienced Users
– Sophisticated users
• The structure of the database is determined using the database design.
• Paradigm shift: think of the data first and the application later.
• Poorly designed database --> errors
• Well designed database --> correct information
• A complete methodology for database design.
– Entity- Relationship diagram
– Guidelines to help identify the entities, attributes and relationships
• Control of data redundancy
• Data consistency
• More information from the same amount of data
• Sharing the data
• Improve data integrity and improve security
• Enforce standards
• Economies of scale
• Balance the conflicting requirements
• Improve data accessibility and responsiveness
• Increase productivity
• Improve maintenance through data interdependencies (pgm-data independence)
• Increase concurrency
• Improve backend recovery services
• Complexity
• Size
• Cost of DBMS
• Additional hardware costs
• Cost of conversion
• Performance
• High impact of a failure