Mapping UML Class Diagrams into Object-Relational Schemas

Size: px
Start display at page:

Download "Mapping UML Class Diagrams into Object-Relational Schemas"

Transcription

1 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) Mapping UML Class Diagrams into Object-Relational Schemas María Fernanda Golobisky and Aldo Vecchietti Departamento de Sistemas Universidad Tecnológica Nacional. Facultad Regional Santa Fe, Argentina (CIDISI) Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información INGAR Instituto de Desarrollo y Diseño s: {mfgolo, aldovec}@ceride.gov.ar Abstract. Recently, the SQL:2003 standard has been completed by introducing corrections and new capabilities to the SQL:1999. With databases complying with the two standards more complex applications can be developed. For database design, in the literature it is possible to find articles about the mapping steps from an entity-relationship model and from UML class diagrams to relational schemas, with less frequency can be found also some efforts for transforming UML class diagrams into object-relational schemas, but they are focused in a portion of the whole problem. In this article we present several mappings functions from UML class diagrams into objects of the objectrelational schema approach related to the SQL:2003 standard, and from these objects into tables where the objects persist. The main objective of this paper is to provide a formalization of the steps involved in the design of objectrelational schemas by starting with an UML class diagram. 1. Introduction In the design and implementation of information systems, in the database design cycle, an important topic to address is the mapping of conceptual database designs to specific database implementation models. For example, for relational database systems it is very common to generate a relational schema with primary, foreign keys and other constraints by mapping an Extended-Entity Relationship (EER) conceptual model. Given the advances of the object-based technologies not only for modeling applications but also in database technologies, an important research activity has emerged to cover the use of object-based models for the design of database systems. Object-Relational Database Management Systems (ORDBMS), based on the SQL:1999 [11] and SQL:2003 standards [12], are a recent technology including object concepts into relational systems, they offer a much better representation of the real world than the tabular form used in Relational Database Management Systems (RDBMS) based on the previous standards (SQL-92, SQL-89). ORDBMS are supposed to be the new wave for developing applications. For representing data from the real world into objects, class diagram of the Unified Modeling Language (UML) has become a standard of the Information Technology (IT) industry. It is the intention of this paper to formalize a transformation mechanism from UML class

2 66 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) diagrams into objects of an ORDBMS. Many papers can be found in the open literature related to the transformation from objects models into relational tables (SQL 92). Recent examples of these transformations can be read in [1], [2], [3] and [9]. Articles about the transformations from objects to object-relational databases are not as frequent. Mok and Paper [7] have presented the transformation of UML models into ORDBMS. Their work was concerned about static and dynamic aspects. In the static aspects they have concentrated the efforts on transforming UML class diagrams into normalized nested tables. They have presented an algorithm to cover this objective. No formalized procedures for more general mappings are presented in this work. Marcos et al. [6] have listed some guidelines about the transformation of UML class diagrams into objects of the SQL:1999 standard and then to Oracle 8i. A short explanation about those transformations is also given, no further analysis is made and this approach can be considered as guidelines for the design of conceptual schema of object-relational databases. Liu et al. [5] have proposed an approach for implementing ORDBMS s by using a heterogeneous database system architecture. Although at that time the SQL:1999 standard was not completed yet, their work is valuable in the sense that they have made some definitions in order to formalize the design of the ORDBMS. Golobisky et al. [4] have presented a transformation analysis about generalizationspecialization relationships modeled by UML class diagram. They have shown several transformations into an ORDBMS. In the analysis they have taken into account several important characteristics for applications linked to an ORDBMS like: implementation flexibility, access mechanisms (index structures) and constraints, navigability thorough the structures. The authors have implemented some examples by using Oracle 9i ORDBMS. The goal of this work is to formalize the steps and paths involved in the transformation from UML class diagrams into object-relational schemas based on the SQL:2003 standard. We considered the SQL:2003 standard because it added to SQL:1999 [11] the capability of defining multisets which will be used in the transformation proposed. In the creation of the conceptual schema it will be considered mappings into object-relational schema objects (Object Relational Layer) and into object-relational tables (Object Relational Persistent Layer). 2. Mapping Layers There are three layers involved in the transformation from UML class diagrams into persistent objects. The first one corresponds to the UML classes and relationships, the second is the object-relational layer composed of the objects proposed by the SQL:2003 standard designed to implement classes and relationships, and the third, the object-relational persistent layer composed of typed tables with keys, constraints, triggers (relational approach) and other elements added by the new SQL standards (1999/2003) like object identifiers (OID. The layers involved in the transformations and the elements composing them are shown in Fig. 1.

3 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) UML Class Diagrams Class State (attributes) Operations Relationships Objects to relational tables mapping (1) Object-Relational Persistent Layer Tables Keys Constraints OID Objects to object-relational components mapping (2) Object-Relational Layer Row Type Collection Type (Array) Reference Type (Ref) User Defined Type (UDT) Object-relational components to relational tables mapping (3) Figure 1. Layers involved in mapping objects into Object-Relational Database Systems One important characteristic of the ORDBMS is the capability of having pure relational transformations (1) complying with SQL 92 standard; or object-relational (OR) transformations [(2) and (3)], according to the new standards. Transformations (1) are well discussed in the literature and it is not the objective of this article. The goal of this paper is to propose a formalization of the mapping procedure from UML class diagrams into objects of the OR layer based on the SQL:2003 (2) and from OR layer to object-relational persistent tables (3). In this formalization process we start with the definition of the components of each layer, in terms of their characteristics and properties, and then we define mapping functions between those components, such that we can specify the paths from the objects of the first layer to the second and from the second to the third. 3. The UML Class Diagrams Layer A class diagram modeling the purchase order administration in a business company is show in Fig. 2. This model will be used in the examples presented along the paper. Although the UML class diagrams have many elements to model, we have selected the more commonly used for a database schema design, which are: Classes (C) Attributes: single (SA), composed(ca), multivalued(ma) Operations (O) Relationships (R) between classes: aggregation (AG), composition (CM), n- ary association (NAS), binary association (BAS), association class (AC), generalization-specialization (GS) The definitions of the elements of the UML class diagrams with the purpose of transforming it to an OR schema are presented below.

4 68 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) Purchase Order order number shipping date tocity tostreet tozip 1 0..* 1 Customer customer number street city zip code phone customer name Customer_Association identification description customer number percentage OrderLineItem line number product quantity Person personid discount Company type taxes 1..* 1 Stock quantity date Products product number description price 0..* Store location capacity street city zip code Figure 2. Class Diagram for Purchase Order Application Definition 1. A Class can be defined as C=(identity, state, behavior, relationship). Considering the perspective of mapping it into an object-relational schema, it is more convenient to decompose state and behavior in its individual components, C=(Identity, C, SA, CA, MA, O, R), where: identity is the name assigned to the class; C is a finite set of classes due to a class can be composed of other classes; SA is a finite set of single attributes; CA is a finite set of composed attributes; MA is a finite set of multivalued attributes; O is a finite set of operations and R is a finite set of relationships where the class is participating. For example the Purchase Order Class of the diagram presented can be represented as: C=( Purchase Order, order number, shipping date, tocity, toaddress, tozip, CM, BAS) where CM corresponds to a composition relationship and BAS a Binary Association relationship where Purchase Order participates. Definition 2. An Aggregation Relationship (AG) is a binary association specifying a whole-part relationship, it can be defined as AG=(W, P, MW, MP), where: W is the whole composed of 0..n objects of the part class P; P is the part whose objects compose W; MW is the multiplicity of the whole class, it can takes any value from 0 to n; MP is the multiplicity of the part class, it can also takes any value from 0 to n.

