The attendee will get a deep dive into all the DDL changes needed in order to exploit DB2 V10 Temporal tables as well as the limitations.

Size: px
Start display at page:

Download "The attendee will get a deep dive into all the DDL changes needed in order to exploit DB2 V10 Temporal tables as well as the limitations."

Transcription

1 The attendee will get a deep dive into all the DDL changes needed in order to exploit DB2 V10 Temporal tables as well as the limitations. A case study scenario using a live DB2 V10 system will be used to illustrate how the data is versioned and how the application needs to understand what to request in order to get the desired data. Finally we will look at which currently implemented solutions can be modified to use Temporal tables instead. 1

2 The attendee will get a deep dive into all the DDL changes needed in order to exploit DB2 V10 Temporal tables as well as the limitations. A case study scenario using a live DB2 V10 system will be used to illustrate how the data is versioned and how the application needs to understand what to request in order to get the desired data. Finally we will look at which currently implemented solutions can be modified to use Temporal tables instead.

3 Everything I say and write are solely my own expressions and do not reflect the opinion of CA technologies. The IBM documentation has been used very sporadic, so results and syntax may vary from the documentation provided by IBM.

4 Since everyone working with DB2 (and other database management systems for that matter) have had the need to implement what temporal tables provide in DB2 10, let s have a quick look at some possible implementations how customers have survived until now. The majority of the presentation will be around DDL and DML changes by illustrating a scenario. Unlike many previous few features (like clone tables, NOT logged etc.) the utility impact when dealing with temporal tables is very minimal.

5 This is a definition of temporal data from Wikipedia interesting article and I can recommend reading it to get deeper insight (I have only included a small portion on this slide..

6 Some historical facts about temporal table found on the same result list from the previous slide. It is quite interesting that TEMPORAL DATA in the database terminology is relative young.

7 I believe most of us have implemented solutions to handle temporal data for many years, but we had to come up with special implementations and design the data model to support this need. The most straight forward solution was to have a base table with the live data and then implement application logic to maintain a history table and hopefully the application code remembered to look at the various places for the correct information. DB2 V7 automated some of these tasks by allowing TRIGGERS. At least some of the application logic could be eliminated but there was still the opportunity for failure when the correct data was going to be retrieved. Stored Procedures was another alternative to assist with maintaining/retrieving temporal data. Bottom line no matter which solution, maintenance was an issue and just made the concept more complicated.

8 In order not to have the application code maintain history, some sites used a complete different method (and still do). Depending on how accurate and up-to-date the history information must be, this solution might not be valid since it requires access to the DB2 log. Once a day (or how frequent needed) the log records for the tables where data versioning was/is needed are extracted and loaded into a special history table (basically the base appended with a timestamp column). This method is much less error prone but the timing issue (how current the history table must be) can be an issue and will have to be dealt with. The nice part of this implementation is that the transaction doesn t get any performance penalties inserting rows into the history, calling triggers etc.

9 DB2 for z/os offers three types of temporal tables all different in nature and how they operate and how they are created. SYSTEM TIME temporal tables: controlled solely by DB2 by keeping old images in a separate history table every time a row is updated or deleted. BUSINESS TIME temporal tables are controlled to a greater extent by the application. Unlike SYSTEM TIME, this type has no history table associated if a row has different content based on time, this is controlled inside the same table. It is possible to mix both types and you have BI-TEMPORAL tables. The easiest way to see the differences is by using a scenario with a number of events reflected in the TEMPORAL tables. This presentation only deals with SYSTEM TIME and BUSINSESS TIME.

10 The story we will use in this presentation is Steen s life and where he lived illustrating how temporal tables can be used to record and store changes outof-the-box. This matrix illustrates the different transactions we will incorporate into the System Time temporal table scenario to illustrate the lifetime and DDL as well as DML needed to implement this kind of solution. What you have to pay attention to is some incidents/transactions happens AFTER the day the real transaction / incident / issue happened we will illustrate the difference between SYSTEM TIME and BUSINESS TIME later in the presentation.

11 We start to create the BASE table STEEN_LIFE (top frame). In order to exploit and implement SYSTEM TIME temporal table for this table, it is necessary to add three timestamp columns (when the row is inserted, end of row and transaction timestamp). The last task is to describe to DB2 that the STEEN_LIFE table is ready to be associated to a HISTORY table by adding the PERIOD_TIME by describing which columns describe the life of the row - here ROW_START and ROW_END)

12 In order to complete the preparation, we need to create the HISTORY table to hold any UPDATED/DELETED rows from the BASE table. The easiest method is to create the history table using the LIKE clause. The last task is to associate the BASE with the HISTORY done using the ALTER TABLE ADD VERSIONING. Now it s time to illustrate the outlined scenario... What happened in Steen s life using Temporal tables

13 What I figured out was that you can t use DATE and regular TIMESTAMP columns for the BASE table to enable SYSTEM TIME TEMPORAL you will have to use the DB2 10 timestamp extension. I really did try to use DATE as the START-END ROW but DB2 rejected me without reading the doc it probably makes sense since you could update the same row multiple times per day/minute etc. 13

14 Unlike CLONE tables and other newer features in DB2 where tables /objects are mimic ed, the base and history tablespace can be completely different. This example illustrates the BASE table residing in a PBR UTS tablespace while the HISTORY table can be PBG - which absolutely makes sense since the history table can grow a lot depending on the activity on the base object. 14

15 First event to illustrate Steen is born 4/ but the event isn t reported by the birth clinic until 4/ The FIRST insert only happens in the BASE table let s move on.....

16 The second event is that Steen is being Christened (and getting his official name) so the row is updated June 22 nd The previous BASE row is inserted into the HISTORY table as-is except for the fact that ROW-END column will adopt the transaction timestamp. We now have the BASE row with current status and one row in the history table reflecting the previous image.

