Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Talk:Model Base"

 
Line 1: Line 1:
test page for OMG discussion
+
These are issues and questions identified by the IMM Submission Team at the workshop at MetLife.
 +
 
 +
Metamodel
 +
1. For MOF compliance “boolean” should be Boolean, “int” should be Integer.
 +
 
 +
2. Eclipse and CWM are different on deferability; CWM is preferable in having a single enumerated attribute rather than several Booleans which require constraints to prevent invalid combinations
 +
 
 +
3. [Aside – in IMM Trigger will integrate with UML Trigger from UML Communications package (Fig. 316)]
 +
 
 +
 
 +
Triggers
 +
 
 +
4. Are triggers needed at both schema and DB level (e.g. on-logon, user function trace)? DDL and DML change events? (Oracle, yes)
 +
 
 +
5. Eclipse model has a timeStamp on trigger, CWM does not.  Is there a real justification for this?
 +
 
 +
6. For the same table, same event, same timing, can you multiple triggers;  i.e., can you trigger two different processes for the same event on the same table? (Yes, for UDB.) 
 +
 
 +
7. Can you have more than one event for the same trigger?  (Eclipse model says yes; CWM, no; UDB, no;  SQL Server, no; Oracle says yes.)
 +
 
 +
8. CWM has no insteadOf trigger, but Eclipse model does.
 +
 
 +
Tables and columns
 +
9. ColumnSet can have 0,* Columns, but Eclipse must have 1,*.
 +
 
 +
10. Should we have a UserDefinedTypes (StructuredUserDefinedType and DistinctUserDefinedType)?  (Eclipse has specific Attribute subclass, CWM reuses Column though this will have capabilities not available to user defined types.)
 +
 
 +
11. CWM supports multiple inheritance, but shouldn’t.  (Eclipse has single inheritance.)
 +
 
 +
12. ReferenceType on Table in Eclipse (system generated, user generated, or derived table).  Do we want in IMM?
 +
 
 +
13. Derived insertable and updateable Table properties in Eclipse not understood.  Need clarity.
 +
 
 +
14. Is there any benefit in having DerivedTable in Eclipse?
 +
 
 +
15. The derived Table not regarding naming is incorrect. (Eclipse)
 +
 
 +
16. Views are read-only in CWM but not in Eclipse.  Should the DB determine this? 
 +
 
 +
17. Eclipse has no Check option on View.  (UDB, SQL Server, and Oracle do have.)
 +
 
 +
18. Columns can have 0,.1 identitySpecifier xor generalExpression in Eclipse.  CWM does not have.  Should add.  (Was also an issue filed for CWM.)
 +
 
 +
19. CWM does not have defaultValue, but should.  (Eclipse does.)
 +
 
 +
20. CWM does not have scopeCheck and scopeChecked
 +
 
 +
21. What does implementationDependent mean in Eclipse model?
 +
 
 +
22. Why is SQLDefinedType owned by a TypedElement (in Eclipse)? SQLDefinedType is shown with a ‘black diamond’ composition  of TypedElement.  Is not correct.
 +
 
 +
23. How do you specify the default value for a structure type?
 +
 
 +
The default value is the instance created using the default constructor. ?. To be discussed.
 +
 
 +
24. Precision, scale, and length should be attributes at both data type and column level.  (SQL Server does not have this; CWM has it at both levels; Eclipse has it only at data type level)  Also, the column level values must be a subset of data type values)
 +
 
 +
25. Should have CharacterSetType.  (Eclipse does not have it; CWM does.)
 +
 
 +
Need some elaboration on CharacterSetType.
 +
 
 +
26. Is Collation useful/used?  (CWM has it.)
 +
 
 +
As of this time, we have not utilizing Collation in our tooling. So Collation has been left undefined in the Eclipse model.
 +
 
 +
27. Schema should own groups and roles, not databases.
 +
 
 +
To be discussed.
 +
 
 +
28. Every SQL Object in metamodel should have an owner.
 +
 
 +
Need elaboration.
 +
 
 +
29. Should there be assertions on a schema that can constrain one or more tables. (On Eclipse model)
 +
 
 +
To be discussed.
 +
 
 +
30. Why is an assertion mandatory for a BaseTable, but not constraints. (On Eclipse model)
 +
 
 +
