<<

USING RELATIONAL IN THE ENGINEERING REPOSITORY SYSTEMS

Erki Eessaar Department of Informatics, Tallinn University of Technology, Raja 15,12618 Tallinn, Estonia Email: [email protected]

Keywords: Relational data model, Object-relational data model, Repository, Metamodeling.

Abstract: Repository system can be built on top of the management system (DBMS). DBMSs that use relational data model are usually not considered powerful enough for this purpose. In this paper, we analyze these claims and conclude that they are caused by the shortages of SQL standard and inadequate implementations of the in the current DBMSs. Problems that are presented in the paper make usage of the DBMSs in the repository systems more difficult. This paper also explains that relational system that follows the rules of is suitable for creating repository system and presents possible design alternatives.

1 INTRODUCTION oriented programming languages. An example of an early attempt to combine relational and object technologies in one data model is ROSE (Hardwick "A repository is a shared database of information & Spooner, 1989) that is experimental data about the engineered artifacts." (Bernstein, 1998) These artifacts can be software engineering artifacts management system for the interactive engineering applications. Bernstein (2003) envisions that object- like models and patterns. Repository system contains relational systems are good platform for the model a repository manager and a repository (database) (Bernstein, 1998). Bernstein (1998) explains that management systems. ORIENT (Zhang et al., 2001) and SFB-501 Reuse Repository (Mahnke & Ritter, repository manager provides services for modeling, 2002) are examples of the repository systems that retrieving, and managing objects in the repository and therefore must offer functions of the Database use a commercial ORDBMS. ORDBMS in this case is a system which uses a database language that Management System (DBMS) and also additional conforms to SQL:1999 or later standard. functions. The repository manager uses custom-built data Relational data model was introduced by Codd (1970) and has been extensively studied since then. manager or general-purpose DBMS in order to One notable revision is the Third Manifesto (Date & manage artifacts. System Arcadia (Taylor et al., 1988) is an example of the system that uses custom- Darwen, 2000), (Date, 2003). Relational model and relational systems are often criticized because they built object manager. Omega (Linton, 1984), The C are arguably not powerful enough for the repository Information Abstraction System (Chen et al., 1990), PARSE (Gray, 1997) and CommonKADS repository system. In this work we show that these problems are (Allsop et al., 2002) are examples of the repository caused by the shortages of SQL standard and systems that use a Relational DBMS (RDBMS). RDBMS in this case is a system which uses a systems that implement that standard. There exists analyzes of SQL and comparisons of it with the database language that conforms to SQL:1992 proposals of the Third Manifesto (Date & Darwen, standard or is even earlier language. Object-Oriented DBMSs have been often 2000), (Pascal, 2000), (Date, 2003) but they don't discuss problems in the context of specific seen as a suitable platform for building repository application areas like engineering repositories. systems (Bernstein, 1998) (Dittrich et al., 2000). Object-Relational DBMS (ORDBMS) combine In this paper we also explain how a relational system that follows the rules of the Third Manifesto features of the relational data model and object- can be used in order to create a repository database.

In this case we wouldn't have problems that are relational language should provide shorthand for present in current ORDBMSs. expressing generalized transitive closure query. We adopt definition (Date, 2003) according to which the relational data model consists of an Table 1 Problems of the relational model. extensible collection of scalar types, type Problem Authors who mention generators, facilities for defining relation variables that problem (relvars) of such types, assignment operations for It is not powerful, Hardwick and Spooner assigning relation values (relations) to relvars and an flexible and expressive (1989),Constantopoulos extensible collection of generic relational operators enough. et al. (1995). for deriving relation values from other relation Fragmentation. Data Liu et al. (1996), values. about the object is in Gray (1997). The rest of the paper is organised as follows. the different relations. Section 2 contains results of the literature study Performance problems Hardwick and Spooner about the problems of the relational model and due to fragmentation. (1989), Gray (1997). RDBMSs that hamper their usage in the repository Lack of powerful type Taylor et al. (1988), systems. Section 3 explains how a RDBMS which system. Miguel et al. (1990), data model follows the rules of the Third Manifesto Emmerich et al. (1992), can be used in a repository system. Nowadays much Liu et al. (1996), attention is paid to the ORDBMSs. Section 4 Gray (1997). describes problems of the current ORDBMSs that Poor support to data Hardwick (1984), make their usage in the repository systems more that represents graph Miguel et al. (1990), difficult. Section 5 summarizes and points to the structures. Lack of Katz (1990), future work with the current topic. facilities for making Emmerich et al. (1992), queries based on such Gray (1997), data including finding Lange et al. (2001). 2 LITERATURE STUDY transitive closure. Inappropriate Hardwick and Spooner Next we classify problems of the relational model transaction models for (1989) and RDBMSs based on the literature study and the engineering analyze these problems in terms of the Third systems. Manifesto. Researchers and developers often present Detailed semantics of Engle (2003) these problems as reasons why relational database is the relvars have to be not the best choice to use in the engineering systems. captured outside the Table 1 presents problems of the relational model relational system. that have been identified by the researchers. Lack of possibility to Zhang et al. (2001) Some issues that have been raised by the preserve semantics of researchers are actually orthogonal to the relational the relationships. model. We adopt the approach taken by Date and Darwen (2000, p. 21): "The question as to what data Fragmentation increases complexity to the user types are supported is orthogonal to the question of of database according to Gray (1997). Virtual relvars support for the relational model." Even Codd (1970) (views) help to overcome this problem in the system acknowledged possibility of the nonsimple domains that follows the rules of the Third Manifesto. View- which permitted values are relations. One reason defining expression can join values of relvars that why he argues for eliminating nonsimple domains is contain information about the object. It can have that they require more complicated data structures at relation-valued attributes which values are the storage level than simple domains. Transaction calculated using relational operator GROUP that model is also orthogonal to the relational model. provides relation "nest" capability (Date & Darwen, Date and Darwen (2000) have requirement for 2000). Gray (1997) writes that fragmentation may nested transactions in the section of the Other cause performance problems. But "performance is Orthogonal Prescriptions. fundamentally an implementation issue, not a model Hierarchic and networked information can be issue." (Date, 2005) represented relationally (Pascal, 2000, chap. 7) Issue Semantics of the relvar that is understandable to of making queries based on data that represents the human user is specified by the external predicate graph structure is addressed in the Third Manifesto. of the relvar (Date & Darwen, 2000, p. 179). It could Relational Model Very Strong Suggestion no. 6 well be recorded in the catalogue of the database that (Date & Darwen, 2000, p. 213) requires that must be part of the database that it describes.

Semantics of the data that is understandable to the 3 USING RELATIONAL DBMS IN system is represented by the internal predicate of the THE REPOSITORY SYSTEM relvar (Date, 2003, p. 262). Constraints to the value of relvar specify internal predicate. Therefore RDBMS should provide means for defining tuple- A repository system permits management of artifacts attribute-, relvar- and database constraints. that are created using some language that belongs to Semantics of the relationship determine the set of its supported languages. Repository system constraints that are used in order to implement this should allow to add new languages to this set in relationship and operations that may be performed order to be most useful. Abstract syntax of the with the data that participate in the relationships language can be specified using metamodel (Zhang et al., 2001). Relational language may (Greenfield & Short, 2004). Each repository has an contain shorthand statements that cause creation of information model that "specifies a model of the the database objects that implement particular type structure and semantics of the artifacts that are of relationship. An example is a generalization stored in the repository." (Bernstein, 1998) relationship (Pascal, 2000, p. 158). Information model contains general and metamodel specific part (see Figure 1). The latter is Table 2 Problems of the RDBMSs. union of metamodels of languages that are supported Problem Authors who mention by the system. that problem Views (including Haynie (1981), updatable) are Emmerich et al. (1992). inadequately supported. Performance problems. Linton (1984), Miguel et al. (1990), Chen et al. (1990), Lange et al. (2001). Inappropriate Katz (1990), transaction models. Emmerich et al. (1992), Gray (1997). Inadequate Constantopoulos et al. concurrency control (1995) mechanisms. Lack of versioning Emmerich et al. (1992), facilities. Gray (1997). Lack of access control Emmerich et al. (1992) Figure 1: Example of the information model. on a level of single tuples in a relation We propose to implement the information model Lack of distributed and Gray (1997) in the relational database using a set of relation multi-database variables (relvars), data types (types), operators and architectures integrity constraints. There is more than one possible Lack of configuration Gray (1997) design of the repository. management 1. Encapsulated artifact types : Each artifact type Lack of possibilities to Gray (1997) has a corresponding scalar type and a base relvar have cooperative work in a database. Artifact is recorded as a tuple that processes is part of the value of this relvar. 2. Encapsulated artifact element types : Each Table 2 presents problems of the RDBMSs that artifact element type ET has a corresponding are mentioned in the literature. Except problems scalar type T and relvar R with an attribute that with views, all other problems are orthogonal to the has type T. relational model . Problems with the views are 3. Not-encapsulated artifact element types : Each problems of the implementation of the relational artifact element type has a corresponding relvar model. Problems that are mentioned in Table 1 and 2 where each property of the element is repre- should primarily cause improvement of the sented by one attribute with the appropriate type. implementation and standards but not necessarily Artifact is recorded as a set of tuples that are part invention of new data models. of values of more than one relvar in case of design 2 and 3. Design 1 and 2 don't eliminate complexity. They require more complex scalar type and scalar

operator specifications than design 3. In general, TutorialD relational language and have been tested types should correspond to properties and relvars to in the prototypical DBMS Rel (Voorish, 2005). entities (Date & Darwen, 2000, appendix C). Tutorial D language has been proposed in the Third Therefore we choose design alternative 3. Next we Manifesto (Date & Darwen, 2000) and dialect used explain this design alternative more thoroughly. by Rel is based on that proposal. Each artifact element type is implemented using CONSTRAINT C_2 (COUNT(StartState)<=1); at least following database objects: 1. Exactly one relation type RELATION {H} CONSTRAINT C_3 IS_EMPTY ((Event RENAME where H is heading of the relation in the form (element_id# AS el_id#, destination AS (C 1,..., C n). C 1 ... C n are pairs of type name and element_id#) JOIN State) JOIN attribute name. Each attribute corresponds to one StartState); property of the artifact element type. 2. Scalar types that are used in the pairs C 1 ... C n. CONSTRAINT C_5 (IS_EMPTY (Event WHERE 3. Set of operators that allow selecting and origin=destination)); modifying components of the possible representation of these scalar types. CONSTRAINT C_6 IS_EMPTY (Artifact_ 4. Exactly one base relvar with the type element SEMIMINUS Element_in_artifact); RELATION {C 1,...,C n}. Each relvar must have at least one . 5. Let's assume that we have a generalization/ Some well-formedness rules can be enforced by specialization relationships between element creating appropriate key constraints. Rule R1 can be types ET 1 and ET n in the information model. ET k enforced by creating the relvar constraint is supertype and ET k+1 is its direct subtype (1≤k< KEY{name} in the relvar State . It declares, that name n). Relvar R k that corresponds to ET k and relvar of the State is a candidate key. Rule R4 can be Rk+1 that corresponds to ET k+1 are associated enforced by creating the relvar constraint using foreign key. For each element type where KEY{origin, destination} in the relvar Event . k>1 we have to create a corresponding virtual Constraint KEY {artifact_id#, element_id#} in the relvar . For example, element type ET k+1 has relvar Element_in_artifact ensures, that each corresponding virtual relvar V k+1 that joins element can participate only once in the artifact. values of relvars R 1,..., R k+1 . If one assigns a new Together with the constraint C_2 they guarantee that value to V k+1 , then system must assign a new each diagram (artifact) can contain at most one value to all the relvars R 1,...., R k+1 . StartState . Integrity constraints – type-, attribute-, relval- Rules R2 and R5 are enforced by the relvar and database constraints enforce well-formedness constraints C_2 and C_5 , respectively. IS_EMPTY rules of the artifacts. Model management operations () is a scalar operator that evaluates to like Merge, Diff, Compose etc. (Bernstein, 2003) true if the body of the relation denoted by contains no tuples (Date et al., 2003). operators. Constraints C_3 and C_5 could also be created using We illustrate our ideas by using a simple Count operator ( Count()=0 ). software design language SimpleM that was Rule R3 is enforced by the database constraint originally presented by Serrano (1999) in order to C_3 . C_3 is created based on the reformulation of introduce VCt specification language. SimpleM R3 to the equivalent rule R3' . (R3'): StartState can't specifies one diagram type. It is used for creating be destination of any event . C_3 is a database simple state diagrams. Diagram is a kind of artifact. constraint and not a relvar constraint because it Metamodel of the language is presented in the references to more than one relvar. metamodel specific part in figure 1. Database constraint C_6 ensures that each Serrano (1999) describes well-formedness rules element is part of at least one artifact. It uses of the language. We have modified rules R1 and R2. relational operator SEMIMINUS (Date, 2003) in (R1): Both StartState and State have a label with order to find tuples of one relation that have no a name that is unique amongst all other states. (R2): counterpart in another. There is at most one StartState in the repository. If a relvar in a database gets a new value, then (R3): "The StartState can only be connected to DBMS checks immediately conformance of this States by outgoing Events." (R4): "Any pair of value to the integrity constraints and rejects invalid States is connected at most by two Events, one in changes. Our earlier article (Eessaar, 2005) explains each direction." (R5): "Loop Events, i.e. Events that principles of the repository system that follows connect a State to itself, are not allowed." previously described principles and checks well- Next we present examples of statements for formedness of an artifact only if user of the system creating integrity constraints. They are written in

wants that. It explains also how to implement typing, then a distinct type has to be created. One versioning in such a system. can't use constraint definitions there. One also has to use a predefined type as a base type for distinct type and can't use distinct type as a base type for the 4 USING CURRENT ORDBMS IN domain. In case of using distinct or structured types one has to check correctness of the attribute values THE REPOSITORY SYSTEM using the methods of this type. Methods can be implemented using some imperative language (SQL Metamodel of the artifact language can be procedural extensions or other). Greenfield and implemented in a object-relational database using a Short (2004, p. 227) adopt definition: "An set of built-in- and user-defined data types, domains, imperative specification describes instructions to be base tables and virtual tables (views), built-in- and executed without describing the desired results of user defined routines, triggers, sequence generators execution". Lloyd (1994) shows advantages of the and integrity constraints. declarative programming languages compared to This section presents analysis of the problems of imperative languages which include easier teaching, SQL that make usage of the current ORDBMSs in clearer semantics, improved programmer the repository systems more difficult. It is one result productivity and better support to meta- of this paper. Some problems are caused by the programming and parallelism. shortages of SQL standard and some are caused by Date and Darwen (2000) treat concepts the incomplete implementation of the standard in the "operator" and "function" as synonyms but use the ORDBMSs. Following description of SQL standard term "operator". SQL (starting from SQL:1999) is based on SQL:1999 (Gulutzan & Pelzer, 1999) specifies statements for creating user defined and SQL:2003 (Melton, 2003). We also compare functions but don't specify statement for creating existing standard and systems to proposals of the operators. It is not possible to determine more Third Manifesto. convenient infix, prefix or postfix notation that is Current ORDBMSs make it difficult to use used in order to call this function. On the other hand, declarative constraints in a database in order to SQL dialect of PostgreSQL (PostgreSQL, 2005) and enforce well-formedness rules of the artifacts. Oracle (Oracle, 2005) allow to create user defined Firstly, separation of " domain " and " type " concept in operators as well as user defined functions. SQL causes problems. Let's assume that we want to Date et al. (2003, p. 22) introduces the scalar specify that names of patterns can't be empty strings operator IS_EMPTY that could be built-in. For or strings that contain only spaces or underscores. example, it is useful in order to specify constraints The Third Manifesto treats concepts "domain" and (see section 3). Currently there is not such built-in "data type" as synonyms. It prescribes that relational operator or function in SQL (Melton, 2003) and one system should allow specification of new scalar has to program it using the Count function. types and scalar operators which declared types of Current ORDBMSs have problems with the parameters are scalar types. Type can be specified relvar and database constraints . Relvar constraint is using type constraints . System has to enforce strong associated with exactly one relvar and database typing by checking that operands that participate in constraint is associated with two or more relvars the operation have a right type. (Date, 2003). Relvar constraint can be implemented In SQL a data type is "a set of representable as a CHECK constraint . There exists ORDBMSs values" (Melton, 2003, p. 11) and a domain is "a set like PostgreSQL (PostgreSQL, 2005) and Oracle of permissible values" (Melton, 2003, p. 49). (Oracle, 2005) that don't allow to use subqueries in According to Mattos and DeMichiel (1994) the CHECK constraint although SQL standard specialization by constraints should be prohibited permits that. Relvar and database constraints can be because it requires overloading of operators. implemented using assertions that constrain the set Negative implications of this approach are discussed of valid values for one or more base tables in SQL by Date and Darwen (2000, appendix G). We add (Gulutzan & Pelzer, 1999). Unfortunately Ceri et al. that if user wants to define a set of valid data values (2000) note that many RDBMSs don't support by adding constraints to the predefine type, then one assertion objects although this type of object is has to create a domain object in SQL. It is not specified in SQL standard. Türker and Gertz (2001) possible to create a new domain based on existing note in the review of integrity constraints in the one. In addition, Türker and Gertz (2001) evaluate different DBMS-s: "assertions are in general not seven DBMSs that use SQL language and note that available and are unlikely to be offered in the near only one of them supports domain objects. future". Cochrane et al. (1996) write that RDBMSs If a user wants to define a new type in SQL, don't support assertions because they are "extremely based on one predefined type and achieve strong expensive to support". Maybe it means that assertion

reduces performance of the system? But to the base relvars (Date & Darwen, 2000). performance is an issue of the implementation of the Relational language could have special statement in data model. Alternative method for enforcing order to create relvar that is conceptually associated constraints in the current ORDBMSs is to use with other relvar through generalization relationship imperative programs in the SQL-invoked routines or (Pascal, 2000). This kind of statement causes triggers that where both first time standardized in creation of necessary base- and virtual relvars. SQL:1999. If data in the database is changed using SQL:1992 and earlier standards don't allow to SQL-invoked routines, then they can check the well use joins in the updatable views (Date, 2003). formedness rules. In this case routines must be the Starting from SQL:1999 views defined as one-to- only means for modifying data. Systems like UML- one or one-to-many join of two base tables are repository (Marder et al., 1999), and business-rule updatable (Date, 2003). Unfortunately there are enforcer (Zimbrão et al., 2003) use declarative OCL ORDBMSs that don't support SQL standard in this constraints in order to specify database constraints. regard. For example, in PostgreSQL all views are They can't use assertions in order to implement these not-updatable without further programming constraints and have to generate triggers. Instead of (PostgreSQL, 2005). In Oracle DML statement must one declarative constraint we may need many affect only one underlying table of the updatable triggers that are associated with different tables in join view (Oracle, 2005). But in this case system order to react to all the relevant events. For example, needs to add data to all the base tables that constraint C_3 (see section 3) can be implemented participate in the join. using insert and update triggers that are associated Alternative is to use rules (PostgreSQL, 2005) or with the tables Event and StartState. instead-of triggers (Oracle, 2005) that are associated If triggers have sufficient performance compared with a view in order to achieve its updatability. to assertions, then creation of the declarative These objects require additional programming and constraint at the model level could cause automatic are not-standardized features. creation of the imperative programs (triggers) at the Yet another possibility is to use triggers that are implementation level. associated with the base tables . Let's assume that DBMS should have information about semantics table T sub is a subtable and T sup is its supertable. For of relationships between entity types in order to be example, we could create delete and update triggers able enforce properties of the relationships and that are associated with T sub . Their task is to delete answer to the queries (Zhang et al., 2001). corresponding row from T sup then row in T sub is Generalization relationship is an example of a deleted and update primary key of T sup then generic relationship that is often used in the corresponding foreign key is updated in T sub , metamodels. For example, StartState is a State (see respectively. This approach also requires insertion of Figure 1). SQL standard defines language constructs new rows into T sub and T sub within one transaction for creating subtables and supertables that seem using two different statements. In contrast, the Third suitable in order to implement this kind of Manifesto states that constraints must be satisfied at relationship. Both subtable and supertable must be statement boundaries and relational language must typed tables and structured type on which subtable is have multiple form of the assignment operation in defined must be subtype of the structured type on which several individual assignments to relvars are which supertable is defined (Date, 2003). As stated performed in parallel as a single logical operation earlier, it is not possible to use declarative (Date & Darwen, 2000). constraints in the structured type specification. Ceri et al. (2000) notes that handcrafted triggers Non-standard approach is used in PostgreSQL are error-prone and triggers should be created by the (PostgreSQL, 2005) where subtable and supertable system. Triggers or rules that implement supertable- don't have to be typed tables. PostgreSQL subtable feature must be automatically generated by implementation of subtable-supertable feature is the repository system then new base- or virtual table immature because many declarative constraints of is added to the repository database. It increases the supertable are not inherited by the subtable. complexity of the system. Date and Darwen (2000) show that desired Standardization of some important features that functionality can be achieve in the relational system where strongly suggested by the Third Manifesto has that follows the rules of the Third Manifesto, begun in SQL:1999 or SQL:2003. It takes time without using subtable-supertable feature and before ORDBMSs start to fully implement the therefore raise question about usefulness it. They standard in this regard. propose that each subtable must have corresponding Recursive queries allow to find transitive closure virtual relvar that joins relations that correspond to of graph structure (introduced in SQL:1999). the subtable and supertable. Value of the virtual Information about the associations between artifacts relvar must be updatable and updates must propagate as well as associations between elements of artifacts

is recorded in a repository. Associations and REFERENCES associated elements form a graph structure. Example of the query that is needed then pattern is modified: Allsop, D. J., Harrison A., & Sheppard, C. (2002). A Find all patterns in the pattern language PL which database architecture for reusable Common KADS directly or indirectly depend on pattern P. agent specification components [Electronic version]. Multisets (introduced in SQL:2003) could be Knowledge-Based Systems , Vol. 15, No. 5, 275-283. used in the views that allow to present artifact to a Bernstein, P. A. (1998). Repositories and Object-Oriented user without fragmentation. SQL specifies UNNEST Databases [Electronic version]. SIGMOD Rec. Vol. 27, operator that allows to present elements of a multiset Issue 1 , Mar. 1998), 88-96 . as rows of a virtual table. Integrity of these rows can Bernstein, P. A., (2003). Applying Model Management to be checked by the table or database constraints. As Classical Meta Data Problems [Electronic version]. In we said earlier, current DBMSs provide limited Proceedings of the Conference on Innovative Data support for declarative constraints. It hampers usage Systems Research 2003, 209-220. of the columns that have multiset types in the base Ceri, S., Cochrane, R., & Widom, J. (2000). Practical Applications of Triggers and Constraints: Success and tables. Examples of the constraints are restrictions to Lingering Issues [Electronic version]. In Proceedings the cardinality of a multiset or requirement that a of the 26th international Conference on Very Large multiset shouldn't contain repeating elements. Data Bases , 254-262. Table-functions (introduced in SQL:2003) allow Chen, Y.F., Nishimoto, M. Z., & Ramamoorthy, C. V. to implement parameterized relational operators and (1990). The C Information Abstraction System return multiset (bag) of rows. They help to [Electronic version]. IEEE Transactions on Software implement queries that search artifacts or statistical Engineering , Vol.16, No. 3, March 1990, 325-334. information from the repository. Cochrane, R. J., Pirahesh, H., & Mattos, N. M. (1996). Sequence generators generate values for the Integrating triggers and declarative constraints in SQL candidate keys (introduced in SQL:2003). database sytems [Electronic version]. In Proceedings Multiset can contain repeating elements. It is not of the 22th international Conference on Very Large consistent with the Third Manifesto that prohibits Data Bases , 567–578. duplicate tuples in a body of a relation. Developer Codd, E. F. (1970). A relational model of large shared data who wants to use sets of rows instead of multisets banks [Electronic version]. Comm. ACM , Vol. 13, No. must be continuously aware that most of SQL 6, 377-387. Constantopoulos, P., Jarke, M., Mylopoulos, J., & statements must explicitly state it. Vassiliou, Y. (1995). The Software Information Base: A Server for Reuse [Electronic version]. VLDB Journal, 4 (1995), Boxwood Press, Pacific Grove, CA, 5 CONCLUSIONS 1- 43. Date, C. J., & Darwen, H. (2000). Foundation for Future In this paper, we showed that current RDBMSs and Database Systems: The Third Manifesto, Addison- Wesley. Reading, , 2 nd edition. ORDBMs have problems that hamper their usage in Date, C. J. (2003). An Introduction to Database Systems, the repository systems. Some necessary features like Pearson/Addison Wesley. Boston, 8 th edition. views and constraints are not object -oriented and are Date, C. J. (2005) Database in depth : relational theory required by the earlier SQL standards. They are not for practitioners , O'Reilly. Beijing; Cambridge. implemented correctly or not implemented at all in Date, C. J., & Darwen, H., & Lorentzos, N. A. (2003). the current DBMSs. In addition, SQL is not a correct Temporal Data and the Relational Model , Morgan implementation of the relational model. These Kaufmann. San Diego, CA. shortages cause criticism towards SQL and Dittrich, K., Tombros, D., & Geppert, A. (2000). relational model. They cause addition of new Databases in Software Engineering: a roadmap features to SQL standard and dialects that would be [Electronic version]. In Proceedings of the Conference unnecessary if SQL fully conforms to the relational on the Future of Software Engineering . ICSE '00. model. Some object -oriented features that are added ACM Press, , NY, 293-302. to the ORDBMSs are actually required by the Third Eessaar, E. (2005). Truly Relational Databases as a Manifesto. We explained how the RDBMS that Platform for the Artifact Management. In Proceedings follows these requirements can be used in the of the Fourteenth International Conference on repository system. Information Systems Development: Pre-Conference 14-17 August 2005, Karlstad, Sweden, 207-218. Future work will include the creation of a Emmerich, W., Schäfer, W., & Welsh, J. (1992). Suitable prototype repository system that uses RDBMS that Databases for Process-centred Environments Do not follows the rules of the Third Manifesto. yet Exist [Electronic version]. In Proceedings of the EWSPT '92 , 94-98.

Engle, P. (2003). Data Modeling – Left and Right. The Workshop "Rigourous Modeling and Analysis with the Data Administration Newsletter , Issue 24, April 2003. UML: Challenges and Limitations", Denver, Co. Retrieved October 07, 2005, from Mattos, N., & DeMichiel, L. G., (1994). Recent design http://www.tdan.com/i024hy03.htm#_edn15 trade-offs in SQL3 [Electronic version]. SIGMOD Gray, P. (1997). CASE tool construction for a parallel Rec . 23, 4 (Dec. 1994), 84-90. software development methodology [Electronic Melton, J., ISO/IEC 9075-2:2003 (E) Information version]. Information and Software Technology, Vol. technology — Database languages — SQL — Part 2: 39, Issue 4, 235-252. Foundation (SQL/Foundation). August, 2003. Greenfield, J., & Short, K. (2004). Software Factories: Retrieved December 26, 2004, from Assembling Applications with Patterns, Models, http://www.wiscorp.com/SQLStandards.html Frameworks, and Tools, John Wiley & Sons. Miguel, L., Kim, M. H., & Ramaroothy, C. V. (1990). A Indianapolis. Knowledge and Data Base for Software Systems Gulutzan, P., & Pelzer, T. (1999). SQL-99 Complete, [Electronic version]. In Proceedings of the 2nd Really , Miller Freeman. Lawrence. International IEEE Conference on Tools for Artificial Hardwick, M. (1984). Extending the relational database Intelligence , 417-423. data model for design applications [Electronic Oracle® Database SQL Reference 10g Release 1 (10.1) version]. In Proceedings of the 21st Conference on Part Number B10759-01. Oracle Corp., Retrieved Design Automation . IEEE Press, Piscataway, NJ, 110- October 4, 2005, from http://download- 116. west.oracle.com/docs/cd/B14117_01/server.101/ Hardwick, M., & Spooner, D. L. (1989). The ROSE data b10759/toc.htm manager: Using object technology to support Pascal, F. (2000). Practical issues in Database interactive engineering applications [Electronic Management. A Reference for the Thinking version]. IEEE Transactions on Knowledge and Data Practioner , Addison-Wesley. Boston, Mass, 1st Engineering . Vol. 1, no. 2, 285-290. edition. Haynie, M. N. (1981). The relational/network Hybrid data PostgreSQL 8.0.3 Documentation. Retrieved October 4, model for Design Automation Databases [Electronic 2005, from http://www.postgresql.org/docs/8.0/ version]. In Proceedings of the 18th Conference on interactive/index.html Design Automation . IEEE Press, Piscataway, NJ, 646- Serrano, J. A. (1999). Formal Specifications of Software 652. Design Methods [Electronic version]. 3rd Irish Katz, R.H. (1990). Toward a Unified Framework for Workshop on Formal Methods. Version Modeling in Engineering Databases Taylor, R.N., Belz, F.C., Clarke, L.A., Osterweil, L., [Electronic version]. ACM Computing Surveys 22:4, Selby, R. W., Wileden, J. C., Wolf, A. L., & Young, 1990, 375– 408. M. (1988). Foundations for the Arcadia environment Lange., C., Sneed, H. M., & Winter, A. (2001). architecture [Electronic version]. In Proceedings of the Comparing Graph-based Program Comprehension Third ACM SIGSOFT/SIGPLAN Software Tools to Relational Database-based Tools [Electronic Engineering Symposium on Practical Software version]. In Proceedings of the 9th International Development Environments . SDE 3. ACM Press, New Workshop on Program Comprehension . IEEE York, NY, 1-13. Computer Society. Los Alamitos. 209--218. Türker, C., & Gertz, M. (2001) Semantic integrity support Linton, M. (1984). Implementing relational views of in SQL:1999 and commercial (object-) relational programs [Electronic version]. In Proceedings of ACM database management systems [Electronic version]. SIGSOFT/SIGPLAN Software Engineering Symposium The VLDB Journal, Vol. 10 , No. 4 (Dec. 2001), 241– on Practical Software Development Environments , 269. 132–140. Voorish, D. (2005). An Implementation of Date and Liu, C., Li, H., & Orlowska, M. E. (1996). Object- Darwen's "TutorialD". Retrieved March 26, 2005 from Oriented Design of Repository for Enterprise http://dbappbuilder.sourceforge.net/Rel.html Workflows . Retrieved October 5, 2005 from Zhang, N., Ritter, N., & Härder, T. (2001). Enriched University of Queensland, DSTC Web site Relationship Processing in Object-Relational Database http://www.dstc.uq.edu.au/Research Management Systems [Electronic version]. In /Distributed_Databases/papers/Liu-OOD-1996.ps Proceedings of the 3rd International Symposium on Lloyd, J. (1994) Practical Advantages of Declarative Cooperative Database Systems for Advanced Programming [Electronic version]. Invited Lecture, Applications , 53-62. GULP-PRODE '94 . Zimbrão, G., Miranda, R., Souza, J.M., Estolano, M.H., & Mahnke, W., & Ritter, N. (2002). The ORDB-based SFB- Neto, F.P. (2003). Enforcement of Business Rules in 501-Reuse-Repository [Electronic version]. In Relational Databases Using Constraints [Electronic Proceedings of the 8th International Conference on version]. SBBD 2003 , 129-141. Extending Database Technology , 745-748. Marder, U., Ritter, N., & Steiert, H. P. (1999). A DBMS- based Approach for Automatic Checking of OCL Constraints [Electronic version]. In OOPSLA’99-