17 The next even illustrates an address move the base row is updated with the new information and the history table gets the previous image (now holding two historical images of this specific row).

18 And yet another address change the history table now holds three previous images of Steen s life.

19 Steen decides to move to the US after getting his Green Card. Even though he did the move late 2002, he didn t report the move until February 22 nd This isn t good since he will have to pay taxes in both Denmark and the US for the period. In order to avoid taxes in Denmark what is needed is the ability to have the START date in the base table accepting a date from the past (we will get back to this issue later and especially when dealing with BUSINESS TIME temporal tables). As you can see the history table keeps on growing so definitely something you need to consider when designing the database.

20 The last even covered in this scenario is the end of Steen s life. It is noteworthy to pay attention to the fact that when the row is deleted from the base table, an INSERT takes place in the history table. You can say that Steen will have eternal life due to the history table when using SYSTEM TIME temporal tables.

21 Now that we have covered how INSERT/UPDATE/DELETE works in action for a SYSTEM time temporal table let s have a close look at what to be aware of especially when planning which temporal table type to use for the application. In order to retrieve data you can use normal SQL to select from either table. However - the power of TEMPORAL tables is associated with some SQL extensions. Using AS OF timestamp in conjunction with FOR SYSTEM_TIME, DB2 will find the appropriate row(s) for the requested time. This might mean you get the BASE row or zero, one or more history rows. You can also use the BETWEEN predicate following the FOR SYSTEM_TIME clause.

22 The documentation clearly states that the timestamp columns for SYSTEM TIME temporal tables cannot be updated!! The first example illustrates that the SQL can be executed and interestingly accepted by DB2 but nothing is updated!!??!!?? The behavior is predictable for the BASE table a similar UPDATE request is not accepted by DB2 (remember that the additional columns are defined AS ALWAYS). Trying to update the TEMPORAL timestamp columns results correctly in SQL-151.

23 Using the SQL extensions FOR SYSTEM_TIME AS OF or BETWEEN, DB2 will have to check both the BASE and HISTORY table to make sure the correct answer set is returned. This is illustrated in this example by doing the EXPLAIN : both the base and history table accessed. What puzzles me is what happened to QBLOCKNO 3 and 4 while the UNION is expected. Notice the NON-CORRELATED SUBQUERY which is the re-written SQL using AS OF (more about this later in fact next slide )

24 To wrap up this topic and continue the EXPLAIN story, it isn t possible to use correlation when accessing a temporal table. An interesting article can be found in the June/July edition of System Z Journal written by Dan Luksetich.

25

26

27 Like we have schema challenges using CLONE tables, temporal tables are not much different. The BASE and HISTORY must be identical. Interesting that DB2 allows to add columns to the base table and not to the history table the explanation is that DB is pretty intelligent : the new column is automatically being added to the HISTORY table so the SYSTEM TIME design can continue un-interrupted. There are certain changes which cannot be implemented / altered, so it is necessary to get rid of the history do the schema changes and put the history back again (with the same changes). The last box illustrates it is possible to INSERT into the history table which will be helpful to reload the existing history data after schema changes are implemented.

28 If schema changes are needed and these are not supported, the method is: 1) DROP VERSIONING to cut the link between BASE and HISTORY 2) Unload the HISTORY and drop the HISTORY alternatively execute schema changes for history 3) The same changes and tasks for BASE 4) Get data back if object has been dropped 5) ADD VERSIONING. Attempting to implement schema changes not allowed when versioning is in effect will result in SQL-478 / SQL-669

29 Another limitation you need to be aware of especially when considering growth and partitioning schema, it is not possible to ADD / ROTATE partitions. If this is needed please review previous slides for UN-ALTERABLE changes.

30 Let us have a close look at BUSINESS TIME temporal tables and what the differences are. We will basically cover the same scenario of Steens life with a couple of modifications. 30

31 We will be using the exact same base table definition as for the SYSTEM TIME temporal table scenario. In this example the base definition is already created, so I have to use Not Null With Default unless dropping and recreating. This is done in order to illustrate its possible to enable TEMPORAL for existing tables. Unlike SYSTEM TIME temporal tables, its possible to specify attributes for the START / END columns other than TIMESTAMP(12) or ZONE we can use DATE instead and the columns don t have to be ALWAYS generated. Another difference is the enabling of temporal : using ADD PERIOD BUSINESS_TIME as opposed to SYSTEM_TIME.

32 Unlike for SYSTEM temporal tables, using BUSINESS temporal we don t need a history table only if BI-TEMPORAL is needed. In this scenario we re using a clean BUSINESS temporal design not BI-TEMPORAL!! One important issue to think about since we don t have a history table, this means that the BASE can have multiple rows for the same key. Meaning, you will need to modify how the UNIQUE indexes are defined. For this purpose, DB2 offers DUPLICATES within the key if you create the index WITHOUT OVERLAPS.

33 Like mentioned on the previous slide one UNIQUE key / value can have multiple entries due to different valid timeframes. Using WITHOUT OVERLAPS allows the UNIQUE key to have multiple entries as long as the START/END date/timestamp don t overlap pretty neat. The index will have to be specified with the normal unique column(s) and then the clause BUSINESS_TIME WITHOUT OVERLAPS (the first box). As always restrictions apply for this kind of index you cannot specify it to be PARTITIONED. The second box illustrates that SSN column used to be unique but can exist as duplicate as long as WITHOUT OVERLAPS is specified meaning one entity can exist only once at any specific point-in-time.