Assertion can be optional for a BaseTable. We need to reflect that in the Eclipse model.
 +
 
 +
Keys
 +
31. ForeignKey should relate to PrimaryKey, rather than UniqueConstraint. (On Eclipse model)
 +
 
 +
Some vendors allow ForeignKey to reference a UniqueConstraint or a unique Index. We wanted the Eclipse model to have the flexibility to support that.
 +
 
 +
32. Eclipse does not constrain the ordering of PK with FK; CWM does.
 +
 
 +
We can put a note to this effect in the Eclipse model.
 +
 
 +
33. In Eclipse, the ForeignKey to Column association is mandatory in figure, but comments indicate optional.
 +
 
 +
? We could not find the comment/s which indicates the association as optional.
 +
 
 +
34. Index to IndexMember association, there are two mandatory, black diamonds.  This is a metamodel bug in Eclipse model (any instance can only ever have one composite owner)
 +
 
 +
We need a note in the model to constrain an IndexMember instance to be owned by a single Index instance.
 +
 
 +
35. Note on Index and IndexMember associations should be expressed as an OCL constraint, not a note in Eclipse model.
 +
 
 +
We can do so.
 +
 
 +
36. Several OCL constraints on the constraints diagram refer to “constainedColumns” – which doesn’t exist. (On Eclipse model)
 +
 
 +
The “constrainedColumns” in the OCL constraints need to be changed to “members”.
 +
 
 +
Indexes
 +
37. What is a fillFactor in the Index class?  Is not documented in Eclipse model.
 +
 
 +
The fillFactor specifies the percentage of space to leave free for updates and insertions within each of the index’s data blocks.
 +
 
 +
38. Want isSorted on Index.  (CWM has it, Eclipse does not.)
 +
 
 +
Not all vendors implement the”isSorted” property. So we left it to be modeled in vendor specific extensions of the Eclipse model.
 +
 
 +
39. CWM has partitioning and Eclipse has clustering.  We need both.
 +
 
 +
Partitioning is vendor specific and we left the modeling to vendor specific extensions of the Eclipse model.
 +
 
 +
Data Types
 +
40. In CharacterStringDataType, the fixedLength property should not be derived (because vendor-defined types are not addressed in the derivation).
 +
 
 +
41. CoercibilityType in CharacterStringDataType is not documented well in Eclipse model.
 +
 
 +
42. CWM defines CharacterSet differently than Eclipse. Need to discuss.
 +
 
 +
43. CWM does not permit CharacterSet against a DataType, and Eclipse does not permit it to be defined against a Column.
 +
 
 +
44. Eclipse defines a fixed set of PrimitiveTypes, CWM does not.
 +
 
 +
45. On Eclipse, the IntegerDataType note “Scale is always zero” should be expressed as a constraint, not a note.
 +
 
 +
46. PrimitiveType should have a typeNumber associated with it.  (Eclipse does not have it, CWM does.)
 +
 
 +
47. Do we really need the BooleanDataType class on Eclipse model?
 +
 
 +
48. DataLinkDataType in not documented in Eclipse model.
 +
 
 +
49. RowDataType is not documented in Eclipse model, and don’t understand how it differs from a structured user-defined type.
 +
 
 +
50. What is the difference between a ReferenceDataType and a foreign key in Eclipse model.
 +
 
 +
51. Association between CollectionDataType and DataType goes through ConstructedDataType.
 +
 
 +
52. ArrayDataType and MultisetDataType should either be removed and indicated in CollectionDataType, or should use UML notation for unique and ordered.
 +
 
 +
 
 +
Others
 +
53. In the Expressions metamodel, the stereotype «interface» is not permitted in MOF.
 +
 
 +
54. SearchConditionDefault class is not documented in Eclipse model.
 +
 
 +
55. Association between Schema and Routine should be composition, not aggregation in Eclipse model.
 +
 
 +
56. Eclipse uses timestamps rather arbitrarily in Routine.
 +
 
 +
57. RoutineResultTable is not documented in Eclipse model.  And it should probably be a subtype of TemporaryTable, instead of Table.
 +
 
 +
58. On Function class, the “can return either a table or a scalar, but not both” note, should be replaced by a formal {xor} on the diagram  (On Eclipse model)
 +
 
 +
