DEDUCTIVE DATABASE.

Slides:



Advertisements
Similar presentations
First Order Logic Logic is a mathematical attempt to formalize the way we think. First-order predicate calculus was created in an attempt to mechanize.
Advertisements

Relational Calculus and Datalog
1 Copyright © 1998 by Addison Wesley Longman, Inc. Chapter 14 Functional Programming Languages - The design of the imperative languages is based directly.
Datalog Presented by: Michael Lam CS 157A section 1 Dr. Sin Min Lee.
1. An Overview of Prolog.
Chapter 3 Tuple and Domain Relational Calculus. Tuple Relational Calculus.
©Silberschatz, Korth and Sudarshan5.1Database System Concepts Chapter 5: Other Relational Languages Query-by-Example (QBE) Datalog.
1 CHAPTER 4 RELATIONAL ALGEBRA AND CALCULUS. 2 Introduction - We discuss here two mathematical formalisms which can be used as the basis for stating and.
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
Relational Schemas and Predicate Logic: Notation.
Answer Set Programming Overview Dr. Rogelio Dávila Pérez Profesor-Investigador División de Posgrado Universidad Autónoma de Guadalajara
4. PROLOG Data Objects And PROLOG Arithmetic
CS 355 – Programming Languages
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
1 2. Constraint Databases Next level of data abstraction: Constraint level – finitely represents by constraints the logical level.
Chapter 3. 2 Chapter 3 - Objectives Terminology of relational model. Terminology of relational model. How tables are used to represent data. How tables.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
JavaScript, Third Edition
Structured Query Language (SQL) A2 Teacher Up skilling LECTURE 2.
Chapter 4 The Relational Model Pearson Education © 2014.
Chapter 4 The Relational Model.
Chapter 3 The Relational Model Transparencies Last Updated: Pebruari 2011 By M. Arief
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
1 CS 430 Database Theory Winter 2005 Lecture 6: Relational Calculus.
Chapter 3 The Relational Model. 2 Chapter 3 - Objectives u Terminology of relational model. u How tables are used to represent data. u Connection between.
CSE314 Database Systems The Relational Algebra and Relational Calculus Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
Database Management Systems, R. Ramakrishnan1 Relational Calculus Chapter 4.
Copyright © Curt Hill Languages and Grammars This is not English Class. But there is a resemblance.
CS 603: Programming Languages Lecture 25 Spring 2004 Department of Computer Science University of Alabama Joel Jones.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
CS6133 Software Specification and Verification
1 / 48 Formal a Language Theory and Describing Semantics Principles of Programming Languages 4.
Database System Concepts, 5th Ed. Bin Mu at Tongji University Chapter 5: Other Relational Languages.
1 CSC384: Intro to Artificial Intelligence Lecture 5.  Knowledge Representation.
Logic Programming (LP) expresses code using of a restricted form of symbolic logic. LP programs are declarative, rather than algorithmic. An LP program.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 21 A First Course in Database Systems.
The Relational Model. 2 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database,
1 Knowledge Based Systems (CM0377) Lecture 6 (last modified 20th February 2002)
Copyright © Curt Hill The Relational Calculus Another way to do queries.
ACTIVE DATABASE Traditional database systems are passive: respond to applications We may wish to extend the database systems by allowing them to invoke.
Albert Gatt LIN3021 Formal Semantics Lecture 3. Aims This lecture is divided into two parts: 1. We make our first attempts at formalising the notion of.
1 CSC 384 Lecture Slides (c) , C. Boutilier and P. Poupart CSC384: Intro to Artificial Intelligence  Jan 12 th  Announcements: Tutorial splits.
The Relational Model © Pearson Education Limited 1995, 2005 Bayu Adhi Tama, M.T.I.
Clearly Visual Basic: Programming with Visual Basic 2008 Chapter 11 So Many Paths … So Little Time.
Chapter 10 So Many Paths … So Little Time (Multiple-Alternative Selection Structures) Clearly Visual Basic: Programming with Visual Basic nd Edition.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 26 A First Course in Database Systems.
Chapter 4 The Relational Model Pearson Education © 2009.
Logic Programming Logic programming Candidates should be familiar with the concept of logic programming for declaring logical relationships.
CS589 Principles of DB Systems Fall 2008 Lecture 4b: Domain Independence and Safety Lois Delcambre
Relational Calculus Database Management Systems, 3rd ed., Ramakrishnan and Gehrke, Chapter 4.
By P. S. Suryateja Asst. Professor, CSE Vishnu Institute of Technology
tautology checking continued
Datalog Rules / Programs / Negation Slides by Jeffrey D. Ullman
Relational Model By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany)
Enhanced Data Models for Advanced Applications
7/4/2018.
7/5/2018.
The Propositional Calculus
Prolog fundamentals Module 14.2 COP4020 – Programming Language Concepts Dr. Manuel E. Bermudez.
What would be our focus ? Geometry deals with Declarative or “What is” knowledge. Computer Science deals with Imperative or “How to” knowledge 12/25/2018.
C++ Data Types Data Type
What would be our focus ? Geometry deals with Declarative or “What is” knowledge. Computer Science deals with Imperative or “How to” knowledge 2/23/2019.
Chapter 15 Functional Programming 6/1/2019.
Representations & Reasoning Systems (RRS) (2.2)
CS589 Principles of DB Systems Fall 2008 Lecture 4e: Logic (Model-theoretic view of a DB) Lois Delcambre
CS589 Principles of DB Systems Fall 2008 Lecture 4b: Domain Independence and Safety Lois Delcambre
Presentation transcript:

DEDUCTIVE DATABASE

Purpose The purpose of my presentation is to give the basic concept of Deductive Database.

What is Deductive Database ? A Deductive Database system is a database system that includes capabilities to define “Rules”, which can deduce additional information from the facts that are stored in a database. Mathematical logic is a part of the theoretical foundation for the Deductive Database, that is why it is also called a “logic database”.

DDB uses a declarative language. Declarative Language means a language that defines what a program wants to achieve, rather than one that specifies the details of how to achieve it. A deduction mechanism within the system can deduce new facts from the database by interpreting these rules.

Types of specifications of DDB There are two main types of specifications: Facts Rules

Facts Facts are specified as the same way the relations are specified in the Relational Database Except it is not necessary to include the attribute names. The meaning of an attribute value in a tuple is determined solely by its position in the tuple.

Rules They specify “virtual relations” that are not actually stored but that can be formed from the facts by applying deduction mechanisms based on the rule specifications. somewhat similar to relational views, but different in the sense that it may involve recursion.

Notations Deductive database uses Datalog notation, which is a subset of Prolog. Prolog is a language based on logic. Datalog is a deductive query language similar to Prolog but more suitable for database applications.

Prolog and Datalog notations The notation used in Prolog/Datalog is based on providing “predicates” with unique names. Apredicate has an implicit meaning, which is stated by the predicate name and a fixed number of arguments. If the arguments are all constant values, the predicate states that the fact is true.

Prolog convention All constant values in a predicate either are numeric or are character strings starting with lower case letters only. Variable names always start with an upper case letter.

Example of notation SUPERVISE(Supervisor,Supervisee) Predicate name Arguments

Datalog notation Datalog program is built from basic objects called “atomic formulas” It is cutomary to define the syntax of logic-based languages by describing the syntax of atomic formulas and identifying how they can be combinedto form a program.

Built-in predicates A number of built-in predicates are included in Datalog, which can be used to construct atomic formulas. Built-in predicates are of two types : Binary comparison predicates over ordered domains Comparison predicates over ordered or unordered domains.

Interpretations of Rules Two main alternatives for interpreting the theoretical meaning of rules : Proof-theoretic Model-theoretic

Proof-theoretic interpretation Axioms - the facts and rules to be true statements Ground Axioms- The facts that are given to be true. Deductive Axioms- Rules are called deductive axioms, because they can be used to deduce new facts.

Model Theoretic interpretation For a finite or infinite domain of constant values, we assign to a predicate every possible combination of values as arguments. Then we determine whether the predicate is true or false.

Model An interpretation is called a model for a specific set of rules, if those rules are always true under that interpretation.