34 The first event for the BUSINESS TIME temporal scenario is the birth of Steen. Unlike the SYSTEM TIME, we can dictate the START and END dates/timestamp so here we basically BACK-DATES the event. In this case the START / END columns are defined as NNWD something you will have to consider during the design since the application might not want DEFAULT / CURRENT values for DATE / TIMESTAMP.

35 The second event is where Steen is being giving a name. The table is updated as expected the difference between BUSINESS TIME and SYSTEM TIME is that no history table is involved. Instead the BASE table will get additional row(s) depending on the START-END dates specified in the UPDATE statement. The cool thing about BUSINESS temporal tables is that you even can specify events in the future and even in the past if needed (we will see later).

36 In order to illustrate the power of BUSINESS TIME temporal tables, we will tweak the Steen story a little bit : Steen doesn t report the address change during divorce where he would have had to pay more taxes to the municipality. Also when he moves to the US he wanted the actual date to be reflected on the tax report not the date he actually reported the move from Denmark to the US. Let s see....

37 The third event is pretty straight forward just a new address resulting in another row with a new START date. But there s a twist since the address was reported after the fact, we need to make sure this is reflected (meaning update in the past). For this purpose you need to specify WHEN the row content is valid hence another new piece of syntax : FOR PORTION OF BUSINESS_TIME dictates when the content is valid. This specific update results in TWO rows instead of one (or two instead of three or even three instead of one in case the end-date also changes).

38 The next event is where Steen gets divorced he reports an address change from when he gets his new apartment which in fact is AFTER he moved out from his ex-wife. The trick here is that Steen reports the address change AFTER THE FACT so we need to specify this as a past event hence using PORTION OF to dictate the date range when the new information is valid.

39 So Steen didn t report WHEN his divorce started (wanted to save tax) but something went South and the ex-wife reported the address change. Bottom line the tax department decides to change the address for a very specific timeframe hence the update covering PORTION OF from October until April This results in TWO new rows in the table. Just like covered in SYSTEM TIME for the HISTORY table, using BUSINESS TIME might cause a lot of new entries PLAN ACCORDINGLY!!!!!!

40 Let s have a quick look into how SQL retrieval works for BUSINESS TIME temporal tables. In the previous scenario of SYSTEM TIME we used AS OF and BETWEEN. The exact same parameters can be used for BUSINESS TIME. In case you want to use GT / LT etc. these operators cannot be used in conjunction with FOR BUSINESS_TIME but will have to be used as normal predicates but can be done!!

41 Just like AS OF can be used using FOR BUSINESS_TIME BETWEEN two dates / timestamps is absolutely valid. Just have in mind that if AS OF isn t used, you might get zero, one, two or many rows. As mentioned earlier normal BETWEEN date/timestamp is valid and can be used as well.

42 Now on to some interesting aspects discovered personally I don t know if these are bugs or WAD issues have not been opened with IBM and the RSU is early This SQL SELECT statement seems invalid no COMMA between STA_DATE and SUBSTR still getting a valid response set!!!! Might not be an issue but interesting.

43 You don t have to use FOR BUSINESS_TIME when retrieving rows normal predicates are still valid, but think for what you are asking for maybe only one row expected but several returned!!

44 The next event is Steen s passing!! So we delete him from the table let s look at the major differences between SYSTEM TIME and BUSINESS TIME. For SYSTEM TIME the BASE table was empty but the HISTORY table had all past changes. For BUSINESS TIME there s NOTHING left all well cleaned up. Another issue to think about when implementing TEMPORAL tables maybe this is a reason to use BI-TEMPORAL.

45 It s time to check what DB2 really does under the cover to keep track of all these moving parts. When you ALTER the table to add VERSIONING or BUSINESS_TIME, DB2 creates constraints in the DB2 catalog keeping track of what can be done / can NOT be done and how to operate when updates/deletes happen. 45

46 Another look at SYSCHECKS describing WHICH columnsand tables are involved. 46

47 Time to start to wrap up there are TWO different (in fact three) TEMPORAL tables and which one to choose really depends on the application, the design and how the application should behave. Pick the one that FITS and make sure the application does what s needed. Also be careful when current application are converted there might be TRIGGERS, Stored procedures etc. which might make things more difficult. 47

48 For utilities there isn t a lot to be aware of compared to CLONBE tables, NOT LOGGED objects etc. Just make sure your history tables are ready for recovery and plan schema changes accordingly.

49 May 16, 2010 [Presentation Name via Insert tab > Header & Footer] Copyright 2010 CA 49

50 50

DB2 Temporal tables. Introduction. 19 April Rajesh Venkata Rama Mallina DB2 Z/OS DBA IBM

DB2 Temporal tables. Introduction. 19 April Rajesh Venkata Rama Mallina DB2 Z/OS DBA IBM DB2 Temporal tables Rajesh Venkata Rama Mallina (vmallina@in.ibm.com) DB2 Z/OS DBA IBM 19 April 2017 As part of data management scenarios, any update and deletion of data requires and saving old data called

More information

Runstats has always been a challenge in terms of what syntax to use, how much statistics to collect and how frequent to collect these statistics.

Runstats has always been a challenge in terms of what syntax to use, how much statistics to collect and how frequent to collect these statistics. 1 Runstats has always been a challenge in terms of what syntax to use, how much statistics to collect and how frequent to collect these statistics. The past couple of DB2 releases have introduced some

More information

IBM EXAM - C DB Fundamentals. Buy Full Product.

IBM EXAM - C DB Fundamentals. Buy Full Product. IBM EXAM - C2090-610 DB2 10.1 Fundamentals Buy Full Product http://www.examskey.com/c2090-610.html Examskey IBM C2090-610 exam demo product is here for you to test the quality of the product. This IBM

More information