5 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) In the aggregation a part may belong to more than one aggregate, and it may exist independently of the aggregate. This characteristic is very important to distinguish aggregation from composition, which is a stronger whole-part relationship. Another characteristic of this relationship is that there are no cycles, meaning that an object can not be direct or indirectly part of itself [10]. For example the aggregation between Customer and Customer Association can be defined as: AG=( Customer Association, Customer, 1, 1..15) Definition 3. A Composition Relationship (CM) is an association that specifies a whole-part relationship, but stronger than aggregation because the lifetime of the part depends on the lifetime of the whole. Besides, the part must belong to only one composite [10]. CM can be defined as CM=(W, P, 1, MP), where: W is the whole class which is composed of 0..n objects of the part ; P is the part class whose objects compose the whole W; 1 is the multiplicity of the whole and MP is the cardinality of the part class. It can take any value from 0 to n. For example by completing the definition made of Purchase Order : C=( Purchase Order, order number, shipping date, tocity, toaddres, tozip, CM=( Purchase Order, OrderLineItem, 1,1..20), BAS) Definition 4. A N-ary Association (NAS) is an association among three or more classes. A binary association (which is the most common association) is a special case with its own simpler notation and certain additional properties [10], which will be defined later. A n-ary association (NAS) can be defined NAS=(C1, C2,, Cn), where C1, C2,,Cn are the name of the classes related by the association. The multiplicity for an n-ary association is not a very obvious property and in general it is assumed to be many [10]. Definition 5. A Binary Association (BAS) is an association with exactly two association ends. This association is particularly useful for specifying navigation paths from object to object [10]. Binary association can be defined as BAS=(C1, C2, MC1, MC2), where: class C1 is related by means of the association to C2; class C2 is related by means of the association to C1; MC1 is the multiplicity (cardinality) of C1 in the association, it can take any value from 0 to n; MC2 is the multiplicity (cardinality) of C2 in the association, it can take any value from 0 to n. Completing the definition of Purchase Order : C=( Purchase Order, order number, shipping date, tocity, toaddres, tozip, CM=( Purchase Order, OrderLineItem, 1,1..20), BAS=( Purchase Order, Customer,0..*, 1)) Definition 6. An Association Class (CA) is an association that is also a class. It connects two or more classes and possesses its own attributes and operations. The attributes corresponds to the relationship not to the classes referenced by the association class. The particularity is that the association class has references to the classes for each association end [10]. CA can be defined as CA=(identity, Ref(C1), Ref(C2),..., Ref(Cn), SA, CA, MA, O), where: identity is the name assigned to the association class; Ref(C1), Ref(C2),, Ref(Cn) are references to the corresponding classes related participating of the association class; SA is a finite set of single

6 70 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) attributes corresponding to the relationship itself; CA is a finite set of composed attributes corresponding to the relationship itself; MA is a finite set of multivalued attributes corresponding to the relationship itself; O is a finite set of operations for the association class. In our example Stock is an association class, which can be defined as: C=( Stock, Ref(Products), Ref(Store), quantity, date) Definition 7. A Generalization-Specialization Relationship (GS) is a relationship between the top class of a hierarchy, called the superclass, and the lower level classes in the hierarchy, called the subclasses. The subclasses have the properties of the parent but also have additional properties peculiar to the child [10]. In this sense, the definition for a GS can be specified as GS=(SPC, SBC 1, SBC 2,,SBC n ), where SPC corresponds to the definition of the superclass, and SBC 1, SBC 2,,SBC n are the subclasses in the immediate lower level of the hierarchy. In Fig. 2 we have this relationship type among Customer, Person and Company. GS=(Customer, Person, Company) 4. The Object-Relational (SQL:1999) Layer Components of this layer are mainly defined in the SQL:2003 standard [12]. Only the most relevant parts of the document for this paper are considered, which are: row type, collection types (arrays and multisets), reference type and user-defined type. Complete the type definition some new built-in single data types such as binary large objects (BLOB), character large objects (CLOB), boolean type, etc. Definition 8. A Row Type is defined as a set of pairs RT=(F 1 :T 1, F 2 :T 2,,F n T n ) where F i is the name of a field in the row type and T i is a built-in data type such as integer, real, character, LOB, etc. Definition 9. The Array Type (AT) is an ordered collection of elements of any type admissible, except array type, with a maximal length. AT can be defined as AT=(ET, ML), where: ET is the element type of the array, which can be: a built-in data type, a reference type or a structured type (row type, UDT). ML is the maximum length of the array type. Definition 10. The Multiset Type (MT) is an unordered collection of elements of any type admissible, without syntax for a maximal length. MT can be defined as MT=(ET), where: ET is the element type of the array, which can be: a built-in data type, a reference type or a structured type (row type, UDT). Definition 11. A Reference Type called Ref(T) is also a data type which contains the reference values (OID) of T. T is a row in a typed table (rows in a table containing user defined type rows).

7 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) Definition 12. A User-Defined Type (UDT) is a structured type having state, behavior and relationship to other types. In this sense, an UDT in SQL:2003 is the equivalent concept to a class in UML. The UDT can be defined as UDT=(identity, BIT, UDT, RT, AT, MT, Ref, MM, Q), where: identity is the name assigned to the UDT; BIT is a finite set of built-in data type; UDT is a finite set of UDT due to an UDT can be defined in terms of other UDTs; RT is a finite set of row type; AT is a finite set of array type; MT is a finite set of multiset type; MM is a finite set of member methods; Ref is a finite set of reference type; Q is a finite set of qualifiers like FINAL/NOTFINAL, INSTANTIABLE/NONINSTANTIABLE, UNDER, etc., which give some other important characteristics to the UDT. For example the qualifier UNDER allows the definition of an UDT s hierarchy. 5. The Object-Relational Persistent Layer This layer is related to the logical containers of the data, which in the object-relational approach will be in some sort of a two dimensional table like the relational system. Unlike the relational system, in the OR databases the columns are not restricted to built-in data types. In the object-relational approach to store data it is needed to create a table by using the corresponding SQL CREATE TABLE command like the relational system does. It must be remarked that the persistent layer presented at this point is a logical representation of the data instead of a physical one, because we are not including any physical aspect about how the rows and columns of the tables will be stored in the storage media. The data repositories of an object-relational database can be defined as follows: Definition 13. A Typed Table T can be defined as T=(identity, UDT, SC), where: identity is the name assigned to the table, UDT is the corresponding type from which the table is generated, SC is a finite set of constraints definitions like primary, unique and/or foreign key, not null, check constraints. The definition of primary and unique key must be considered at this point because they define access paths to the objects from which the query optimizer can take advantage for performing a query. Until the Typed Table is not created any physical support for object persistency is generated and the objects (UDTs occurrences) can not be created and stored. 6. Mapping Functions To complete the transformations it is necessary to define several functions to translate the components from one layer to the other. Definition 14. A mapping function f from A to B is a binary relation between A and B. A function f:a B can be regarded as mapping elements from A into elements of B. Each element in A maps to exactly one element in B.