59. Association end from Function to Parameter should be returnScalar and should also indicate {subset} of parameters. (On Eclipse model)
 +
 
 +
60. Should there be a package for stored procedures?  (Neither CWM nor Eclipse have one.)
 +
 
 +
61. On the Schema diagram, all white diamonds should be black diamonds, on Eclipse model [white diamonds have no meaning for MOF]
 +
 
 +
62. CWM has “Database”, and Eclipse has “Catalog”.  Are they the same notion?
 +
 
 +
63. In the Eclipse and CWM models, a schema may only reside on a single database.  Should be able to deploy the same schema (data model) in multiple physical databases.
 +
 
 +
64. Should separate the notions of database from database software—and deployments thereof.  Extra complication: the same Oracle installation can have multiple Oracle homes.
 +
 
 +
65. In the Statements metamodel, the stereotype «interface» is not valid for MOF.

Revision as of 20:00, 24 August 2006

These are issues and questions identified by the IMM Submission Team at the workshop at MetLife.

Metamodel 1. For MOF compliance “boolean” should be Boolean, “int” should be Integer.

2. Eclipse and CWM are different on deferability; CWM is preferable in having a single enumerated attribute rather than several Booleans which require constraints to prevent invalid combinations

3. [Aside – in IMM Trigger will integrate with UML Trigger from UML Communications package (Fig. 316)]


Triggers

4. Are triggers needed at both schema and DB level (e.g. on-logon, user function trace)? DDL and DML change events? (Oracle, yes)

5. Eclipse model has a timeStamp on trigger, CWM does not. Is there a real justification for this?

6. For the same table, same event, same timing, can you multiple triggers; i.e., can you trigger two different processes for the same event on the same table? (Yes, for UDB.)

7. Can you have more than one event for the same trigger? (Eclipse model says yes; CWM, no; UDB, no; SQL Server, no; Oracle says yes.)

8. CWM has no insteadOf trigger, but Eclipse model does.

Tables and columns 9. ColumnSet can have 0,* Columns, but Eclipse must have 1,*.

10. Should we have a UserDefinedTypes (StructuredUserDefinedType and DistinctUserDefinedType)? (Eclipse has specific Attribute subclass, CWM reuses Column though this will have capabilities not available to user defined types.)

11. CWM supports multiple inheritance, but shouldn’t. (Eclipse has single inheritance.)

12. ReferenceType on Table in Eclipse (system generated, user generated, or derived table). Do we want in IMM?

13. Derived insertable and updateable Table properties in Eclipse not understood. Need clarity.

14. Is there any benefit in having DerivedTable in Eclipse?

15. The derived Table not regarding naming is incorrect. (Eclipse)

16. Views are read-only in CWM but not in Eclipse. Should the DB determine this?

17. Eclipse has no Check option on View. (UDB, SQL Server, and Oracle do have.)

18. Columns can have 0,.1 identitySpecifier xor generalExpression in Eclipse. CWM does not have. Should add. (Was also an issue filed for CWM.)

19. CWM does not have defaultValue, but should. (Eclipse does.)

20. CWM does not have scopeCheck and scopeChecked

21. What does implementationDependent mean in Eclipse model?

22. Why is SQLDefinedType owned by a TypedElement (in Eclipse)? SQLDefinedType is shown with a ‘black diamond’ composition of TypedElement. Is not correct.

23. How do you specify the default value for a structure type?

The default value is the instance created using the default constructor. ?. To be discussed.

24. Precision, scale, and length should be attributes at both data type and column level. (SQL Server does not have this; CWM has it at both levels; Eclipse has it only at data type level) Also, the column level values must be a subset of data type values)

25. Should have CharacterSetType. (Eclipse does not have it; CWM does.)

Need some elaboration on CharacterSetType.

26. Is Collation useful/used? (CWM has it.)

As of this time, we have not utilizing Collation in our tooling. So Collation has been left undefined in the Eclipse model.

27. Schema should own groups and roles, not databases.

To be discussed.

28. Every SQL Object in metamodel should have an owner.

Need elaboration.

29. Should there be assertions on a schema that can constrain one or more tables. (On Eclipse model)

To be discussed.

