Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland.

Size: px
Start display at page:

Download "Dynamic Join Assoc Join LoadOpt Deferred. LINQ-to-SQL Part 2. Radu Nicolescu Department of Computer Science University of Auckland."

Transcription

1 LINQ-to-SQL Part 2 Radu Nicolescu Department of Computer Science University of Auckland 7 October / 22

2 1 Dynamic LINQ 2 Inner joins 3 Associations 4 Joins by navigation 5 Load options 6 Deferred evaluation 2 / 22

3 Dynamic LINQ More flexible, string based format for properties... Very useful for complex sorting: OrderBy / OrderByDescending ThenBy / ThenByDescending ThenBy / ThenByDescending... One single OrderBy can cover all the above combinations! 4 / 22

4 Dynamic LINQ Equivalent: 1 v ar w1 = MyOrders 2. Where ( o => o. P r i c e > 2 0 ) ; 1 v ar w2 = MyOrders 2. Where ( P r i c e > 20 ) ; Equivalent: 1 v ar a1 = MyOrders 2. OrderBy ( o => o. P r i c e ) 3. ThenBy ( o => o. OrderID ) ; 1 v ar a2 = MyOrders 2. OrderBy ( P r i c e, OrderID ) ; 5 / 22

5 Dynamic LINQ Equivalent: 1 v ar d1 = MyOrders 2. OrderByDescending ( o => o. P r i c e ) 3. ThenByDescending ( o => o. OrderID ) ; 1 v ar d2 = MyOrders 2. OrderBy ( P r i c e DESC, OrderID DESC ) ; Think about SortingCriteria string in A / 22

6 Explicit Inner Join fluent style Left table, right table, left key (lambda), right key (lambda), final projection 1 var i n n e r j o i n = 2 nwd. MyCustomers 3. J o i n ( 4 nwd. MyOrders, 5 c => c. CustomerID, 6 o => o. CustomerID, 7 ( c, o ) => new { 8 c. Name, 9 c. Age, 10 o. D e s c r i p t i o n, 11 o. P r i c e 12 } ) ; 8 / 22

7 Explicit Inner Join query style Left table, right table, left key (disguised lambda), right key (disguised lambda), final projection 1 var i n n e r j o i n = 2 from c i n nwd. MyCustomers 3 j o i n o i n nwd. MyOrders 4 on c. CustomerID equals o. CustomerID 5 s e l e c t new { 6 c. Name, 7 c. Age, 8 o. D e s c r i p t i o n, 9 o. P r i c e 10 } ; 9 / 22

8 Associations Enhance the model to expose the PK/FK association between MyCustomers and MyOrders Each MyCustomer may have any number ( 0) of MyOrder s Each MyOrder belongs to one MyCustomer or none as we didn t enforce this constraint in the database definition! Tools expose such associations automatically... Here we create them by code, via additional model properties and meta-model attributes 11 / 22

9 MyCustomers MyOrders MyCustomers PK 1 n MyOrders FK MyOrders is (i) an SQL table name and (ii) a pointer to the set of associated orders 1 [ Table (Name= MyCustomers ) ] 2 p u b l i c c l a s s MyCustomer { p r i v a t e EntitySet<MyOrder> MyOrders ; 5 6 [ A s s o c i a t i o n ( S t o r a g e= MyOrders, 7 ThisKey= CustomerID, OtherKey= CustomerID, 8 D e l e t e R u l e= NO ACTION ) ] 9 p u b l i c EntitySet<MyOrder> MyOrders { 10 get { return MyOrders ; } 11 set { MyOrders. A s s i g n ( v a l u e ) ; } 12 } 13 } 12 / 22

10 MyOrders MyCustomers MyOrders FK n 1 MyCustomers PK MyCustomer is (i) a C# model type and (ii) a pointer to the associated customer 1 [ Table (Name= MyOrders ) ] 2 p u b l i c c l a s s MyOrder { p r i v a t e EntityRef<MyCustomer> MyCustomer ; 5 6 [ A s s o c i a t i o n ( S t o r a g e= MyCustomer, 7 ThisKey= CustomerID, OtherKey= CustomerID, 8 I s F o r e i g n K e y=true ) ] 9 p u b l i c MyCustomer MyCustomer { 10 get { return MyCustomer. E n t i t y ; } 11 set { MyCustomer. E n t i t y = v a l u e ; } 12 } 13 } 13 / 22

11 Joins by Navigation fluent style Join simplified by navigation over associations Generates: (i) INNER JOIN, if DB defines referential constraints, or (ii) LEFT OUTER JOIN, otherwise (our case) 1 v ar MyCustomers = nwd. GetTable <MyCustomer >(); 2 v ar MyOrders = nwd. GetTable <MyOrder >(); 3 4 var n a v j o i n = 5 MyOrders 6. S e l e c t ( o => new { 7 o. MyCustomer. Name, 8 o. MyCustomer. Age, 9 o. D e s c r i p t i o n, 10 o. P r i c e 11 } ) ; 15 / 22

12 Joins by Navigation query style Join simplified by navigation over associations Generates: (i) INNER JOIN, if DB defines referential constraints, or (ii) LEFT OUTER JOIN, otherwise (our case) 1 v ar MyCustomers = nwd. GetTable <MyCustomer >(); 2 v ar MyOrders = nwd. GetTable <MyOrder >(); 3 4 var n a v j o i n = 5 from o i n MyOrders 6 s e l e c t new { 7 o. MyCustomer. Name, 8 o. MyCustomer. Age, 9 o. D e s c r i p t i o n, 10 o. P r i c e 11 } ; 16 / 22