8 72 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) Mapping Functions from UML to OR Layer In this section mapping functions from the UML class diagrams layer to the objectrelational layer will be presented. In the description of these functions will frequently appears ellipsis signs ( ). The ellipsis replaces some definitions that are not relevant for the matter described Transforming Classes A class in the UML layer can be transformed to an UDT in the OR layer by defining a mapping function f 1 :C UDT, which implicitly defines the following transformations between the individual components of the Class and the UDT: Class UDT Single attribute Built-in type Composed attribute Row type Multivalued attribute Array type, multiset type Operation Member method The relationships can not be transformed in the same way than the other elements of the class because several alternatives mapping functions can be applied according to the characteristics of the relationships and the classes involved on it. Mapping functions for the relationships are proposed in the next sections. Only the most evident mapping functions are presented according to the characteristic of the relationship. Other transformations can be formulated but they are beyond of the scope of this paper Transforming Aggregation Relationships For mapping functions definition for aggregation, and considering that in this relationship the participating classes have independent existence, then the more appropriate representation is by means of object references. For an aggregation since it is a binary relationship, two mapping functions are needed, one for the whole and one for the part. The exact mapping function for an aggregation depends on the multiplicity of the classes participating on the relationship, as follows: For a multiplicity of 1, the mapping function for classes with that multiplicity is defined as follows: f2:ag=(,1,...) UDT=(,Ref(UDT( )), ) which means that for the aggregation where the classes participate with a multiplicity of 1, corresponds to include a reference on the corresponding UDT to represent the relationship. For example, if the whole has a fixed structure (multiplicity 1), then the mapping function is: f2:ag=(w,,1, ) UDT=(P,...,Ref(W), ) and in the Object Relational Layer, in the UDT corresponding to the part (identified by P) we must include a reference to the whole UDT (Ref(W)). When the multiplicity of the classes involved in the aggregation is well known having a maximal number say n, then the aggregation can be mapped to an array of references: f3:ag=(...,n, ) UDT=(,AT(Ref(UDT(...)),n),...)

9 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) For example, if the part participates in the aggregation with a known multiplicity of n, then the mapping function will be: f3:ag=(,p,,n) UDT=(W,...,AT(Ref(P),n),...) where the UDT defined for the whole class (W) must include an array type (AT) with references to objects of the part class (P) with a maximal dimension of n. When the multiplicity is not know and can have very different values between their extremes (some objects with a low multiplicity and some other with a very high multiplicity), then a more appropriate transformation for the case is to define a multiset of references to the other UDT in the relationship, as follows: f4:ag=(,*,.) UDT=(.,UDT=(,MT(Ref(UDT),...) For example, if the part participates in the aggregation with an unknown multiplicity of *, then the mapping function will be: f4:ag=(,p,,*) UDT=(W,...,MT(Ref(P)),...) where the UDT defined for the whole class (W) must include a multiset of references to objects of the part class (P). Note that by defining a multiset no maximal dimension is required Transforming Composition relationships As was pointed out, composition is a much stronger relationship than aggregation, because the life of the part depends of the whole, then instead of using references, for this transformation it is convenient to include the objects of the part into the whole object and, again, the exact mapping function for a composition depends on the multiplicity of the part participating on the relationship, as follows: For a multiplicity of 1 for the part, the mapping function for the composition is defined as follows: f5:cm=(w,p,1,1) UDT=(W,,UDT(P, ), ) meaning that for UDT defined for the part class (P) with a multiplicity of 1 corresponds to include it into the whole UDT (W). When the multiplicity of the part involved in the composition is well known with a maximal number say n, then the composition can be mapped to an array of UDT of the part (P) included into the UDT of the whole, as follows: f6: CM=(W,P,1,n) UDT=(W,...,AT(UDT(P, ),n), ) When the multiplicity is not know, then a more appropriate transformation for this case is to include a multiset of the UDT for the part into the UDT of whole, as follows: f7: CM=(W,P,1,*) UDT=(W,...,MT(UDT(P, )), ) Again, in this way no maximal dimension is needed and the whole can have as many parts as needed Transforming Binary Associations The mapping function for binary associations is similar to aggregation. The main difference between them is that aggregation considers only whole-part relationships, while association is a more general association type. One thing that is particular for association is the navigability. If navigability is given in both directions, it is needed

10 74 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) the transformation of both end of the association. If navigability is given in one direction only, then only one mapping is needed in the class which is the entry point of the traversal path. Besides navigability, the exact mapping function for a binary association depends on the multiplicity of the classes participating on the relationship, as follows: Suppose C1 participates in the binary association with a multiplicity of 1, then mapping function for C2 is defined as follows: f8:bas=(c1,c2,1, ) UDT=(C2,,Ref(C1), ) Now, if the multiplicity of the class C1 involved in the association is well known having a maximal number say n, then the aggregation can be mapped to an array of references with maximal size n to C1 in the UDT defined for C2: f9:bas=(c1,c2,n, ) UDT=(C2,,AT(Ref(C1),n),...) When the multiplicity of C1 is not exactly known and can take very different values between their extremes (some objects with a low multiplicity and some other with a very high multiplicity), then a more appropriate transformation for the case is to define a multiset of references to C1 on the UDT defined for C2, as follows: f10:bas=(c1,c2,*, ) UDT=(C2,MT(Ref(C1)), ) Transforming N-ary Associations N-ary Associations involves three or more classes participating into the relationship with a very wide multiplicity range. Since it is needed to have together all the objects participating into the relationship, the mapping function for this transformation is to create a new class, probably having a name equal to the rolename of the association, with references to the classes s objects participating into it. Having this concept in mind, the mapping function can be defined as: f11:nas=(c1,c2,, Cn) UDT=( name, Ref(C1), Ref(C2),, Ref(Cn)) Transforming Association Class Since an association class is both an association and a class, the mapping function is like the one defined for a class plus the references to the classes to which the association class is linked. The mapping function is as follows: f12: AC=(identity, Ref(C1), Ref(C2)., Ref(Cn), SA, CA, MA, O) UDT=( name, Ref(C1), Ref(C2),, Ref(Cn),BIT, RT, AT, UDT, MM) where the UDT defined for the association class contains the references to the classes related by the association plus the built-in (BIT) data types, row types, array types, UDTs, and member methods of the association class. Mapping functions f8-f11 must be corrected when they involve an association class. In the relationship with an association class each UDT must have references to the association class, instead of having a reference to the class to which is related. By this way, classes participating in the relationship will be linked indirectly, thorough the association class. For example, mapping function f9 must be corrected to f9 : f9 :BAS=(C1,C2,n,, AC) UDT=(C2,,AT(Ref(AC),n),...) where AC means that existence of an association class because of the relationship and, hence, instead of referencing C1 directly, the association class is taking its place.

11 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) Transforming Generalization-Specialization Relationships The mapping function consists on the creation of one UDT for each type in the class hierarchy by defining on it all attributes and methods of each class. In this sense, the number of UDT generated by the mapping function will be the number of classes in the hierarchy. f13:gs=(spc,sbc 1, SBC 2,,,SBC n ) UDT=( SPC, BIT, UDT, RT, AT, Ref, MM, Q), UDT=( SBC1, BIT, UDT, RT, AT, MT, Ref, MM, Q), UDT=( SBC2, BIT, UDT, RT, AT, MT, Ref, MM, Q),, UDT=( SBCn, BIT, UDT, RT, AT, MT, Ref, MM, Q) where for each UDT on the hierarchy, BIT, UDT, RT, AT, MT, Ref, MM, Q corresponds to the built-in data types, user-defined types, row types, array types, multiset types, references types, member methods and qualifiers respectively, representing their state and behavior. The qualifiers needed for this transformation are, in general, UNDER to define which subclass is of the superclass type, if they are INSTANTIABLE or not (abstract class, no objects can be created from it), if they are FINAL (can not have subclasses depending on it) or not Mapping Functions from Object-Relational Layer to Object-Relational Persistent Layer This mapping function can be described in the same terms than transforming a class of the UML layer to an UDT in the OR layer. In this case, each UDT in the OR layer will be mapped into a table in the OR persistent layer by defining a mapping function f 14 :UDT T, which implicitly defines the transformation between the individual components of the UDT and the table: identity, built-in type, UDT type, row type, array type, multiset type, ref type and member method. Complete this transformation the set of constraints (SC) which is particular of the table definition and must be defined on the Object-Relational Persistent Layer. Constraints do not have an equivalent on the OR Layer. 7. Mapping the Example from UML to Object-Relational Layer In this section, the mapping functions from the UML layer to the OR layer, corresponding to the example of Fig. 2, are given. The underlying parts of the mapping functions correspond to the transformation of relationships. The names enclosed by quotation marks are the identities assigned. Numbers correspond to multiplicity. The names without quotations marks correspond to names given to builtin attributes. C=( Purchase Order, order number, shipping date, tocity, toaddres, tozip, CM=( Purchase Order, OrderLineItem, 1,1..20), BAS=( Purchase Order, Customer,0..*, 1)) UDT=( Purchase Order, order number, shipping date, tocity, toaddress, tozip, AT(UDT=( OrderLineItem, ),20), Ref(Customer));