DB2 10 for z/os Temporal Overview

DB2 10 for z/os Temporal Overview IBM Software Group DB2 10 for z/os Temporal Overview Paul Wirth wirthp@us.ibm.com V3 Disclaimer and Trademarks Information contained in this material has not been submitted to any formal IBM review and

More information

DB2 Partitioning Choices, choices, choices

DB2 Partitioning Choices, choices, choices DB2 Partitioning Choices, choices, choices Phil Grainger BMC Software Date of presentation (01/11/2016) Session IB DB2 Version 8 Table Based Partitioning Version 8 introduced TABLE BASED PARTITIONING What

More information

DB Fundamentals Exam.

DB Fundamentals Exam. IBM 000-610 DB2 10.1 Fundamentals Exam TYPE: DEMO http://www.examskey.com/000-610.html Examskey IBM 000-610 exam demo product is here for you to test the quality of the product. This IBM 000-610 demo also

More information

Software Compare and Contrast

Software Compare and Contrast Microsoft Software Compare and Contrast Word Easy to navigate. Compatible with all PC computers. Very versatile. There are lots of templates that can be used to create flyers, calendars, resumes, etc.

More information

Advanced Constraints SQL. by Joe Celko copyright 2007

Advanced Constraints SQL. by Joe Celko copyright 2007 Advanced Constraints SQL by Joe Celko copyright 2007 Abstract The talk is a short overview of the options a programmer to use DDL (Data Declaration Language) in SQL to enforce a wide range of business

More information

Joopal and Drumla. Sam Moffatt, Joomla! September 13, 2009

