Programming Languages

Similar documents
Displaying Data from Multiple Tables. Chapter 4

Chapter 1. Writing Basic. SQL Statements

Displaying Data from Multiple Tables

Database Design. Marta Jakubowska-Sobczak IT/ADC based on slides prepared by Paula Figueiredo, IT/DB

Producing Readable Output with SQL*Plus

Subqueries Chapter 6

Data Models and Database Management Systems (DBMSs) Dr. Philip Cannata

SQL Introduction Chapter 7, sections 1 & 4. Introduction to SQL. Introduction to SQL. Introduction to SQL

SQL> SELECT ename, job, sal Salary. 1.4.Will the SELECT statement execute successfully? True/False

Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language:

SQL*Plus User s Guide and Reference

Analysis One Code Desc. Transaction Amount. Fiscal Period

Conversion Functions

Retrieval: Multiple Tables and Aggregation

AT&T Global Network Client for Windows Product Support Matrix January 29, 2015

Aggregating Data Using Group Functions

COMPARISON OF FIXED & VARIABLE RATES (25 YEARS) CHARTERED BANK ADMINISTERED INTEREST RATES - PRIME BUSINESS*

COMPARISON OF FIXED & VARIABLE RATES (25 YEARS) CHARTERED BANK ADMINISTERED INTEREST RATES - PRIME BUSINESS*

David L. Fuston, Vlamis Software Solutions, Inc.,

Oracle/SQL Tutorial 1

Relational Algebra. Query Languages Review. Operators. Select (σ), Project (π), Union ( ), Difference (-), Join: Natural (*) and Theta ( )

DECLARATION SECTION. BODY STATEMENTS... Required

Data Big and Small: How Publisher gain Value out of Data in the Future

Case 2:08-cv ABC-E Document 1-4 Filed 04/15/2008 Page 1 of 138. Exhibit 8

MONASH UNIVERSITY. Faculty of Information Technology

Enhanced Vessel Traffic Management System Booking Slots Available and Vessels Booked per Day From 12-JAN-2016 To 30-JUN-2017

RDBMS Using Oracle. Lecture Week 7 Introduction to Oracle 9i SQL Last Lecture. kamran.munir@gmail.com. Joining Tables

BCOE Payroll Calendar. Monday Tuesday Wednesday Thursday Friday Jun Jul Full Force Calc

CENTERPOINT ENERGY TEXARKANA SERVICE AREA GAS SUPPLY RATE (GSR) JULY Small Commercial Service (SCS-1) GSR

Procedural Extension to SQL using Triggers. SS Chung

Ashley Institute of Training Schedule of VET Tuition Fees 2015

Oracle 12c New Features For Developers

Date / Time Arithmetic with Oracle

Computing & Telecommunications Services Monthly Report March 2015

TO_CHAR Function with Dates

oct 03 / 2013 nov 12 / oct 05 / oct 07 / oct 21 / oct 24 / nov 07 / 2013 nov 14 / 2013.

Examine the structure of the EMPLOYEES table: EMPLOYEE_ID NUMBER Primary Key FIRST_NAME VARCHAR2(25) LAST_NAME VARCHAR2(25)

PROJECTS SCHEDULING AND COST CONTROLS

Detailed guidance for employers

Independent Accountants Report on Applying Agreed-Upon Procedures

Presentation of database relational schema (schema 1) Create Universe step by step

GUJARAT TECHNOLOGICAL UNIVERSITY

SQL the natural language for analysis ORACLE WHITE PAPER JUNE 2015

CAFIS REPORT

Academic Calendars. Term I (20081) Term II (20082) Term III (20083) Weekend College. International Student Admission Deadlines

Using TimesTen between your Application and Oracle. between your Application and Oracle. DOAG Conference 2011

Recursive SQL from a Performance Perspective

NASDAQ DUBAI TRADING AND SETTLEMENT CALENDAR On US Federal Reserve Holidays, no settlements will take place for USD.

VIEWS virtual relation data duplication consistency problems

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Physical Design. Phases of database design. Physical design: Inputs.

Extended Principle of Orthogonal Database Design

There e really is No Place Like Rome to experience great Opera! Tel: to discuss your break to the Eternal City!