12 76 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) GS=(SPC=( Customer, customer number, customer name, street, city, zipcode, phone, BAS=( Purchase Order, Customer,0..*, 1), AG=( Customer Association, Customer, 1, 1..15)), SBC 1 =( Person, personid, discount), SBC 2 =( Company, type,taxes)) UDT=( Customer, customer number, customer name, street, city, zipcode, phone, MT(Ref(Purchase Orders), Ref(Customer Association))), UDT=( Person, personid, discount, UNDER Customer ), UDT=( Company, type, taxes, UNDER Customer )); C=( Customer Association, identification, description, AG=( Customer Association, Customer, 1, 1..15)) UDT=( Customer Association, identification, description, AT(Ref(Customer,15))); C=( OrderLineItem, line number, product, quantity, BAS( OrderLineItem, Products, 0..*, 1)) UDT=( OrderLineItem, line number, product, quantity, Ref(Products)); C=( Products, product number, description, price, BAS( Products, Store, 0..*, 0..*)) UDT=( Products, product number, description, price, AT(Ref(Stock))); C=( Store, location, capacity, street, city, zipcode, BAS( Products, Store, 0..*, 0..*)) UDT=( Store, location, capacity, street, city, zipcode, MT(Ref(Stock))); C=( Stock, Ref(Products), Ref(Store), quantity, date) UDT=( Stock, Ref(Products), Ref(Store), quantity, date) 8. Mapping the Example from UML to Object-Relational Layer in ORACLE 10g In this section is described the schema definition of the purchase order example using the commercial Database Oracle 10g. Note that Oracle 10g [8] differs in some issues to the SQL:2003 standard as follows: a. The UDT definition is made by defining an OBJECT type. b. It is not possible to directly define an array in an object, it must be previously defined as a type. c. The implementation of a multiset is performed by defining nested tables. This is done by creating a TABLE type, and then including this type in the object definition (UDT). CREATE or REPLACE TYPE orderlineitem_ob as OBJECT ( line_number NUMBER(2), product NUMBER(5), quantity NUMBER(3)); CREATE or REPLACE TYPE orderlineitem_va as VARRAY(20) of orderlineitem_ob;

13 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) CREATE or REPLACE TYPE purchaseorder_ob as OBJECT ( order_number NUMBER(6),shipdate DATE, tocity VARCHAR2(25), tostreet VARCHAR2(30), tozip VARCHAR2(8), orderlines orderlineitem_va); CREATE or REPLACE TYPE customerassociation_ob as OBJECT ( id VARCHAR2(6), description VARCHAR2(60)); CREATE or REPLACE TYPE refpurchaseorder_ob as OBJECT ( reforder REF purchaseorder_ob); CREATE or REPLACE TYPE refpurchaseorder_tab as TABLE OF refpurchaseorder_ob; CREATE or REPLACE TYPE customer_ob as OBJECT ( customer_number NUMBER(5), customer_name VARCHAR2(50), street VARCHAR2(30), city VARCHAR2(30), zip_code VARCHAR2(8), phone NUMBER(15), reforders refpurchaseorder_tab, refcustassoc REF customerassociation_ob) NOT FINAL; CREATE or REPLACE TYPE product_ob as OBJECT ( product_number NUMBER(5), description VARCHAR2(50), price NUMBER(4)); CREATE or REPLACE TYPE store_ob as OBJECT ( location VARCHAR2(20), capacity VARCHAR2(10), street VARCHAR2(30), city VARCHAR2(30), zip_code VARCHAR2(8)); CREATE or REPLACE TYPE stock_ob as OBJECT ( quantity NUMBER(10), fecha DATE, refproducts REF product_ob, refstores REF store_ob); CREATE or REPLACE TYPE refstock_ob as OBJECT ( refstock REF stock_ob); CREATE or REPLACE TYPE refstock_tab as TABLE OF refstock_ob; CREATE or REPLACE TYPE refstock_va as VARRAY (15) of REF stock_ob; ALTER TYPE purchaseorder_ob ADD ATTRIBUTE (refcustomer REF customer_ob) CASCADE; ALTER TYPE orderlineitem_ob ADD ATTRIBUTE (refproduct REF product_ob) CASCADE;