Joopal and Drumla. Sam Moffatt, Joomla! September 13, 2009 Joopal and Drumla Sam Moffatt, Joomla! September 13, 2009 1 Introduction Joopal and Drumla grew out of a curiousity of mine. I wondered if it would be possible to integrate Drupal 6 into Joomla! 1.5 (hence

More information

EXAMGOOD QUESTION & ANSWER. Accurate study guides High passing rate! Exam Good provides update free of charge in one year!

EXAMGOOD QUESTION & ANSWER. Accurate study guides High passing rate! Exam Good provides update free of charge in one year! EXAMGOOD QUESTION & ANSWER Exam Good provides update free of charge in one year! Accurate study guides High passing rate! http://www.examgood.com Exam : C2090-610 Title : DB2 10.1 Fundamentals Version

More information

c360 Audit User Guide Microsoft Dynamics CRM 2011 compatible c360 Solutions, Inc.

c360 Audit User Guide Microsoft Dynamics CRM 2011 compatible c360 Solutions, Inc. c360 Audit User Guide Microsoft Dynamics CRM 2011 compatible c360 Solutions, Inc. www.c360.com www.c360.com Page 1 4/15/2011 Table of Contents Table of Contents... 2 Overview... 3 Audit Analyzer... 4 Accessing

More information

SQL Part 3: Where Subqueries and other Syntactic Sugar Part 4: Unknown Values and NULLs

SQL Part 3: Where Subqueries and other Syntactic Sugar Part 4: Unknown Values and NULLs SQL Part 3: Where Subqueries and other Syntactic Sugar Part 4: Unknown Values and NULLs 1-1 List of Slides 1 2 More on "where" conditions 3 Esoteric Predicates: Example 4 WHERE Subqueries 5 Overview of

More information

1 SEO Synergy. Mark Bishop 2014

1 SEO Synergy. Mark Bishop 2014 1 SEO Synergy 2 SEO Synergy Table of Contents Disclaimer... 3 Introduction... 3 Keywords:... 3 Google Keyword Planner:... 3 Do This First... 4 Step 1... 5 Step 2... 5 Step 3... 6 Finding Great Keywords...

More information

Exam Questions C

Exam Questions C Exam Questions C2090-610 DB2 10.1 Fundamentals https://www.2passeasy.com/dumps/c2090-610/ 1.If the following command is executed: CREATE DATABASE test What is the page size (in kilobytes) of the database?

More information

With the growth of data, the reduction in of DBA staffing, tight budgets, and the business goal to be 24x7 it is becoming more important to automate

With the growth of data, the reduction in of DBA staffing, tight budgets, and the business goal to be 24x7 it is becoming more important to automate 1 With the growth of data, the reduction in of DBA staffing, tight budgets, and the business goal to be 24x7 it is becoming more important to automate as much Database Administration work as possible.

More information

9/8/2010. Major Points. Temporal - time, portion of time, time based. Time - Includes Times, Dates and Timestamps

9/8/2010. Major Points. Temporal - time, portion of time, time based. Time - Includes Times, Dates and Timestamps Major Points Data Concepts Deficient Models Exploiting Data DB2 10 Versioned Data Roadmap Future of Data - time, portion of time, time based Time - Includes Times, Dates and Timestamps Date Examples -

More information

Attack of the DB2 for z/os Clones Clone Tables That Is!

Attack of the DB2 for z/os Clones Clone Tables That Is! Attack of the DB2 for z/os Clones Clone Tables That Is! John Lyle DB2 for z/os Development Silicon Valley Laboratory, San Jose, CA New England DB2 Users Group Agenda Rationale and description DDL statements

More information

DB2 12 A new spin on a successful database

DB2 12 A new spin on a successful database Presenter: Dan Lohmeier Lead Developer BMC Software Author: Phil Grainger Product Manager BMC Software DB2 12 A new spin on a successful database So, what s new with DB2 12 We ll take a speedy journey

More information

SQL stands for Structured Query Language. SQL is the lingua franca

SQL stands for Structured Query Language. SQL is the lingua franca Chapter 3: Database for $100, Please In This Chapter Understanding some basic database concepts Taking a quick look at SQL Creating tables Selecting data Joining data Updating and deleting data SQL stands

More information

What s new in DB2 Administration Tool 10.1 for z/os

What s new in DB2 Administration Tool 10.1 for z/os What s new in DB2 Administration Tool 10.1 for z/os Joseph Reynolds, Architect and Development Lead, IBM jreynold@us.ibm.com Calene Janacek, DB2 Tools Product Marketing Manager, IBM cjanace@us.ibm.com

More information

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES

THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES 5 THINGS YOU NEED TO KNOW ABOUT USER DOCUMENTATION DOCUMENTATION BEST PRACTICES THIS E-BOOK IS DIVIDED INTO 5 PARTS: 1. WHY YOU NEED TO KNOW YOUR READER 2. A USER MANUAL OR A USER GUIDE WHAT S THE DIFFERENCE?

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

IBM i Version 7.3. Database Administration IBM

IBM i Version 7.3. Database Administration IBM IBM i Version 7.3 Database Administration IBM IBM i Version 7.3 Database Administration IBM Note Before using this information and the product it supports, read the information in Notices on page 45.

More information

PBR RPN - Removing Partitioning restrictions in Db2 12 for z/os

PBR RPN - Removing Partitioning restrictions in Db2 12 for z/os PBR RPN - Removing Partitioning restrictions in Db2 12 for z/os Steve Thomas CA Technologies 07/11/2017 Session ID Agenda Current Limitations in Db2 for z/os Partitioning Evolution of partitioned tablespaces

More information

Chameleon Metadata s Data Science Basics Tutorial Series. DSB-2: Information Gain (IG) By Eric Thornton,

Chameleon Metadata s Data Science Basics Tutorial Series. DSB-2: Information Gain (IG) By Eric Thornton, Chameleon Metadata s Data Science Basics Tutorial Series Data Science Basics Syllabus for DSB-2 (DSB-2-Infographic-1) Download PDF version here: DSB-2-Information-Gain-V10.pdf DSB-2: Information Gain (IG)

More information

1.8 Database and data Data Definition Language (DDL) and Data Manipulation Language (DML)

1.8 Database and data Data Definition Language (DDL) and Data Manipulation Language (DML) 1.8.3 Data Definition Language (DDL) and Data Manipulation Language (DML) Data Definition Language (DDL) DDL, which is usually part of a DBMS, is used to define and manage all attributes and properties

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

Clean & Speed Up Windows with AWO

Clean & Speed Up Windows with AWO Clean & Speed Up Windows with AWO C 400 / 1 Manage Windows with this Powerful Collection of System Tools Every version of Windows comes with at least a few programs for managing different aspects of your

More information

Fractions and their Equivalent Forms

Fractions and their Equivalent Forms Fractions Fractions and their Equivalent Forms Little kids use the concept of a fraction long before we ever formalize their knowledge in school. Watching little kids share a candy bar or a bottle of soda

More information

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13

CS121 MIDTERM REVIEW. CS121: Relational Databases Fall 2017 Lecture 13 CS121 MIDTERM REVIEW CS121: Relational Databases Fall 2017 Lecture 13 2 Before We Start Midterm Overview 3 6 hours, multiple sittings Open book, open notes, open lecture slides No collaboration Possible

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Crash Course in Modernization. A whitepaper from mrc

Crash Course in Modernization. A whitepaper from mrc Crash Course in Modernization A whitepaper from mrc Introduction Modernization is a confusing subject for one main reason: It isn t the same across the board. Different vendors sell different forms of

More information

QUIZ. What is wrong with this code that uses default arguments?

QUIZ. What is wrong with this code that uses default arguments? QUIZ What is wrong with this code that uses default arguments? Solution The value of the default argument should be placed in either declaration or definition, not both! QUIZ What is wrong with this code

More information

Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015

Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015 Agreement in Distributed Systems CS 188 Distributed Systems February 19, 2015 Page 1 Introduction We frequently want to get a set of nodes in a distributed system to agree Commitment protocols and mutual

More information

NetApp Snapshot Technology, when does a snapshot grow?

NetApp Snapshot Technology, when does a snapshot grow? NetApp Snapshot Technology, when does a snapshot grow? Source : http://blog.hernanjlarrea.com.ar/index.php/netapp-snapshot-technology-when-does-a-snapshot-grow/ by Hernán J. Larrea Let s take a quick but

More information

A point is pictured by a dot. While a dot must have some size, the point it represents has no size. Points are named by capital letters..

A point is pictured by a dot. While a dot must have some size, the point it represents has no size. Points are named by capital letters.. Chapter 1 Points, Lines & Planes s we begin any new topic, we have to familiarize ourselves with the language and notation to be successful. My guess that you might already be pretty familiar with many

More information

Optimizing Data Transformation with Db2 for z/os and Db2 Analytics Accelerator

Optimizing Data Transformation with Db2 for z/os and Db2 Analytics Accelerator Optimizing Data Transformation with Db2 for z/os and Db2 Analytics Accelerator Maryela Weihrauch, IBM Distinguished Engineer, WW Analytics on System z March, 2017 Please note IBM s statements regarding

More information

DB2 for z/os Best Practices Optimizing Insert Performance - Part 1

DB2 for z/os Best Practices Optimizing Insert Performance - Part 1 DB2 for z/os Best Practices Optimizing Insert Performance - Part 1 John J. Campbell IBM Distinguished Engineer DB2 for z/os Development CampbelJ@uk.ibm.com 2011 IBM Corporation Transcript of webcast Slide

More information

EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP

EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP! 1 of! 26 HOW TO GET STARTED WITH MAILCHIMP Want to play a fun game? Every time you hear the phrase email list take a drink. You ll be passed out in no time.

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course:

Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: Course Modules for MCSA: SQL Server 2016 Database Development Training & Certification Course: 20762C Developing SQL 2016 Databases Module 1: An Introduction to Database Development Introduction to the

More information

The Attraction of Complexity

The Attraction of Complexity The Attraction of Complexity Carlo Bottiglieri December 10, 2017 1 Introduction How is complexity distributed through a codebase? Does this distribution present similarities across different projects?

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)

