Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Commitment ordering wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Serializability wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Concurrency control wikipedia , lookup
Clusterpoint wikipedia , lookup
CSE2132 Database Systems Week 1 Lecture Database Concepts Database Concepts 1. 1 Data - An Informal Definition Data are raw facts. Facts concerning people, places, events, or other objects/concepts. They can be of any type: qualitative or quantitative historical or prediction abstract or subjective Sources (1)External to an organization: telephone calls, turnaround documents, remote workstation (point of sale) transactions. (2)Internal to an organization: financial and management accounting production and operation management, payroll and personnel. (3)From “strange” places: metal sensor on the street, digitizing of an image, hardware failure messages. Database Concepts 1. 2 Data and the Organization • Data by itself is useless unless it is some how aggregated, organized and prepared in a form convenient for decision making or other organizational activities. DATA INFORMATION ACTION A lack of data leads to inadequate information and thus ill-informed decisions and business collapse. Database Concepts 1. 3 Data as Resource Why use database? Data is a valuable corporate resource which needs adequate, accuracy, consistency and security controls. The centralized control of data means that for many applications the data will already exist, and facilitate quicker development. Data will no longer be related by application programs, but by the structure defined in the database. Easier to maintain systems Database Concepts 1. 4 Basic Definitions Database: A collection of related data Schema: Some part of the real world about which data is stored in the database. Database Management System(DBMS):A software package to facilitate the creation, maintenance and protection of a computerized database. Database Concepts 1. 5 A DBMS and Interfaced Utilities (Frontend) Report Generator Graphics Query Language(e.g.SQL) DBMS Data Dictionary Data Application Generator Dataentry Screens Application Programs Database Concepts 1. 6 Traditional File Systems Databases are often contrasted to traditional file systems though they are now rarely used. But as the problems that existed were the impetus for the development of the “Database Concept” it is worth noting some of these. - Applications were often considered in relative isolation. - Data that should have been together was not. - The potential for flexible enquiry and reporting was limited. - All validations were in the programs. - Procedures were required for backup and recovery. - All programmers had access to all records. - There was limited concurrent access. Database Concepts 1. 7 Objectives of Database Technology · Program-Data Independence · Minimal Data Redundancy · Increased Data Sharing · Improved Data Quality · Improved Security of Data · Improved Access to Data · Reduced Program Maintenance · Inter-relate Data Through Model Database Concepts 1. 8 Program-Data Independence · Data is stored independently of the programs · The degree to which descriptions of data are embedded in application programs. · Can the database structure be changed with no impact on programs ? · Role of the database catalog or dictionary. · Maintenance costs are high ! Database Concepts 1. 9 Degrees of Data Independence · Device Characteristics · Blocking Factors · Data Access Organization · Physical Record Location Greater Independence · Logical Views (Local) · Virtual Data Items · Virtual Records · Data Value Characteristics · Data Element Name Only Database Concepts 1. 10 Inter-Related Data CLAIMS RENEWALS D B M S AGENCY RENEWALS CLAIMS AGENCY Data related by structure Flexible Inquiry easier QUERY LOCAL VIEWS Database Concepts 1. 11 Application Development · Some companies use database technology as just a multikey access method: CLAIMS DBMS CLAIMS DB PREMIUMS DBMS PREMIUMS DB Database Concepts 1. 12 Application Development · Applications & their data needs are not considered in isolation. · Centralized control of one or several databases takes place. i.e database administration. · Data administration is seen as an important part of system development. CLAIMS PREMIUMS D B M S CLAIMS PREMIUMS Database Concepts 1. 13 Semantic Data Integrity · Validation or integrity rules may be defined and automatically invoked at run time by the DBMS regardless of the source of update i.e. application program, 4GL screen or query language. · Significant variation exists among DBMS in the level of support for semantic data integrity. · ISO suggest that 100% of all enterprise rules should be held in the conceptual schema, and specifically none in application programs. · An area of significant development during the 1990's. Database Concepts 1. 14 Semantic Data Integrity Application Programs 4GL Screens & Stored Procs. Interactive Query Language D B M S CATALOGUE Data Definitions & Integrity Rules STORED DATA Database Concepts 1. 15 Database Transactions A database transaction may be defined as a group (one or more) of database operations which need to be treated as one atomic unit which may either succeed or fail. That is all the database operations must succeed or all the database operations must fail. If this is not the case tasks can be half complete and the database loses it’s integrity. EMP# E1 E2 SALARY 50,000 18,000 DEPT DEPT# T0TAL SALARY D1 D1 D1 D2 68,000 90,000 Database Concepts 1. 16 Concurrency Control Problems such as the “lost update” can arise if no measures are taken to support concurrent transactions. The DBMS should support multiple concurrent transactions potentially using the same data and ensure that the data remains consistent at all times. Transaction 2 Transaction 1 Part 2 read Part 2 QOH 10 read QOH 10 QOH=QOH+10 write Part 2 Part 2 QOH 10 QOH 20 QOH=QOH-5 write Part 2 QOH 5 Database Concepts 1. 17 Record Locking To avoid concurrency problems, transactions must be made logically serial. One common technique used is record locking. That is, a transaction can lock a record, preventing update by another transaction, until completed. Although TX2 waits a little while both complete without error. TX2 TX1 Part 10 Part 20 Part 30 lock lock lock end trans. time Part 301 lock Part 20 wait Part 20 lock Part 101 lock end trans. Database Concepts 1. 18 Deadlock The technique of locking introduces it’s own problems.DBMS packages with record locking must also be able to handle "deadlock" situations. TRANSACTION A lock 10 request 20 wait TRANSACTION B lock 20 request 10 wait Note that both transactions above could wait forever! Deadlock detection algorithms can be used to detect this situation amongst locked records. Usually the least expensive transaction is aborted. Database Concepts 1. 19 Restart and Recovery · Many DBMS maintain redundant copies of data in a log file to support recovery from failures. This may be on disk or tape. · Copies of record images after update , together with periodic dumping of the database allow for rollforward recovery where the database contents are not intact. A dump of the database is an exact copy of the content of the database at some point in time. · Copies of record images before update allow rollback recovery of changes made by incomplete or failed transactions. · Many DBMS take periodic checkpoints to reduce recovery time in the event of failure. A rollback recovery then goes back to the checkpoint rather than the start of the transaction. Database Concepts 1. 20 Rollforward Recovery A log file of After Images of records changed since the last dump was taken are applied in a forward order thru time. A dump of the database from the previous period. The restored database shows no effect of the major disaster such as a “disk crash”. Database Concepts 1. 21 Rollback Recovery A Log file of Before Images of records which are changed are kept. If a transaction fails, the before images are written back to the database in reverse order thru time. When the start of the failed transaction is reached the rollback stops. The restored database in a state as if the transaction never occurred so no effects of the transaction failure are apparent. Database Concepts 1. 22 Security · Each user may require identification with a user-id and password. · Users may be limited in the data they can see and what actions they can perform on that data. · The DBMS may encrypt and decrypt data as it is stored and retrieved. · Many systems now provide data value sensitive security. Database Concepts 1. 23 Easy Access to Data · High level query languages provided by DBMS provide easy access to data 20 READ #1, CUSTNO, NAME, BAL 30 IF END #1 GO TO 80 40 IF BAL > 200 50 PRINT CUSTNO, NAME, BAL 60 ENDIF 70 etc VERSUS SELECT CUSTNO, NAME, BAL FROM CUSTDB WHERE BAL > 200; Database Concepts 1. 24 Data Models A way of viewing or abstracting the data. There are a number of data models on which current generation DBMS are based: Hierarchical, Network, Relational, Extended Relational and Object-Oriented Database Concepts 1. 25 The Costs of DBMS The initial purchase cost Planning and design Database education Application conversion System overheads (response) Complexity of support Database Concepts 1. 26