INTRODUCTION TO DBS Database a collection of data

INTRODUCTION TO DBS • Database: a collection of data describing the activities of one or more related organizations • DBMS: software designed to assist in maintaining and utilizing large collections of data • Why not OS file systems? • Efficient disk I/O • Identifying data items efficiently • security • query processing • concurrency control • integrity • Levels of abstraction • External schema: user views • Conceptual (logical) schema: description of data items • Physical schema: storage details, access structures • Data independence: application programs insulated from data structure and storage • Logical data independence • physical data independence

OTHER DBMS FEATURES • Queries: user requests for data definition and manipulation • DDL • DML • host language • query language based on • relational calculus: based on mathematical logic • relational algebra: based on operators • Concurrent access and crash recovery • transaction: each execution of a user program • isolation: each transaction is independent of others • atomicity: either all actions or none are carried out • durability: effect of transaction should be crash proof • locking protocol • shared lock • exclusive lock • transaction log write-ahead log

DBMS CONTD. • Advantages of a DBMS • Data independence • Efficient data access • Data integrity and security • Data administration • Concurrency and crash recovery • Reduced application development time • People who deal with databases • Implementers • End users • DBAs • designing a database • security and authorization • data availability and recovery from failures

Client/server and Distributed Databases • File servers in LANs • DB stored in one or more servers attached to a LAN • data storage • record locking • DBMS stored in each client • data integrity • data security • table scan • Application programs are stored in each client • Forms (screens) • Reports • Queries • Client sends data requests to server(s) • Server sends data files and lock status to client • Limitations • significant network traffic • each client runs a full version of the DBMS • data integrity and record locking is managed by clients: impractical

Client/server architecture • Instead of sending data files, just send the result of a query • Client: user interface for presenting data to the user • sends queries over the network to the server • runs any application programs necessary • displays the results of the queries to the user • Server: contains DBMS and DB • processes queries • sends results back to clients • Benefits • client and server are loosely coupled, may be running on different platforms: open systems • reduced network traffic • division of processing power between client and server • Issues: • substantial processing power for server required • backup, recovery, security • requires specialized tools such as DB servers, APIs • standards for data/program distribution strategy, data transfer protocol data partitioning across multiple servers
- Slides: 5