More information

Learning Objectives: Topic Karnaugh Maps. At the end of this topic you will be able to;

Learning Objectives: Topic Karnaugh Maps. At the end of this topic you will be able to; Topic.2.3 Karnaugh Maps Learning Objectives: t the end of this topic you will be able to; Draw a Karnaugh map for a logic system with up to four inputs and use it to minimise the number of gates required;

More information

Getting Started with Amicus Document Assembly

Getting Started with Amicus Document Assembly Getting Started with Amicus Document Assembly How great would it be to automatically create legal documents with just a few mouse clicks? We re going to show you how to do exactly that and how to get started

More information

Cache Coherence Tutorial

Cache Coherence Tutorial Cache Coherence Tutorial The cache coherence protocol described in the book is not really all that difficult and yet a lot of people seem to have troubles when it comes to using it or answering an assignment

More information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

Top Ten Tips for Partitioning

Top Ten Tips for Partitioning Top Ten Tips for Partitioning Hermann Bär Oracle USA Redwood Shores, CA USA Keywords: Oracle Partitioning, Data Partitioning, Performance, Data Management, Oracle Database Introduction Oracle Partitioning

More information

An Introduction to DB2 Indexing

An Introduction to DB2 Indexing An Introduction to DB2 Indexing by Craig S. Mullins This article is adapted from the upcoming edition of Craig s book, DB2 Developer s Guide, 5th edition. This new edition, which will be available in May

More information

Troubleshooting An Embedded Sametime Install by Julian Robichaux, panagenda originally published on socialbizug.org, November 2013

Troubleshooting An Embedded Sametime Install by Julian Robichaux, panagenda originally published on socialbizug.org, November 2013 Troubleshooting An Embedded Sametime Install by Julian Robichaux, panagenda originally published on socialbizug.org, November 2013 I was testing the new IBM Sametime 9 client on a few different virtual

More information

Chapter 3: The IF Function and Table Lookup

Chapter 3: The IF Function and Table Lookup Chapter 3: The IF Function and Table Lookup Objectives This chapter focuses on the use of IF and LOOKUP functions, while continuing to introduce other functions as well. Here is a partial list of what

More information

DB2 Archive tables. Introduction. DDL Operations. 18 April Rajesh Venkata Rama Mallina DB2 Z/OS DBA IBM

DB2 Archive tables. Introduction. DDL Operations. 18 April Rajesh Venkata Rama Mallina DB2 Z/OS DBA IBM DB2 Archive tables Rajesh Venkata Rama Mallina (vmallina@in.ibm.com) DB2 Z/OS DBA IBM 18 April 2017 This paper will help in understanding the concepts of archive tables which includes its creation, maintenance

More information

Modern DB2 for z/os Physical Database Design

Modern DB2 for z/os Physical Database Design Modern DB2 for z/os Physical Database Design Northeast Ohio DB2 Users Group Robert Catterall, IBM rfcatter@us.ibm.com May 12, 2016 2016 IBM Corporation Agenda Get your partitioning right Getting to universal

More information

Civil Engineering Computation

Civil Engineering Computation Civil Engineering Computation First Steps in VBA Homework Evaluation 2 1 Homework Evaluation 3 Based on this rubric, you may resubmit Homework 1 and Homework 2 (along with today s homework) by next Monday

More information

LeakDAS Version 4 The Complete Guide

LeakDAS Version 4 The Complete Guide LeakDAS Version 4 The Complete Guide SECTION 4 LEAKDAS MOBILE Second Edition - 2014 Copyright InspectionLogic 2 Table of Contents CONNECTING LEAKDAS MOBILE TO AN ANALYZER VIA BLUETOOTH... 3 Bluetooth Devices...

More information

FROM 4D WRITE TO 4D WRITE PRO INTRODUCTION. Presented by: Achim W. Peschke

FROM 4D WRITE TO 4D WRITE PRO INTRODUCTION. Presented by: Achim W. Peschke 4 D S U M M I T 2 0 1 8 FROM 4D WRITE TO 4D WRITE PRO Presented by: Achim W. Peschke INTRODUCTION In this session we will talk to you about the new 4D Write Pro. I think in between everyone knows what

More information

» How do I Integrate Excel information and objects in Word documents? How Do I... Page 2 of 10 How do I Integrate Excel information and objects in Word documents? Date: July 16th, 2007 Blogger: Scott Lowe

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction Why I Am Writing This: Why I am I writing a set of tutorials on compilers and how to build them? Well, the idea goes back several years ago when Rapid-Q, one of the best free BASIC

More information

Multiple Variable Drag and Drop Demonstration (v1) Steve Gannon, Principal Consultant GanTek Multimedia