13 Load options Assuming N customers, how many SQL queries are needed for this conceptually outer join code? 1 var query = 2 from c i n MyCustomers 3 where c. Age > 40 4 s e l e c t c ; 5 foreach ( var c i n query) { // 1! 6 Console. W r i t e L i n e ( {0} {1}, c. Name, c. Age ) ; 7 foreach ( var o i n c.myorders) { // N? 8 Console. W r i t e L i n e ( \ t {0} {1}, 9 o. D e s c r i p t i o n, o. P r i c e ) ; 10 } 11 Console. W r i t e L i n e ( ) ; 12 } Chatty interface: 1 + N SQL queries = 1 for query1 plus one for each customer c 18 / 22

14 Load options Chunky interface: just 1 big SQL query (based on a LEFT OUTER JOIN) 1 DataLoadOptions d l o = new DataLoadOptions ( ) ; 2 d l o. LoadWith<MyCustomer >( c => c. MyOrders ) ; 3 nwd. LoadOptions = d l o ; 4 5 var query =... 6 foreach ( var c i n query) { // 1! 7 foreach ( var o i n c.myorders) { // 0!! 8 } 9 } Chunky is often better than Chatty: faster, less traffic / 22

15 Deferred evaluation SQL queries are built in memory and sent to the database in the last moment, when their result is really needed 1 var query1 = MyCustomers. Where ( c => c. Age < 5 0 ) ; 2 // nothing is sent yet! 3 4 var query2 = query1. Take ( 1 ) ; 5 // query2 builds a bigger SQL on top of query1 6 7 query2.dump( query2 ) ; // SQL sent for query2! SQL for query2 only NO SQL for query1 1 SELECT TOP ( 1 ) [ t0 ]. 2 FROM [ MyCustomers ] AS [ t0 ] 3 WHERE [ t0 ]. [ Age ] < / 22

16 Deferred evaluation In this scenario, two SQL queries are sent to the database 1 var query1 = MyCustomers. Where ( c => c. Age < 5 0 ) ; 2 query1.dump( query1 ) ; // SQL sent for query1! 3 4 var query2 = query1. Take ( 1 ) ; 5 6 query2.dump( query2 ) ; // SQL sent for query2! SQL for query1 and query2 1 SELECT [ t0 ]. 2 FROM [ MyCustomers ] AS [ t0 ] 3 WHERE [ t0 ]. [ Age ] < SELECT TOP ( 1 ) [ t0 ]. 6 FROM [ MyCustomers ] AS [ t0 ] 7 WHERE [ t0 ]. [ Age ] < / 22

Interfaces Dynamic Filter Sorting Sorting SQL. Dynamic LINQ. Radu Nicolescu Department of Computer Science University of Auckland.

Interfaces Dynamic Filter Sorting Sorting SQL. Dynamic LINQ. Radu Nicolescu Department of Computer Science University of Auckland. Dynamic LINQ Radu Nicolescu Department of Computer Science University of Auckland 25 August 2017 1 / 20 1 IEnumerable and IQueryable 2 Dynamic LINQ 3 Dynamic filter Where 4 Dynamic sorting OrderBy 5 Dynamic

More information

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface.

Course Announcements. Bacon is due next Monday. Next lab is about drawing UIs. Today s lecture will help thinking about your DB interface. Course Announcements Bacon is due next Monday. Today s lecture will help thinking about your DB interface. Next lab is about drawing UIs. John Jannotti (cs32) ORMs Mar 9, 2017 1 / 24 ORMs John Jannotti

More information

Algorithms for Data Science

Algorithms for Data Science Algorithms for Data Science CSOR W4246 Eleni Drinea Computer Science Department Columbia University Tuesday, December 1, 2015 Outline 1 Recap Balls and bins 2 On randomized algorithms 3 Saving space: hashing-based

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 4: Query Optimization Query Optimization Cost estimation Strategies for exploring plans Q min CS 347 Notes 4 2 Cost Estimation Based on

More information

django in the real world

django in the real world django in the real world yes! it scales!... YAY! Israel Fermin Montilla Software Engineer @ dubizzle December 14, 2017 from iferminm import more data Software Engineer @ dubizzle Venezuelan living in Dubai,

More information

b. states.xml Listing of states and their postal abbreviations.

b. states.xml Listing of states and their postal abbreviations. Background Information Mankind with all of its inventions and weapons has the false belief that it is in control of the environment. All too often the weather delivers a reminder that we are not invincible.

More information

Number of solutions of a system

Number of solutions of a system Roberto s Notes on Linear Algebra Chapter 3: Linear systems and matrices Section 7 Number of solutions of a system What you need to know already: How to solve a linear system by using Gauss- Jordan elimination.

More information

CS 347 Distributed Databases and Transaction Processing Notes03: Query Processing

CS 347 Distributed Databases and Transaction Processing Notes03: Query Processing CS 347 Distributed Databases and Transaction Processing Notes03: Query Processing Hector Garcia-Molina Zoltan Gyongyi CS 347 Notes 03 1 Query Processing! Decomposition! Localization! Optimization CS 347

More information

Homework Assignment 2. Due Date: October 17th, CS425 - Database Organization Results

Homework Assignment 2. Due Date: October 17th, CS425 - Database Organization Results Name CWID Homework Assignment 2 Due Date: October 17th, 2017 CS425 - Database Organization Results Please leave this empty! 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.15 2.16 2.17 2.18 2.19 Sum

More information

Jeffrey D. Ullman Stanford University

Jeffrey D. Ullman Stanford University Jeffrey D. Ullman Stanford University A real story from CS341 data-mining project class. Students involved did a wonderful job, got an A. But their first attempt at a MapReduce algorithm caused them problems

More information

Functional Programming with F# Overview and Basic Concepts

Functional Programming with F# Overview and Basic Concepts Functional Programming with F# Overview and Basic Concepts Radu Nicolescu Department of Computer Science University of Auckland 27 Sep 2017 1 / 52 1 Background 2 Overview 3 Type System and Type Inference

More information

CS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce

CS 347. Parallel and Distributed Data Processing. Spring Notes 11: MapReduce CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 11: MapReduce Motivation Distribution makes simple computations complex Communication Load balancing Fault tolerance Not all applications

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 3: Query Processing Query Processing Decomposition Localization Optimization CS 347 Notes 3 2 Decomposition Same as in centralized system

More information

The Standard Infrastructure

The Standard Infrastructure GISize! The Standard Infrastructure Management Interface for Wonderware Presenter Selim Birced GISize! Introduction 2 GISize! The Standard Infrastructure Management Interface A framework designed to: Helping

More information

Visualizing Big Data on Maps: Emerging Tools and Techniques. Ilir Bejleri, Sanjay Ranka

Visualizing Big Data on Maps: Emerging Tools and Techniques. Ilir Bejleri, Sanjay Ranka Visualizing Big Data on Maps: Emerging Tools and Techniques Ilir Bejleri, Sanjay Ranka Topics Web GIS Visualization Big Data GIS Performance Maps in Data Visualization Platforms Next: Web GIS Visualization

More information

Geometric Algorithms in GIS

Geometric Algorithms in GIS Geometric Algorithms in GIS GIS Visualization Software Dr. M. Gavrilova GIS Software for Visualization ArcView GEO/SQL Digital Atmosphere AutoDesk Visual_Data GeoMedia GeoExpress CAVE? Visualization in

More information

QSQL: Incorporating Logic-based Retrieval Conditions into SQL

QSQL: Incorporating Logic-based Retrieval Conditions into SQL QSQL: Incorporating Logic-based Retrieval Conditions into SQL Sebastian Lehrack and Ingo Schmitt Brandenburg University of Technology Cottbus Institute of Computer Science Chair of Database and Information

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 2: Distributed Database Design Logistics Gradiance No action items for now Detailed instructions coming shortly First quiz to be released

More information

Relational operations

Relational operations Architecture Relational operations We will consider how to implement and define physical operators for: Projection Selection Grouping Set operators Join Then we will discuss how the optimizer use them

More information

Solving a Series. Carmen Bruni

Solving a Series. Carmen Bruni A Sample Series Problem Question: Does the following series converge or diverge? n=1 n 3 + 3n 2 + 1 n 5 + 14n 3 + 4n First Attempt First let s think about what this series is - maybe the terms are big

More information

Lexical Analysis Part II: Constructing a Scanner from Regular Expressions

Lexical Analysis Part II: Constructing a Scanner from Regular Expressions Lexical Analysis Part II: Constructing a Scanner from Regular Expressions CS434 Spring 2005 Department of Computer Science University of Alabama Joel Jones Copyright 2003, Keith D. Cooper, Ken Kennedy

More information

C++ For Science and Engineering Lecture 17

C++ For Science and Engineering Lecture 17 C++ For Science and Engineering Lecture 17 John Chrispell Tulane University Monday October 4, 2010 Functions and C-Style Strings Three methods for representing the C-style string: An array of char A quoted

More information

L13: Normalization. CS3200 Database design (sp18 s2) 2/26/2018

L13: Normalization. CS3200 Database design (sp18 s2)   2/26/2018 L13: Normalization CS3200 Database design (sp18 s2) https://course.ccs.neu.edu/cs3200sp18s2/ 2/26/2018 274 Announcements! Keep bringing your name plates J Page Numbers now bigger (may change slightly)

More information

Database Systems SQL. A.R. Hurson 323 CS Building

Database Systems SQL. A.R. Hurson 323 CS Building SQL A.R. Hurson 323 CS Building Structured Query Language (SQL) The SQL language has the following features as well: Embedded and Dynamic facilities to allow SQL code to be called from a host language

More information

CHAPTER 5 ANALYSIS OF STRUCTURES. Expected Outcome:

CHAPTER 5 ANALYSIS OF STRUCTURES. Expected Outcome: CHAPTER ANALYSIS O STRUCTURES Expected Outcome: Able to analyze the equilibrium of structures made of several connected parts, using the concept of the equilibrium of a particle or of a rigid body, in

More information

communication complexity lower bounds yield data structure lower bounds

communication complexity lower bounds yield data structure lower bounds communication complexity lower bounds yield data structure lower bounds Implementation of a database - D: D represents a subset S of {...N} 2 3 4 Access to D via "membership queries" - Q for each i, can

More information

SPATIAL DATA MINING. Ms. S. Malathi, Lecturer in Computer Applications, KGiSL - IIM

SPATIAL DATA MINING. Ms. S. Malathi, Lecturer in Computer Applications, KGiSL - IIM SPATIAL DATA MINING Ms. S. Malathi, Lecturer in Computer Applications, KGiSL - IIM INTRODUCTION The main difference between data mining in relational DBS and in spatial DBS is that attributes of the neighbors

More information

Modern Functional Programming and Actors With Scala and Akka

Modern Functional Programming and Actors With Scala and Akka Modern Functional Programming and Actors With Scala and Akka Aaron Kosmatin Computer Science Department San Jose State University San Jose, CA 95192 707-508-9143 akosmatin@gmail.com Abstract For many years,

More information

Quiz 2. Due November 26th, CS525 - Advanced Database Organization Solutions

Quiz 2. Due November 26th, CS525 - Advanced Database Organization Solutions Name CWID Quiz 2 Due November 26th, 2015 CS525 - Advanced Database Organization s Please leave this empty! 1 2 3 4 5 6 7 Sum Instructions Multiple choice questions are graded in the following way: You

More information

Computation Theory Finite Automata

Computation Theory Finite Automata Computation Theory Dept. of Computing ITT Dublin October 14, 2010 Computation Theory I 1 We would like a model that captures the general nature of computation Consider two simple problems: 2 Design a program

More information

Initial Sampling for Automatic Interactive Data Exploration

Initial Sampling for Automatic Interactive Data Exploration Initial Sampling for Automatic Interactive Data Exploration Wenzhao Liu 1, Yanlei Diao 1, and Anna Liu 2 1 College of Information and Computer Sciences, University of Massachusetts, Amherst 2 Department

More information

Eindhoven University of Technology MASTER. Student SOA lab. Leijten, P.J.M. Award date: 2008

Eindhoven University of Technology MASTER. Student SOA lab. Leijten, P.J.M. Award date: 2008 Eindhoven University of Technology MASTER Student SOA lab Leijten, P.J.M. Award date: 2008 Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven

More information

Environment (Parallelizing Query Optimization)

Environment (Parallelizing Query Optimization) Advanced d Query Optimization i i Techniques in a Parallel Computing Environment (Parallelizing Query Optimization) Wook-Shin Han*, Wooseong Kwak, Jinsoo Lee Guy M. Lohman, Volker Markl Kyungpook National

More information

Creating a Pharmacophore Query from a Reference Molecule & Scaffold Hopping in CSD-CrossMiner

Creating a Pharmacophore Query from a Reference Molecule & Scaffold Hopping in CSD-CrossMiner Table of Contents Creating a Pharmacophore Query from a Reference Molecule & Scaffold Hopping in CSD-CrossMiner Introduction... 2 CSD-CrossMiner Terminology... 2 Overview of CSD-CrossMiner... 3 Features

More information

Introduction to simulation databases with ADQL and Topcat

Introduction to simulation databases with ADQL and Topcat Introduction to simulation databases with ADQL and Topcat Kristin Riebe, GAVO July 05, 2016 Introduction Simulation databases like the Millennium Database or CosmoSim contain data sets from cosmological

More information

We introduce one more operation on sets, perhaps the most important

We introduce one more operation on sets, perhaps the most important 11. The power set Please accept my resignation. I don t want to belong to any club that will accept me as a member. Groucho Marx We introduce one more operation on sets, perhaps the most important one:

More information

Dictionary: an abstract data type

Dictionary: an abstract data type 2-3 Trees 1 Dictionary: an abstract data type A container that maps keys to values Dictionary operations Insert Search Delete Several possible implementations Balanced search trees Hash tables 2 2-3 trees

More information

Relational Database Design

Relational Database Design CSL 451 Introduction to Database Systems Relational Database Design Department of Computer Science and Engineering Indian Institute of Technology Ropar Narayanan (CK) Chatapuram Krishnan! Recap - Boyce-Codd

More information

From BASIS DD to Barista Application in Five Easy Steps

From BASIS DD to Barista Application in Five Easy Steps Y The steps are: From BASIS DD to Barista Application in Five Easy Steps By Jim Douglas our current BASIS Data Dictionary is perfect raw material for your first Barista-brewed application. Barista facilitates

More information

Practical Data Processing With Haskell

Practical Data Processing With Haskell Practical Data Processing With Haskell Ozgun Ataman November 14, 2012 Ozgun Ataman (Soostone Inc) Practical Data Processing With Haskell November 14, 2012 1 / 18 A bit about the speaker Electrical Engineering,

More information

Computational Biology Lecture 5: Time speedup, General gap penalty function Saad Mneimneh

Computational Biology Lecture 5: Time speedup, General gap penalty function Saad Mneimneh Computational Biology Lecture 5: ime speedup, General gap penalty function Saad Mneimneh We saw earlier that it is possible to compute optimal global alignments in linear space (it can also be done for

More information

GIS FOR PLANNING. Course Overview. Schedule. Instructor. Prerequisites. Urban Planning 792 Thursday s 5:30-8:10pm SARUP 158

GIS FOR PLANNING. Course Overview. Schedule. Instructor. Prerequisites. Urban Planning 792 Thursday s 5:30-8:10pm SARUP 158 GIS FOR PLANNING Urban Planning 792 Thursday s 5:30-8:10pm SARUP 158 Schedule Class/Lab - SARUP 158 Thursdays 5:30pm - 8:10pm Office Hours - By Appointment Project Ideas - Week 4 Final - 5/10/2018 Instructor

More information

Databases Lecture 8. Timothy G. Griffin. Computer Laboratory University of Cambridge, UK. Databases, Lent 2009

Databases Lecture 8. Timothy G. Griffin. Computer Laboratory University of Cambridge, UK. Databases, Lent 2009 Databases Lecture 8 Timothy G. Griffin Computer Laboratory University of Cambridge, UK Databases, Lent 2009 T. Griffin (cl.cam.ac.uk) Databases Lecture 8 DB 2009 1 / 15 Lecture 08: Multivalued Dependencies

More information

Patent Searching using Bayesian Statistics

Patent Searching using Bayesian Statistics Patent Searching using Bayesian Statistics Willem van Hoorn, Exscientia Ltd Biovia European Forum, London, June 2017 Contents Who are we? Searching molecules in patents What can Pipeline Pilot do for you?

More information

compare to comparison and pointer based sorting, binary trees

compare to comparison and pointer based sorting, binary trees Admin Hashing Dictionaries Model Operations. makeset, insert, delete, find keys are integers in M = {1,..., m} (so assume machine word size, or unit time, is log m) can store in array of size M using power:

More information

Coupling Physics. Tomasz Stelmach Senior Application Engineer

Coupling Physics. Tomasz Stelmach Senior Application Engineer Coupling Physics Tomasz Stelmach Senior Application Engineer Agenda Brief look @ Multiphysics solution What is new in R18 Fluent Maxwell coupling wireless power transfer Brief look @ ANSYS Multiphysics

More information

Geodatabase An Introduction

Geodatabase An Introduction 2013 Esri International User Conference July 8 12, 2013 San Diego, California Technical Workshop Geodatabase An Introduction David Crawford and Jonathan Murphy Session Path The Geodatabase What is it?

More information

Exam 1. March 12th, CS525 - Midterm Exam Solutions

Exam 1. March 12th, CS525 - Midterm Exam Solutions Name CWID Exam 1 March 12th, 2014 CS525 - Midterm Exam s Please leave this empty! 1 2 3 4 5 Sum Things that you are not allowed to use Personal notes Textbook Printed lecture notes Phone The exam is 90

More information

Relational Algebra 2. Week 5

Relational Algebra 2. Week 5 Relational Algebra 2 Week 5 Relational Algebra (So far) Basic operations: Selection ( σ ) Selects a subset of rows from relation. Projection ( π ) Deletes unwanted columns from relation. Cross-product

More information

b. hurricanescale.xml - Information on the Saffir-Simpson Hurricane Scale [3].

b. hurricanescale.xml - Information on the Saffir-Simpson Hurricane Scale [3]. Background Information HOMEWORK INSTRUCTIONS Every year from June 1 to November 30 is hurricane season in the United States. Rescue relief agencies such as FEMA and the Red Cross are ready to assist when

More information

ArcGIS 10.4 for INSPIRE Server Extension Customization Guide on INSPIRE View Service Layer Content

ArcGIS 10.4 for INSPIRE Server Extension Customization Guide on INSPIRE View Service Layer Content ArcGIS 10.4 for INSPIRE Server Extension Customization Guide on INSPIRE View Service Layer Content 1 Introduction... 1 2 Introduction to LayerInfo Table... 1 2.1 Purpose... 1 2.2 Table Structure Explained...

More information

INTRODUCTION TO RELATIONAL DATABASE SYSTEMS

INTRODUCTION TO RELATIONAL DATABASE SYSTEMS INTRODUCTION TO RELATIONAL DATABASE SYSTEMS DATENBANKSYSTEME 1 (INF 3131) Torsten Grust Universität Tübingen Winter 2017/18 1 THE RELATIONAL ALGEBRA The Relational Algebra (RA) is a query language for

More information

CS168: The Modern Algorithmic Toolbox Lecture #7: Understanding Principal Component Analysis (PCA)

CS168: The Modern Algorithmic Toolbox Lecture #7: Understanding Principal Component Analysis (PCA) CS68: The Modern Algorithmic Toolbox Lecture #7: Understanding Principal Component Analysis (PCA) Tim Roughgarden & Gregory Valiant April 0, 05 Introduction. Lecture Goal Principal components analysis

More information

GLoBES. Patrick Huber. Physics Department VT. P. Huber p. 1

GLoBES. Patrick Huber. Physics Department VT. P. Huber p. 1 GLoBES Patrick Huber Physics Department VT P. Huber p. 1 P. Huber p. 2 General Long Baseline Experiment Simulator GLoBES is a software package designed for Simulation Analysis Comparison of neutrino oscillation

More information

Mining Data Streams. The Stream Model. The Stream Model Sliding Windows Counting 1 s

Mining Data Streams. The Stream Model. The Stream Model Sliding Windows Counting 1 s Mining Data Streams The Stream Model Sliding Windows Counting 1 s 1 The Stream Model Data enters at a rapid rate from one or more input ports. The system cannot store the entire stream. How do you make

More information

Approximate Query Processing Using Wavelets

Approximate Query Processing Using Wavelets Approximate Query Processing Using Wavelets Kaushik Chakrabarti Minos Garofalakis Rajeev Rastogi Kyuseok Shim Presented by Guanghua Yan Outline Approximate query processing: Problem and Prior solutions

More information

Finite Automata Part Two

Finite Automata Part Two Finite Automata Part Two Recap from Last Time Old MacDonald Had a Symbol, Σ-eye-ε-ey, Oh! You may have noticed that we have several letter- E-ish symbols in CS103, which can get confusing! Here s a quick

More information

Geodatabase Essentials Part One - Intro to the Geodatabase. Jonathan Murphy Colin Zwicker

Geodatabase Essentials Part One - Intro to the Geodatabase. Jonathan Murphy Colin Zwicker Geodatabase Essentials Part One - Intro to the Geodatabase Jonathan Murphy Colin Zwicker Session Path The Geodatabase - What is it? - Why use it? - What types are there? Inside the Geodatabase Advanced

More information

EEOS 381 -Spatial Databases and GIS Applications

EEOS 381 -Spatial Databases and GIS Applications EEOS 381 -Spatial Databases and GIS Applications Lecture 5 Geodatabases What is a Geodatabase? Geographic Database ESRI-coined term A standard RDBMS that stores and manages geographic data A modern object-relational

More information

Design of Steel Structures Prof. Damodar Maity Department of Civil Engineering Indian Institute of Technology, Guwahati

Design of Steel Structures Prof. Damodar Maity Department of Civil Engineering Indian Institute of Technology, Guwahati Design of Steel Structures Prof. Damodar Maity Department of Civil Engineering Indian Institute of Technology, Guwahati Module 7 Gantry Girders and Plate Girders Lecture - 3 Introduction to Plate girders

More information

Grids of Finite Automata

Grids of Finite Automata Grids of Finite Automata Kārlis Jēriṇš University of Latvia, Riga, Latvia karlis.jerins@gmail.com Abstract. Finite automata are a well known topic in computer science. Automata read words in a given alphabet

More information

Preparing Spatial Data

Preparing Spatial Data 13 CHAPTER 2 Preparing Spatial Data Assessing Your Spatial Data Needs 13 Assessing Your Attribute Data 13 Determining Your Spatial Data Requirements 14 Locating a Source of Spatial Data 14 Performing Common

More information

July 20, The day software bugs nearly lost us the moon. July 20, 2004

July 20, The day software bugs nearly lost us the moon. July 20, 2004 July 20, 1969 The day software bugs nearly lost us the moon July 20, 2004 1 This day, 35 years ago 35 years today 2 (of course, it never happened ) Flag waving in vacuum English writing on rocks 3 Guidance

More information

Spatial Asset Management

Spatial Asset Management Spatial Asset Management What can Maximo do for you? Jeremy Myers www.cohesivesolutions.com Today s Topics What is Maximo Spatial High Level Architecture Using Spatial Configuration Capabilities Use Case

More information

A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics

A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics Chemical Databases Online A powerful site for all chemists CHOICE CRC Handbook of Chemistry and Physics Combined Chemical Dictionary Dictionary of Natural Products Dictionary of Organic Dictionary of Drugs

More information

HKBU: Tutorial 4

HKBU: Tutorial 4 COMP7640 @ HKBU: Tutorial 4 Functional Dependency and Database Normalization Wei Wang weiw AT cse.unsw.edu.au School of Computer Science & Engineering University of New South Wales October 17, 2014 Wei

More information

Multi-join Query Evaluation on Big Data Lecture 2

Multi-join Query Evaluation on Big Data Lecture 2 Multi-join Query Evaluation on Big Data Lecture 2 Dan Suciu March, 2015 Dan Suciu Multi-Joins Lecture 2 March, 2015 1 / 34 Multi-join Query Evaluation Outline Part 1 Optimal Sequential Algorithms. Thursday

More information

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute Of Technology, Madras

Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute Of Technology, Madras Theory of Computation Prof. Kamala Krithivasan Department of Computer Science and Engineering Indian Institute Of Technology, Madras Lecture No. # 25 Problems and Solutions (Refer Slide Time: 00:16) Today,

More information

Bayes Nets III: Inference

Bayes Nets III: Inference 1 Hal Daumé III (me@hal3.name) Bayes Nets III: Inference Hal Daumé III Computer Science University of Maryland me@hal3.name CS 421: Introduction to Artificial Intelligence 10 Apr 2012 Many slides courtesy

More information

General SQL guide for Virtual Observatory users

General SQL guide for Virtual Observatory users General SQL guide for Virtual Observatory users Hands on workshops 1. Turn on your computer, or find someone with a computer and say hi to him/her. (you can also say Hola ) 2. Go to http://gavo.mpa-garching.mpg.de/millennium/

More information

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #3: SQL---Part 1

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #3: SQL---Part 1 CS 4604: Introduc0on to Database Management Systems B. Aditya Prakash Lecture #3: SQL---Part 1 Announcements---Project Goal: design a database system applica=on with a web front-end Project Assignment

More information

OBEUS. (Object-Based Environment for Urban Simulation) Shareware Version. Itzhak Benenson 1,2, Slava Birfur 1, Vlad Kharbash 1

OBEUS. (Object-Based Environment for Urban Simulation) Shareware Version. Itzhak Benenson 1,2, Slava Birfur 1, Vlad Kharbash 1 OBEUS (Object-Based Environment for Urban Simulation) Shareware Version Yaffo model is based on partition of the area into Voronoi polygons, which correspond to real-world houses; neighborhood relationship

More information

Query Analyzer for Apache Pig

Query Analyzer for Apache Pig Imperial College London Department of Computing Individual Project: Final Report Query Analyzer for Apache Pig Author: Robert Yau Zhou 00734205 (robert.zhou12@imperial.ac.uk) Supervisor: Dr Peter McBrien

More information

Chapter 1. GIS Fundamentals

Chapter 1. GIS Fundamentals 1. GIS Overview Chapter 1. GIS Fundamentals GIS refers to three integrated parts. Geographic: Of the real world; the spatial realities, the geography. Information: Data and information; their meaning and

More information

Divisibility of Natural Numbers

Divisibility of Natural Numbers 10-19-2009 Divisibility of Natural Numbers We now return to our discussion of the natural numbers. We have built up much of the mathematical foundation for the natural numbers (N = 1, 2, 3,...). We used

More information

PageRank. Ryan Tibshirani /36-662: Data Mining. January Optional reading: ESL 14.10

PageRank. Ryan Tibshirani /36-662: Data Mining. January Optional reading: ESL 14.10 PageRank Ryan Tibshirani 36-462/36-662: Data Mining January 24 2012 Optional reading: ESL 14.10 1 Information retrieval with the web Last time we learned about information retrieval. We learned how to

More information

Collaborative topic models: motivations cont

Collaborative topic models: motivations cont Collaborative topic models: motivations cont Two topics: machine learning social network analysis Two people: " boy Two articles: article A! girl article B Preferences: The boy likes A and B --- no problem.

More information

Introduction to ArcGIS Server Development

Introduction to ArcGIS Server Development Introduction to ArcGIS Server Development Kevin Deege,, Rob Burke, Kelly Hutchins, and Sathya Prasad ESRI Developer Summit 2008 1 Schedule Introduction to ArcGIS Server Rob and Kevin Questions Break 2:15

More information

Session-Based Queueing Systems

Session-Based Queueing Systems Session-Based Queueing Systems Modelling, Simulation, and Approximation Jeroen Horters Supervisor VU: Sandjai Bhulai Executive Summary Companies often offer services that require multiple steps on the

More information

CS 188: Artificial Intelligence Spring Announcements

CS 188: Artificial Intelligence Spring Announcements CS 188: Artificial Intelligence Spring 2011 Lecture 16: Bayes Nets IV Inference 3/28/2011 Pieter Abbeel UC Berkeley Many slides over this course adapted from Dan Klein, Stuart Russell, Andrew Moore Announcements

More information

Relational Algebra on Bags. Why Bags? Operations on Bags. Example: Bag Selection. σ A+B < 5 (R) = A B

Relational Algebra on Bags. Why Bags? Operations on Bags. Example: Bag Selection. σ A+B < 5 (R) = A B Relational Algebra on Bags Why Bags? 13 14 A bag (or multiset ) is like a set, but an element may appear more than once. Example: {1,2,1,3} is a bag. Example: {1,2,3} is also a bag that happens to be a

More information

Among various open-source GIS programs, QGIS can be the best suitable option which can be used across partners for reasons outlined below.

Among various open-source GIS programs, QGIS can be the best suitable option which can be used across partners for reasons outlined below. Comparison of Geographic Information Systems (GIS) software As of January 2018, WHO has reached an agreement with ESRI (an international supplier of GIS software) for an unlimited use of ArcGIS Desktop

More information

@chumillas.

@chumillas. R E S P O N S I V E I M A G E S U N D E R C O N T R O L C R I S T I N A C H U M I L L A S D E S I G N E R & D R U P A L F R O N T E N D @chumillas ckrina @chumillas RESPONSIVE IMAGES THE BASICS RESPONSIVE

More information

Tutorial. Getting started. Sample to Insight. March 31, 2016

Tutorial. Getting started. Sample to Insight. March 31, 2016 Getting started March 31, 2016 Sample to Insight CLC bio, a QIAGEN Company Silkeborgvej 2 Prismet 8000 Aarhus C Denmark Telephone: +45 70 22 32 44 www.clcbio.com support-clcbio@qiagen.com Getting started

More information

Extending Process Logs with Events from Supplementary Sources. Felix Mannhardt Massimiliano de Leoni, Hajo A.

Extending Process Logs with Events from Supplementary Sources. Felix Mannhardt Massimiliano de Leoni, Hajo A. Extending Process Logs with Events from Supplementary Sources Felix Mannhardt (@fmannhardt), Massimiliano de Leoni, Hajo A. Reijers Heterogeneous Information Systems Systems Databases Join Event Logs?

More information

MapOSMatic: city maps for the masses

MapOSMatic: city maps for the masses MapOSMatic: city maps for the masses Thomas Petazzoni Libre Software Meeting July 9th, 2010 Outline 1 The story 2 MapOSMatic 3 Behind the web page 4 Pain points 5 Future work 6 Conclusion Thomas Petazzoni

More information

CSE 344 AUGUST 6 TH LOSS AND VIEWS

CSE 344 AUGUST 6 TH LOSS AND VIEWS CSE 344 AUGUST 6 TH LOSS AND VIEWS ADMINISTRIVIA WQ6 due tonight HW7 due Wednesday DATABASE DESIGN PROCESS Conceptual Model: name product makes company price name address Relational Model: Tables + constraints

More information

Geospatial Analytics with Big Data:

Geospatial Analytics with Big Data: Geospatial Analytics with Big Data: Five Steps for Creating Business Value Fern Halper TDWI Director of Research, Advanced Analytics @fhalper October 28, 2015 David Stodder TDWI Director of Research, BI

More information

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation.

ST-Links. SpatialKit. Version 3.0.x. For ArcMap. ArcMap Extension for Directly Connecting to Spatial Databases. ST-Links Corporation. ST-Links SpatialKit For ArcMap Version 3.0.x ArcMap Extension for Directly Connecting to Spatial Databases ST-Links Corporation www.st-links.com 2012 Contents Introduction... 3 Installation... 3 Database

More information

6.001 Recitation 22: Streams

6.001 Recitation 22: Streams 6.001 Recitation 22: Streams RI: Gerald Dalley, dalleyg@mit.edu, 4 May 2007 http://people.csail.mit.edu/dalleyg/6.001/sp2007/ The three chief virtues of a programmer are: Laziness, Impatience and Hubris

More information

Select/ Special Topics in Atomic Physics Prof. P. C. Deshmukh Department of Physics Indian Institute of Technology, Madras

Select/ Special Topics in Atomic Physics Prof. P. C. Deshmukh Department of Physics Indian Institute of Technology, Madras Select/ Special Topics in Atomic Physics Prof. P. C. Deshmukh Department of Physics Indian Institute of Technology, Madras Lecture No. # 06 Angular Momentum in Quantum Mechanics Greetings, we will begin

More information

Algorithms: Lecture 2

Algorithms: Lecture 2 1 Algorithms: Lecture 2 Basic Structures: Sets, Functions, Sequences, and Sums Jinwoo Kim jwkim@jjay.cuny.edu 2.1 Sets 2 1 2.1 Sets 3 2.1 Sets 4 2 2.1 Sets 5 2.1 Sets 6 3 2.1 Sets 7 2.2 Set Operations

More information

3.2 Configuration model

3.2 Configuration model 3.2 Configuration model 3.2.1 Definition. Basic properties Assume that the vector d = (d 1,..., d n ) is graphical, i.e., there exits a graph on n vertices such that vertex 1 has degree d 1, vertex 2 has

More information

ICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009

ICM-Chemist How-To Guide. Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist How-To Guide Version 3.6-1g Last Updated 12/01/2009 ICM-Chemist HOW TO IMPORT, SKETCH AND EDIT CHEMICALS How to access the ICM Molecular Editor. 1. Click here 2. Start sketching How to sketch

More information

Foundations of Query Languages

Foundations of Query Languages Foundations of Query Languages SS 2011 2. 2. Foundations of Query Languages Dr. Fang Wei Lehrstuhl für Datenbanken und Informationssysteme Universität Freiburg SS 2011 Dr. Fang Wei 30. Mai 2011 Seite 1

More information

COMP 250: Quicksort. Carlos G. Oliver. February 13, Carlos G. Oliver COMP 250: Quicksort February 13, / 21

COMP 250: Quicksort. Carlos G. Oliver. February 13, Carlos G. Oliver COMP 250: Quicksort February 13, / 21 COMP 250: Quicksort Carlos G. Oliver February 13, 2018 Carlos G. Oliver COMP 250: Quicksort February 13, 2018 1 / 21 1 1 https://xkcd.com/1667/ Carlos G. Oliver COMP 250: Quicksort February 13, 2018 2

More information

INSTRUCTORS MANUAL: TUTORIAL 8 Spherical Linear Dielectric

INSTRUCTORS MANUAL: TUTORIAL 8 Spherical Linear Dielectric Goals: INSTRUCTORS MANUAL: TUTORIAL 8 Spherical Linear Dielectric 1. Use different models to visualize bound charge conceptually (learning goal 2) 2. Visualize polarization and be able to relate it mathematically

More information

Synteny Portal Documentation

Synteny Portal Documentation Synteny Portal Documentation Synteny Portal is a web application portal for visualizing, browsing, searching and building synteny blocks. Synteny Portal provides four main web applications: SynCircos,

More information

1 Trees. Listing 1: Node with two child reference. public class ptwochildnode { protected Object data ; protected ptwochildnode l e f t, r i g h t ;

1 Trees. Listing 1: Node with two child reference. public class ptwochildnode { protected Object data ; protected ptwochildnode l e f t, r i g h t ; 1 Trees The next major set of data structures belongs to what s called Trees. They are called that, because if you try to visualize the structure, it kind of looks like a tree (root, branches, and leafs).

More information

Windchill Quality Solutions 2011 (formerly Relex 2011) Curriculum Guide

Windchill Quality Solutions 2011 (formerly Relex 2011) Curriculum Guide Windchill Quality Solutions 2011 (formerly Relex 2011) Curriculum Guide Web Based Curriculum Guide Update to Windchill Quality Solutions (Formerly Relex 2011) Windchill Quality Solutions (Formerly Relex

More information