Getting Started with Matisse
|
|
|
- Arlene Osborne
- 10 years ago
- Views:
Transcription
1 Getting Started with Matisse May 2013
2 Copyright 2013 Matisse Software Inc. All Rights Reserved. This manual and the software described in it are copyrighted. Under the copyright laws, this manual or the software may not be copied, in whole or in part, without prior written consent of Matisse Software Inc. This manual and the software described in it are provided under the terms of a license between Matisse Software Inc. and the recipient, and their use is subject to the terms of that license. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in Technical Data and Computer Software clause at DFARS and FAR The product described in this manual may be protected by one or more U.S. and international patents. TRADEMARKS: Matisse and the Matisse logo are registered trademarks of Matisse Software Inc. All other trademarks belong to their respective owners. PDF generated 3 May 2013
3 Contents 1 Introduction Scope of This Document Before Reading This Document Matisse Quickstart Overview of Matisse Development Components of a Matisse Database Application Schema Class Inheritance Referential Integrity and Cardinality Constraints SQL Methods Indexes Entry-Point Dictionaries The Meta-Schema Dynamic Schema Evolution Matisse in Operation Connections Transactions Database Locks Version Access Named Versions Client Cache Management Running the Demo Applications Data Migration Demo Reusable SQL Components Demo XML Documents Demo Data Reporting Demo Matisse Lite Edition Demo NET Demo Programs Java Demo Programs C++ Demo Programs Matisse Tools and Documentation Development Tools Utilities Schema Objects Properties Rules for Naming Schema Objects Class Properties Attribute Properties Contents 3
4 9.4 Relationship Properties Index Properties Entry-Point Dictionary Properties Glossary Contents 4
5 1 Introduction Getting Started with Matisse 1.1 Scope of This Document This document is intended to help new users learn the basics of Matisse design and programming. It serves as an introduction to the Matisse SQL Programmer s Guide, Matisse.NET Programmer s Guide (including ADO.NET), the Matisse C++ Programmer s Guide, the Matisse Eiffel Programmer s Guide, the Matisse PHP Programmer s Guide, the Matisse Python Programmer s Guide, and the Matisse Java Programmer s Guide. 1.2 Before Reading This Document Throughout this document, we presume that you already know the basics of database design and are familiar with the languages you plan to use to develop Matisse applications. Introduction 5
6 2 Matisse Quickstart If you have just downloaded Matisse, you can get rapidly a sense of how it works by following the steps in this section which show you how to create a database, populate it with instances, and query the instances you have just created. Initialize the example database On MS Windows, start the Enterprise Manager, click on Programs->Matisse->Enterprise Manager from the start menu. On Unix, first verify that you have the right environment. To that effect, you may run the mt_env.sh or mt_env.csh script in your install directory. Then start the Enterprise Manager: % sh <INSTALL_PATH>/mt_env.sh % mt_emgr & 6 Matisse Quickstart
7 Figure 2.1 The Database View in Matisse Enterprise Manager In the database view, Right click on the example database. Then click on Start. At this point, you have an empty database up and running. Create instances of the class movie Under example, open the node Data, then click on SQL Query Analyzer. Create a class and insert some instances, you may cut and paste the following statement in the SQL Query Editor window: CREATE CLASS Movie (Title VARCHAR(64), Rating VARCHAR(4)); Matisse Quickstart 7
8 Figure 2.2 The SQL Query Analyzer Click Execute Query and then Clear SQL Query Editor (the left most eraser icon) and enter the following statement: INSERT INTO Movie (Title, Rating) VALUES ('Rocky', 'R'); Click Execute Query and then Clear SQL Query Editor and enter the following statement: SELECT * FROM Movie; Following the same procedure, enter the following statement to create your first SQL method, which counts the movies according to some rating: CREATE STATIC METHOD CountMovies(aRating STRING) RETURNS INTEGER FOR Movie BEGIN DECLARE Cnt INTEGER DEFAULT 0; SELECT COUNT(*) INTO Cnt FROM Movie WHERE Rating = arating; RETURN Cnt; END; At this stage, you have created a simple schema in your database example and added some data in the database. In the left side window, you may open the Classes node under Schema to view the schema that you have created. 8 Matisse Quickstart
9 Figure 2.3 Example Database Schema You can save this schema in DDL (Data Definition Language) format with a right click on the Schema node, then Export DDL Schema.... It produces a text file that contains your SQL DDL statements. You may execute the method CountMovies with a right click on the method node CountMovies(STRING), then substitute the string <arating STRING> with R. The statement should look as follows before you execute it: CALL Movie::CountMovies('R'); Matisse Quickstart 9
10 3 Overview of Matisse Development A typical Matisse development project will consist of the following steps, not necessarily in this order. Design Decide which of the various Matisse APIs and bindings (C, C#, C++, Eiffel, Java, Perl, PHP, Python, Smalltalk, Visual Basic, XML, and also ADO.NET, JDBC, or ODBC) are most appropriate for your application. Sketch out the conceptual model for the database to determine what classes, attributes, and relationships will be required. Define the corresponding application schema using SQL Data Definition Language (DDL), the Object Description Language (ODL), or Matisse Modeler tool (UML-like). Write the core logic of your application with SQL Stored Methods. These methods are stored and executed on the server side and can be called from any client environment. Create a database Create and initialize your database. Load your schema and SQL methods into the database. Automatic code generation for client applications This step is not necessary if you use the C API or a third party SQL tool. If appropriate, generate C#, C++, Eiffel, Java, or Visual Basic class files corresponding to the schema classes (See the relevant Matisse Programmer s Guide). You may produce HTML documentation for the generated C#, C++, or Java classes. Write the client application code Write the rest of your client application s code, which may include extensions in the user area of the generated class files, and debug. Maintenance When your application evolves in such a way that it becomes necessary to change the application schema: With SQL DDL: Use CREATE or ALTER statements to make the changes. With ODL: Revise the ODL definition, then import it from the Enterprise Manager to update the schema in the database. With Matisse Modeler: Revise the model, then export to Matisse. 10 Overview of Matisse Development
11 4 Components of a Matisse Database Getting Started with Matisse 4.1 Application Schema In Matisse, you design a schema for your application using three basic components: classes, attributes, and relationships. The following UML diagram of a simple database schema illustrates the three components and how they relate: The classes Employee and Department contain the attributes FirstName, LastName, and HireDate. The two schema classes are linked by the relationship Members and its inverse MemberOf. The cardinality indicators (0..* and 0..1) show that this is a one-to-many relationship: a department may have any number (0..*) of members, but an employee may be a member of only one department. Try it You can create this schema with the following statements. Enter the following statements in the SQL Query Editor window: CREATE CLASS Employee (FirstName VARCHAR(32) NOT NULL, LastName VARCHAR(32) NOT NULL, HireDate DATE, MemberOf REFERENCES (Department) CARDINALITY (0, 1) INVERSE Department.Members); CREATE CLASS Department (DeptName VARCHAR(32), Members REFERENCES SET (Employee) CARDINALITY (0, -1) INVERSE Employee.MemberOf); Then right click on Classes, then Refresh, to view the classes you have created. You can create some instances and link them as follows: INSERT INTO Department (DeptName) VALUES ('Sales') RETURNING REF(Department) INTO adepartment; Components of a Matisse Database 11
12 INSERT INTO Employee (FirstName, LastName, HireDate, MemberOf) VALUES ('John', 'Smith', DATE ' ', adepartment); DROP SELECTION adepartment; Then to view the instances that you have created: SELECT p.*, p.memberof.deptname FROM Employee p; relational database counterpart: tables A schema class is similar to a table in a relational database. For example, the class Employee defines a set of instances, one for each employee, each of which contains attribute values that stores a particular person s employee s name and hire date, just as in a relational database the table EMPLOYEE would contain a set of rows, one for each employee, which would store the same data. 4.2 Class Inheritance A class may be defined as a subclass that inherits all of its superclasses properties and defines additional attributes and/or relationships. Multiple inheritance is supported. However, it must be avoided when exporting your classes in C#, Java, or Smalltalk, which do not allow multiple inheritance. Try it You can create the Manager class, which inherits from Employee and adds a Team relationship. Enter the following statements in the SQL Query Editor window: CREATE CLASS Manager UNDER Employee ( Team REFERENCES SET (Employee) CARDINALITY (0, -1) INVERSE Employee.ReportsTo); ALTER CLASS Employee ADD RELATIONSHIP ReportsTo REFERENCES (Manager) CARDINALITY (0, 1) INVERSE Manager.Team; 12 Components of a Matisse Database
13 4.3 Referential Integrity and Cardinality Constraints At right, Employee and Manager have one relationship that defines which employees report to which managers, and another that identifies each manager s assistant. The cardinality of each end of a relationship is controlled by specifying the minimum and maximum number of successors allowed (with infinity represented by -1 in code and * in diagrams). If a single integer is specified, it is both the minimum and the maximum number. In the example at right: An employee must report at most to one manager (0..1). A manager s team consists of any number of employees (0..*). Matisse automatically maintains referential integrity. For example, if an Employee instance is deleted, the reference to the employee is automatically removed from the successors of the Manager instance to which is it associated through the Manager.Team relationship. Getting Started with Matisse relational database counterpart: foreign keys Matisse relationships work in a similar way than foreign keys between relational tables, but Matisse relationships make database design simpler and more efficient: You do not need to define the additional columns and indexes that are required for making things work with primary keys and foreign keys. The definition of many-to-many relationships does not require to use intermediate tables. You can use navigational expressions to access data. For example, you could find all the employees who report to a particular manager using the SQL statement SELECT * FROM Employee WHERE ReportsTo.LastName = 'Steiner'. Components of a Matisse Database 13
14 4.4 SQL Methods SQL Stored Methods (or more simply SQL methods ) are always associated to a class and stored as part of your application schema in the database. Like for other properties of a class, Methods are inherited in subclasses. You can define either STATIC or INSTANCE methods: An INSTANCE method is executed for a given instance and can access or update the instance with the keyword SELF. An instance method that is inherited in a subclass can be overridden as you define another method with the same name and signature in the subclass. A STATIC method is not associated at execution time with a particular instance. To call a static method, you must mangle the class name with the method. For instance to call the static method CountMovies on the class Movie: CALL Movie::CountMovies('R');. SQL Methods are executed on the database server side. Method execution can be invoked interactively with a CALL statement, from within another method, or from within the WHERE clause of a SELECT statement. Try it You can create the isrrated instance method on the Movie class: CREATE INSTANCE METHOD isrrated() RETURNS BOOLEAN FOR Movie BEGIN IF SELF.Rating = 'R' THEN RETURN TRUE; ELSE RETURN FALSE; END IF; END; Then, you can execute it in a WHERE clause: SELECT m.* FROM Movie m WHERE m.isrrated() = TRUE; 4.5 Indexes Indexes are selected by the Matisse SQL optimizer to speed up the processing for the ORDER BY clause and for the WHERE clause filtering when running equi-match and range queries. You can also use indexes from the C API and the language bindings to lookup instances based on a key value. For a given class, up to four attributes can be used to form a composite key for an index. The attributes used in an index must be non-nullable. You may add or drop an index at any time, without stopping the database operations. Matisse indexes are inherited. For instance, an index defined on the class Employee is inherited by the subclass Manager. The following queries will use the same index: 14 Components of a Matisse Database
15 SELECT * FROM Employee WHERE LastName = 'Steiner'; SELECT * FROM Manager WHERE LastName = 'Steiner'; SELECT * FROM ONLY Manager WHERE LastName = 'Steiner'; Try it The following statement creates an index for the Employee class: CREATE INDEX EmpIdx ON Employee (LastName ASC, FirstName ASC); 4.6 Entry-Point Dictionaries An entry-point dictionary is an indexing structure containing keywords derived from a string value. For instance, you may use an entry-point dictionary to implement full text indexing on an attribute containing some textual data. The keywords generated for an entry-point dictionary depend on which make-entry function is selected. Currently two functions are provided: the default make-entry function indexes the full content of the attribute value as a single key, while the full-text-make-entry function generates keys for all the words that are contained in a textual attribute value. An entry-point dictionary is automatically updated whenever an update to an associated instance is committed. You may add or drop an entry-point dictionary at any time, without stopping the database operations. For instance, if you have an entry-point dictionary ContentDict defined with the full-text-make-entry function on the attribute Content for the class Book, you can retrieve the titles of all books that contain a particular word: Try it SELECT * FROM Book WHERE ENTRY_POINT(ContentDict) LIKE 'Grape%' The statements to create the class Book and the associated dictionary ContentDict would be like this: CREATE CLASS Book (Title VARCHAR(64), Content TEXT); CREATE ENTRY_POINT DICTIONARY ContentDict ON Book (Content) MAKE_ENTRY "make-full-text-entry"; 4.7 The Meta-Schema The meta-schema is a pre-defined schema from which the classes and other objects that comprise your application schema are instantiated. For instance: schema classes are instantiated from MtClass attribute descriptors are instantiated from MtAttribute Components of a Matisse Database 15
16 relationship descriptors are instantiated from MtRelationship One benefit of the meta-schema is that it allows the dynamic discovery of the application schema. Try it For instance, to list all the classes, attributes an methods, defined in your database, you may run the queries: SELECT MtName FROM MtClass; SELECT MtName FROM MtAttribute; SELECT MtName FROM MtMethod; 16 Components of a Matisse Database
17 5 Dynamic Schema Evolution You can update your database schema using SQL DDL, ODL without having to turn off the database, or to migrate the existing data. The only restriction is that the integrity constraints on the existing data must not be violated by adding, removing, or updating property definitions. The next table shows the limitations for each case of schema change when data already exists in the database. Table 1 Limitations of Schema Update When Data Exists Type of Change Description of Limitation Add/Update an attribute The new attribute needs to have a default value (a), or it needs to be nullable (b). Examples in SQL DDL: (a) ALTER CLASS Manager ADD ATTRIBUTE Bonus INTEGER DEFAULT 0; (b) ALTER CLASS Person ADD ATTRIBUTE Address VARCHAR(250); Remove an attribute Add/Update a relationship Remove a relationship Add a superclass Remove a superclass no constraint The minimum cardinality of the new relationship needs to be 0. Example in SQL DDL: ALTER CLASS Employee ADD REFERENCES worksin (Project) CARDINALITY (0, 5) INVERSE... no constraint no constraint no constraint Note that SQL methods in the database may need to be recompiled after a schema change and they need to be consistent with the new schema. For example, if you remove an attribute from a class, make sure that no SQL stored method references the attribute. To recompile all the SQL methods in your database, use the COMPILE ALL statement. Dynamic Schema Evolution 17
18 6 Matisse in Operation This document covers only those aspects of Matisse operation and administration with implications for the programmer. For information on aspects of Matisse operation that are transparent to applications, such as datafile configuration, see the Matisse Server Administration Guide. 6.1 Connections Client applications interact with Matisse through a connection that handles basic communication between the client application and the Matisse server application: selecting a server and a particular database, login, starting and committing or aborting transactions, and so on. A Matisse database can handle many simultaneous connections from a variety of clients. For example, a database could simultaneously be accessed from a Web Server with client threads using PHP or JDBC, by standalone clients running a C#, C++, Eiffel, or Java application, and by a SQL ODBC-based reporting tool. A Matisse client can connect to multiple databases by using multiple connections. The Matisse Client library is thread safe and allows you to establish multiple connections in the same thread or in separate threads. For detailed information about connections, see the relevant API or language binding documentation. 6.2 Transactions Once a connection with a database has been established, the next step in interacting with Matisse is to open a transaction (read-write access) or a version access (read-only; see Version Access). See the relevant API or language binding documentation for examples. Matisse transactions follow the ACID rule: Atomicity: transactions are either committed completely or aborted. Consistency is maintained at all times. Isolation: the results of one transaction are not visible to other transactions until it is committed. Durability: committed transactions are not affected by server or system failure. When a transaction is committed, Matisse does the following: It checks that all the instances that were created or modified to verify the constraints of the schema: that an attribute of type INTEGER does not have a non-integer or out-of-range value, that a nonnullable attribute with no default value has a value, that a relationship with a maximum cardinality of 1 does not have more than one successor, and so on. If any check fails, Matisse returns an error message identifying the invalid instance. The transaction is not aborted; if the client application knows how to handle the error, it can fix it and try to commit again. 18 Matisse in Operation
19 If all checks pass, the modified instances are written in the database and the transaction is validated. If specified by the commit instruction, a new named version of the database is created. 6.3 Database Locks Matisse automatically sets read and write locks on individual instances. The locking rules are as follows: Several transactions can read an attribute or relationship simultaneously. A transaction cannot modify an attribute or relationship while it is being read or modified by another transaction. An attempt to make such a modification will be blocked by the server until the other transaction is committed or aborted. If the optional LOCK_WAIT_TIME argument was passed when initiating the connection, the attempt will fail if the time-out expires before the other transaction releases its locks. A transaction can modify an attribute or relationship that is being read by a version access; (Matisse will preserve an unmodified copy for use by the version access). When two transactions have read a particular instance property and then both transactions try to modify it, a deadlock arises. For example: 1. Client 1 reads a value, establishing a read lock on the attribute. 2. Client 2 reads the same value, establishing a second read lock on the attribute. 3. Client 1 attempts to update the value. Since client 2 has a read lock, the server holds this attempt pending commit or abort of client 2 s transaction. 4. Client 2 attempts the same update. Since client 1 has a read lock, the server holds this attempt as well, pending commit or abort of client 1 s transaction. Thus each transaction is being held pending commit or abort of the other. Matisse resolves such deadlocks by aborting: the transaction with the lower priority (a priority from 1 to 8 may optionally be specified when opening a transaction); or, if the priorities are the same, the transaction that has performed the fewest updates; or, if the transactions have performed the same number of updates and have the same priority, the transaction that caused the deadlock (that is, that attempted the update later). Such deadlocks can be prevented by either setting an explicit write lock on a given instance, or by using the Read For Update transaction mode. In this mode, all read accesses set write locks in order to be able to update without upgrading from shared mode to exclusive mode. All locks are released when the transaction is either committed or aborted. NOTE: You can take advantage of Matisse version access for data intensive tasks like data analysis that would require locking or dirty reads in other database products. Matisse in Operation 19
20 6.4 Version Access When a version access (read-only transaction) is opened, all the data stored in the database at that moment is preserved until the access is closed. This requires no locks or wholesale copying: as instances are modified by transactions, Matisse preserves unmodified copies for use by the version access. The figure at right represents a new database in which a transaction (T1) has created three instances, A, B, and C. If a version access is opened on this database, then a second transaction (T2) modifies instance B, deletes instance C, creates a new instance D, and commits. The figure below shows the result: A B C modified since version access started unmodified what a current transaction sees A B D what the version access sees A B C In other words, a coherent snapshot of the database at the time each version access was started is preserved without interfering with current transactions ability to modify instances. Once the version access has closed, the preserved copies of old instances will be eligible for garbage collection. For more about versions, see the Matisse Server Administration Guide. 6.5 Named Versions Named versions (sometimes called savetimes ) preserve such snapshots of a database indefinitely. Within an application, named versions can be registered when committing a transaction. When declaring a named version, the client application provides a name to identify it. To generate the full name for the version, Matisse appends a unique ID number to the name that is provided. (This ensures that two clients will not create two versions with the same full name.) The version is accessed by passing its full or partial name as an argument when opening a version access. Copies of modified instances preserved by Matisse to maintain the named version are not eligible for garbage collection until the version is manually undeclared using the mt_version command (see the Matisse Server Administration Guide). 6.6 Client Cache Management By default Matisse transparently caches data on the client side to optimize access to the network. We describe here the different caching alternatives that are currently implemented in Matisse. 20 Matisse in Operation
21 Accessing instances in a Client Application When you access one attribute value or another property of an instance, the instance s other properties are also cached. When you access another property for the same instance, the Matisse client retrieves it from the cache. When a transaction is committed, the updates are flushed from the client cache to the server. When a transaction is committed, aborted or a version access is ended, any value read is deleted from the cache. This ensures that the cache is always consistent with the database. Streaming Attributes You may skip the default caching mechanism for large attributes by using the streaming APIs for read and update access. These APIs stream the attribute content directly from the database server without caching in the client. Server Side SQL Execution The associative access performed by SQL queries is typically data intensive, therefore SQL queries and SQL methods are always executed on the server side and only the result sets are cached on the client side. Matisse in Operation 21
22 7 Running the Demo Applications Demo applications are installed to illustrates diverse features of Matisse. For the.net binding, the Matisse.NET Programmer s Guide explains how to run these applications. Data Migration Demo This demo is accessible through the Read me page in your Matisse installation. On Windows, click on Matisse->Read me from the Windows Start menu. The demo called President shows how to create your application schema with SQL DDL (Data Definition Language), and populate your database with relational data trough the Matisse Data Transformation Services (DTS) facility and then query the database with SQL. Reusable SQL Components Demo This demo is also accessible through the Read me page in your Matisse installation. On Windows, click on Matisse->Read me from the Windows Start menu. The demo called GoalMind is a simple CRM (Customer Relationship Management) application that illustrates how to build reusable SQL components with SQL Methods. The second demo called Friends is a simple social networks application that illustrates how to implement a graph search algorithm to solve the single-source shortest path problem with SQL Methods. XML Documents Demo This demo is accessible through the Read me page in your Matisse installation. On Windows, click on Matisse->Read me from the Windows Start menu. The demo called Media shows how to create your application schema with ODL (Object Definition Language), and import XML data into a Matisse database. The XML document imported into Matisse contains both text and multimedia data. Data Reporting Demo This demo is accessible through the Read me page in your Matisse installation. On Windows, click on Matisse->Read me from the Windows Start menu. The demo called Reports shows how to create your application schema with ODL (Object Definition Language), and populate your database with XML Documents and then query the database with SQL to build ad-hoc reports. 22 Running the Demo Applications
23 Matisse Lite Edition Demo This demo is accessible through the Read me page in your Matisse installation. On Windows, click on Matisse->Read me from the Windows Start menu. The demo called Lite shows how to develop an application with Matisse Lite, the embedded version of Matisse DBMS. Matisse Lite is a compact library that implements the server-less version of Matisse. Matisse Lite provides a transactional, multi-user database engine self-contained in an application process..net Demo Programs The Matisse.NET demo programs come with the.net binding installation. You can download the.net binding with the ADO.NET data provider from The Matisse.NET demo programs are provided both for C# and VB.NET. They illustrate: How to use ADO.NET How to create/update/delete objects How to manage relationships between objects How to use indexes or entry-point dictionaries to retrieve objects How to manage database connections, transactions and version access (read-only transaction) How to manipulate object from Matisse Class Reflection APIs How to manage database events How to manage a pool of connections How to extend Matisse Object Factories How to use Matisse Data Classes How to use object versioning How to generate source code for persistent classes in any.net programming language Java Demo Programs The Matisse Java demo programs can downloaded with the Matisse Java Programmer s Guide from the Matisse Documentation web page Requirements Install Sun Java Development Kit version 6 or later for your operating system. Running the Demo Applications 23
24 Set the MATISSE_HOME and JAVA_HOME environment variables to the top-level directories of the Matisse and JDK installations. If you are running Windows, append ;%matisse_home%\bin;%java_home%\bin to the PATH user variable. Demos The Java demo programs illustrate: How to use JDBC How to create/update/delete objects How to manage relationships between objects How to use indexes or entry-point dictionaries to retrieve objects How to manage database connections, transactions and version access (read-only transaction) How to manipulate object from Matisse Class Reflection APIs How to manage database events How to manage a pool of connections How to extend Matisse Object Factories How to use object versioning C++ Demo Programs The Matisse C++ demo programs can downloaded with the Matisse C++ Programmer s Guide from the Matisse Documentation web page The C++ demo programs illustrate: How to create/update/delete objects How to manage relationships between objects How to use indexes or entry-point dictionaries to retrieve objects How to manage database connections, transactions and version access (read-only transaction) How to manipulate object from Matisse Class Reflection APIs How to manage database events How to use object versioning 24 Running the Demo Applications
25 8 Matisse Tools and Documentation Getting Started with Matisse 8.1 Development Tools C API A set of functions that allow user access to and manipulation of almost every aspect of Matisse databases. The C API functions are defined in the include file matisse.h. Documentation: the Matisse C API Reference. C++ binding The C++ binding (included in the standard Matisse installation) provides access to Matisse databases within C++ applications. Functions are defined in the include file matissecxx.h. Documentation: the Matisse C++ Programmer s Guide and the Doc++-generated API reference in the docs subdirectory of the Matisse program directory.net binding and ADO.NET Eiffel binding The.NET binding provides access to Matisse databases within.net applications. It includes both the ADO.NET data provider and the native object interface. The binding is available on our web site at The Eiffel binding provides access to Matisse databases within Eiffel applications. You can download the binding and documentation from: Java binding The Java binding (included in the standard Matisse installation) provides access to Matisse databases within Java applications. The Matisse Java methods are defined in matisse.jar in the lib subdirectory of the Matisse program directory. Documentation: the Matisse Java Programmer s Guide and the javadoc-generated API reference in the docs subdirectory of the Matisse installation directory. ODBC driver The Matisse SQL ODBC driver provides access to Matisse databases from ODBC-compliant tools. Documentation: the Matisse installation guides for Linux, Solaris, and MS Windows. Perl, PHP, and Python bindings These open-source bindings provide access to Matisse databases from the respective languages. You can download the bindings and documentation from: Matisse Tools and Documentation 25
26 Smalltalk binding The Smalltalk binding provides transparent access to Matisse databases from VisualWorks applications. You can download the binding from: Matisse SQL The Matisse SQL language can be used interactively using the Matisse Enterprise Manager, or embedded in applications created with the Matisse C API or the language bindings. Documentation: the Matisse SQL Programmer s Guide, the Matisse C API Reference, and the online help in the mt_sql utility. Matisse XML Matisse XML can be used to exchange data with other applications or to transfer data between Matisse databases on different platforms (for example, Windows and Linux). Documentation: the Matisse XML Programming Guide and the online help in the mt_xml utility 8.2 Utilities mt_emgr Matisse Enterprise Manager. You may use this tool to create, configure, initialize, start, monitor, stop, back up, and restore databases, as well as to manage database disk usage, versions, and security. The administration operations can also be performed with the command line utilities mt_backup, mt_connection, mt_file, mt_partition, mt_replicate, mt_server, mt_transaction, mt_user and mt_version. Documentation: Matisse Server Administration Guide mt_modeler Matisse Database Modeler. You may use this tool to design and manage yout database schema. Documentation: Matisse Modeler User s Guide mt_sdl This command line utility allows you to import and export a database schema using SQL DDL (Data Definition Language) or ODL (Object Definition Language). It is also used to generate persistent class files for the C++, C#, Java, and Eiffel bindings. Documentation: Matisse ODL Programmer s Guide and Matisse SQL Programmer s Guide mt_sql Matisse SQL interactive query tool. Documentation: Matisse SQL Programmer s Guide 26 Matisse Tools and Documentation
27 mt_xml Matisse XML import/export utility. With this tool you can load data from an XML file into a database, dump data from a database to an XML file, and transfer data between Matisse databases on different platforms (for example, Windows and Solaris). Documentation: Matisse XML Programming Guide mt_dts Matisse Data Transaformation Services utility. With this tool you can extract, transform and load data from a relational source into a Matisse database. Documentation: Matisse Data Transaformation Services Guide mt_xsr Matisse XML-based Snapshot Replication utility. With this tool you can replicate databases. Documentation: Matisse Server Administration Guide Matisse Tools and Documentation 27
28 9 Schema Objects Properties This section details the definition of the schema objects that make up your application schema. A schema is made of a set of classes, attributes, relationships, methods, indexes, and/or entry-point dictionaries. 9.1 Rules for Naming Schema Objects The names that can be used for all schema objects must contain only alphanumeric characters and the underscore character (a-z, A-Z, 0-9, and _), and must start with a letter. Names must not contain spaces or punctuation other than the underscore character. So, for example, Class_9 is a valid name, but Class 9, Class-9, Class.9, and 9Class are invalid. 9.2 Class Properties Matisse schema classes are always persistent. A class has the following properties: class name superclass name attributes relationships index specifications entry-point dictionary specifications method specifications Required. Class names must be unique. Optional. If a superclass is specified, this class inherits all of its properties. Multiple superclasses may be specified if all the programming languages you are using support multiple inheritance (C# and Java do not). Optional. Define the values to be stored in instances of this class (and any subclasses). Optional. Define relationships between instances of this class (and any subclasses) and instances of the successor class (or its subclasses). Optional. Optional. Optional. The SQL methods for the class. For instance the definition of the class Movie with the attributes Title and Rating, and the associated method CountMovies is exported in DDL format like this: Class Definitions -- CREATE TABLE Movie ( Title VARCHAR(64), Rating VARCHAR(4) 28 Schema Objects Properties
29 ); Methods on Movie -- CREATE STATIC METHOD CountMovies(aRating STRING) RETURNS INTEGER FOR Movie BEGIN DECLARE Cnt INTEGER DEFAULT 0; SELECT COUNT(*) INTO Cnt FROM Movie WHERE Rating = arating; RETURN Cnt; END; 9.3 Attribute Properties An attribute has the following properties: attribute name type nullable Attribute names must be unique within a class and any of its subclasses. In other words, two classes may have attributes of the same name, unless one class inherits from the other. The data type (STRING, INTEGER, etc.) of the attribute. A boolean indicating whether the attribute will allow NULL values. Note that when creating a schema with ODL attributes are not nullable unless you specify Nullable, while in SQL DDL attributes are nullable unless you specify NOT NULL. When nullable is True and no default value is specified, Matisse automatically sets the default value to NULL. When nullable is False and no default value is specified, when you create an instance you must explicitly set the attribute value before attempting to commit your updates. maximum size default value The maximum size for variable size attributes. For instance with SQL DDL, a maximum size of 12 for a string type attribute can be expressed as VARCHAR(12). Optional. A value returned when accessing an attribute value that has not been set or that has been cleared. Note that default values are not physically stored in the corresponding attribute values of instances instantiated from the class. Thus if you change the default value for an attribute in your schema, it will be immediately reflected in the associated instances. To put it another way, in Matisse default values are class variables, not initial values. Schema Objects Properties 29
30 9.4 Relationship Properties Relationships are usually declared in pairs. For example, the Employee class might specify a MemberOf relationship with the Department class, and the Department class a corresponding Members relationship with the Employee class. With the Matisse Modeler tool this relationship pair is represented as a single association, and the individual relationships as roles. A relationship has the following properties: relationship name successor class Relationship names must be unique within a class and any of its subclasses. The target class for this relationship. In the example below, Department is the successor class of MembersOf, and Employee is the successor class of Members. A class may be the successor class of its own relationships. A typical example is the Father / Children relationship pair between instances of a class Person. inverse relationship cardinality constraint The other relationship of the pair, specified in the successor class. If appropriate a relationship may be specified as its own inverse, a typical example is the Spouse relationship between instances of a class Person. The minimum and maximum number of successor instances allowed. The minimum cardinality is usually 0 or 1, indicating whether successors are optional or required. The maximum cardinality is usually 1 or -1 (representing unlimited), indicating whether it is a to-one or to-many relationship. Common cardinality settings (and their UML counterparts used in schema diagrams) include: 0, -1: may have any number of successors, or none (UML *) 0, 1: may have one successor, or none (UML 0..1) 1, 1: must have one and only one successor (UML 1) 1, -1: must have at least one successor (UML 1..*) 30 Schema Objects Properties
31 read-only constraint To simplify programming, one of the two relationships in a pair is usually set read-only, so that all updates must be performed from the other side. In SQL DDL, this is done by specifying the readonly parameter. In the Matisse Modeler this is set by the Navigable option on the role s Details tab. By default, Role A is read-write (Navigable checked) and Role B is readonly (Navigable unchecked). 9.5 Index Properties An index is declared for a given class, it has the following properties: index name criteria sort order unique key constraint Index names must be unique within a class and any of its subclasses. The names of the attribute(s) to be indexed. You may specify up to four criteria. Set separately for each criterion. Specifies whether the index will be sorted ascending or descending for that criterion. If set to True, each entry in the index must be unique. If set to False, the index may contain duplicate entries. The key size for an index is limited to 256 bytes. For an index defined with multiple criteria, the sum of the sizes for the attributes to be indexed must not exceed Entry-Point Dictionary Properties An entry-point dictionary has the following properties: dictionary name attribute name unique key constraint case sensitivity make-entry function Entry-point dictionary names must be unique within a class and any of its subclasses. The name of the attribute for which the entry-point dictionary will be maintained. If set to True, each entry in the dictionary must be unique. If set to False, the dictionary may contain duplicate entries. If set to True, dictionary lookups are case-sensitive. If set to False, lookups are caseinsensitive. The name of the function to be used to generate keys (also called entry-points) for the dictionary. Two such functions are included with Matisse: "make-entry" generates one key per instance based on the full attribute value, "make-full-text-entry" extracts the words contained in a textual attribute value and generates a separate key for each distinct word in the attribute value. Schema Objects Properties 31
32 Glossary abstract class: A class which cannot be instantiated, that is, a class from which other classes may be derived, but which cannot be used to create objects. (Matisse itself has no abstract classes; the term is used only in language-binding documentation.) atomic transaction: A transaction that either successfully applies all of its updates to the database or leaves the database unchanged. attribute value: The value that is stored in a database object for a given attribute. attribute: A property of a class that defines the values that will be stored in objects instantiated from the class. For example, an object representing a person would typically contain some values for the person s first name and last name. cardinality: A constraint for a relationship that defines the minimum and maximum number of successors allowed. class: A schema object that defines the structure of the objects that can be generated from the class. A class definition can contains attribute and relationship properties, superclasses, indexes and entry-point dictionaries. See also abstract class, metaclass. class method: A method that applies to a class as a whole rather than to individual objects instantiated from the class; for example, a method that returns the number of instances of a class. class variable: A value shared by all instances of a class. In Matisse, class variables can be defined by modifying or extending MtClass (see meta-schema) constructor: A class method that creates an object. It is a convention in some object-oriented programming languages that every class has a constructor with the same name as the class. data type: See type. database: The live database running on a Matisse server. database schema: See schema. database server: The process that runs a Matisse database. datafile: A file, disk partition (raw device) or ramdisk device allocated to a Matisse database. A database can have up to 255 datafiles on as many disks. For fault tolerance and best performance, in a production environment each datafile should be on a different disk. datapage: The minimum amount of data that can be read from or written to disk by the Matisse server in any single I/O operation. Datapages are contained in datafiles. 32 Glossary
33 default value: A value returned when Matisse attempts to read an attribute value that has either not been set or that has been removed from an object. Note that this is not an initial value copied to objects but rather a class variable associated with the attribute descriptor; see default value on page 29 for a detailed discussion. descriptor: In Matisse schema definition elements like classes, attributes and relationships are stored as objects in the database and are sometimes referred to as descriptors. For instance an attribute descriptor describes the name and the type of value that an attribute can accept within a data object. entry-point dictionary: An indexing structure that allows fast retrieval of objects based on keyword searches. It is typically used for full-text indexing or to provide a fast object lookup capability. When creating an entry-point dictionary, you associate a make-entry function that will be used to automatically generate the keywords to be indexed. garbage collection: Permanently removing obsolete object versions from the database in order to recover disk space. identifier: See object identifier. index: An indexing structure that optimizes retrieval of objects based on a value or set of values and provides fast execution for ORDER BY SQL statements. instance: See object. interface: In ODL, a set of statements that declares a class. In Matisse API and language binding references, it may have other meanings specific to the language in question. inverse relationship: All relationships are declared with both direct and inverse orientations. Which is which depends on which end of the relationship you start from. For example, in the schema diagrammed below, Department.Members is the inverse of the direct relationship Employee.MemberOf, which itself is the inverse of the direct relationship Department.Members. In some cases, a relationship may be its own inverse (for instance a Spouse relationship). list of successors: See relationship successors. Glossary 33
34 literal: A literal is a specific symbol that represents a data value. For example, the literals 2.6 and 2.60 both represent the same floating-point value. make-entry function: See entry-point dictionary. metaclass: A class whose instances are classes, rather than data objects. The only metaclass in Matisse is MtClass. meta-schema: The initial set of Matisse classes from which classes and other schema objects are instantiated. For instance MtAttribute, MtClass, MtEntryPointDictionary, MtIndex, and MtRelationship are part of the meta-schema. method: A function defined for a class. Procedural components of Matisse database applications are typically implemented using methods. null: An undefined value. An attribute value is set as undefined by setting it to the value NULL, which is possible only if nullable has been set in the corresponding attribute descriptor. For discussion of some consequences of making an attribute non-nullable, see default value. object: In Matisse documentation, used by itself, it generally refers to an instance of a class, that is, a persistent object. An object contains attribute values and relationship successors corresponding to each of the attributes and relationships defined for its class in the schema. See also schema object. Object Description Language (ODL): A language that can be used to define the schema of a Matisse database and to generate persistent classes for the different language bindings. Matisse ODL follows the ODL standard promulgated by the Object Data Management Group (odmg.org). object identifier: All objects in a Matisse database are automatically assigned stable unique identifiers that the system uses to distinguish them and to manage relationships. In C, C++, Java, and other languages, identifier commonly refers to the name of an object or stored value. To avoid confusion, it is not used in that sense in the Matisse documentation. ODL: See Object Description Language (ODL). OID: See object identifier. predecessor: An object that references other objects through a given relationship is said to be the predecessor of the objects that it references. programming type: In reference to the C API, a C type (as opposed to a Matisse type). property: An attribute or a relationship defined for a class. For example, the attribute LastName is a property of the class Person. relationship: Relationships are class properties that define links between objects. A relationship is defined between two (or more) classes. For instance the relationship Department.Members may be defined between the class Department and the class Employee. In this example the class Employee is referred to as the successor class. See also inverse relationship. 34 Glossary
35 relationship successors: The object content corresponding to a relationship defined in the schema class for the object. The relationship part of an object stores the list of object identifiers that identify its successors (also called the list of successors ). When an object is deleted, Matisse automatically removes its object identifier from the relationship part of the objects to which it is a successor. savetime: See versioning. scalar type: A type that takes a single value (as opposed to a list type). schema: The portion of a database that describes the structure of the data objects. Also called an application schema to distinguish it from the meta-schema. For example, a schema might contain classes such as Employee and Department, from which data objects representing specific individuals and departments can be instantiated; attributes such as Employee.Name, Employee.SSNum, and Department.Name which define the values to be stored in the data objects; and relationships such as Employee.MemberOf and Department.Members define the possible links between the data objects of the Employee and Department classes. See also meta-schema. schema object: An object that describes an element of a schema in a Matisse database. For instance the definition of the class Employee is stored as a schema object. See also schema. static: Describes a method or other function associated with a class as a whole, not with particular instances of a class: for example, a function that returns the number of objects in a class. See class variable. stream: A byte-stream of data sent from the Matisse server to a client, or vice-versa. successor: An object reachable by navigational access through the relationship successors of another object. successor class: See relationship. superclass: A class that is inherited by another class. transaction: In Matisse, the term transaction generally means a read-write transaction. A read-only transaction is called a version access. type: In regard to the definition of an attribute, short for data type, it specifies which type of data (boolean, integer, string, etc.) the associated values will store. UML: Unified Modeling Language. See for more information. user method: In a schema class generated for a language binding, a method added manually by the user, rather than generated automatically by the mt_sdl utility. value: See attribute value. version: A copy of an object at a given time, the latest copy being called the current version. Also used as a synonym for savetime, it provides a snapshot of an entire database at a given time. See versioning. Glossary 35
36 version access: A read-only transaction that provides consistent access to a snapshot of the database without locking. version collection: See garbage collection. versioning: The automatic preservation of old object versions in order to preserve a consistent snapshot of the database at a particular time (a savetime ). When an object is modified, Matisse saves the changes in a new copy of the object. The unmodified version of the object is preserved until all the relevant version accesses have been closed. Named versions may also be created manually with the mt_dba utility or the mt_version command, or by specifying a version name as an argument to transaction commit. Unnamed versions created by Matisse are removed automatically during garbage collection. Named versions created by users or client applications are kept until they are explicitly undeclared. 36 Glossary
Matisse ODL Programmer s Guide
Matisse ODL Programmer s Guide May 2013 Copyright 2013 Matisse Software Inc. All Rights Reserved. This manual and the software described in it are copyrighted. Under the copyright laws, this manual or
Matisse Installation Guide for MS Windows
Matisse Installation Guide for MS Windows July 2013 Matisse Installation Guide for MS Windows Copyright 2013 Matisse Software Inc. All Rights Reserved. This manual and the software described in it are
Matisse Installation Guide for MS Windows. 10th Edition
Matisse Installation Guide for MS Windows 10th Edition April 2004 Matisse Installation Guide for MS Windows Copyright 1992 2004 Matisse Software Inc. All Rights Reserved. Matisse Software Inc. 433 Airport
Matisse 9.1.7 Release Notes. June 2015
Matisse 9.1.7 Release Notes June 2015 Matisse 9.1.4 Release Notes Copyright 2013 Matisse Software Inc. All Rights Reserved. This manual is copyrighted. Under the copyright laws, this manual may not be
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015. Integration Guide IBM
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015 Integration Guide IBM Note Before using this information and the product it supports, read the information in Notices on page 93.
Matisse Server Administration Guide
Matisse Server Administration Guide May 2014 MATISSE Server Administration Guide Copyright 2013 Matisse Software Inc. All Rights Reserved. This manual and the software described in it are copyrighted.
A Brief Introduction to MySQL
A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016. Integration Guide IBM
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016 Integration Guide IBM Note Before using this information and the product it supports, read the information
ODBC Driver User s Guide. Objectivity/SQL++ ODBC Driver User s Guide. Release 10.2
ODBC Driver User s Guide Objectivity/SQL++ ODBC Driver User s Guide Release 10.2 Objectivity/SQL++ ODBC Driver User s Guide Part Number: 10.2-ODBC-0 Release 10.2, October 13, 2011 The information in this
CA Spectrum and CA Service Desk
CA Spectrum and CA Service Desk Integration Guide CA Spectrum 9.4 / CA Service Desk r12 and later This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter
MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC
MyOra 3.0 SQL Tool for Oracle User Guide Jayam Systems, LLC Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL
1 Changes in this release
Oracle SQL Developer Oracle TimesTen In-Memory Database Support Release Notes Release 4.0 E39883-01 June 2013 This document provides late-breaking information as well as information that is not yet part
1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
CA Clarity Project & Portfolio Manager
CA Clarity Project & Portfolio Manager Using CA Clarity PPM with Open Workbench and Microsoft Project v12.1.0 This documentation and any related computer software help programs (hereinafter referred to
CSE 530A Database Management Systems. Introduction. Washington University Fall 2013
CSE 530A Database Management Systems Introduction Washington University Fall 2013 Overview Time: Mon/Wed 7:00-8:30 PM Location: Crow 206 Instructor: Michael Plezbert TA: Gene Lee Websites: http://classes.engineering.wustl.edu/cse530/
Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014
Contents Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014 Copyright (c) 2012-2014 Informatica Corporation. All rights reserved. Installation...
Jet Data Manager 2012 User Guide
Jet Data Manager 2012 User Guide Welcome This documentation provides descriptions of the concepts and features of the Jet Data Manager and how to use with them. With the Jet Data Manager you can transform
DbSchema Tutorial with Introduction in SQL Databases
DbSchema Tutorial with Introduction in SQL Databases Contents Connect to the Database and Create First Tables... 2 Create Foreign Keys... 7 Create Indexes... 9 Generate Random Data... 11 Relational Data
www.gr8ambitionz.com
Data Base Management Systems (DBMS) Study Material (Objective Type questions with Answers) Shared by Akhil Arora Powered by www. your A to Z competitive exam guide Database Objective type questions Q.1
CommonSpot Content Server Version 6.2 Release Notes
CommonSpot Content Server Version 6.2 Release Notes Copyright 1998-2011 PaperThin, Inc. All rights reserved. About this Document CommonSpot version 6.2 updates the recent 6.1 release with: Enhancements
SQL Server An Overview
SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system
Java Application Developer Certificate Program Competencies
Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle
ER/Studio 8.0 New Features Guide
ER/Studio 8.0 New Features Guide Copyright 1994-2008 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights reserved.
2874CD1EssentialSQL.qxd 6/25/01 3:06 PM Page 1 Essential SQL Copyright 2001 SYBEX, Inc., Alameda, CA www.sybex.com
Essential SQL 2 Essential SQL This bonus chapter is provided with Mastering Delphi 6. It is a basic introduction to SQL to accompany Chapter 14, Client/Server Programming. RDBMS packages are generally
DataFlex Connectivity Kit For ODBC User's Guide. Version 2.2
DataFlex Connectivity Kit For ODBC User's Guide Version 2.2 Newsgroup: news://dataaccess.com/dac-public-newsgroups.connectivity- Kit_Support Internet Address (URL): http://www.dataaccess.com FTP Site:
ODBC Client Driver Help. 2015 Kepware, Inc.
2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Postgres Plus xdb Replication Server with Multi-Master User s Guide
Postgres Plus xdb Replication Server with Multi-Master User s Guide Postgres Plus xdb Replication Server with Multi-Master build 57 August 22, 2012 , Version 5.0 by EnterpriseDB Corporation Copyright 2012
XMailer Reference Guide
XMailer Reference Guide Version 7.00 Wizcon Systems SAS Information in this document is subject to change without notice. SyTech assumes no responsibility for any errors or omissions that may be in this
Business Intelligence Tutorial
IBM DB2 Universal Database Business Intelligence Tutorial Version 7 IBM DB2 Universal Database Business Intelligence Tutorial Version 7 Before using this information and the product it supports, be sure
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide
SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration
FileMaker 11. ODBC and JDBC Guide
FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
Plug-In for Informatica Guide
HP Vertica Analytic Database Software Version: 7.0.x Document Release Date: 2/20/2015 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty statements
Visual Basic. murach's TRAINING & REFERENCE
TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 [email protected] www.murach.com Contents Introduction
v4.8 Getting Started Guide: Using SpatialWare with MapInfo Professional for Microsoft SQL Server
v4.8 Getting Started Guide: Using SpatialWare with MapInfo Professional for Microsoft SQL Server Information in this document is subject to change without notice and does not represent a commitment on
Oracle Database. Products Available on the Oracle Database Examples Media. Oracle Database Examples. Examples Installation Guide 11g Release 2 (11.
Oracle Database Examples Installation Guide 11g Release 2 (11.2) E10846-01 August 2009 This document describes how to install and configure the products available on the Oracle Database Examples media.
FileMaker 12. ODBC and JDBC Guide
FileMaker 12 ODBC and JDBC Guide 2004 2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
ER/Studio Enterprise Portal 1.0.2 User Guide
ER/Studio Enterprise Portal 1.0.2 User Guide Copyright 1994-2008 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights
Oracle Database 10g Express
Oracle Database 10g Express This tutorial prepares the Oracle Database 10g Express Edition Developer to perform common development and administrative tasks of Oracle Database 10g Express Edition. Objectives
Monitoring Replication
Monitoring Replication Article 1130112-02 Contents Summary... 3 Monitor Replicator Page... 3 Summary... 3 Status... 3 System Health... 4 Replicator Configuration... 5 Replicator Health... 6 Local Package
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3
INTEGRATING MICROSOFT DYNAMICS CRM WITH SIMEGO DS3 Often the most compelling way to introduce yourself to a software product is to try deliver value as soon as possible. Simego DS3 is designed to get you
CA ARCserve Backup for Windows
CA ARCserve Backup for Windows Agent for Sybase Guide r16 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation
Oracle Enterprise Manager
Oracle Enterprise Manager System Monitoring Plug-in for Oracle TimesTen In-Memory Database Installation Guide Release 11.2.1 E13081-02 June 2009 This document was first written and published in November
Setting up SQL Translation Framework OBE for Database 12cR1
Setting up SQL Translation Framework OBE for Database 12cR1 Overview Purpose This tutorial shows you how to use have an environment ready to demo the new Oracle Database 12c feature, SQL Translation Framework,
Using Temporary Tables to Improve Performance for SQL Data Services
Using Temporary Tables to Improve Performance for SQL Data Services 2014- Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying,
Novell ZENworks 10 Configuration Management SP3
AUTHORIZED DOCUMENTATION Software Distribution Reference Novell ZENworks 10 Configuration Management SP3 10.3 November 17, 2011 www.novell.com Legal Notices Novell, Inc., makes no representations or warranties
CA Workload Automation Agent for Databases
CA Workload Automation Agent for Databases Implementation Guide r11.3.4 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the
White Paper BMC Remedy Action Request System Security
White Paper BMC Remedy Action Request System Security June 2008 www.bmc.com Contacting BMC Software You can access the BMC Software website at http://www.bmc.com. From this website, you can obtain information
Netezza Workbench Documentation
Netezza Workbench Documentation Table of Contents Tour of the Work Bench... 2 Database Object Browser... 2 Edit Comments... 3 Script Database:... 3 Data Review Show Top 100... 4 Data Review Find Duplicates...
MyOra 3.5. User Guide. SQL Tool for Oracle. Kris Murthy
MyOra 3.5 SQL Tool for Oracle User Guide Kris Murthy Contents Features... 4 Connecting to the Database... 5 Login... 5 Login History... 6 Connection Indicator... 6 Closing the Connection... 7 SQL Editor...
Abstract. For notes detailing the changes in each release, see the MySQL for Excel Release Notes. For legal information, see the Legal Notices.
MySQL for Excel Abstract This is the MySQL for Excel Reference Manual. It documents MySQL for Excel 1.3 through 1.3.6. Much of the documentation also applies to the previous 1.2 series. For notes detailing
Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner
1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi
Exploring Microsoft Office Access 2007. Chapter 2: Relational Databases and Multi-Table Queries
Exploring Microsoft Office Access 2007 Chapter 2: Relational Databases and Multi-Table Queries 1 Objectives Design data Create tables Understand table relationships Share data with Excel Establish table
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
1.264 Lecture 15. SQL transactions, security, indexes
1.264 Lecture 15 SQL transactions, security, indexes Download BeefData.csv and Lecture15Download.sql Next class: Read Beginning ASP.NET chapter 1. Exercise due after class (5:00) 1 SQL Server diagrams
Oracle Fusion Middleware
Oracle Fusion Middleware Getting Started with Oracle Business Intelligence Publisher 11g Release 1 (11.1.1) E28374-02 September 2013 Welcome to Getting Started with Oracle Business Intelligence Publisher.
Rational Rational ClearQuest
Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Rational Rational ClearQuest Version 7.0 Windows Using Project Tracker GI11-6377-00 Before using this information, be
Dell Active Administrator 8.0
What s new in Dell Active Administrator 8.0 January 2016 Dell Active Administrator 8.0 is the upcoming release of Dell Software's complete solution for managing Microsoft Active Directory security auditing,
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2.
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Internet Information Services Agent Version 6.3.1 Fix Pack 2 Reference IBM Tivoli Composite Application Manager for Microsoft
Database Programming with PL/SQL: Learning Objectives
Database Programming with PL/SQL: Learning Objectives This course covers PL/SQL, a procedural language extension to SQL. Through an innovative project-based approach, students learn procedural logic constructs
Adaptive Server Enterprise
Using Backup Server with IBM Tivoli Storage Manager Adaptive Server Enterprise 15.7 DOCUMENT ID: DC01176-01-1570-01 LAST REVISED: September 2011 Copyright 2011 by Sybase, Inc. All rights reserved. This
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version 6.3.1 Fix Pack 2.
IBM Tivoli Composite Application Manager for Microsoft Applications: Microsoft Hyper-V Server Agent Version 6.3.1 Fix Pack 2 Reference IBM Tivoli Composite Application Manager for Microsoft Applications:
Oracle Essbase Integration Services. Readme. Release 9.3.3.0.00
Oracle Essbase Integration Services Release 9.3.3.0.00 Readme To view the most recent version of this Readme, see the 9.3.x documentation library on Oracle Technology Network (OTN) at http://www.oracle.com/technology/documentation/epm.html.
How To Use Query Console
Query Console User Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Query Console User
Toad for Data Analysts, Tips n Tricks
Toad for Data Analysts, Tips n Tricks or Things Everyone Should Know about TDA Just what is Toad for Data Analysts? Toad is a brand at Quest. We have several tools that have been built explicitly for developers
TIBCO Spotfire Automation Services 6.5. User s Manual
TIBCO Spotfire Automation Services 6.5 User s Manual Revision date: 17 April 2014 Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCH EMBEDDED OR BUNDLED TIBCO
Basic Unix/Linux 1. Software Testing Interview Prep
Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a
FileMaker 13. ODBC and JDBC Guide
FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
2 SQL in iseries Navigator
2 SQL in iseries Navigator In V4R4, IBM added an SQL scripting tool to the standard features included within iseries Navigator and has continued enhancing it in subsequent releases. Because standard features
Logi Ad Hoc Reporting System Administration Guide
Logi Ad Hoc Reporting System Administration Guide Version 11.2 Last Updated: March 2014 Page 2 Table of Contents INTRODUCTION... 4 Target Audience... 4 Application Architecture... 5 Document Overview...
J j enterpririse. Oracle Application Express 3. Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX
Oracle Application Express 3 The Essentials and More Develop Native Oracle database-centric web applications quickly and easily with Oracle APEX Arie Geller Matthew Lyon J j enterpririse PUBLISHING BIRMINGHAM
Simba Apache Cassandra ODBC Driver
Simba Apache Cassandra ODBC Driver with SQL Connector 2.2.0 Released 2015-11-13 These release notes provide details of enhancements, features, and known issues in Simba Apache Cassandra ODBC Driver with
SDK Code Examples Version 2.4.2
Version 2.4.2 This edition of SDK Code Examples refers to version 2.4.2 of. This document created or updated on February 27, 2014. Please send your comments and suggestions to: Black Duck Software, Incorporated
Advanced Workflow Concepts Using SharePoint Designer 2010
Instructional Brief Advanced Workflow Concepts Using SharePoint Designer 2010 SharePoint User Group September 8th, 2011 This document includes data that shall not be redistributed outside of the University
StreamServe Persuasion SP5 Microsoft SQL Server
StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A StreamServe Persuasion SP5 Microsoft SQL Server Database Guidelines Rev A 2001-2011 STREAMSERVE, INC. ALL RIGHTS RESERVED United
ibolt V3.2 Release Notes
ibolt V3.2 Release Notes Welcome to ibolt V3.2, which has been designed to deliver an easy-touse, flexible, and cost-effective business integration solution. This document highlights the new and enhanced
Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72. User Guide
Richmond SupportDesk Web Reports Module For Richmond SupportDesk v6.72 User Guide Contents 1 Introduction... 4 2 Requirements... 5 3 Important Note for Customers Upgrading... 5 4 Installing the Web Reports
CA Identity Manager. Glossary. r12.5 SP8
CA Identity Manager Glossary r12.5 SP8 This documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is for your informational
Critical Care EEG Database Public Edition. User Manual
Critical Care EEG Database Public Edition User Manual v. 9/25/2015 Table of Contents Overview... 2 Installation... 2 Basic Structure 2 Installing the Files 3 Connecting to Data 4 Configuration... 4 System
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: 001-855-844-3881 & 001-800-514-06-97 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals
CA Unified Infrastructure Management
CA Unified Infrastructure Management Probe Guide for Informix Database Monitoring informix v4.1 series Copyright Notice This online help system (the "System") is for your informational purposes only and
Quick Start SAP Sybase IQ 16.0
Quick Start SAP Sybase IQ 16.0 UNIX/Linux DOCUMENT ID: DC01687-01-1600-01 LAST REVISED: February 2013 Copyright 2013 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software and
Developing SQL and PL/SQL with JDeveloper
Seite 1 von 23 Developing SQL and PL/SQL with JDeveloper Oracle JDeveloper 10g Preview Technologies used: SQL, PL/SQL An Oracle JDeveloper Tutorial September 2003 Content This tutorial walks through the
Release Bulletin Sybase ETL Small Business Edition 4.2
Release Bulletin Sybase ETL Small Business Edition 4.2 Document ID: DC00737-01-0420-02 Last revised: November 16, 2007 Topic Page 1. Accessing current release bulletin information 2 2. Product summary
æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.
CMPT-354-Han-95.3 Lecture Notes September 10, 1995 Chapter 1 Introduction 1.0 Database Management Systems 1. A database management system èdbmsè, or simply a database system èdbsè, consists of æ A collection
IBM WebSphere Application Server Version 7.0
IBM WebSphere Application Server Version 7.0 Centralized Installation Manager for IBM WebSphere Application Server Network Deployment Version 7.0 Note: Before using this information, be sure to read the
Kofax Export Connector 8.3.0 for Microsoft SharePoint
Kofax Export Connector 8.3.0 for Microsoft SharePoint Administrator's Guide 2013-02-27 2013 Kofax, Inc., 15211 Laguna Canyon Road, Irvine, California 92618, U.S.A. All rights reserved. Use is subject to
Oracle Database. New Feature in Oracle Database 11g Release 2 (11.2.0.2) Products Available on the Oracle Database Examples Media
Oracle Database Examples Installation Guide 11g Release 2 (11.2) E17861-03 September 2010 This document describes how to install and configure the products available on the Oracle Database Examples media.
ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01
ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01 FEBRUARY 2010 COPYRIGHT Copyright 1998, 2009, Oracle and/or its affiliates. All rights reserved. Part
PATROL Console Server and RTserver Getting Started
PATROL Console Server and RTserver Getting Started Supporting PATROL Console Server 7.5.00 RTserver 6.6.00 February 14, 2005 Contacting BMC Software You can access the BMC Software website at http://www.bmc.com.
Acronis Backup & Recovery: Events in Application Event Log of Windows http://kb.acronis.com/content/38327
Acronis Backup & Recovery: Events in Application Event Log of Windows http://kb.acronis.com/content/38327 Mod ule_i D Error _Cod e Error Description 1 1 PROCESSOR_NULLREF_ERROR 1 100 ERROR_PARSE_PAIR Failed
Object Oriented Database Management System for Decision Support System.
International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 6 (June 2014), PP.55-59 Object Oriented Database Management System for Decision
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation,
Geodatabase Programming with SQL
DevSummit DC February 11, 2015 Washington, DC Geodatabase Programming with SQL Craig Gillgrass Assumptions Basic knowledge of SQL and relational databases Basic knowledge of the Geodatabase We ll hold
CA Clarity PPM. Connector for Microsoft SharePoint Product Guide. Service Pack 02.0.01
CA Clarity PPM Connector for Microsoft SharePoint Product Guide Service Pack 02.0.01 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred
HP Quality Center. Upgrade Preparation Guide
HP Quality Center Upgrade Preparation Guide Document Release Date: November 2008 Software Release Date: November 2008 Legal Notices Warranty The only warranties for HP products and services are set forth
EMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
