TechTip: DB2 for i's Sample Database

Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

The built-in sample database makes self-learning and prototype activities easier.

 

Almost all of the DB2-related TechTips that I have written highlight new DB2 for i functions and features. While it's good to raise awareness of new DB2 capabilities, this does result in existing DB2 features being overlooked. This is especially true of the more ordinary database functions.

 

Last week, one of those often-overlooked DB2 functions came up during a customer workgroup that discussed how to improve the IBM i application development experience. One client made the point that other databases include a sample database that's always available to use when you're playing around with a new programming language or testing out new SQL features.

 

While DB2 for i doesn't create a sample database by default, a system stored procedure is available that makes it simple to create a sample database. The stored procedure name is CREATE_SQL_SAMPLE and is shipped in the QSYS library. The procedure creates and populates a group of tables that houses information that describes employees, departments, projects, and activities.

 

These objects in the sample database are also used by the examples in the DB2 for i SQL Reference and Programming guides. Thus, it's simple for you to copy and paste the SQL examples from the documentation and run them on your system. Running and then modifying these examples is a great method to better understand a new or existing SQL feature.

 

CREATE_SQL_SAMPLE is a stored procedure, so you need to use the SQL CALL statement to invoke it from your favorite SQL interface. The procedure requires a single input parameter, which is the name of the schema that you want created to house the sample database objects. Because a new schema is created, the stored procedure will fail if you supply the name of an existing schema or library. It's also best to supply an uppercase name since DB2 is going to make the schema name uppercase anyway.

 

The following SQL statement creates a schema named KMSAMPLE and creates the SQL objects associated with the sample database in the newly created schema.

 

CALL QSYS.CREATE_SQL_SAMPLE('KMSAMPLE')

 

Expect the sample database to be created and populated on most systems within a couple of minutes. Also, don't worry about disk storage requirement because the sample database consumes only about 120 KB of storage.

 

If your memory is getting less reliable as the years pass (like mine), then it's helpful to have other techniques to remember the name of this system stored procedure. I rely on the System i Navigator Run SQL Scripts utility as my memory aid.

                                                                                                             

I start the process of finding the stored procedure name by selecting the "Insert from Examples" task on the Edit pull-down menu as shown in Figure 1.

 

111414MilliganSample Fig1

Figure 1: Insert your example.

 

That task launches the SQL Statement Examples window displayed in Figure 2. On this window, just enter CALL into the "Search For" input field, which will highlight a CALL statement with an example invocation of the CREATE_SQL_SAMPLE stored procedure. If you select the Insert button, the example statement will be copied into your Run SQL Scripts window so that all you have to do is type in your schema name and execute the procedure.

 

111414MilliganSample Fig2

Figure 2: This is the SQL Statement Examples window.

 

If you're looking for a tool to help you quickly understand the database objects created by the system stored procedure, then don't forget about the graphical modeling support available with the IBM Data Studio tool that can be downloaded for free.

 

If you're interested in playing around with the integrated XML support delivered in the DB2 for i 7.1 release, then use the companion CREATE_XML_SAMPLE stored procedure to create sample database tables that contain XML data.

 

The ability to create a sample database on DB2 for i isn't the newest or sexiest feature, but I think there any many situations in which developers can improve their productivity by using the DB2 sample database instead of taking time to create and populate their own database objects.

Kent Milligan
Kent Milligan is a Senior Db2 for i Consultant in the IBM Lab Services Power Systems Delivery Practice.  Kent has over 25 years of experience as a Db2 for IBM i consultant and developer working out of the IBM Rochester lab. Prior to re-joining the DB2 for i Lab Services practice in 2020, Kent spent 5 years working on healthcare solutions powered by IBM Watson technologies. Kent is a sought-after speaker and author on Db2 for i & SQL topics.
BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$

Book Reviews

Resource Center

  •  

  • LANSA Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.

  • The MC Resource Centers bring you the widest selection of white papers, trial software, and on-demand webcasts for you to choose from. >> Review the list of White Papers, Trial Software or On-Demand Webcast at the MC Press Resource Center. >> Add the items to yru Cart and complet he checkout process and submit

  • SB Profound WC 5536Join us for this hour-long webcast that will explore:

  • Fortra IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn: