Presentation is loading. Please wait.

Presentation is loading. Please wait.

6/2/20141 Database System DICT:501 Md. Ariful Islam Khandaker Assistant Professor, IICT. KUET.

Similar presentations


Presentation on theme: "6/2/20141 Database System DICT:501 Md. Ariful Islam Khandaker Assistant Professor, IICT. KUET."— Presentation transcript:

1 6/2/20141 Database System DICT:501 Md. Ariful Islam Khandaker Assistant Professor, IICT. KUET

2 6/2/20142 Outline Purpose of Database Systems Purpose of Database Systems View of Data View of Data Data Models Data Models Data Definition Language Data Definition Language Data Manipulation Language Data Manipulation Language Transaction Management Transaction Management Storage Management Storage Management Database Administrator Database Administrator Database Users Database Users Overall System Structure Overall System Structure

3 6/2/20143 Database Definition What is Database? A database is basically just a computerized record-keeping system where data are stored in organized way. A database is basically just a computerized record-keeping system where data are stored in organized way. The database itself can be regarded as a kind of electronic filing cabinet; i.e., it is like a repository or a container for a collection of computerized data files. The database itself can be regarded as a kind of electronic filing cabinet; i.e., it is like a repository or a container for a collection of computerized data files.

4 6/2/20144 Difference between Data and Information Data refer to what is actually stored in the database. It is unprocessed value. Information refers to the meaning of that data as understood by some user. It is processed data. Example- Simply 50 is data i,e value but if the mark is 50- is information. But in language, the terms data and information are treated as synonymous.

5 Database(Back End) 6/2/20145

6 Database Access through forms 6/2/20146

7 Fetching Data from Database 6/2/20147

8 8 Components of Database System A database system involves four major components: 1. Data - Integrated form, Shared form. 2. Hardware – Processor, Primary & Secondary Storage. 3. Software – Operating Systems, DBMS. 4. Users – Basically two types – Administrator, Normal User

9 6/2/20149 Operations on Database file Adding new, empty files to the database; Adding new, empty files to the database; Inserting data into existing files; Inserting data into existing files; Retrieving data from existing files; Retrieving data from existing files; Changing data in existing files; Changing data in existing files; Deleting data from existing files; Deleting data from existing files; Removing existing files from the database. Removing existing files from the database.

10 6/2/ Database System Applications Banking: For customer information, accounts, and loans, and banking transactions. Banking: For customer information, accounts, and loans, and banking transactions. Airlines: For reservations and schedule information. Airlines: For reservations and schedule information. Universities: For student information, course registrations, and grades. Universities: For student information, course registrations, and grades. Credit card transactions: For purchases on credit cards and generation of monthly statements. Credit card transactions: For purchases on credit cards and generation of monthly statements. Telecommunication: For keeping records of calls made, generating monthly bills, maintaining balances on prepaid calling cards, and storing information about the communication networks. Telecommunication: For keeping records of calls made, generating monthly bills, maintaining balances on prepaid calling cards, and storing information about the communication networks. Finance: For storing information about holdings, sales, and purchases of financial instruments such as stocks and bonds. Finance: For storing information about holdings, sales, and purchases of financial instruments such as stocks and bonds. Sales: For customer, product and purchase information. Sales: For customer, product and purchase information. Manufacturing: For management of supply chain and for tracking production of items in factories, inventories of items in warehouses/stores, and orders for items. Manufacturing: For management of supply chain and for tracking production of items in factories, inventories of items in warehouses/stores, and orders for items. Human resources: For information about employees, salaries, payroll taxes and benefits, and for generation of paychecks Human resources: For information about employees, salaries, payroll taxes and benefits, and for generation of paychecks

11 6/2/ DBMS What is DBMS? What is DBMS? o A database-management system (DBMS) is a piece of software that is a collection of interrelated data and a set of programs to access those data. o The collection of data, usually referred to as the database, contains information relevant to an enterprise. o The primary goal of a DBMS is- to provide a way to store and retrieve database information that is both convenient and efficient

12 6/2/ Advantages of DBMS o Data isolation: The DBMS can provide an abstract view of the data to isolate data from misuse. o Efficient data access: A DBMS utilizes a variety of sophisticated techniques to store and retrieve data efficiently. o Data integrity and Consistency: Integrity means condition to data. Provide some checks and key constraints not to data miss use. Consistency means before transaction and after transaction database will remain consistence.

13 6/2/ Advantages of DBMS… o Data administration: When several users share the data, centralizing the administration of data can offer significant improvements. o Concurrent access and crash recovery: A DBMS schedules concurrent accesses to the data in such a manner that users can think of the data as being accessed by only one user at a time. Further, the DBMS protects users from the effects of system failures. o Data Security: DBMS provides a robust security from the malicious destruction using authorization and authentic techniques.

14 6/2/ File systems vs. a DBMS File System DBMS 1. Operating system accesses data directly and it manages itself. 1. Operating system can not access data directly when computer switch on. 2. It is Flat file which means it can be opened anywhere. 2. It is not Flat file. Database Management System program needs to open data. 3. Operating systems provide only a password mechanism for security. This is not sufficient flexible to enforce security policies. 3. DBMS provides security system for accessing data. That is why, improper user cannot access data randomly. 4. If the size of the file large (above 500GB), RAM size must be large. 4. RAM size does not depend on data, because DBMS always selective type. That is required data are stored in RAM. 5. Concurrent access and crash recovery can not possible. Operating system does not responsible for this. 5. A DBMS schedules concurrent accesses to the data in such a manner that users can think of the data as being accessed by only on user at a time. Further, the DBMS protects users from the effects of system failures.

15 6/2/ View of Data Abstraction: Data Abstraction means hiding basic data or meta data from all kind of users using views.

16 6/2/ Levels of Abstraction Physical level: describes how a record (e.g., customer) is stored. Physical level: describes how a record (e.g., customer) is stored. Logical level: describes data stored in database, and the relationships among the data. Logical level: describes data stored in database, and the relationships among the data. type customer = record name : string; street : string; city : integer; end; View level: application programs hide details of data types. Views can also hide information (e.g., salary) for security purposes. View level: application programs hide details of data types. Views can also hide information (e.g., salary) for security purposes.

17 6/2/ Instances and Schemas Similar to types and variables in programming languages Similar to types and variables in programming languages Schema – the logical structure of the database Schema – the logical structure of the database o Analogous to type information of a variable in a program o Physical schema: database design at the physical level o Logical schema: database design at the logical level Instance – the actual content of the database at a particular point in time Instance – the actual content of the database at a particular point in time o Analogous to the value of a variable

18 6/2/ Data Models Model means structure. A collection of tools for describing Model means structure. A collection of tools for describing data data data relationships data relationships data semantics data semantics data constraints data constraints Types of Data Models Types of Data Models 1. Entity-Relationship model 2. Relational model 3. Other models: a)Object-oriented model b)Object relational data models c)Older models: network model and hierarchical model

19 6/2/ Hierarchical database model A hierarchical database model is a data model in which the data is organized into a tree-like structure. The structure allows representing information using parent/child relationships: each parent can have many children, but each child has only one parent (also known as a 1- to-many relationship). All attributes of a specific record are listed under an entity type. A hierarchical database model is a data model in which the data is organized into a tree-like structure. The structure allows representing information using parent/child relationships: each parent can have many children, but each child has only one parent (also known as a 1- to-many relationship). All attributes of a specific record are listed under an entity type. In a database an entity type is the equivalent of a table. Each individual record is represented as a row, and each attribute as a column. In a database an entity type is the equivalent of a table. Each individual record is represented as a row, and each attribute as a column.

20 6/2/ Network model The network model is a database model conceived as a flexible way of representing objects and their relationships. Its distinguishing feature is that the schema, viewed as a graph in which object types are nodes and relationship types are arcs, is not restricted to being a hierarchy or lattice. The network model is a database model conceived as a flexible way of representing objects and their relationships. Its distinguishing feature is that the schema, viewed as a graph in which object types are nodes and relationship types are arcs, is not restricted to being a hierarchy or lattice. The network model's original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium. The network model's original inventor was Charles Bachman, and it was developed into a standard specification published in 1969 by the CODASYL Consortium.

21 6/2/ Entity-relationship model In software engineering, an entity-relationship model (ER model for short) is an abstract and conceptual representation of data. In software engineering, an entity-relationship model (ER model for short) is an abstract and conceptual representation of data. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a top-down fashion. Diagrams created by this process are called entity-relationship diagrams or ER diagrams. Entity-relationship modeling is a database modeling method, used to produce a type of conceptual schema or semantic data model of a system, often a relational database, and its requirements in a top-down fashion. Diagrams created by this process are called entity-relationship diagrams or ER diagrams. This article refers to the techniques proposed in Peter Chen's 1976 paper. This article refers to the techniques proposed in Peter Chen's 1976 paper.

22 6/2/ Entity-relationship model… E-R model of real world E-R model of real world o Entities (objects) o Example.-customers, accounts, bank branch o Relationships between entities o Example- Account A-101 is held by customer Johnson o Relationship set depositor associates customers with accounts Widely used for database design Widely used for database design Database design in E-R model usually converted to design in the relational model (coming up next) which is used for storage and processing Database design in E-R model usually converted to design in the relational model (coming up next) which is used for storage and processing

23 6/2/ Relational Model Relational Model is a tabular representation of ERD Model. Relational Model is a tabular representation of ERD Model. In this model all tables are related with some relations. In this model all tables are related with some relations. Example of tabular data in the relational model Example of tabular data in the relational model

