Database Management System
Chapter 1 – An Overview
THE TRADITIONAL FILE ENVIRONMENT
Class programs Class file
Employee data
Student data
Course data
Registration data
Registrar’s office
Accounts programs Accounts file
Employee data
Student data
Tuition data
Financial aid
Accounting dept.
• Employee data contains information of the instructor who is an employee.• Student data is repeated.
A data file is a collection of logically related records. In a file management environment, eachapplication has a specific data file related to it, containing all the data records needed by theapplication.
Program – Data Dependence
Program – Data Dependence is the tight relationship between data stored in various files and the specific programming language used to access or execute them. Every traditional computer program has to describe the input file format with which it works. Program – Data
Dependence leads to the potential for Data redundancy.
Data Redundancy is the presence of duplicate data in multiple data files. Data redundancy occurs when different divisions, functional areas, and groups in an organization independently collect the same piece of data and build separately their own systems with different languages, platforms, and data file format . Data Redundancy leads to the potential for data inconsistency.
Problems with the File processing
Data Isolation : File processing can leads to difficulty in accessing data from different applications. (Data can not be shared). With applications uniquely designed and implemented, data are scattered in various files, and files may be in different formats.
Integrity problems : The data values stored in the database must satisfy certain types of consistency constraints. Developers enforce these constraints in the system by adding appropriate code in the various application programs. However, when new constraints are added, it is difficult to change the programs to enforce them.
Security problems: Enforcing security constraints in the application is much more difficult than that of in the database environment. Not every user of the database system should be able to access all the data.
Applications should not have to be developed with regard to how the data are stored. That is, the applications and data in computer systems should be independent - a characteristic called application/data independence.
Databases : The modern approach
Class programs Academic info
Student data
Course data
Registration data
Registrar’s office
Accounts programs
Employee data
Team data
Tuition data
Financial aid
Accounting dept.
Sports programs
Athletics dept.
Databasemanagement
system
A database, which is a logical group of related files, can eliminate many of the problems associated with a traditional file environment. With the database approach, all the data aretypically contained in the same storage location, rather than residing in many different files across the organization.
Unlike the traditional approach, in which different programs access the differentdata files, the database is arranged so that one set of software programs (DBMS) providesaccess to all the data.
DBMS: Database Management System
DBMS consists of a collection of interrelated data and a set of programs
to access those data. The primary goal of DBMS is to provide an
environment that is both convenient and efficient to use in retrieving
and storing database information. DBMS acts as the interface software
between users and data stored in the database by hiding the detail of
internal
ฐานข้�อมู�ลกลาง
มูาตรฐานข้�อมู�ล
คล�งข้�อมู�ล
กรรมวิ�ธี�นำเข้ กรให้ บร�กร
The enterprise system collects data from various key business processes and stores the data in a single comprehensive data repository where they can be used by other parts of the business
Locating Data in Databases
A centralized database has all the related files in one physical location.
CentralLocation
Locating Data in Databases
A distributed database has complete copies of a database, or portions of a database, in more than one location.
CentralLocation
LocationA
LocationB
LocationC
LocationD
There are two types of distributed databases:
• replicated• partitioned
A replicated database has complete copies of the entire database in many locations, primarily to alleviate the single-point-of-failure problemsof a centralized database as well as to increase user access responsiveness.
A partitioned database is subdivided, so that each location has a portion of the entire database (usually the portion that meets users’ local needs).This type of database provides the response speed of localized files without the need to replicate all changes in multiple locations.
Databases : The modern approach
Class programs Academic info
Student data
Course data
Registration data
Registrar’s office
Accounts programs
Employee data
Team data
Tuition data
Financial aid
Accounting dept.
Sports programs
Athletics dept.
Databasemanagement
system
A database, which is a logical group of related files, can eliminate many of the problems associated with a traditional file environment. With the database approach, all the data aretypically contained in the same storage location, rather than residing in many different files across the organization.
Unlike the traditional approach, in which different programs access the differentdata files, the database is arranged so that one set of software programs (DBMS) providesaccess to all the data.
Abstract View of Data
DBMS provides the ability for many different users to share data and process resources. How can a single, unified database meet the differing requirements of so many users? That is, the system hides certain details of how the data are storedand maintained.
A DBMS minimizes these problems by providing 3 views of the database data:(Since many database-systems users are not computer trained, developers hidethe complexity from users through several levels of abstraction :
A physical view : The lowest level of abstraction describes how the data are actually stored. It deals with the actual, physical arrangement and location of data in the direct access storage devices (DASDs). A logical view The next higher level of abstraction describes what data arestored in the database, and what relationships exist among those data. The logicaldescribes the entire database in terms of a small number of relatively simple structures.(Users may not want to know all the technical details of physical storage.
An external view : The higher level of abstraction describes only part of the entire database. Many users of the database do not need all this information;instead, they need to access only a part of the database.
Data Abstraction External View 1
External View 2
External View 3
Conceptual (Logical) Level
Physical Level
BillingApplication
Load ResearchApplication
MaintenanceApplication
Billing & ResearchData Model
MaintenanceData Model
Information Services Data Model
Database Management System
ServiceDatabases
Logical User ViewsData elements and relationships needed for Billing, Load Research, or Maintenance processing
Data elements and relationships (the schema) needed for the support of all information services.
Software InterfaceThe DBMS provides access to the information services databases
Physical Data ViewsOrganization and location of data onthe storage media.
One strength of a DBMS is that while there is only one physical view of the data, there can be an endless number of different external views - one specifically tailored to each individual user, if necessary.
Data Model Data Model defines how data are conceptually structured.
A collection of conceptual tools for describing data, data relationships, data semantics, and consistency constraints. Examples of data model : hierarchical, network, relational, object-oriented, entity-relation model, object-relational, hypermedia, and multidimensional models.
Instance และ SchemaInstance ข้องฐานข้�อมู�ล : เหล�าข้�อมู�ลที่��ถู�ก
จั�ดเก�บในฐานข้�อมู�ลในข้ณะใดข้ณะหน��ง ด�งน� น Instance จั�งเปร�ยบเสมู$อนก�บค�า
ข้องต�วแปรในข้ณะใดข้ณะหน��งในProgramming Language การ
เปล��ยนแปลงข้�อมู�ลในระบบฐานข้�อมู�ล มู�สาเหต& มูาจัากการที่��ข้�อมู�ลมู�การ Insert,
Delete หร$อ Update เก'ดข้� นตลอดเวลา
Schema : เค�าร�าง (โครงสร�าง) ที่��ได�จัาก การออกแบบฐานข้�อมู�ลโดยรวมู เช่�นการ
ก+าหนดว�า ระบบฐานข้�อมู�ลควรประกอบด�วย ไฟล-อะไรบ�าง และไฟล-เหล�าน� นมู�ความูส�มูพั�นธ์-
ก�นอย�างไร แต�ละไฟล-ควรประกอบด�วยฟ0ลด-(fields) อะไรบ�าง
Instance and SchemaInstance of Database : The collection of information stored in the database at a particular moment. Instance of Database change over time as information is inserted and deleted.
The concept of instances can be understood by analogy to a program written in a programming language. Each variable has a particular value at any given instant of time.
Schema : The overall design of the database which must be specified as following :
What files are included in a database?
What fields are included in each file?
How those files are related?
A database schema corresponds to the variable declarations in a program.
Database Language
A database system provides a Data Definition Language (DDL) to specify the database schema and a Data Manipulation Language (DML) to express database queries and updates.
Data Definition Language (DDL)
A database schema can be specified by a set of definitions expressed by a special language called a Data-Definition Language.DDL defines what types of information are in the database and how they will be structured. The DDL defines each data element as it appears in the database before that data element is translated into the forms required by the applications.
Examples of Data Definition Language (DDL)
Database Languages
CREATE TABLE CREATE VIEW CREATE INDEXALTER TABLE DROP VIEW DROP INDEXDROP TABLE
CREATE TABLE S( S# Char(5) Not Null, Sname Char(20) Not Null, Status SmallInt Not Null, City Char(15) Not Null, PRIMARY KEY (S#) );
After DDL statement has been interpreted, DBMS generates a special set of tables called the data dictionary or data directory.
A data dictionary contains metadata – that is, data about data. The schema of a table is an example of metadata. A database system consults the data dictionary before reading or modifying actual data.
ผลจัากการคอมูไพัล-ประโยคที่��เข้�ยนด�วย DDL (DDL Interpreter) จัะ ที่+าให�เก'ดตารางที่��จัะจั�ดเก�บในไฟล-ช่น'ดหน��งที่��เร�ยกว�า พัจันาน&กรมูข้�อมู�ล
(Data Dictionary) ซึ่��งเก�บข้�อมู�ลที่��เก��ยวก�บ โครงสร�างที่��ได�จัากการ ออกแบบฐานข้�อมู�ลน� น ๆ และถู�ามู�การเปล��ยนแปลงแก�ไข้ หร$อ เร�ยกใช่�ข้�อมู�ล
DBMS ต�องอาศั�ยข้�อมู�ลข้องโครงสร�างจัากไฟล-น� เสมูอ
The data values stored in the database must satisfy certain consistency constraints. The database systems check these constraints every time the database is updated.
Data Manipulation Language (DML)
การใช่�ข้�อมู�ลในระบบฐานข้�อมู�ล อาจัจั+าแนกได�เป5น- การเร�ยกด�ข้�อมู�ล (RetrieveData)- การเพั'�มูข้�อมู�ลใหมู� (Insert Records)- การลบข้�อมู�ลเด'มู (Delete Records)- การเปล��ยนแปลงแก�ไข้ข้�อมู�ลเด'มู (Update Fields)
การใช่�ข้�อมู�ลในระด�บข้องผ��ใช่�น� น สามูารถูกระที่+าได�โดยผ�านที่าง DBMSซึ่��งได�เตร�ย มูภาษาส+าหร�บการใช่�ข้�อมู�ล (DML is a language that enables users to access or manipulate data as ornagized by the appropriate data model.)
Application Program are written in a Host Language. To access the database, DML statements need to be executed from the hose language by
• Providing an application program interface (API) that can be used to send DML and DDL statements to the database, and retrieve the result. Ex. ODBC, JDBC.
• Extending the host language syntax to embed DML calls within Host Language program.. However, DML syntax is different from syntax of Host Language, Query Processor of DBMS consists of :
DDL InterpreterDML CompilerQuery Evaluation Engine
Database Access from Application Programs
DDL Interpreter : แปล (interpret) ประโยคค+าส��งที่��เข้�ยนด�วย DDL และ
บ�นที่�กผลการแปลค+าส��งลงใน data dictionary
DML Compiler : แปล (translate) ประโยคค+าส��ง DML ซึ่��งเป5นภาษาที่��ใช่�
ในการส$บค�น (structure query language) ไปเป5น low-level instructions ที่�� Query Evaluation Engine
สามูารถูเข้�าใจัได� (ค+าส��ง query 1 ค+าส��ง อาจัถู�กแปลออกมูาได�มูากกว�า 1 query evaluation plans ที่��ให�ผลล�พัธ์-ที่��เหมู$อนก�น ด�งน� น เป5นหน�าที่��ข้อง DML compiler ที่��จัะต�องที่+า query optimization เพั$�อเล$อก query evaluation plans ที่��ประมูวลผลได�เร�วที่��ส&ด (The DML compler also performs query optimization; that is, it picks the lowest cost evaluation plan from among the alternatives.)
Query Evaluation Engine : เมู$�อ DML Compiler สร�าง Object Code ที่��เป5น
Low-level Instructions ข้� นมูาแล�ว ก�จัะส�งต�อให�ก�บQuery Evaluation Engine ที่+าการประมูวลผลต�อไป
Data Consumers
Visual Basic Application
Other ApplicationsASP page
Visual C++ Application
Service Components
ADO Connection
ODBC
Simple Data Provider
Cursor Engine Query Processor
ODBC Provider
Data Providers
DatabaseDatabaseServerServer
Mainframe
Data
NonRelatio
nData
DML CompilerDDL InterpreterQuery Evaluation Engine
How Database Represent Information
A database management system (DBMS) is a combination of software and data:
• The physical database : a collection of files that contain the data content.
•The schema: a specification of the information content of the physical database
•The database engine: software that supports access to and modification of the contents of the database
•The data definition and manipulation language: programming languages that support schema definition and database access.
Overall System Structure
Query processor components • DML compiler• DDL interpreter• Query evaluation engine
Storage manager components : provides the interface between the low level data storedin the database and the application programs and queries submitted to the system
• Authorization and integrity manager : tests for the satisfaction of integrity constraints and checks the authority of users to access data.• Transaction manager : ensures that the database remains in a consistent state despite system failures and that concurrent transaction executions proceed without conflicting.• File manager : manages the allocation of space on disk storage and the data
structures used to represent information stored on disk.• Buffer manager : responsible for fetching data from disk storage into main memory.
• Data files : store the database itself.• Data dictionary : stores metadata about the structure of the database.
The data dictionary is used heavily. Therefore, great emphasis should be placed on developing a good design and efficient implementation of the dictionary.
• Indices : provide fast access to data items that hold particular values.
Data files Data dictionary
Indices
Transactionmanager
Buffermanager
Filemanager
Application programsobject code
Compiler and linkerDML compiler DDLinterpreter
DML compiler and organizer
Application interfaces
Application programs Query tools
Administration tools
Naïve usersApplicationprogrammers
Sophisticatedusers
Databaseadministrator
Disk storage
Storagemanager
queryprocesor
usersuse write use use
Authorizationand
integrity
manager
Query evalution engine
Database Processing Advantages
Data redundancy (Repetition of data) can be reduced.
Data inconsistency can be avoided.
Data can be shared. Standard of data can be
controlled.
Concurrent-access to database can be provided.
Data Integrity and data security can be maintained.
ManufacturingAccountingFinanceMarketingand Sales
HumanResources
ManufacturingSystems
AccountingSystems
FinanceSystems
Marketingand SalesSystems
HumanResourcesSystems
Businessprocesses
Businessprocesses
Businessprocesses
Businessprocesses
Businessprocesses
Business Functions
Information Systems
Org
an
izati
on
al B
ou
nd
ari
es
Org
an
izat i
on
al B
ou
nd
ari
es
CustomerCustomerCustomer
VendorsVendorsVendors
Traditional view of systems. In most organizations, separate systems built over a long period of timesupport discrete business processes and discrete business functions. The organization’s system rarely included vendors and customers.
PRODUCTIONMAINTENANCE
SALES AND MARKETINGFINANCE AND ACCOUNTING
1. Implement a separate “middleware” bridge to each of these specialized systems to link them all together
How to integrate functions and business processes
PRODUCTIONMAINTENANCE
SALES AND MARKETINGFINANCE AND ACCOUNTING
1. Implement a separate “middleware” bridge to each of these specialized systems to link them all together
2. Implement or buy entirely new enterprise applications that can coordinate activities, decision, and knowledge across many different functions, levels, and business units in a firm.
How to integrate functions and business processes
Enterprise systems • Supply chain management systems SCM)• Customer relationship management systems (CRM)
Each of these enterprise applications integrates a related set of functions and business process to enhance the performance of the organization as a whole.
Enterprise systems also known as enterprise resource planning (ERP)
The enterprise systems, designed to support organization- wide, coordinates and integrates a related set of
major internal functions and business processes to enhance the performance of the organization as a whole.
They solve the problem of organizational inefficiencies created by isolated islands of information, business processes, and technology.
Business processBusiness processBusiness process
Enterprise-wide business Process
Manufacturing Accounting
FinanceMarketingand Sales
HumanResources
Vendors
Org
an
izati
on
al B
ou
nd
ari
es
Org
an
izati
on
al B
ou
nd
ari
es
Customers
Enterprise systems. Enterprise systems can integrate the key business processes of an entire firm into a single software system that allows information to flow seamlessly throughout the organization. These systems focus primarily on internal processes but may include transactions with customers and vendors.