14 78 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) CREATE or REPLACE TYPE customer_va as VARRAY(15) of REF customer_ob; ALTER TYPE customerassociation_ob ADD ATTRIBUTE ( customers customer_va) CASCADE; ALTER TYPE products_ob ADD ATTRIBUTE (refstocks refstock_va) CASCADE; ALTER TYPE store_ob ADD ATTRIBUTE (refstocks refstock_tab) CASCADE; CREATE or REPLACE TYPE person_ob UNDER customer_ob ( personid NUMBER(9), discount NUMBER(2)) NOT FINAL; CREATE or REPLACE TYPE company_ob UNDER customer_ob ( type NUMBER(2), taxes VARCHAR2(20)) NOT FINAL; 9. Mapping the Example from Object-Relational Layer into the persistent layer into ORACLE 10g CREATE TABLE customerassociation_t OF customerassociation_ob (Primary Key id); CREATE TABLE customers_t OF customer_ob (Primary Key customer_number) NESTED TABLE reforders STORE as reforders_t; CREATE TABLE purchaseorder_t OF purchaseorder_ob (Primary Key order_number) NESTED TABLE refstocks STORE as refstocks_t; CREATE TABLE stores_t OF stores_ob(primary Key location); CREATE TABLE stock_t OF stock_ob; CREATE TABLE products_t OF product_ob (Primary Key product_number); Note that there are less typed tables defined than object types (UDTs). For the generalization-specialization relationship we have defined a unique table because of the substitutability property [4] which states that a column or row defined to be of type t can contain instances of t and any of its subtypes.

15 M.F. Golobisky, A. Vecchietti/Proc. of Argentine Symposium on Software Engineering (2005) Conclusions In this article we have been proposed mapping functions from the UML class diagrams to the object-relational schema objects related to the SQL:2003 standard.the main contribution of this paper is the formalization, by means of definitions and mapping functions, of the steps involved in the design of objectrelational databases. Starting with an UML class diagram, and using the definitions and functions provided in this work, it is possible to arrive to the set of tables compliant to the schema design of an ORDBMS. Mapping functions presented here are the most direct transformations according to the characteristics of the components involved on it. They do not constitute a complete set of all possible transformations between UML class diagrams and the object-relational layer. Other mapping functions can also be given and their study is part of the future work. By using this approach it is possible to develop a framework to allow the automatic generation of an OR schema design, which will also be part of the future work. References 1. Cabibbo, L.: Objects Meet Relations: On the Transparent Management of Persistent Objects. In: Proceedings of 16th International Conference on Advanced Information System Engineering (CAISE 2004), Riga Latvia (2004) 2. Cabibbo, L., Carosi, A.: Managing Inheritance Hierarchies in Object/Relational Mapping Tools. In: Proceedings of 17th International Conference on Advanced Information System Engineering (CAISE 2005), Porto Portugal (2005) 3. Fong, J.: Translating Object-Oriented Database Transactions into Relational Transactions. Information and Software Technology, Vol. 44, Issue 1 (2002) Golobisky, M..F., Fiszman, F., Vecchietti, A.: Análisis de Transformaciones de Generalización-Especialización en Bases de Datos Objeto-Relacionales. In: Proceedings of the Argentinian Symposium on Technology, 33 JAIIO, Córdoba Argentina (2004) 5. Liu, C., Orlowska, M., Li, H.: Realizing Object-Relational Databases by Mixing Tables with Objects. In: Proceedings of the Object Oriented Information Systems (OOIS 1997), Brisbane Australia (1997) 6. Marcos, E., Vela, B., Cavero, J.M., Cáceres, P.: Aggregation and Composition in Object- Relational Database Design. In: Proceedings of the Fifth East-European Conference on Advances in Databases and Information Sytems, Vilnius Lithuania (2001) 7. Mok, W.Y., Paper, D.V.: On Transformations from UML Models to Object-Relational Databases. In: Proceedings of the 34th Hawaii International Conference on System Sciences, Maui Hawaii (2001) 8. Oracle Database Application Developer s Guide - Object-Relational Features, 10g Release 1 (10.1). Part No. B (2003) 9. Philippi, S.: Model Driven Generation and Testing of Object-Relational Mappings. Journal of Systems and Software (2004) 10. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual, Addisson-Wesley, Object Technology Series (1999) 11. Melton, J.; A.R. Simon y J. Gray, SQL: Understanding Relational Language Components. Morgan Kaufmann Publishers; 1st edition. May 23, p. 12. Melton, J. ISO/IEC :2003 (SQL/Foundation), ISO standard (2003)

16

OBJECT ORIENTED EXTENSIONS TO SQL

OBJECT ORIENTED EXTENSIONS TO SQL OBJECT ORIENTED EXTENSIONS TO SQL Thomas B. Gendreau Computer Science Department University Wisconsin La Crosse La Crosse, WI 54601 gendreau@cs.uwlax.edu Abstract Object oriented technology is influencing

More information

Aggregation and Composition in Object - Relational Database Design