Growth in the Cognitive Era Global Business Services Bridget van Kralingen

Lab Assignment Creating a Relational Database Schema from ER Diagram, Populating the Database and Querying over the database with SQL

CIS 631 Database Management Systems Sample Final Exam

Hacking and Protecting Oracle DB. Slavik Markovich CTO, Sentrigo

FY 2015 Schedule at a Glance

Consumer ID Theft Total Costs

PATIENT JOURNEY BOARDS

D B M G Data Base and Data Mining Group of Politecnico di Torino

Chapter 2: Security in DB2

DCF - CJTS WC Claim Count ACCT DCF CJTS - Restraints InjuryLocation (All)

Training Guide. PL/SQL for Beginners. Workbook

Human Resources Management System Pay Entry Calendar

P/T 2B: 2 nd Half of Term (8 weeks) Start: 25-AUG-2014 End: 19-OCT-2014 Start: 20-OCT-2014 End: 14-DEC-2014

An Oracle White Paper August Express Mode Loading with SQL*Loader in Oracle Database 12c

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING DR.NAVALAR NEDUNCHEZHIAYN COLLEGE OF ENGINEERING, THOLUDUR , CUDDALORE DIST.

Accident & Emergency Department Clinical Quality Indicators

University-Wide Academic Calendar

P/T 2B: 2 nd Half of Term (8 weeks) Start: 26-AUG-2013 End: 20-OCT-2013 Start: 21-OCT-2013 End: 15-DEC-2013

P/T 2B: 2 nd Half of Term (8 weeks) Start: 24-AUG-2015 End: 18-OCT-2015 Start: 19-OCT-2015 End: 13-DEC-2015

Benefits of Normalisation in a Data Base - Part 1

Introduction to Ontologies

14-Dec-15. Number Amount Number Amount Number Amount Number Amount Number Amount

May 2014 Texas School Bond Elections

Distributed Database Systems. Prof. Dr. Carl-Christian Kanne

2016 Examina on dates

Deep Security/Intrusion Defense Firewall - IDS/IPS Coverage Statistics and Comparison

Nasdaq Dubai TRADING HOLIDAYS AND SETTLEMENT CALENDAR REVISION For Equities Outsourced to the DFM (T+2)

2015 Examination dates

OPERATING FUND. PRELIMINARY & UNAUDITED FINANCIAL HIGHLIGHTS September 30, 2015 RENDELL L. JONES CHIEF FINANCIAL OFFICER

Academic Calendar Arkansas State University - Jonesboro

Deep Security Intrusion Detection & Prevention (IDS/IPS) Coverage Statistics and Comparison

Trimble Navigation Limited (NasdaqGS:TRMB) > Public Ownership > Officials' Trading

Grain Stocks Estimates: Can Anything Explain the Market Surprises of Recent Years? Scott H. Irwin

NATIONAL CREDIT UNION SHARE INSURANCE FUND

Oracle Database Cloud

What Happens to MLPs When Interest Rates Rise?

Big Data. Marriage of RDBMS-DWH and Hadoop & Co. Author: Jan Ott Trivadis AG Trivadis. Big Data - Marriage of RDBMS-DWH and Hadoop & Co.

Department of Transitional Assistance Report on Paperless Documentation

Proposal to Reduce Opening Hours at the Revenues & Benefits Coventry Call Centre

University-Wide Academic Calendar

University of Massachusetts Amherst Department of Computer Science Prof. Yanlei Diao

Evaluation of Logical Observation Identifiers Names and Codes (LOINC) Mapping and Transmission of Data Processes: Barriers and Lessons Learned

Items/Tasks required to be completed for Financial Services Division (FSD)

LEGAL MARKET REVIEWS MARCH 2016

1. Introduction. 2. User Instructions. 2.1 Set-up

Comprehensive Course Schedule

Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Query optimization. DBMS Architecture. Query optimizer. Query optimizer.

Transcription:

Programming Languages Logic Programming Prolog Part 2 Dr. Philip Cannata 1

Standard Oracle emp / dept Database Dr. Philip Cannata 2

Oracle Sqldeveper http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html Dr. Philip Cannata 3