Multiple Variable Drag and Drop Demonstration (v1) Steve Gannon, Principal Consultant GanTek Multimedia Multiple Variable Drag and Drop Demonstration (v1) Steve Gannon, Principal Consultant GanTek Multimedia steve@gantekmultimedia.com Back Story An associate of mine, Marc Lee (a Flash coder and fellow Articulate

More information

1.7 Limit of a Function

1.7 Limit of a Function 1.7 Limit of a Function We will discuss the following in this section: 1. Limit Notation 2. Finding a it numerically 3. Right and Left Hand Limits 4. Infinite Limits Consider the following graph Notation:

More information

Views in SQL Server 2000

Views in SQL Server 2000 Views in SQL Server 2000 By: Kristofer Gafvert Copyright 2003 Kristofer Gafvert 1 Copyright Information Copyright 2003 Kristofer Gafvert (kgafvert@ilopia.com). No part of this publication may be transmitted,

More information

DATABASE TRANSACTIONS. CS121: Relational Databases Fall 2017 Lecture 25

DATABASE TRANSACTIONS. CS121: Relational Databases Fall 2017 Lecture 25 DATABASE TRANSACTIONS CS121: Relational Databases Fall 2017 Lecture 25 Database Transactions 2 Many situations where a sequence of database operations must be treated as a single unit A combination of

More information

Assignment #1: /Survey and Karel the Robot Karel problems due: 1:30pm on Friday, October 7th

Assignment #1:  /Survey and Karel the Robot Karel problems due: 1:30pm on Friday, October 7th Mehran Sahami Handout #7 CS 06A September 8, 06 Assignment #: Email/Survey and Karel the Robot Karel problems due: :0pm on Friday, October 7th Email and online survey due: :9pm on Sunday, October 9th Part

More information

Library Website Migration and Chat Functionality/Aesthetics Study February 2013

Library Website Migration and Chat Functionality/Aesthetics Study February 2013 Library Website Migration and Chat Functionality/Aesthetics Study February 2013 Summary of Study and Results Georgia State University is in the process of migrating its website from RedDot to WordPress

More information

Test First Software Development

Test First Software Development Test First Software Development Jacob Kristhammar Roger Schildmeijer D04, Lund Institute of Technology, Sweden {d04jk d04rp}@student.lth.se 2008-02-06 Abstract In this in-depth study we will try to explain

More information

Working with Track Changes: A Guide

Working with Track Changes: A Guide Working with Track Changes: A Guide Prepared by Chris Cameron & Lesley-Anne Longo The Editing Company Working with Track Changes: A Guide While many people may think of editors hunched over their desks,

More information

CS352 Lecture - Introduction to SQL

CS352 Lecture - Introduction to SQL CS352 Lecture - Introduction to SQL Objectives: last revised September 12, 2002 1. To introduce the SQL language 2. To introduce basic SQL DML operations (select, insert, update, delete, commit, rollback)

More information

Roc Model and Density Dependence, Part 1

Roc Model and Density Dependence, Part 1 POPULATION MODELS Roc Model and Density Dependence, Part 1 Terri Donovan recorded: February, 2012 You ve now completed several modeling exercises dealing with the Roc population. So far, the caliph of

More information

Age & Stage Structure: Elephant Model

Age & Stage Structure: Elephant Model POPULATION MODELS Age & Stage Structure: Elephant Model Terri Donovan recorded: January, 2010 Today we're going to be building an age-structured model for the elephant population. And this will be the

More information

COMMON WINDOWS 10 QUESTIONS & ANSWERS

COMMON WINDOWS 10 QUESTIONS & ANSWERS COMMON WINDOWS 10 QUESTIONS & ANSWERS Windows 10 is a blend of the best features of Windows 7 and 8.1 but many people are frustrated when they can t find a feature or fix they were used to in one of the

More information

Liquibase Version Control For Your Schema. Nathan Voxland April 3,

Liquibase Version Control For Your Schema. Nathan Voxland April 3, Liquibase Version Control For Your Schema Nathan Voxland April 3, 2014 nathan@liquibase.org @nvoxland Agenda 2 Why Liquibase Standard Usage Tips and Tricks Q&A Why Liquibase? 3 You would never develop

More information

Smoother Graphics Taking Control of Painting the Screen

Smoother Graphics Taking Control of Painting the Screen It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window

More information

UV Mapping to avoid texture flaws and enable proper shading

UV Mapping to avoid texture flaws and enable proper shading UV Mapping to avoid texture flaws and enable proper shading Foreword: Throughout this tutorial I am going to be using Maya s built in UV Mapping utility, which I am going to base my projections on individual

More information

Taskbar: Working with Several Windows at Once

Taskbar: Working with Several Windows at Once Taskbar: Working with Several Windows at Once Your Best Friend at the Bottom of the Screen How to Make the Most of Your Taskbar The taskbar is the wide bar that stretches across the bottom of your screen,

More information

1 Lecture 5: Advanced Data Structures

1 Lecture 5: Advanced Data Structures L5 June 14, 2017 1 Lecture 5: Advanced Data Structures CSCI 1360E: Foundations for Informatics and Analytics 1.1 Overview and Objectives We ve covered list, tuples, sets, and dictionaries. These are the

More information

Time It's present everywhere, but occupies no space. We can measure it, but we can't see it, touch it, get rid of it, or put it in a container. Everyo

Time It's present everywhere, but occupies no space. We can measure it, but we can't see it, touch it, get rid of it, or put it in a container. Everyo Temporal Databases Time It's present everywhere, but occupies no space. We can measure it, but we can't see it, touch it, get rid of it, or put it in a container. Everyone knows what it is and uses it

More information

XXXX - AUTOMATING PROCESSES USING ACTIONS 1 N/08/08

XXXX - AUTOMATING PROCESSES USING ACTIONS 1 N/08/08 INTRODUCTION TO GRAPHICS Automating Processes Using Actions Information Sheet No. XXXX Note: the following project is extracted from David Nagel s excellent web tutorials. His demonstrations are invaluable

More information

Understanding Routers, Switches, and Network Hardware

Understanding Routers, Switches, and Network Hardware Understanding Routers, Switches, and Network Hardware Rather than start off with a glossary of networking terms and in the process slam you with a technical terms with no easy point of reference let s

More information

Let me begin by introducing myself. I have been a Progress Application Partner since 1986 and for many years I was the architect and chief developer

Let me begin by introducing myself. I have been a Progress Application Partner since 1986 and for many years I was the architect and chief developer Let me begin by introducing myself. I have been a Progress Application Partner since 1986 and for many years I was the architect and chief developer for our ERP application. In recent years, I have refocused

More information

Integrating Spatial Data with the rest of your E&P Data

Integrating Spatial Data with the rest of your E&P Data Integrating Spatial Data with the rest of your E&P Data ESRI PUG Houston 11-March-2003 Ian Batty PPDM Association 1 PPDM Association Public Petroleum Data Model Association The PPDM Association is a non-profit

More information

LinkedIn s New Profile User Interface Work-Arounds

LinkedIn s New Profile User Interface Work-Arounds LinkedIn s New Profile User Interface Work-Arounds by Viveka Von Rosen Update to LinkedIn Marketing: An Hour a Day, published by Sybex / John Wiley & Sons; ISBN 978-1- 118-35870-2. Like all online and

More information

Querying Data with Transact SQL

Querying Data with Transact SQL Course 20761A: Querying Data with Transact SQL Course details Course Outline Module 1: Introduction to Microsoft SQL Server 2016 This module introduces SQL Server, the versions of SQL Server, including

More information

(Introduction Title slide) (Forward engineering) [Start demo]

(Introduction Title slide) (Forward engineering) [Start demo] (Introduction Title slide) Welcome to this demonstration of IBM InfoSphere Data Architect. InfoSphere Data Architect is a collaborative data design solution to discover, model, relate, and standardize

More information

Case study on PhoneGap / Apache Cordova

Case study on PhoneGap / Apache Cordova Chapter 1 Case study on PhoneGap / Apache Cordova 1.1 Introduction to PhoneGap / Apache Cordova PhoneGap is a free and open source framework that allows you to create mobile applications in a cross platform

More information

DB2 for z/os: Conversion from indexcontrolled partitioning to Universal Table Space (UTS)

DB2 for z/os: Conversion from indexcontrolled partitioning to Universal Table Space (UTS) DB2 for z/os: Conversion from indexcontrolled partitioning to Universal Table Space (UTS) 1 Summary The following document is based on IBM DB2 11 for z/os. It outlines a conversion path from traditional

More information

Decision Management Community

Decision Management Community Decision Management Community Challenge Jan-2016 INTRO I was happy to see a large number of submissions to the challenge. Just to make things clear, I did not start the challenge and I did not pick the

More information

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change

Chapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004

More information

EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES

EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES EBOOK THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION FOR MEDICAL DEVICES JON SPEER, FOUNDER & VP OF QA/RA GREENLIGHT.GURU THE BEGINNER S GUIDE TO DESIGN VERIFICATION AND DESIGN VALIDATION

More information

How to use the Vlookup function in Excel

How to use the Vlookup function in Excel How to use the Vlookup function in Excel The Vlookup function combined with the IF function would have to be some of the most used functions in all my Excel spreadsheets. The combination of these functions

More information

A brief history of time for Data Vault

A brief history of time for Data Vault Dates and times in Data Vault There are no best practices. Just a lot of good practices, and even more bad practices. This is especially true when it comes to handling dates and times in Data Warehousing,

More information

Mr G s Java Jive. #11: Formatting Numbers

Mr G s Java Jive. #11: Formatting Numbers Mr G s Java Jive #11: Formatting Numbers Now that we ve started using double values, we re bound to run into the question of just how many decimal places we want to show. This where we get to deal with

More information

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in

DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in DB2 is a complex system, with a major impact upon your processing environment. There are substantial performance and instrumentation changes in versions 8 and 9. that must be used to measure, evaluate,

More information

Chapter 21 Restart. Types of power supply

Chapter 21 Restart. Types of power supply Chapter 21 Restart HCA is a program different than others that you may run on your computer. Unlike an email program or a word processor which you may start and exit many times a day, HCA is designed to

More information

Advanced Design Considerations

Advanced Design Considerations Advanced Design Considerations par Phil Grainger, BMC Réunion du Guide DB2 pour z/os France Mercredi 25 novembre 2015 Hôtel Hilton CNIT, Paris-La Défense Introduction Over the last few years, we have gained

More information

Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going.

Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going. Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going. And I ve included a slide about me. You might wonder why, since I only have five minutes, but don t worry. Widgets

More information

Presentation Abstract

Presentation Abstract Presentation Abstract From the beginning of DB2, application performance has always been a key concern. There will always be more developers than DBAs, and even as hardware cost go down, people costs have

More information

9 th CA 2E/CA Plex Worldwide Developer Conference 1

9 th CA 2E/CA Plex Worldwide Developer Conference 1 1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best

More information

Main challenges for a SAS programmer stepping in SAS developer s shoes

Main challenges for a SAS programmer stepping in SAS developer s shoes Paper AD15 Main challenges for a SAS programmer stepping in SAS developer s shoes Sebastien Jolivet, Novartis Pharma AG, Basel, Switzerland ABSTRACT Whether you work for a large pharma or a local CRO,

More information

Fractions and their Equivalent Forms

Fractions and their Equivalent Forms Fractions Fractions and their Equivalent Forms Little kids use the concept of a fraction long before we ever formalize their knowledge in school. Watching little kids share a candy bar or a bottle of soda

More information

Create View With Schemabinding In Sql Server 2005

Create View With Schemabinding In Sql Server 2005 Create View With Schemabinding In Sql Server 2005 to a Table. Issues with schema binding, view indexing looking for? Browse other questions tagged sql-server sql-server-2005 or ask your own question. You

More information