1 Database Management System Chapter 1 – An Overview
2 องค์ประกอบของข้อมูล Bit : 0 or 1 Byte : 1 Byte consists of 8 Bits ( 1 Byte is one character)Ex represents a character “A”Word : A word consists of several bytes.Field : A field or an attribute is a boundary of data.Record : A record consists of a group of field values that representone person or one thing.File : A file consists of several records that share the samestructure.Data Base : A Database consists of several related files.
3 THE TRADITIONAL FILE ENVIRONMENT 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.Registrar’s officeClass programsClass fileEmployee dataStudent dataEmployee data contains information of the instructorwho is an employee.Student data is repeated.Course dataRegistration dataAccounting dept.Accounts programsAccounts fileEmployee dataStudent dataTuition dataFinancial aid
4 Program – Data Dependence Problems with the File processingProgram – Data DependenceProgram – 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.
5 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 thedata are stored. That is, the applications and data in computer systems shouldbe independent - a characteristic called application/data independence.
6 Databases : The modern approach Registrar’sofficeClassprogramsAcademic infoStudent dataDatabasemanagementsystemCourse dataAccountingdept.AccountsprogramsRegistration dataEmployee dataTeam dataAthleticsdept.SportsprogramsTuition dataFinancial aidA database, which is a logical group of related files, can eliminate many of the problemsassociated 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 filesacross 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.
7 DBMS: Database Management System DBMS consists of a collection of interrelated data and a set of programsto access those data. The primary goal of DBMS is to provide anenvironment that is both convenient and efficient to use in retrievingand storing database information. DBMS acts as the interface softwarebetween users and data stored in the database by hiding the detail ofinternal
8 ฐานข้อมูลกลาง คลังข้อมูล มาตรฐานข้อมูล การให้บริการ The enterprise system collects data from various key business processesand stores the data in a single comprehensive data repository where theycan be used by other parts of the businessฐานข้อมูลกลางการให้บริการกรรมวิธีนำเข้ามาตรฐานข้อมูลคลังข้อมูล
9 Locating Data in Databases A centralized database has all the related files in one physical location.CentralLocation
10 Locating Data in Databases A distributed database has complete copies of a database, or portions of adatabase, in more than one location.LocationBLocationACentralLocationLocationCLocationD
11 There are two types of distributed databases: replicatedpartitionedA replicated database has complete copies of the entire databasein 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 portionof the entire database (usually the portion that meets users’ local needs).This type of database provides the response speed of localized fileswithout the need to replicate all changes in multiple locations.
12 Databases : The modern approach Registrar’sofficeClassprogramsAcademic infoStudent dataDatabasemanagementsystemCourse dataAccountingdept.AccountsprogramsRegistration dataEmployee dataTeam dataAthleticsdept.SportsprogramsTuition dataFinancial aidA database, which is a logical group of related files, can eliminate many of the problemsassociated 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 filesacross 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.
13 Abstract View of DataDBMS provides the ability for many different users to share data and processresources. How can a single, unified database meet the differing requirements ofso 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 areactually stored. It deals with the actual, physical arrangement and location ofdata 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 simplestructures.(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 theentire database. Many users of the database do not need all this information;instead, they need to access only a part of the database.
15 Information Services Data Model Database Management System Logical User ViewsData elements and relationshipsneeded for Billing, Load Research,or Maintenance processingBillingApplicationLoad ResearchApplicationMaintenanceApplicationMaintenanceData ModelBilling & ResearchData ModelData elements and relationships(the schema) needed for thesupport of all information services.Information Services Data ModelDatabase Management SystemSoftware InterfaceThe DBMS provides access to theinformation services databasesServiceDatabasesPhysical Data ViewsOrganization and location of data onthe storage media.
16 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 ModelData 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.
18 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.
19 Database LanguageA 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.
20 Examples of Data Definition Language (DDL) Database LanguagesExamples of Data Definition Language (DDL)CREATE TABLE CREATE VIEW CREATE INDEXALTER TABLE DROP VIEW DROP INDEXDROP TABLECREATE TABLE S( S# Char(5) Not Null,Sname Char(20) Not Null,Status SmallInt Not Null,City Char(15) Not Null,PRIMARY KEY (S#) );
21 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.
22 Data Manipulation Language (DML) Data manipulation can be classified into- Retrieving data- Inserting new records- Deleting records- Updating current fieldsDML is a language that enables users to access or manipulate data asorganized by the appropriate data model.) There are basically 2 types:Procedural DML requires a user to specify what data are neededand how to get those data.Declarative DML (nonprocedural DML) requires a user tospecify what data are needed without specifying how to get thosedata.
23 Database Access from Application Programs Application Program are written in a Host Language. To access the database, DML statements need to be executed from the hose language byProviding an application program interface (API) that can beused to send DML and DDL statements to the database, andretrieve the result. Ex. ODBC, JDBC.Extending the host language syntax to embed DML calls withinHost Language program.. However, DML syntax is differentfrom syntax of Host Language, Query Processor of DBMSconsists of :Embedded DML PrecompilerDML CompilerQuery Evaluation EngineDDL Interpreter
24 Embedded DML Precompiler : Embedded DML Precompiler converts DML statements to be a normal procedure call in the application whose source code can be any hose language. By this conversion, the application can be compiled by normal compiler of that hose language.DML Compiler:DML Compiler translate DML statement to low-level instructionswhich Query Evaluation Engine can understand.Embedded DML Precompiler must coordinate with DML compiler tocreate an appropriate Object Code.
25 Data Manipulation Language (DML) การใช้ข้อมูลในระบบฐานข้อมูล อาจจำแนกได้เป็น- การเรียกดูข้อมูล (RetrieveData)- การเพิ่มข้อมูลใหม่ (Insert Records)- การลบข้อมูลเดิม (Delete Records)- การเปลี่ยนแปลงแก้ไขข้อมูลเดิม (Update Fields)การใช้ข้อมูลในระดับของผู้ใช้นั้น สามารถกระทำได้โดยผ่านทาง DBMSซึ่งได้เตรีมภาษาสำหรับการใช้ข้อมูล (DML is a language that enablesusers to access or manipulate data as ornagized by the appropriatedata model.)
29 ADO Connection Cursor Engine Query Processor Simple Data Provider ODBC Data ConsumersVisual Basic ApplicationVisual C++ ApplicationASP pageOther ApplicationsADO ConnectionService ComponentsDML CompilerDDL InterpreterEmbedded DML PrecompilerQuery Evaluation EngineCursor EngineQuery ProcessorData ProvidersSimple Data ProviderODBC ProviderMainframeDataNonRelationDataODBCDatabaseServer
30 How Database Represent Information A database management system (DBMS) is a combination of softwareand data:The physical database :a collection of files that contain the data content.The schema:a specification of the information content of the physical databaseThe database engine:software that supports access to and modification of the contents of the databaseThe data definition and manipulation language:programming languages that support schema definition and database access.
31 Overall System Structure Query processor componentsDML compilerEmbedded DML precompilerDDL interpreterQuery evaluation engineStorage manager components : provides the interface between the low level data storedin the database and the application programs and queries submitted to the systemAuthorization and integrity manager : tests for the satisfaction of integrity constraintsand checks the authority of users to access data.Transaction manager : ensures that the database remains in a consistent statedespite system failures and that concurrent transaction executions proceed withoutconflicting.File manager : manages the allocation of space on disk storage and the datastructures used to represent information stored on disk.Buffer manager : responsible for fetching data from disk storage into main memory.
32 Data files : store the database itself. Data dictionary : stores metadata about the structure of the database.The data dictionary is used heavily. Therefore, great emphasisshould be placed on developing a good design and efficientimplementation of the dictionary.Indices : provide fast access to data items that hold particular values.
34 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.
35 Business Functions Information Systems Marketing and Sales Human ResourcesManufacturingAccountingFinanceVendorsCustomerBusinessprocessesBusinessprocessesBusinessprocessesBusinessprocessesBusinessprocessesOrganizational BoundariesOrganizational BoundariesMarketingand SalesSystemsHumanResourcesSystemsManufacturingSystemsAccountingSystemsFinanceSystemsInformation SystemsTraditional 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 rarelyincluded vendors and customers.
36 PRODUCTIONMAINTENANCEFINANCE AND ACCOUNTINGSALES AND MARKETING
37 FINANCE AND ACCOUNTING SALES AND MARKETING How to integrate functions and business processes1. Implement a separate “middleware” bridge to each of thesespecialized systems to link them all togetherPRODUCTIONMAINTENANCEFINANCE AND ACCOUNTINGSALES AND MARKETING
38 How to integrate functions and business processes 1. Implement a separate “middleware” bridge to each of thesespecialized systems to link them all together2. Implement or buy entirely new enterprise applications that cancoordinate activities, decision, and knowledge across manydifferent functions, levels, and business units in a firm.Enterprise systemsSupply chain management systems SCM)Customer relationship management systems (CRM)Each of these enterprise applications integrates a related set of functions andbusiness process to enhance the performance of the organization as a whole.
39 also known as enterprise resource planning (ERP) Enterprise systemsalso 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.
40 Enterprise-wide business Process ManufacturingAccountingBusiness processEnterprise-wide business ProcessVendorsOrganizational BoundariesCustomersOrganizational BoundariesHumanResourcesMarketingand SalesFinanceEnterprise 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.