Oracle Sqldeveper Dr. Philip Cannata 4

Oracle Sqldeveper Dr. Philip Cannata 5

Oracle Sqldeveper Dr. Philip Cannata 6

Oracle Sqldeveper Cut and Paste this into here and press Dr. Philip Cannata 7

Oracle Sqldeveper Dr. Philip Cannata 8

Oracle Sqldeveper This database is for this book. But, the book is old and assumes you re using sqlplus not sqldeveloper. So, ignore all of the formatting examples in the book and just do the sql. Dr. Philip Cannata 9

emp / dept Database in Prolog emp(7839, king, president, 0, 17-nov-81, 5000, 0, 10). emp(7698, blake, manager, 7839, 01-may-81, 2850, 0, 30). emp(7782, clark, manager, 7839, 09-jun-81, 2450, 0, 10). emp(7566, jones, manager, 7839, 02-apr-81, 2975, 0, 20). emp(7788, scott, analyst, 7566, 09-dec-82, 3000, 0, 20). emp(7902, ford, analyst, 7566, 03-dec-81, 3000, 0, 20). emp(7369, smith, clerk, 7902, 17-dec-80, 800, 0, 20). emp(7499, allen, salesman, 7698, 20-feb-81, 1600, 300, 30). emp(7521, ward, salesman, 7698, 22-feb-81, 1250, 500, 30). emp(7654, martin, salesman, 7698, 28-sep-81, 1250, 1400, 30). emp(7844, turner, salesman, 7698, 08-sep-81, 1500, 0, 30). emp(7876, adams, clerk, 7788, 12-jan-83, 1100, 0, 20). emp(7900, james, clerk, 7698, 03-dec-81, 950, 0, 30). emp(7934, miller, clerk, 7782, 23-jan-82, 1300, 0, 10). dept(10, accounting, new_york). dept(20, research, dallas). dept(30, sales, chicago). dept(40, operations, boston). select 'emp(' empno ', ' lower(ename) ', ' lower(job) ', ' nvl(mgr, 0) ', ' lower(hiredate) ', ' sal ', ' nvl(comm, 0) ', ' deptno ').' from emp select 'dept(' deptno ', ' lower(dname) ', ' lower(loc) ').' from dept Dr. Philip Cannata 10

?- emp(empno, Ename, Job, _, _, Sal, _, Deptno). Deptno = 10 Empno = 7839 Ename = king Job = president Sal = 5000? ; Deptno = 30 Empno = 7698 Ename = blake Job = manager Sal = 2850?... emp / dept Database in Prolog Haskell> [(empno, ename, job, sal, deptno) (empno, ename, job, _, _, sal, deptno) <- emp] Dr. Philip Cannata 11

emp / dept Database in Prolog?- emp(empno, Ename, Job, _, _, Sal, _, 10). Empno = 7839 Ename = king Job = president Sal = 5000? ; Empno = 7782 Ename = clark Job = manager Sal = 2450? ; Empno = 7934 Ename = miller Job = clerk Sal = 1300 yes?- Haskell> [(empno, ename, job, sal, deptno) (empno, ename, job, _, _, sal, deptno) <- emp, deptno == 10] Dr. Philip Cannata 12

emp / dept Database in Prolog?- emp(empno, Ename, Job, _, _, Sal, _, D), dept(d, Dname, _). D = 10 Dname = accounting Empno = 7839 Ename = king Job = president Sal = 5000? ; D = 30 Dname = sales Empno = 7698 Ename = blake Job = manager Sal = 2850? ; D = 10 Dname = accounting Empno = 7782 Ename = clark Job = manager Sal = 2450? Main> [(empno, ename, job, sal, dname) (empno, ename, job, _, _, sal, edeptno) <- emp, (deptno, dname, loc) <- dept, edeptno == deptno ] Dr. Philip Cannata 13

