Figures 1, 2, 3
The first step is the SQL request. Applications issue SQL requests though interfaces such as ODBC, OLEDB, JDBC, .NET and ActiveX Data Objects (ADO). Applications also might invoke wrappers such as ADO or Language Integrated Query (LINQ) that will call a particular interface.
The SQL request application could range from an Internet Web service to a custom Visual Basic program. PHP scripts, JavaBeans, SharePoint, Microsoft SQL Server SSIS, .NET applications, and application servers are a few of the potential applications that issue SQL requests through one of those interfaces. The developer must ensure SBM supports the interface. Most SBMs have at least ODBC, which permits SQL data access for the data sources the SBM supports. If the application is from a Java source, then JDBC is required. Figure 2 shows some of the more popular formats.
The SBM (client) will evaluate the SQL request. It checks for accuracy, then develops an execution plan if no errors exist. The execution plan focuses on what types of services the SBM (server) needs to perform.
A Remote Procedure Call (RPC) to the server will follow. The RPC contains the necessary arguments the server requires. The server analyzes the request and determines its type. If it’s a select query, it will issue native calls to the data source, asking for the appropriate data. If it’s a request for VSAM file data, this means opening the VSAM file (if necessary), reading the specific record(s), and returning the data to the client.
If the request is an update/delete/ insert query, the server will issue the appropriate native call to the data source and perform the modify action. After that call, it will return the status to the SBM client, which dispatches it to the requesting client. If it were an update request for an IMS segment, this would mean finding the appropriate segment and updating the data the client passed.
The internal SBM operations to achieve this simple request can be intensive. Data translation, network operations, and SQL optimization are just a few of the tasks these middleware components must deal with.
What’s a Virtual Database?
A garage is a great place to store things, but finding things can be difficult if the garage isn’t organized. A database should let you easily find information; content should be organized so users can easily access, manage, or update it.
On systems where data files (or databases) are numerous, a common data dictionary is essential. The data dictionary is a repository SBM will use that consists of: