1. DBMS 2. RDBMS 3. File System 4. Manual System 5. Data base models“ Prepared by:- Muhammad Sultan Bhatti Muhammad Shoaib Sheikh Qasim Munawar Ghous
“Read, in the name of thy lord. Who created.Created man from a clot of blood. Read, and thylord is the most bounteous, who taught by pen”
Plan for Today is… • Brief History and Introduction • Necessary Information • Examples • Advantages and Disadvantages
An Overall History • 1960s Navigational DBMS • 1970s Relational DBMS • End 1970s SQL DBMS • 1980s Object Oriented Databases • (1998) Current trends
Data Base Management System (DBMS)• What is DBMS? “A collection of programs that enables us to store, modify and extract information from a database. There are many different types of DBMSs, ranging from small systems that run on personal computers to huge systems”
Data Base Applications • Computerized library systems • Automated teller machines • Flight reservation systems • Computerized parts inventory systems
Examples of DBMS• MySQL• PostgreSQL• Microsoft Access• SQL Server• FileMaker• Oracle• Fox Pro• DBASE• Clipper
Advantages of DBMS• Reduced data redundancy Therefore, duplication of files avoided• Reduced updating errors and increased consistency• Greater data integrity and independence from applications programs• Improved data access to users through use of host and query languages• Improved data security
Advantages of DBMS• Reduced data entry, storage, and retrieval costs• Facilitated development of new applications program• Centralized control• Improved data integrity
Disadvantages of DBMS• The need to hire database-related employees• Database systems are complex, difficult, and time-consuming to design• Substantial hardware and software start-up costs• Damage to database affects virtually all applications programs• Extensive conversion costs in moving form a file-based system to a database system• Initial training required for all programmers and users
Relational Data Base Management System (RDBMS) • What is RDBMS? “A relational database management system (RDBMS) is a program that lets us create, update, and administer a relational database” Most commercial RDBMSs use the Structured Query Language (SQL) to access the database, although SQL was invented after the development of the relational model.
Brief History and Introduction• Invented by E. F. Codd at IBM in 1970s• The leading RDBMS products are Oracle, IBMs DB2 and Microsofts SQL Server• Microsoft SQL Server 2008 is a popular example of a relational database• RDBMS may be a DBMS in which data is stored in the form of tables and the relationship among the data is also stored in the form of tables
Advantages of RDBMS• Possible to design complex data storage and retrieval systems with ease (and without conventional programming).• Support for ACID transactions – Atomic – Consistent – Independent – Durable• Support for very large databases• RDBMS can maintain at many users at same time.
Advantages of RDBMS• In RDBMS we can establish various integrity constraints on tables so that the ultimate data used by the user remains correct.• Its fast• Accurate• Standard way to store data on permanent basis• Extraction of data is done using SQL• Its secure (different level of security)• Data can be managed in proper manner
Disadvantages of RDBMS• Often poor support for storage of complex objects from OOP.• Usually no efficient and effective integrated support for things like text searching within fields ( MySQL does have simple keyword searching now with index support)• Licenses are expensive• Need software and hardware (as it is heavy)• Need professionals to deal with it• Proper training is required
Data Base Models• What is Data Base Model? “It is an abstraction that concentrates on the essential, inherent aspects of an organization”• A model is a representation of reality, ‘real world’ objects and events, and their associations.
Types of Database Models • Hierarchical Model • Network Model • Relational Model • Object Oriented Model
Hierarchical Model•Early 1960s, IBM saw business world organizing data in the form of a hierarchy•Rather than one record type (flat file), a business has to deal with several types which are hierarchically related to each other •E.g. Company has several departments, each with attributes: name of director, number of staff, address. •For example, an organization might store information about an employee, such as name, employee number, department, salary
Advantages of Hierarchical Model• Data access is easy via the key attribute, but difficult for other attributes – in the business case, easy to find record given its type (department, part or supplier) – in the geographical case, easy to find record given its geographical level (state, county, city, census tract), but difficult to find it given any other attribute
Disadvantages of Hierarchical Model• Cannot define new linkages between records once the tree is established• Cannot define linkages laterally or diagonally in the tree, only vertically• The only geographical relationships which can be coded easily are "is contained in" or "belongs to"• DBMSs based on the hierarchical model (e.g. System 2000) have often been used to store spatial data, but have not been very successful as bases for GIS
Network Model• Developed in mid 1960s as part of work of CODASYL (Conference on Data Systems Languages) which proposed programming language COBOL (1966) and then network model (1971•Objective of network model is to separate data structure from physical storage, eliminate unnecessary duplication of data with associated errors and costs
Network Model• Example of a network database – A hospital database has three record types: • Patient: name, date of admission, etc. • Doctor: name, etc. • Ward: number of beds, name of staff nurse, etc.
Advantages of Network Model• Provide very efficient "High-speed" retrieval• Simplicityo The network model is conceptually simple and easy to design.• Ability to handle more relationship types• The network model can handle the one-to-many and many-to- many relationships• Data Integrityo In a network model, no member can exist without an owner. A user must therefore first define the owner record and then the member record. This ensures the integrity
Advantages of Network Model• Ease of data accesso In the network database terminology, a relationship is a set. Each set comprises of two types of records.- an owner record and a member record, In a network model an application can access an owner record and all the member records within a set.
Disadvantages of Network Model• System complexity In a network model, data are accessed one record at a time. This males it essential for the database designers, administrators, and programmers to be familiar with the internal data structures to gain access to the data. Therefore, a user friendly database management system cannot be created using the network model• Lack of Structural independence. Making structural modifications to the database is very difficult in the network database model.
Disadvantages of Network Model• Operational Anomalies: As discussed earlier, network model’s insertion, deletion and updating operations of any record require large number of pointer adjustments, which makes its implementation very complex and complicated
Network Model (Restrictions)• Links between records of the same type are not allowed• While a record can be owned by several records of different types, it cannot be owned by more than one record of the same type (patient can have only one doctor, only one ward)
Relational Model• Proposed by IBM researcher E.F. Codd in 1970•Flexible approach to linkages between records comes closest to modeling the complexity of spatial relationships between objects•More of a concept than a data structure•In such a database the data and relations between them are organized in tables. A table is a collection of records and each record in a table contains the same fields.
Relational Model (Characteristics)•Values Are Atomic•Each Row is Unique•Column Values Are of the Same Kind•The Sequence of Columns is Insignificant•The Sequence of Rows is Insignificant•Each Column Has a Unique Name
Advantages of Relational Model• Structural independence: In relational model, changes in the database structure do not affect the data access• Conceptual simplicity• Design, implementation, maintenance and usage ease• Ad hoc query capability The presence of very powerful, flexible and easy-to-use query capability is one of the main reasons for the immense popularity of the relational database model• The most flexible of the database models• Is the basis of an area of formal mathematical theory
Disadvantages of Relational Model• Hardware overheads• Ease of design can lead to bad design• Cannot process large amounts of business transactions as quickly and efficiently as the hierarchical and network models
Object Oriented Model• According to Rao (1994), "The object-oriented database (OODB) model is the combination of object-oriented programming language systems and persistent systems.•Improves the weakness of the Relational model•Object databases have been considered since the early 1980s and 1990s but they have made little impact on mainstream commercial data processing•Is a database model in which information is represented in the form of objects as used in object-oriented programming.
Advantages of Object Oriented Model• Reduced Maintenance• Real-World Modeling: Object-oriented system tend to model the real world in a more complete fashion than do traditional methods.• Improved Reliability and Flexibility• High Code Reusability• OOP makes it easy to maintain and modify existing codes and objects in Object Oriented Model
Disadvantages of Object Oriented Model• Object-oriented Development is not a technology• Object-oriented Development is not yet completely accepted by major vendors• Cannot find qualified programmers• Unfamiliarity (causing an added training cost for developers).• Inadequate for concurrent problems
Operations Performed in Database Models • Insert Operation • Update Operation • Delete Operation • Modify
Extra Data Base Models• Entity-Attribute-Value (EAV) data model • Context Model • Associative Model • Semistructured Model • Object/Relational Model
File System• What is File System? “A file system can be thought of as the way our computer goes about managing the files that gets stored on the hard drive”• If there were no organized way of managing them, your system would be infinitely slow.• Example; finding a file in a file store.
Examples of File System • FAT • FAT32 • FAT16 • NTFS • NFS • AFS
Advantages of File System• It supports heterogeneous operating systems Unix, Linux and Windows• Multiple client machines can access a single resource simultaneously• Reduced overall disk storage cost and administration overhead• Gives access to uniform data to groups of users.• Useful when many users exist at a time
Disadvantages of File System• Program-Data Dependence• Duplication of Data: Applications are developed independently in file processing systems• Limited data sharing• Lengthy Development Times: New application requires new file format new design• Excessive Program Maintenance.• Inconsistence data
Manual System• What is Manual System? “Usually means “Done by hand”, A system which does not use any computer devices and all data would be kept in other ways, mainly paper”
Manual System• Instead of Word processor people use typewriters• Graphs and Diagrams made using hands instead of computer softwares• Before accounts, payroll and spreadsheet applications, people use to work on papers.
Advantages of Manual System• No training cost• No Indirect Cost ( Electricity Bill)• Easier to repair• Easy to handle• Less chances of fraud• Written evidence• Correct Information• Less expensive than computer
Disadvantages of Manual System• Storage problem• Time consuming• Hard to find record• Push to the cost• Wear and tear of record• Amendments in the documents• Copying/frauds