240 likes | 383 Views
What is a database. What is a Database. Basic Difinitions. Miniworld: Some part of the real world about which information is stored. Data : Known facts about the miniworld recorded have an implicit meaning Database (DB) : A collection of related data elements
E N D
What is a database What is a Database --What is a Database--
Basic Difinitions • Miniworld: Some part of the real world about which information is stored. • Data: Known facts about the miniworld • recorded • have an implicit meaning • Database (DB): A collection of related data elements • Database Management System (DBMS): A software package to facilitate the process of • Defining - specifying types, organization (schema) • Constructing - loading the data • Manipulating - querying the data • One DBMS, many DBs, many applications • Database system: A database and a DBMS --What is a Database--
A DBMS application program DBMS user database database persistent storage --What is a Database--
Pictorial Representation Users/Programs DATABASE SYSTEM Application Programs/Queries DBMS SOFTWARE Software to Process Queries/Programs Software to Access Stored Data Stored Database Definition (Meta-Data) Stored Database --What is a Database--
Functions of a DBMS • Provides persistent, shared storage • Objects live beyond program execution • Shared by multiple applications • DBMS reduces redundancy in Development and maintenance • Provides multiple interfaces • Query language, embedded query language, APIs, GUIs • Protects against • Software/hardware failure • Security breaches --What is a Database--
When not to use a DBMS • Main costs of using a DBMS • High initial investment • May need additional hardware • Overhead • Training • When a DBMS may be unnecessary • Application is simple, well-defined, and not expected to change • Stringent real-time requirements • (Write) access to data by multiple users is not needed --What is a Database--
Classes of DB users – Workers on the scene • Persons whose job involves daily use of a large database. • Database administrators (DBAs) • Responsible for managing the database system. • Database designers • End users • The people that use the database for querying, updating, generating reports • Interactive users: Use full DBMS capabilities directly via a DML. • Parametric (or naive) end users: They use pre-programmed canned transactions to interact continuously with the database. For example, bank tellers or reservation clerks. • Application programmers • Design and implement canned transactions for parametric users. --What is a Database--
DBA Duties • Chooses • storage structure and access strategy • performance-enhancing data structures • Acts as liaison with users • Security czar • Defines authorization checks and validation procedures • Responsible for • backups and recovery • monitoring performance and updates (to schema) --What is a Database--
Database Users – Workers Behind the Scene • People who design and develop the DBMS software • DBMS designers and implementers • Tool developers • Design and implement tools that facilitate the use of DBMS software. Tools include design tools, performance tools, special interfaces, etc. • Operators and maintenance personnel • Run and maintain the hardware and software environment for the database system. --What is a Database--
Interfaces • Menu vs. form-based • GUI • Canned interfaces for parametric users • DBA • Application • Natural language • Web search engines • Shell --What is a Database--
Input (Using a Form) --What is a Database--
Sample of Input Form for a Lab Work --What is a Database--
Output (Using a Report) Exam result for ID --What is a Database--
Sample Output Report for a Lab Work --What is a Database--
Data Models • A data model is a data definition language along with a data manipulation language. • Conceptual • Representational • Physical --What is a Database--
Data Models • A data definition language (DDL) describes database schemas. • Data relationships • Data semantics • Integrity constraints • Database schemas vs. instances • Similar to types and variables in programming languages • A data manipulation language (DML) is used for querying and updating database instances. --What is a Database--
Schema vs. Instance • Schema - Description of how data is organized and constrained. • Instance - The data in a database (conforms to a schema). • Snapshot - Database state at a particular point in time. • Initially empty • Database is populated or loaded, DBMS ensures every state is a valid state. • Schema evolution vs. data update --What is a Database--
Type of Data Models • Record-based conceptual models • (1960s) hierarchical model (e.g., IBM IMS) • (1970s) network model (e.g., CA-IDMS) • (1980s - current) relational model (e.g., Microsoft Access, Microsoft SQL Server, IBM DB2, Oracle8) • Object-based conceptual models • (late 1980s - current) entity-relationship model • §(late 1980s - current) object-oriented model • Text-based conceptual models • (late 1990s - current) XML --What is a Database--
ANSI Three-Schema Architecture • Supports DBMS characteristics of: • Program-data independence. • Support of multiple views of the data. • Defines DBMS schemas at three levels: • Physical • How data is stored on disk • Data storage structures • Access paths to the data • Logical • External --What is a Database--
First Name Last Name Salary StaffID Name Birthdate staff_no fname lname dob branch_no salary Schema and Mappings external level conceptual level physical level Struct STAFF { int staff_no; int branch_no; char fname [15]; char lname [15]; struct date dob; float salary; struct STAFF *next; }; index staff_no; index branch_no; --What is a Database--
Data Independence • Each level is “independent” in the sense that a completely different organization can be used. • Physical data independence - Physical level can change without having to change the logical level. • Logical data independence - Logical level can change without having to change the external level. --What is a Database--
DBMS Achitecture Application Programmers DBA Staff Casual Users Application Programs Parametric Users DDL Statements Privileged Commands Interactive Query Precompiler Host Language Compiler DBMS Query Compiler Canned Transactions Query Execution Plan DML Statements DDL Compiler Run-time Evaluator Transaction and Data Manager Data Dictionary Data Files