* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download File - BS-IT UOS
Serializability wikipedia , lookup
Microsoft Access wikipedia , lookup
Entity–attribute–value model wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Oracle Database wikipedia , lookup
Open Database Connectivity wikipedia , lookup
Microsoft SQL Server wikipedia , lookup
Ingres (database) wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Functional Database Model wikipedia , lookup
Concurrency control wikipedia , lookup
Relational model wikipedia , lookup
Versant Object Database wikipedia , lookup
Clusterpoint wikipedia , lookup
Database Design & Management Objectives of this lecture: The meaning of the term database The Characteristics of DB approach The benefits with DB approach Clearly understand the different types of database. Understand the client/server Architecture Discuss the different components of DBMS environment. Definition of Database “ Database is a shared collection of logically related data, designed to meet the information needs of multiple users in an organization ” Database is designed, built, and populated with data for a specific purpose. It has an intended group of users and preconceived applications in which these users are interested. What is a Database … A brief definition is An organized store of information. For performing daily operational & Administrative tasks. Held over a period of time. For later observations & analysis. In computer readable form. Using some storage device like HDD, Cartridge disk, Compact Disk, Tape Devices. Minimal duplications of data Database characteristics and advantages File sharing Easy data retrieval The Range of Database Applications • Personal Database – standalone desktop database • Workgroup Database – local area network (<25 users) • Department Database – local area network (25-100 users) • Enterprise Database – wide-area network (hundreds or thousands of users) Personal Computer Database Workgroup database with local area network An enterprise data warehouse Types of Database There are different types of databases according to: (1)Function / Purpose of database (2)Location of database (3)Model of database (4)Architecture of database Analytic Databases Analytic databases (a.k.a. OLAP- On Line Analytical Processing) are primarily static, read-only databases which store archived, historical data used for analysis. For example, a company might store sales records over the last ten years in an analytic database and use that database to analyze marketing strategies in relationship to demographics. • On the web,analytic databases in the form of inventory catalogs such as Amazon.com. An inventory catalog analytical database usually holds descriptive information about all available products in the inventory. • Web pages are generated dynamically by querying the list of available products in the inventory against some search parameters. The dynamically-generated page will display the information about each item (such as title, author, ISBN) which is stored in the database. Operational Databases • Operational databases (a.k.a. OLTP On Line Transaction Processing), on the other hand, are used to manage more dynamic bits of data. These types of databases allow you to do more than simply view archived data. Operational databases allow you to modify that data (add, change or delete data). • These types of databases are usually used to track realtime information. • For example, a company might have an operational database used to track warehouse/stock quantities. As customers order products from an online web store, an operational database can be used to keep track of how many items have been sold and when the company will need to reorder stock. Types of Database • Centralized Database • Personal Computer Database. • Multi user Database • Distributed Database • Homogenous. • Heterogenous. Corporate Computing Model. Stand alone Each terminal has its own database. No sharing of data. Multi-User DBMS Architectures • Client-server - Teleprocessing - File Server - Database Server What is “Client/Server” • “Client/server” is sometimes used to refer to processes (clients) that request services of other processes (servers) – these processes may execute either on the same or different computers • However, “client/server database” generally implies that the processes execute on different machines Client/Server Architecture • A client/server system (whether database oriented or not) can be thought of as having three main software components: – A front end application (resident at the client and with which the user interacts) – A back end application (resident on the server and which services the client requests) – Communication middleware Elements of C-S Computing a client, a server, and network Client Server Network Client machine Server machine Application Tasks User Interface Presentation Logic Application Logic Data Requests & Results Physical Data Management Teleprocessing • Traditional architecture. • Single mainframe with a number of terminals attached. • Trend is now towards downsizing. Client (dumb) - Server Model Server Client Presentation Logic Network Application Logic DBMS File-Server • File-server is connected to several workstations across a network. • Database resides on file-server. • DBMS and applications run on each workstation. • Disadvantages include: – Significant network traffic. – Copy of DBMS on each workstation. – Concurrency, recovery and integrity control more complex. File Server Database Systems File requests, Fully Updated whole files Operating Functional System DBMS Whole files Client Server Database File-Server Architecture Database-Server • Server holds the database and the DBMS. • Client manages user interface and runs applications. • Advantages include: – wider access to existing databases; – increased performance; – possible reduction in hardware costs; – reduction in communication costs; – increased consistency. Database Server Systems Application Program SQL Required record(s) Client Full-fledged DBMS Server Database Database-Server Model Server Client Application Logic Presentation Logic Network DBMS Database-Server Architecture More About Client/Server … Types of Client/Server One Server – One Client Server One Server – many clients Server Client 1 Client 2 Client 3 More About Client/Server … Types of Client/Server Many Servers – Many Clients Client & Server Client & Server Client & Server Database Schema The description of the database is called database schema. A database schema is describe during database design and not expected to change frequently. Schema Diagram Displayed schema is called schema diagram. Each object in schema is called a schema construct. Database instance (occurrence or state) The data in a database at a particular moment of time. Intension & Extension The schema is sometimes called the intension and a database instance is called an extension of the schema. Database Languages Data Definition Language (DDL) Used to specify the conceptual schema Storage Definition Language (SDL) Used to specify the internal schema View Definition Language (VDL) Used to specify the external schema Data Manipulation Language (DML) Used for manipulation of data, like retrieval, insertion, deletion and modification. DDL, DML, DCL, Host Language A general purpose programming language, providing various non-database facilities, such as variables declarations, computational operators, logic construct and so on. For example: C, C++, VBA, COBOL Data sub-language Embedded language within the host language. For example: SQL can be used as standalone language and also as embedded in C or VB. Possible databases • Personal address book • a collection of documents • a collection of excel spreadsheets • data, collected, maintained and used somewhere Components of the Database Environment DBMS Operational environment is an integrated system of hardware, software and people that is designed to facilitate the storage , retrieval and control of the information resources and to improve the productivity of the organization. • CASE Tools: computer-aided software engineering • Repository: centralized storehouse of metadata Components of the Database Environment Database Management System: software for managing the database Database: storehouse of the data • Application Programs: software using the data • User Interface: text and graphical displays to users Components of the Database Environment Data Administrators: personnel responsible for maintaining the database • System Developers : personnel responsible for designing databases and software • End Users: people who use the applications and databases Components of the database environment Database System Environment Users/Programs Application Programs/Queries Software to Process Queries/Programs Software to Access Stored Data Stored Database Definition Stored Database Database Components DBMS =============== Design tools Database Database contains: User’s Data Metadata Indexes Application Metadata Table Creation Form Creation Query Creation Report Creation Procedural language compiler (4GL) ============= Run time Form processor Query processor Report Writer Language Run time Application Programs User Interface Applications CASE Tools: • Purpose – • To support the efficient and effective development of database applications. • CASE support may include –A data dictionary to store information about the database application’s data. – Design tools to support data analysis. – Tools to develop the corporate, conceptual, and logical data models. – Tools to enable the prototyping of applications. Divided into three categories: • upper-CASE, • lower-CASE, and • integrated-CASE. • • • • • Can provide the following benefits – Standards – Integration – Support for standard methods – Consistency – Automation Database Application Lifecycle – CASE Tools System Catalog • • • • • • A repository of information (meta-data) describing, formally, the data in the database. Also sometimes called a data dictionary. Typically stores: – Names of authorized users. – Names of data items in the database. – Constraints on each data item. – Data items accessible by a user and the type of access. System Catalog It is used by modules such as: • – Authorization Control. • – Integrity Checker. • Types of System Catalog: • Active • Passive Interfaces to a Data Dictionary Database Administrators Application Programmers End Users Human Interfaces Software and DBMS Interfaces Compilers / Precompilers Data Dictionary Application Programs / Report Generators Integrity Constraint Enforcer Evolution of DB Systems • • • • • • • • Flat files - 1960s - 1980s Hierarchical – 1970s - 1990s Network – 1970s - 1990s Relational – 1980s - present Object-oriented – 1990s - present Object-relational – 1990s - present Data warehousing – 1980s - present Web-enabled – 1990s - present Database models • 1960 s • 1970s • 1980s • 1990s Object oriented • 2000s ? Hierarchical Relational Client Oriented Traditional files Object-relational Network Summary • • • • • Definition of Database Types of database Range of databases Possible databases Components of database environment Assignment # 1 Write down the detail definitions, functioning structure with diagrams and advantages and limitations for different Flavours of Client/Server System: • • • • • • Transaction server Application server Data Server Compute Server Communication Server Video Server