Aggregation and Composition in Object - Relational Database Design Aggregation and Composition in Object - Relational Database Design E. Marcos, B. Vela, J. M. Cavero, P. Cáceres Kybele Research Group Rey Juan Carlos University Madrid (Spain) {cuca, b.vela, j.m.cavero,

More information

Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS

Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS Can Türker Swiss Federal Institute of Technology (ETH) Zurich Institute of Information Systems, ETH Zentrum CH 8092 Zurich, Switzerland

More information

Chapter 9: Object-Based Databases

Chapter 9: Object-Based Databases Chapter 9: Object-Based Databases Database System Concepts See www.db-book.com for conditions on re-use Database System Concepts Chapter 9: Object-Based Databases Complex Data Types and Object Orientation

More information

Complex Data and Object-Oriented. Databases

Complex Data and Object-Oriented. Databases Complex Data and Object-Oriented Topics Databases The object-oriented database model (JDO) The object-relational model Implementation challenges Learning objectives Explain what an object-oriented data

More information

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,

More information

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 OBJECTS AND DATABASES CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21 Relational Model and 1NF 2 Relational model specifies that all attribute domains must be atomic A database

More information

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 7 Outline Using High-Level Conceptual Data Models for

More information

A Tool for Generating Relational Database Schema from EER Diagram

A Tool for Generating Relational Database Schema from EER Diagram A Tool for Generating Relational Schema from EER Diagram Lisa Simasatitkul and Taratip Suwannasart Abstract design is an important activity in software development. EER diagram is one of diagrams, which

More information

IT2305 Database Systems I (Compulsory)

IT2305 Database Systems I (Compulsory) Database Systems I (Compulsory) INTRODUCTION This is one of the 4 modules designed for Semester 2 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING OUTCOMES On completion of this

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

2 George Feuerlicht and Jaroslav Pokorný and Karel Richta

2 George Feuerlicht and Jaroslav Pokorný and Karel Richta Object-Relational Database Design: Can Your Application Benefit from SQL:2003? George Feuerlicht 1 and Jaroslav Pokorný 2 and Karel Richta 3 1 University of Technology, Sydney, Australia, jiri@it.uts.edu.au

More information

IT2304: Database Systems 1 (DBS 1)

IT2304: Database Systems 1 (DBS 1) : Database Systems 1 (DBS 1) (Compulsory) 1. OUTLINE OF SYLLABUS Topic Minimum number of hours Introduction to DBMS 07 Relational Data Model 03 Data manipulation using Relational Algebra 06 Data manipulation

More information

Part VI. Object-relational Data Models

Part VI. Object-relational Data Models Part VI Overview Object-relational Database Models Concepts of Object-relational Database Models Object-relational Features in Oracle10g Object-relational Database Models Object-relational Database Models

More information

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model The entity-relationship (E-R) model is a a data model in which information stored

More information

How To Design Software

How To Design Software The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies

More information

CSC 742 Database Management Systems

CSC 742 Database Management Systems CSC 742 Database Management Systems Topic #4: Data Modeling Spring 2002 CSC 742: DBMS by Dr. Peng Ning 1 Phases of Database Design Requirement Collection/Analysis Functional Requirements Functional Analysis

More information

Lecture 12: Entity Relationship Modelling

Lecture 12: Entity Relationship Modelling Lecture 12: Entity Relationship Modelling The Entity-Relationship Model Entities Relationships Attributes Constraining the instances Cardinalities Identifiers Generalization 2004-5 Steve Easterbrook. This

More information

Implementing XML Schema inside a Relational Database

Implementing XML Schema inside a Relational Database Implementing XML Schema inside a Relational Database Sandeepan Banerjee Oracle Server Technologies 500 Oracle Pkwy Redwood Shores, CA 94065, USA + 1 650 506 7000 Sandeepan.Banerjee@Oracle.com ABSTRACT

More information

Database Modelling in UML

Database Modelling in UML Database Modelling in UML By Geoffrey Sparks, sparks@sparxsystems.com.au : http://www.sparxsystems.com.au Originally published in Methods & Tools e-newsletter : http://www.martinig.ch/mt/index.html Introduction

More information

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Outline More Complex SQL Retrieval Queries

More information

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 8 The Enhanced Entity- Relationship (EER) Model Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization

More information

Fundamentals of Database Design

Fundamentals of Database Design Fundamentals of Database Design Zornitsa Zaharieva CERN Data Management Section - Controls Group Accelerators and Beams Department /AB-CO-DM/ 23-FEB-2005 Contents : Introduction to Databases : Main Database

More information

IV. The (Extended) Entity-Relationship Model

IV. The (Extended) Entity-Relationship Model IV. The (Extended) Entity-Relationship Model The Extended Entity-Relationship (EER) Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of EER Diagrams

More information

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to: 14 Databases 14.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define a database and a database management system (DBMS)

More information

USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK

USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK USING UML FOR OBJECT-RELATIONAL DATABASE SYSTEMS DEVELOPMENT: A FRAMEWORK Ming Wang, California State University, ming.wang@calstatela.edu ABSTRACT Data model of object-relational databases (ORDBs) is

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

More information

Overview RDBMS-ORDBMS- OODBMS

Overview RDBMS-ORDBMS- OODBMS Overview RDBMS-ORDBMS- OODBMS 1 Database Models Transition Hierarchical Data Model Network Data Model Relational Data Model ER Data Model Semantic Data Model Object-Relational DM Object-Oriented DM 2 Main

More information

Handling Spatial Objects in a GIS Database -Relational v Object Oriented Approaches

Handling Spatial Objects in a GIS Database -Relational v Object Oriented Approaches Handling Spatial Objects in a GIS Database -Relational v Object Oriented Approaches Paul Crowther 1 and Jacky Hartnett 2 1 Sheffield Hallam University, School of Computing and Management Sciences, United

More information

Chapter 2: Entity-Relationship Model. Entity Sets. " Example: specific person, company, event, plant

Chapter 2: Entity-Relationship Model. Entity Sets.  Example: specific person, company, event, plant Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

A COMPARISON OF OBJECT-RELATIONAL AND RELATIONAL DATABASES A Thesis Presented to the Faculty of California Polytechnic State University San Luis Obispo In Partial Fulfillment of the Requirements for the

More information

How To Create A Table In Sql 2.5.2.2 (Ahem)

How To Create A Table In Sql 2.5.2.2 (Ahem) Database Systems Unit 5 Database Implementation: SQL Data Definition Language Learning Goals In this unit you will learn how to transfer a logical data model into a physical database, how to extend or

More information

Database Design Methodology

Database Design Methodology Database Design Methodology Three phases Database Design Methodology Logical database Physical database Constructing a model of the information used in an enterprise on a specific data model but independent

More information

SQL:2003 Has Been Published

SQL:2003 Has Been Published SQL:2003 Has Been Published Andrew Eisenberg IBM, Westford, MA 01886 andrew.eisenberg@us.ibm.com Jim Melton Oracle Corp., Sandy, UT 84093 jim.melton@acm.org Krishna Kulkarni IBM, San Jose, CA 94151 krishnak@us.ibm.com

More information

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks

Building Views and Charts in Requests Introduction to Answers views and charts Creating and editing charts Performing common view tasks Oracle Business Intelligence Enterprise Edition (OBIEE) Training: Working with Oracle Business Intelligence Answers Introduction to Oracle BI Answers Working with requests in Oracle BI Answers Using advanced

More information

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2 Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008

More information

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs

More information

Managing a Class Hierarchy with SQL in Matisse

Managing a Class Hierarchy with SQL in Matisse Managing a Class Hierarchy with SQL in Matisse A Technical Brief Matisse Software Inc. 2003 MATISSE SOFTWARE INC., ALL RIGHTS RESERVED. Matisse is a registered trademark of Matisse software Inc. Other

More information

2. Conceptual Modeling using the Entity-Relationship Model

2. Conceptual Modeling using the Entity-Relationship Model ECS-165A WQ 11 15 Contents 2. Conceptual Modeling using the Entity-Relationship Model Basic concepts: entities and entity types, attributes and keys, relationships and relationship types Entity-Relationship

More information

How To Improve Performance In A Database

How To Improve Performance In A Database Some issues on Conceptual Modeling and NoSQL/Big Data Tok Wang Ling National University of Singapore 1 Database Models File system - field, record, fixed length record Hierarchical Model (IMS) - fixed

More information

From Object Oriented Conceptual Modeling to Automated Programming in Java

From Object Oriented Conceptual Modeling to Automated Programming in Java From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University

More information

ER modelling, Weak Entities, Class Hierarchies, Aggregation

ER modelling, Weak Entities, Class Hierarchies, Aggregation CS344 Database Management Systems ER modelling, Weak Entities, Class Hierarchies, Aggregation Aug 2 nd - Lecture Notes (Summary) Submitted by - N. Vishnu Teja Saurabh Saxena 09010125 09010145 (Most the

More information

Once the schema has been designed, it can be implemented in the RDBMS.

Once the schema has been designed, it can be implemented in the RDBMS. 2. Creating a database Designing the database schema... 1 Representing Classes, Attributes and Objects... 2 Data types... 5 Additional constraints... 6 Choosing the right fields... 7 Implementing a table

More information

A basic create statement for a simple student table would look like the following.

A basic create statement for a simple student table would look like the following. Creating Tables A basic create statement for a simple student table would look like the following. create table Student (SID varchar(10), FirstName varchar(30), LastName varchar(30), EmailAddress varchar(30));

More information

Tutorial on Relational Database Design

Tutorial on Relational Database Design Tutorial on Relational Database Design Introduction Relational database was proposed by Edgar Codd (of IBM Research) around 1969. It has since become the dominant database model for commercial applications

More information

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals 1 Properties of a Database 1 The Database Management System (DBMS) 2 Layers of Data Abstraction 3 Physical Data Independence 5 Logical

More information

Data Modeling. Database Systems: The Complete Book Ch. 4.1-4.5, 7.1-7.4

Data Modeling. Database Systems: The Complete Book Ch. 4.1-4.5, 7.1-7.4 Data Modeling Database Systems: The Complete Book Ch. 4.1-4.5, 7.1-7.4 Data Modeling Schema: The structure of the data Structured Data: Relational, XML-DTD, etc Unstructured Data: CSV, JSON But where does

More information

Handling Unstructured Data Type in DB2 and Oracle

Handling Unstructured Data Type in DB2 and Oracle Alexander P. Pons, Hassan Aljifri Handling Unstructured Data Type in DB2 and Oracle Alexander P. Pons Computer Information Systems, University of Miami, 421 Jenkins Building, Coral Gables, FL 33146 Phone:

More information

A brief overview of developing a conceptual data model as the first step in creating a relational database.

A brief overview of developing a conceptual data model as the first step in creating a relational database. Data Modeling Windows Enterprise Support Database Services provides the following documentation about relational database design, the relational database model, and relational database software. Introduction

More information

Designing a Family Tree Metamodel Case Study

Designing a Family Tree Metamodel Case Study SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 31 42 P. A Collaborative Web-based and Database-based Meta-CASE Environment Rünno Sgirka 1, 1 Department

More information

Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases

Unified XML/relational storage March 2005. The IBM approach to unified XML/relational databases March 2005 The IBM approach to unified XML/relational databases Page 2 Contents 2 What is native XML storage? 3 What options are available today? 3 Shred 5 CLOB 5 BLOB (pseudo native) 6 True native 7 The

More information

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file?

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file? Files What s it all about? Information being stored about anything important to the business/individual keeping the files. The simple concepts used in the operation of manual files are often a good guide

More information

Object Relational Database Mapping. Alex Boughton Spring 2011

Object Relational Database Mapping. Alex Boughton Spring 2011 + Object Relational Database Mapping Alex Boughton Spring 2011 + Presentation Overview Overview of database management systems What is ORDM Comparison of ORDM with other DBMSs Motivation for ORDM Quick

More information

www.gr8ambitionz.com

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

More information

USING OBJECT-RELATIONAL DATABASE TECHNOLOGY TO SOLVE PROBLEMS IN DATABASE DEVELOPMENT

USING OBJECT-RELATIONAL DATABASE TECHNOLOGY TO SOLVE PROBLEMS IN DATABASE DEVELOPMENT USING OBJECT-RELATIONAL DATABASE TECHNOLOGY TO SOLVE PROBLEMS IN DATABASE DEVELOPMENT Ming Wang, California State University, ming.wang@calstatela.edu ABSTRACT The emergence of object-relational database

More information

Modern Systems Analysis and Design

Modern Systems Analysis and Design Modern Systems Analysis and Design Prof. David Gadish Structuring System Data Requirements Learning Objectives Concisely define each of the following key data modeling terms: entity type, attribute, multivalued

More information

Object-Based Databases

Object-Based Databases C H A P T E R22 Object-Based Databases Practice Exercises 22.1 A car-rental company maintains a database for all vehicles in its current fleet. For all vehicles, it includes the vehicle identification

More information

Contents RELATIONAL DATABASES

Contents RELATIONAL DATABASES Preface xvii Chapter 1 Introduction 1.1 Database-System Applications 1 1.2 Purpose of Database Systems 3 1.3 View of Data 5 1.4 Database Languages 9 1.5 Relational Databases 11 1.6 Database Design 14 1.7

More information

A Migration Methodology of Transferring Database Structures and Data

A Migration Methodology of Transferring Database Structures and Data A Migration Methodology of Transferring Database Structures and Data Database migration is needed occasionally when copying contents of a database or subset to another DBMS instance, perhaps due to changing

More information

Database Design and Database Programming with SQL - 5 Day In Class Event Day 1 Activity Start Time Length

Database Design and Database Programming with SQL - 5 Day In Class Event Day 1 Activity Start Time Length Database Design and Database Programming with SQL - 5 Day In Class Event Day 1 Welcome & Introductions 9:00 AM 20 Lecture 9:20 AM 40 Practice 10:00 AM 20 Lecture 10:20 AM 40 Practice 11:15 AM 30 Lecture

More information

A Rational Software Whitepaper

A Rational Software Whitepaper The UML and Data Modeling A Rational Software Whitepaper Table of Contents Introduction...1 The UML Data Modeling Profile...1 Database...1 Schema...2 Table...2 Key...3 Index...4 Relationship...5 Column...6

More information

Chapter 2: Entity-Relationship Model. E-R R Diagrams

Chapter 2: Entity-Relationship Model. E-R R Diagrams Chapter 2: Entity-Relationship Model What s the use of the E-R model? Entity Sets Relationship Sets Design Issues Mapping Constraints Keys E-R Diagram Extended E-R Features Design of an E-R Database Schema

More information

Information Systems 2. 1. Modelling Information Systems I: Databases

Information Systems 2. 1. Modelling Information Systems I: Databases Information Systems 2 Information Systems 2 1. Modelling Information Systems I: Databases Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Business Economics and Information

More information

Instant SQL Programming

Instant SQL Programming Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1 The Relational Model Ramakrishnan&Gehrke, Chapter 3 CS4320 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc. Legacy systems in older models

More information

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization

Requirement Analysis & Conceptual Database Design. Problem analysis Entity Relationship notation Integrity constraints Generalization Requirement Analysis & Conceptual Database Design Problem analysis Entity Relationship notation Integrity constraints Generalization Introduction: Lifecycle Requirement analysis -> Text Conceptual Design

More information

XV. The Entity-Relationship Model

XV. The Entity-Relationship Model XV. The Entity-Relationship Model The Entity-Relationship Model Entities, Relationships and Attributes Cardinalities, Identifiers and Generalization Documentation of E-R Diagrams and Business Rules The

More information

A terminology model approach for defining and managing statistical metadata

A terminology model approach for defining and managing statistical metadata A terminology model approach for defining and managing statistical metadata Comments to : R. Karge (49) 30-6576 2791 mail reinhard.karge@run-software.com Content 1 Introduction... 4 2 Knowledge presentation...

More information

virtual class local mappings semantically equivalent local classes ... Schema Integration

virtual class local mappings semantically equivalent local classes ... Schema Integration Data Integration Techniques based on Data Quality Aspects Michael Gertz Department of Computer Science University of California, Davis One Shields Avenue Davis, CA 95616, USA gertz@cs.ucdavis.edu Ingo

More information

Conceptual Design Using the Entity-Relationship (ER) Model

Conceptual Design Using the Entity-Relationship (ER) Model Conceptual Design Using the Entity-Relationship (ER) Model Module 5, Lectures 1 and 2 Database Management Systems, R. Ramakrishnan 1 Overview of Database Design Conceptual design: (ER Model is used at

More information

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3

The Relational Model. Why Study the Relational Model? Relational Database: Definitions. Chapter 3 The Relational Model Chapter 3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Why Study the Relational Model? Most widely used model. Vendors: IBM, Informix, Microsoft, Oracle, Sybase,

More information

The Sleepy Cat Database and Semantic Data Models in Java

The Sleepy Cat Database and Semantic Data Models in Java WEB DATABASE (WDB): A JAVA SEMANTIC DATABASE by Bo Li A thesis submitted in partial fulfillment of the requirements for the degree of Bachelor of Science In Computer Sciences: Turing Scholars Honors University

More information

WebSphere Business Monitor

WebSphere Business Monitor WebSphere Business Monitor Monitor models 2010 IBM Corporation This presentation should provide an overview of monitor models in WebSphere Business Monitor. WBPM_Monitor_MonitorModels.ppt Page 1 of 25

More information

Chapter 2. Data Model. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Chapter 2. Data Model. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 In this chapter, you will learn: Why data models are important About the basic data-modeling

More information

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys Database Design Overview Conceptual Design. The Entity-Relationship (ER) Model CS430/630 Lecture 12 Conceptual design The Entity-Relationship (ER) Model, UML High-level, close to human thinking Semantic

More information

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff

Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff D80198GC10 Oracle Database 12c SQL and Fundamentals Summary Duration Vendor Audience 5 Days Oracle End Users, Developers, Technical Consultants and Support Staff Level Professional Delivery Method Instructor-led

More information

Oracle8i Spatial: Experiences with Extensible Databases

Oracle8i Spatial: Experiences with Extensible Databases Oracle8i Spatial: Experiences with Extensible Databases Siva Ravada and Jayant Sharma Spatial Products Division Oracle Corporation One Oracle Drive Nashua NH-03062 {sravada,jsharma}@us.oracle.com 1 Introduction

More information

6. SQL/XML. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. XML Databases 6. SQL/XML. Creating XML documents from a database

6. SQL/XML. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. 6.1 Introduction. XML Databases 6. SQL/XML. Creating XML documents from a database XML Databases Silke Eckstein Andreas Kupfer Institut für Informationssysteme Technische Universität http://www.ifis.cs.tu-bs.de in XML XML Databases SilkeEckstein Institut fürinformationssysteme TU 2 Creating

More information

Lecture Notes INFORMATION RESOURCES

Lecture Notes INFORMATION RESOURCES Vilnius Gediminas Technical University Jelena Mamčenko Lecture Notes on INFORMATION RESOURCES Part I Introduction to Dta Modeling and MSAccess Code FMITB02004 Course title Information Resourses Course

More information

4 Logical Design : RDM Schema Definition with SQL / DDL

4 Logical Design : RDM Schema Definition with SQL / DDL 4 Logical Design : RDM Schema Definition with SQL / DDL 4.1 SQL history and standards 4.2 SQL/DDL first steps 4.2.1 Basis Schema Definition using SQL / DDL 4.2.2 SQL Data types, domains, user defined types

More information

Part 7: Object Oriented Databases

Part 7: Object Oriented Databases Part 7: Object Oriented Databases Junping Sun Database Systems 7-1 Database Model: Object Oriented Database Systems Data Model = Schema + Constraints + Relationships (Operations) A logical organization

More information

Microsoft s new database modeling tool: Part 1

Microsoft s new database modeling tool: Part 1 Microsoft s new database modeling tool: Part 1 Terry Halpin Microsoft Corporation Abstract: This is the first in a series of articles introducing the Visio-based database modeling component of Microsoft

More information

A Framework for Data Migration between Various Types of Relational Database Management Systems

A Framework for Data Migration between Various Types of Relational Database Management Systems A Framework for Data Migration between Various Types of Relational Database Management Systems Ahlam Mohammad Al Balushi Sultanate of Oman, International Maritime College Oman ABSTRACT Data Migration is

More information

CS352 Lecture - Object-Based Databases

CS352 Lecture - Object-Based Databases CS352 Lecture - Object-Based Databases Objectives: Last revised 10/7/08 1. To elucidate fundamental differences between OO and the relational model 2. To introduce the idea of adding persistence to an

More information

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre NoSQL systems: introduction and data models Riccardo Torlone Università Roma Tre Why NoSQL? In the last thirty years relational databases have been the default choice for serious data storage. An architect

More information

Java Application Developer Certificate Program Competencies

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

More information

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 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 &

More information

Relational model. Relational model - practice. Relational Database Definitions 9/27/11. Relational model. Relational Database: Terminology

Relational model. Relational model - practice. Relational Database Definitions 9/27/11. Relational model. Relational Database: Terminology COS 597A: Principles of Database and Information Systems elational model elational model A formal (mathematical) model to represent objects (data/information), relationships between objects Constraints

More information

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations

Bridge from Entity Relationship modeling to creating SQL databases, tables, & relations 1 Topics for this week: 1. Good Design 2. Functional Dependencies 3. Normalization Readings for this week: 1. E&N, Ch. 10.1-10.6; 12.2 2. Quickstart, Ch. 3 3. Complete the tutorial at http://sqlcourse2.com/

More information

Database System Concepts

Database System Concepts s Design Chapter 1: Introduction Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2008/2009 Slides (fortemente) baseados nos slides oficiais do livro c Silberschatz, Korth

More information

PowerDesigner WarehouseArchitect The Model for Data Warehousing Solutions. A Technical Whitepaper from Sybase, Inc.

PowerDesigner WarehouseArchitect The Model for Data Warehousing Solutions. A Technical Whitepaper from Sybase, Inc. PowerDesigner WarehouseArchitect The Model for Data Warehousing Solutions A Technical Whitepaper from Sybase, Inc. Table of Contents Section I: The Need for Data Warehouse Modeling.....................................4

More information

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague course: Database Applications (NDBI026) WS2015/16 RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague student duties final DB

More information

Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction

Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction Regression Testing of Database Applications Bassel Daou, Ramzi A. Haraty, Nash at Mansour Lebanese American University P.O. Box 13-5053 Beirut, Lebanon Email: rharaty, nmansour@lau.edu.lb Keywords: Regression

More information

Databases and BigData

Databases and BigData Eduardo Cunha de Almeida eduardo.almeida@uni.lu Outline of the course Introduction Database Systems (E. Almeida) Distributed Hash Tables and P2P (C. Cassagnes) NewSQL (D. Kim and J. Meira) NoSQL (D. Kim)

More information

The Benefits of Data Modeling in Business Intelligence

The Benefits of Data Modeling in Business Intelligence WHITE PAPER: THE BENEFITS OF DATA MODELING IN BUSINESS INTELLIGENCE The Benefits of Data Modeling in Business Intelligence DECEMBER 2008 Table of Contents Executive Summary 1 SECTION 1 2 Introduction 2

More information

SQL Server An Overview

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

More information