emp / dept Database in Prolog as Binary Relations (Triple Store) ename(7839, king). ename(7698, blake). ename(7782, clark). ename(7566, jones). ename(7788, scott). ename(7902, ford). ename(7369, smith). ename(7499, allen). ename(7521, ward). ename(7654, martin). ename(7844, turner). ename(7876, adams). ename(7900, james). ename(7934, miller). mgr(7839, 0). mgr(7698, 7839). mgr(7782, 7839). mgr(7566, 7839). mgr(7788, 7566). mgr(7902, 7566). mgr(7369, 7902). mgr(7499, 7698). mgr(7521, 7698). mgr(7654, 7698). mgr(7844, 7698). mgr(7876, 7788). mgr(7900, 7698). mgr(7934, 7782). job(7839, president). job(7698, manager). job(7782, manager). job(7566, manager). job(7788, analyst). job(7902, analyst). job(7369, clerk). job(7499, salesman). job(7521, salesman). job(7654, salesman). job(7844, salesman). job(7876, clerk). job(7900, clerk). job(7934, clerk). hiredate(7839, 17-nov-81). hiredate(7698, 01-may-81). hiredate(7782, 09-jun-81). hiredate(7566, 02-apr-81). hiredate(7788, 09-dec-82). hiredate(7902, 03-dec-81). hiredate(7369, 17-dec-80). hiredate(7499, 20-feb-81). hiredate(7521, 22-feb-81). hiredate(7654, 28-sep-81). hiredate(7844, 08-sep-81). hiredate(7876, 12-jan-83). hiredate(7900, 03-dec-81). hiredate(7934, 23-jan-82). salary(7839, 5000). salary(7698, 2850). salary(7782, 2450). salary(7566, 2975). salary(7788, 3000). salary(7902, 3000). salary(7369, 800). salary(7499, 1600). salary(7521, 1250). salary(7654, 1250). salary(7844, 1500). salary(7876, 1100). salary(7900, 950). salary(7934, 1300). deptno(7839, 10). deptno(7698, 30). deptno(7782, 10). deptno(7566, 20). deptno(7788, 20). deptno(7902, 20). deptno(7369, 20). deptno(7499, 30). deptno(7521, 30). deptno(7654, 30). deptno(7844, 30). deptno(7876, 20). deptno(7900, 30). deptno(7934, 10). Dr. Philip Cannata 14

emp / dept Database in Prolog as Binary Relations (Triple Store)?- ename(e, Ename), job(e, Job), salary(e, Salary), deptno(e, Deptno). Deptno = 10 E = 7839 Ename = king Job = president Salary = 5000? ; Deptno = 30 E = 7698 Ename = blake Job = manager Salary = 2850? ; Deptno = 10 E = 7782 Ename = clark Job = manager Salary = 2450? Haskell> [(empno, ename, job, sal, deptno) (x0, empno) <- empno, (x1, ename) <- ename, (x2, job) <- job, (x3, sal) <- sal, (x4, deptno) <- deptno, x0 == x1 && x1 == x2 && x2 == x3 && x3 == x4] Dr. Philip Cannata 15

These are all the same relation name = [ (7839, "KING"), (7698, "BLAKE"), (7782, "CLARK"), (7566, "JONES"), (7788, "SCOTT"), (7902, "FORD"), (7369, "SMITH"), (7499, "ALLEN"), (7521, "WARD"), (7654, "MARTIN"), (7844, "TURNER"), (7876, "ADAMS"), (7900, "JAMES"), (7934, "MILLER") ] name(7839, KING). name(7698, BLAKE). name(7782, CLARK). name(7566, JONES). name(7788, SCOTT). name(7902, FORD). name(7369, SMITH). name(7499, ALLEN). name(7521, WARD). name(7654, MARTIN). name(7844, TURNER). name(7876, ADAMS). name(7900, JAMES). name(7934, MILLER). (7839, name, KING) (7698, name, BLAKE) (7782, name, CLARK) (7566, name, JONES) (7788, name, SCOTT) (7902, name, FORD) (7369, name, SMITH) (7499, name, ALLEN) (7521, name, WARD) (7654, name, MARTIN) (7844, name, TURNER) (7876, name, ADAMS) (7900, name, JAMES) (7934, name, MILLER) Also called a triple store. Also a form of a graph. Haskell Prolog RDF * Also called Predicates ( Predicate Logic the science of correct thinking. ) * see Dr. Philip Cannata 16

Dr. Philip Cannata 17

Dr. Philip Cannata 18