24 A Sample Relational Database 6/2/201424

25 6/2/ A Sample Relational Database (Cont.)

26 6/2/ Database Language Language is a way of communication. Database Language means a way to communicate with Database and users. Two types of Database Languages- Data Definition Language( DDL ), Data Manipulation Language ( DML).

27 6/2/ Data Definition Language (DDL) Specification notation for defining the database schema Specification notation for defining the database schema o Example- create table account ( account-number char(10), balance integer) DDL compiler generates a set of tables stored in a data dictionary DDL compiler generates a set of tables stored in a data dictionary Data dictionary contains metadata (i.e., data about data) Data dictionary contains metadata (i.e., data about data) o D atabase schema o Data storage and definition language language in which the storage structure and access methods used by the database system are specified language in which the storage structure and access methods used by the database system are specified Usually an extension of the data definition language Usually an extension of the data definition language

28 6/2/ Data Manipulation Language (DML) Language for accessing and manipulating the data organized by the appropriate data model Language for accessing and manipulating the data organized by the appropriate data model DML also known as query language DML also known as query language Two classes of languages Two classes of languages Procedural – user specifies what data is required and how to get those data Procedural – user specifies what data is required and how to get those data Nonprocedural – user specifies what data is required without specifying how to get those data Nonprocedural – user specifies what data is required without specifying how to get those data SQL is the most widely used query language SQL is the most widely used query language

29 6/2/ SQL SQL: widely used non-procedural language SQL: widely used non-procedural language E.g. find the name of the customer with customer-id select customer.customer-name from customer where customer.customer-id = E.g. find the name of the customer with customer-id select customer.customer-name from customer where customer.customer-id = E.g. find the balances of all accounts held by the customer with customer- id select account.balance from depositor, account where depositor.customer-id = and depositor.account-number = account.account-number E.g. find the balances of all accounts held by the customer with customer- id select account.balance from depositor, account where depositor.customer-id = and depositor.account-number = account.account-number Application programs generally access databases through one of Application programs generally access databases through one of Language extensions to allow embedded SQL Language extensions to allow embedded SQL Application program interface (e.g. ODBC/JDBC) which allow SQL queries to be sent to a database Application program interface (e.g. ODBC/JDBC) which allow SQL queries to be sent to a database

30 6/2/ Database Users Users are differentiated by the way they expect to interact with the system Users are differentiated by the way they expect to interact with the system Application programmers – interact with system through DML calls Application programmers – interact with system through DML calls Sophisticated users – form requests in a database query language Sophisticated users – form requests in a database query language Specialized users – write specialized database applications that do not fit into the traditional data processing framework Specialized users – write specialized database applications that do not fit into the traditional data processing framework Naïve users – invoke one of the permanent application programs that have been written previously Naïve users – invoke one of the permanent application programs that have been written previously E.g. people accessing database over the web, bank tellers, clerical staff E.g. people accessing database over the web, bank tellers, clerical staff

31 6/2/ Transaction Management A transaction is a collection of operations that performs a single logical function in a database application A transaction is a collection of operations that performs a single logical function in a database application Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures. Transaction-management component ensures that the database remains in a consistent (correct) state despite system failures (e.g., power failures and operating system crashes) and transaction failures. Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database Concurrency-control manager controls the interaction among the concurrent transactions, to ensure the consistency of the database

32 6/2/ Storage Management Storage manager is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system. Storage manager is a program module that provides the interface between the low-level data stored in the database and the application programs and queries submitted to the system. The storage manager is responsible to the following tasks: The storage manager is responsible to the following tasks: interaction with the file manager interaction with the file manager efficient storing, retrieving and updating of data efficient storing, retrieving and updating of data

33 6/2/ Database Administrator Coordinates all the activities of the database system; the database administrator has a good understanding of the enterprises information resources and needs Coordinates all the activities of the database system; the database administrator has a good understanding of the enterprises information resources and needs Database administrator's duties include: Database administrator's duties include: Schema definition Schema definition Storage structure and access method definition Storage structure and access method definition Schema and physical organization modification Schema and physical organization modification Granting user authority to access the database Granting user authority to access the database Specifying integrity constraints Specifying integrity constraints Acting as liaison with users Acting as liaison with users Monitoring performance and responding to changes in requirements Monitoring performance and responding to changes in requirements

34 6/2/ Overall System Structure

35 6/2/ Application Architectures Two-tier architecture: E.g. client programs using ODBC/JDBC to communicate with a database Three-tier architecture: E.g. web-based applications, and applications built using middleware

36 6/2/ Thanks to All


Download ppt "6/2/20141 Database System DICT:501 Md. Ariful Islam Khandaker Assistant Professor, IICT. KUET."

Similar presentations


Ads by Google