30. Why is an assertion mandatory for a BaseTable, but not constraints. (On Eclipse model)

Assertion can be optional for a BaseTable. We need to reflect that in the Eclipse model.

Keys 31. ForeignKey should relate to PrimaryKey, rather than UniqueConstraint. (On Eclipse model)

Some vendors allow ForeignKey to reference a UniqueConstraint or a unique Index. We wanted the Eclipse model to have the flexibility to support that.

32. Eclipse does not constrain the ordering of PK with FK; CWM does.

We can put a note to this effect in the Eclipse model.

33. In Eclipse, the ForeignKey to Column association is mandatory in figure, but comments indicate optional.

? We could not find the comment/s which indicates the association as optional.

34. Index to IndexMember association, there are two mandatory, black diamonds. This is a metamodel bug in Eclipse model (any instance can only ever have one composite owner)

We need a note in the model to constrain an IndexMember instance to be owned by a single Index instance.

35. Note on Index and IndexMember associations should be expressed as an OCL constraint, not a note in Eclipse model.

We can do so.

36. Several OCL constraints on the constraints diagram refer to “constainedColumns” – which doesn’t exist. (On Eclipse model)

The “constrainedColumns” in the OCL constraints need to be changed to “members”.

Indexes 37. What is a fillFactor in the Index class? Is not documented in Eclipse model.

The fillFactor specifies the percentage of space to leave free for updates and insertions within each of the index’s data blocks.

38. Want isSorted on Index. (CWM has it, Eclipse does not.)

Not all vendors implement the”isSorted” property. So we left it to be modeled in vendor specific extensions of the Eclipse model.

39. CWM has partitioning and Eclipse has clustering. We need both.

Partitioning is vendor specific and we left the modeling to vendor specific extensions of the Eclipse model.

Data Types 40. In CharacterStringDataType, the fixedLength property should not be derived (because vendor-defined types are not addressed in the derivation).

41. CoercibilityType in CharacterStringDataType is not documented well in Eclipse model.

42. CWM defines CharacterSet differently than Eclipse. Need to discuss.

43. CWM does not permit CharacterSet against a DataType, and Eclipse does not permit it to be defined against a Column.

44. Eclipse defines a fixed set of PrimitiveTypes, CWM does not.

45. On Eclipse, the IntegerDataType note “Scale is always zero” should be expressed as a constraint, not a note.

46. PrimitiveType should have a typeNumber associated with it. (Eclipse does not have it, CWM does.)

47. Do we really need the BooleanDataType class on Eclipse model?

48. DataLinkDataType in not documented in Eclipse model.

49. RowDataType is not documented in Eclipse model, and don’t understand how it differs from a structured user-defined type.

50. What is the difference between a ReferenceDataType and a foreign key in Eclipse model.

51. Association between CollectionDataType and DataType goes through ConstructedDataType.

52. ArrayDataType and MultisetDataType should either be removed and indicated in CollectionDataType, or should use UML notation for unique and ordered.


Others 53. In the Expressions metamodel, the stereotype «interface» is not permitted in MOF.

54. SearchConditionDefault class is not documented in Eclipse model.

55. Association between Schema and Routine should be composition, not aggregation in Eclipse model.

56. Eclipse uses timestamps rather arbitrarily in Routine.

57. RoutineResultTable is not documented in Eclipse model. And it should probably be a subtype of TemporaryTable, instead of Table.

58. On Function class, the “can return either a table or a scalar, but not both” note, should be replaced by a formal {xor} on the diagram (On Eclipse model)

59. Association end from Function to Parameter should be returnScalar and should also indicate {subset} of parameters. (On Eclipse model)

60. Should there be a package for stored procedures? (Neither CWM nor Eclipse have one.)

61. On the Schema diagram, all white diamonds should be black diamonds, on Eclipse model [white diamonds have no meaning for MOF]

62. CWM has “Database”, and Eclipse has “Catalog”. Are they the same notion?

63. In the Eclipse and CWM models, a schema may only reside on a single database. Should be able to deploy the same schema (data model) in multiple physical databases.

64. Should separate the notions of database from database software—and deployments thereof. Extra complication: the same Oracle installation can have multiple Oracle homes.

65. In the Statements metamodel, the stereotype «interface» is not valid for MOF.

Back to the top