CHAPTER 1 & 2 Database Concepts and Database System Architecture Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Basic Definitions ◼ Data: ◼ Known facts that can be recorded and have an implicit meaning. ◼ Database: ◼ A logically coherent collection of related data with some inherent meaning. ◼ Mini-world: ◼ Some part of the real world about which data is stored in a database. For example, Transportation, Banking, University, …etc. ◼ Database can be of any size and complexity ◼ Example: ◼ ◼ Address book on a smart phone – small and simple Large commercial database (Amazon) – large and complex Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 2 ◼ Database Management System (DBMS): ◼ Is a general-purpose software system that facilitates the processes of defining, constructing, manipulating, and sharing database among various users and application ◼ Example: ◼ ◼ ◼ ◼ Oracle SQL Server MySQL Database System: ◼ The DBMS software together with the data itself. Sometimes, the applications are also included. Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 3 Simplified database system environment Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 4 Database Management System (DBMS) Transaction Manager Recovery Manager Concurrency Controller Security Manager Buffers Query Evaluator Data file Meta –data file The simplified architecture of a B.typical Copyright © 2016 Ramez Elmasri and Shamkant Navathe DBMS. Storage Log file @Dr. Jamil Al Sawwa Slide 1- 5 Typical DBMS Functionality ◼ ◼ ◼ Define a particular database in terms of its data types, structures, and constraints Construct or Load the initial database contents on a secondary storage medium Manipulating the database: ◼ ◼ ◼ ◼ Retrieval: Querying, generating reports Modification: Insertions, deletions and updates to its content Accessing the database through Web applications Processing and Sharing by a set of concurrent users and application programs – yet, keeping all data valid and consistent Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 6 Additional DBMS Functionality ◼ DBMS may additionally provide: ◼ Protection or Security measures to prevent unauthorized access Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 7 Application Activities Against a Database ◼ Applications interact with a database by generating ◼ ◼ Queries: that access different parts of data and formulate the result of a request Transactions: ◼ Transaction is a process that includes one or more database accesses (reading, inserting, updating or deleting) ◼ ◼ Prosperities: Isolation, atomicity, durability that may read some data and “update” certain values or generate new data and store that in the database Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 8 Database Users ◼ Database administrators (DBA): ◼ ◼ Responsible for authorizing access to the database, for coordinating and monitoring its use, acquiring software and hardware resources, controlling its use and monitoring efficiency of operations. Database Designers: ◼ Responsible to define the content, the structure, the constraints, and functions or transactions against the database. They must communicate with the end-users and understand their needs. Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 9 Database Users ◼ End-users: They use the data for queries, reports and some of them update the database content. ◼ System Analysts and Application Developers ◼ System Analysts: understand and analyze the requirements of end-users and develop specifications that meet their requirements. ◼ Application Programmers: implement the specifications as programs; then they test, debug, document, and maintain the program Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 10 The main advantages of Using the Database Approach ◼ Controlling redundancy in data storage and in development and maintenance efforts. ◼ ◼ ◼ ◼ ◼ Sharing of data among multiple users. Restricting unauthorized access to data Providing Storage Structures (e.g. indexes) for efficient Query Processing. Providing backup and recovery services. Enforcing integrity constraints on the database. Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 11 Centralized and Client-Server DBMS Architectures ◼ Centralized DBMS: ◼ ◼ Combines everything into single system includingDBMS software, hardware, application programs, and user interface processing software. User can still connect through a remote terminal – however, all processing is done at centralized site. Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 12 A Physical Centralized Architecture Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 13 Basic 2-tier Client-Server Architectures ◼ Specialized Servers with Specialized functions ◼ ◼ ◼ ◼ ◼ ◼ Print server File server DBMS server Web server Email server Clients can access the specialized servers as needed Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 14 Logical two-tier client server architecture Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 15 Clients ◼ ◼ ◼ Provide appropriate interfaces through a client software module to access and utilize the various server resources. Clients may be diskless machines or PCs or Workstations with disks with only the client software installed. Connected to the servers via some form of a network. ◼ (LAN: local area network, wireless network, etc.) Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 16 DBMS Server ◼ ◼ ◼ Provides database query and transaction services to the clients Relational DBMS servers are often called SQL servers, query servers, or transaction servers Applications running on clients utilize an Application Program Interface (API) to access server databases via standard interface such as: ◼ ◼ ODBC: Open Database Connectivity standard JDBC: for Java programming access Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 17 Two Tier Client-Server Architecture ◼ ◼ ◼ Client and server must install appropriate client module and server module software for ODBC or JDBC A client program may connect to several DBMSs, sometimes called the data sources. In general, data sources can be files or other non-DBMS software that manages data. Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 18 Three Tier Client-Server Architecture ◼ ◼ ◼ Common for Web applications Intermediate Layer called Application Server or Web Server: ◼ Stores the web connectivity software and the business logic part of the application used to access the corresponding data from the database server ◼ Acts like a conduit for sending partially processed data between the database server and the client. Three-tier Architecture Can Enhance Security: ◼ Database server only accessible via middle tier ◼ Clients cannot directly access database server ◼ Clients contain user interfaces and Web browsers ◼ The client is typically a PC or a mobile device connected to the Web Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 19 Three-tier client-server architecture Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe @Dr. Jamil Al Sawwa Slide 1- 20