Notation Semantics - ERD - Entities - Domains - Domain Usage - SQL



E_Mantis_bug_file_table . . SQL

          .pk  D_Number                             a_ID_
       ref.nn  E_Mantis_bug_table                   a_bug_id
          .    D_str_250                            a_title
          .    D_str_250                            a_description
          .    D_str_250                            a_diskfile
          .    D_str_250                            a_filename
          .    D_str_250                            a_folder
          .    D_Number                             a_filesize
          .    D_str_250                            a_file_type
          .    D_Timestamp                          a_date_added
          .    D_BLOB                               a_content


E_Mantis_bug_history_table . . SQL

          .pk  D_Number                             a_ID_
       ref.    E_Mantis_user_table                  a_user_id
       ref.nn  E_Mantis_bug_table                   a_bug_id
          .    D_Timestamp                          a_date_modified
          .    D_str_32                             a_field_name
          .    D_str_128                            a_old_value
          .    D_str_128                            a_new_value
          .    D_Number                             a_Type_


E_Mantis_bug_monitor_table . . SQL

       ref.pk  E_Mantis_user_table                  a_user_id
       ref.pk  E_Mantis_bug_table                   a_bug_id


E_Mantis_bug_relationship_table . . SQL

          .pk  D_Number                             a_ID_
       ref.nn  E_Mantis_bug_table                   a_source_bug_id
       ref.    E_Mantis_bug_table                   a_destination_bug_id
          .    D_Number                             a_relationship_type


E_Mantis_bug_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_Number                             a_project_id
       ref.    E_Mantis_user_table                  a_reporter_id
       ref.    E_Mantis_user_table                  a_handler_id
       ref.    E_Mantis_bug_table                   a_duplicate_id
          .    D_Number                             a_priority
          .    D_Number                             a_severity
          .    D_Number                             a_reproducibility
          .    D_Number                             a_status
          .    D_Number                             a_resolution
          .    D_Number                             a_projection
          .    D_str_64                             a_category
          .    D_Timestamp                          a_date_submitted
          .    D_Timestamp                          a_last_updated
          .    D_Number                             a_eta
          .    D_Number                             a_bug_text_id
          .    D_str_32                             a_os
          .    D_str_32                             a_os_build
          .    D_str_32                             a_platform
          .    D_str_64                             a_version
          .    D_str_64                             a_fixed_in_version
          .    D_str_32                             a_build
          .    D_Number                             a_profile_id
          .    D_Number                             a_view_state
          .    D_str_128                            a_summary
          .nn  D_Number                             a_sponsorship_total
          .    D_Number                             a_sticky

          <--  is target of:  E_Mantis_sponsorship_table.bug_id
          <--  is target of:  E_Mantis_custom_field_string_table.bug_id
          <--  is target of:  E_Mantis_bugnote_table.bug_id
          <--  is target of:  E_Mantis_bug_table.duplicate_id
          <--  is target of:  E_Mantis_bug_relationship_table.destination_bug_id
          <--  is target of:  E_Mantis_bug_relationship_table.source_bug_id
          <--  is target of:  E_Mantis_bug_monitor_table.bug_id
          <--  is target of:  E_Mantis_bug_history_table.bug_id
          <--  is target of:  E_Mantis_bug_file_table.bug_id


E_Mantis_bug_text_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_str_4000                           a_description
          .    D_str_4000                           a_steps_to_reproduce
          .    D_str_4000                           a_additional_information


E_Mantis_bugnote_table . . SQL

          .pk  D_Number                             a_ID_
       ref.nn  E_Mantis_bug_table                   a_bug_id
       ref.    E_Mantis_user_table                  a_reporter_id
          .    D_Number                             a_bugnote_text_id
          .    D_Number                             a_view_state
          .    D_Timestamp                          a_date_submitted
          .    D_Timestamp                          a_last_modified
          .    D_Number                             a_note_type
          .    D_str_250                            a_note_attr


E_Mantis_bugnote_text_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_str_4000                           a_note


E_Mantis_config_table . . SQL

          .pk  D_str_64                             a_config_id
          .pk  D_Number                             a_project_id
       ref.pk  E_Mantis_user_table                  a_user_id
          .    D_Number                             a_access_reqd
          .    D_Number                             a_Type_
          .    D_str_4000                           a_value


E_Mantis_custom_field_project_table . . SQL

          .pk  D_Number                             a_field_id
          .pk  D_Number                             a_project_id
          .    D_Number                             a_sequence


E_Mantis_custom_field_string_table . . SQL

          .pk  D_Number                             a_field_id
       ref.pk  E_Mantis_bug_table                   a_bug_id
          .    D_str_255                            a_value


E_Mantis_custom_field_table . . SQL

          .pk  D_Number                             a_ID_
          .nn  D_str_64                             a_name
          .    D_Number                             a_Type_
          .    D_str_255                            a_possible_values
          .    D_str_255                            a_default_value
          .    D_str_255                            a_valid_regexp
          .    D_Number                             a_access_level_r
          .    D_Number                             a_access_level_rw
          .    D_Number                             a_length_min
          .    D_Number                             a_length_max
          .    D_Number                             a_advanced
          .    D_Number                             a_require_report
          .    D_Number                             a_require_update
          .    D_Number                             a_display_report
          .    D_Number                             a_display_update
          .    D_Number                             a_require_resolved
          .    D_Number                             a_display_resolved
          .    D_Number                             a_display_closed
          .    D_Number                             a_require_closed


E_Mantis_filters_table . . SQL

          .pk  D_Number                             a_ID_
       ref.    E_Mantis_user_table                  a_user_id
          .    D_Number                             a_project_id
          .    D_Number                             a_is_public
          .    D_str_64                             a_name
          .    D_str_4000                           a_filter_string


E_Mantis_news_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_Number                             a_project_id
          .    D_Number                             a_poster_id
          .    D_Timestamp                          a_date_posted
          .    D_Timestamp                          a_last_modified
          .    D_Number                             a_view_state
          .    D_Number                             a_announcement
          .    D_str_64                             a_headline
          .    D_str_4000                           a_body


E_Mantis_project_category_table . . SQL

          .pk  D_Number                             a_project_id
          .pk  D_str_64                             a_category
       ref.    E_Mantis_user_table                  a_user_id


E_Mantis_project_file_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_Number                             a_project_id
          .    D_str_250                            a_title
          .    D_str_250                            a_description
          .    D_str_250                            a_diskfile
          .    D_str_250                            a_filename
          .    D_str_250                            a_folder
          .    D_Number                             a_filesize
          .    D_str_250                            a_file_type
          .    D_Timestamp                          a_date_added
          .    D_BLOB                               a_content


E_Mantis_project_hierarchy_table . . SQL

          .pk  D_Number                             a_child_id
          .    D_Number                             a_parent_id


E_Mantis_project_table . . SQL

          .pk  D_Number                             a_ID_
          .nn  D_str_128                            a_name
          .    D_Number                             a_status
          .    D_Number                             a_enabled
          .    D_Number                             a_view_state
          .    D_Number                             a_access_min
          .    D_str_250                            a_file_path
          .    D_str_4000                           a_description


E_Mantis_project_user_list_table . . SQL

          .pk  D_Number                             a_project_id
       ref.pk  E_Mantis_user_table                  a_user_id
          .    D_Number                             a_access_level


E_Mantis_project_version_table . . SQL

          .pk  D_Number                             a_ID_
          .nn  D_Number                             a_project_id
          .nn  D_str_64                             a_version
          .    D_Timestamp                          a_date_order
          .    D_str_4000                           a_description
          .    D_Number                             a_released


E_Mantis_sponsorship_table . . SQL

          .pk  D_Number                             a_ID_
       ref.nn  E_Mantis_bug_table                   a_bug_id
       ref.    E_Mantis_user_table                  a_user_id
          .    D_Number                             a_amount
          .    D_str_128                            a_logo
          .    D_str_128                            a_url
          .    D_Number                             a_paid
          .    D_Timestamp                          a_date_submitted
          .    D_Timestamp                          a_last_updated


E_Mantis_tokens_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_Number                             a_owner
          .    D_Number                             a_Type_
          .    D_Timestamp                          a_timestamp
          .    D_Timestamp                          a_expiry
          .    D_str_4000                           a_value


E_Mantis_user_pref_table . . SQL

          .pk  D_Number                             a_ID_
       ref.    E_Mantis_user_table                  a_user_id
          .    D_Number                             a_project_id
          .    D_Number                             a_default_profile
          .    D_Number                             a_default_project
          .    D_Number                             a_advanced_report
          .    D_Number                             a_advanced_view
          .    D_Number                             a_advanced_update
          .    D_Number                             a_refresh_delay
          .    D_Number                             a_redirect_delay
          .    D_str_4                              a_bugnote_order
          .    D_Number                             a_email_on_new
          .    D_Number                             a_email_on_assigned
          .    D_Number                             a_email_on_feedback
          .    D_Number                             a_email_on_resolved
          .    D_Number                             a_email_on_closed
          .    D_Number                             a_email_on_reopened
          .    D_Number                             a_email_on_bugnote
          .    D_Number                             a_email_on_status
          .    D_Number                             a_email_on_priority
          .    D_Number                             a_email_on_priority_min_severity
          .    D_Number                             a_email_on_status_min_severity
          .    D_Number                             a_email_on_bugnote_min_severity
          .    D_Number                             a_email_on_reopened_min_severity
          .    D_Number                             a_email_on_closed_min_severity
          .    D_Number                             a_email_on_resolved_min_severity
          .    D_Number                             a_email_on_feedback_min_severity
          .    D_Number                             a_email_on_assigned_min_severity
          .    D_Number                             a_email_on_new_min_severity
          .    D_Number                             a_email_bugnote_limit
          .    D_str_32                             a_language


E_Mantis_user_print_pref_table . . SQL

       ref.pk  E_Mantis_user_table                  a_user_id
          .    D_str_27                             a_print_pref


E_Mantis_user_profile_table . . SQL

          .pk  D_Number                             a_ID_
       ref.    E_Mantis_user_table                  a_user_id
          .    D_str_32                             a_platform
          .    D_str_32                             a_os
          .    D_str_32                             a_os_build
          .    D_str_4000                           a_description


E_Mantis_user_table . . SQL

          .pk  D_Number                             a_ID_
          .    D_str_32                             a_username
          .    D_str_64                             a_realname
          .    D_str_64                             a_email
          .    D_str_32                             a_Password_
          .    D_Timestamp                          a_date_created
          .    D_Timestamp                          a_last_visit
          .    D_Number                             a_enabled
          .    D_Number                             a_protected
          .    D_Number                             a_access_level
          .    D_Number                             a_login_count
          .    D_Number                             a_lost_password_request_count
          .    D_Number                             a_failed_login_count
          .nn  D_str_64                             a_cookie_string

          <--  is target of:  E_Mantis_user_profile_table.user_id
          <--  is target of:  E_Mantis_user_print_pref_table.user_id
          <--  is target of:  E_Mantis_user_pref_table.user_id
          <--  is target of:  E_Mantis_sponsorship_table.user_id
          <--  is target of:  E_Mantis_project_user_list_table.user_id
          <--  is target of:  E_Mantis_project_category_table.user_id
          <--  is target of:  E_Mantis_filters_table.user_id
          <--  is target of:  E_Mantis_config_table.user_id
          <--  is target of:  E_Mantis_bugnote_table.reporter_id
          <--  is target of:  E_Mantis_bug_table.handler_id
          <--  is target of:  E_Mantis_bug_table.reporter_id
          <--  is target of:  E_Mantis_bug_monitor_table.user_id
          <--  is target of:  E_Mantis_bug_history_table.user_id


end of o.mantis.er1 ERD




How to read the ERD above:

Prefixes E_, R_, S_, A_, e_ in front of a name show what kind of concept the name x in question is denoting: E_x is an entity class. Note however: We write e_x instead of E_x where we want to say that E_x is occurring in the role of a superclass. If a class E_x1 is a specialization of another class E_x, i.e. if each instance of E_x1 can be also be seen as an instance of type E_x, then e_x is meant to be the group of all attributes of E_x1 defined in E_x already (the set of all inherited attributes). R_x is entity class E_x representing entity associations that are not of cardinality 1:n or n:1 (they need not even be binary relations). A_x is an attribute of an entity class, same as a_x() in C++ or Java. S_x is a complex attribute (i.e. a set of attributes), same as a_x() in C++ or Java. We write a_x where we do not care to see whether attribute x is complex or not. D_x is a domain, i.e. an attribute type. pk says that this attribute is part of the entity's primary key. nn says that this is a NOT NULL attribute. c: is to mark core entity types (types that do not specialize any other type). Types not marked as core entity types inherit structure from their - always unique - direct supertype). A Core Type is an entity type that is not a specialization of another entity type in the model shown. : Specialisation hierarchies are shown in this form: ------------------------------------------------- | E_x3 | e_x1 | e_x2 . E_x3 structure not inherited means: E_x3 specializes E_x2 (so that all structure of E_x2 is also structure of E_x3). E_x3 is a direct subtype of E_x2, and E_x2 is a direct subtype of E_x1. : Entity Relationship Structure is shown as follows: ------------------------------------------------- : E_x1 ->> set of E_x2 a_Name means: Given any object x1 of type E_x1, x1.a_Name() is an instance of a List h_Name defined in the ERD (the Name can be seen as describing the role of the list members in relation to x1). : E_x1 . E_x2 x3 (to be read as: <-- E_x2.x3 ) means: Each value E_x1.A_x3 is primary key of an entity of type E_x2, so that ( E_x1, E_x2 ) is a relation of cardinality (m:1) or (1:1). : E_x1 . D_x2 x3 . S_x2 x3 means: Each value E_x1.A_x3 is an attribute of type D_x2 (resp. S_x2, S_x2 a set of attributes such that records of type S_x2 make sense in themselves). R_x1 is a type E_x1 that can be interpreted as a relationship type of a specific dimension n, 2 <= n. Note: Classes E_x without relation structure --> or <<- tend to be superfluous. They form a self-contained ERD model which quite often does not make sense in isolation. Here is an example: Classes meant to be enumerations such as e.g. : E_Category . A_Value D_ValueName . A_Semantics D_Comment . A_ObsoleteSince D_Date need usually not exist in form of a separate table. To model it in form of a domain D_Category together with an attribute A_ObsoleteSince in the table E_DomainValues would be better: : E_DomainValues . A_Domain D_DomainName . A_Value D_ValueName . A_Semantics D_Comment . A_ObsoleteSince D_Date To have such a table documenting the semantics of all the values of enumeration domains is recommended and definitely helpful (the fact that most developers do not create this table is really bad practice).

Notation Semantics - ERD - Entities - Domains - Domain Usage - SQL


All Entity Types
( grouped - goto sorted by Name )

       E_Mantis_bug_file_table
       E_Mantis_bug_history_table
       E_Mantis_bug_monitor_table
       E_Mantis_bug_relationship_table
       E_Mantis_bug_table
       E_Mantis_bug_text_table
       E_Mantis_bugnote_table
       E_Mantis_bugnote_text_table
       E_Mantis_config_table
       E_Mantis_custom_field_project_table
       E_Mantis_custom_field_string_table
       E_Mantis_custom_field_table
       E_Mantis_filters_table
       E_Mantis_news_table
       E_Mantis_project_category_table
       E_Mantis_project_file_table
       E_Mantis_project_hierarchy_table
       E_Mantis_project_table
       E_Mantis_project_user_list_table
       E_Mantis_project_version_table
       E_Mantis_sponsorship_table
       E_Mantis_tokens_table
       E_Mantis_user_pref_table
       E_Mantis_user_print_pref_table
       E_Mantis_user_profile_table
       E_Mantis_user_table
Notation Semantics - ERD - Entities - Domains - Domain Usage - SQL


All Entity Types
( sorted by Name - goto grouped )



M

       E_Mantis_bug_file_table
       E_Mantis_bug_history_table
       E_Mantis_bug_monitor_table
       E_Mantis_bug_relationship_table
       E_Mantis_bug_table
       E_Mantis_bug_text_table
       E_Mantis_bugnote_table
       E_Mantis_bugnote_text_table
       E_Mantis_config_table
       E_Mantis_custom_field_project_table
       E_Mantis_custom_field_string_table
       E_Mantis_custom_field_table
       E_Mantis_filters_table
       E_Mantis_news_table
       E_Mantis_project_category_table
       E_Mantis_project_file_table
       E_Mantis_project_hierarchy_table
       E_Mantis_project_table
       E_Mantis_project_user_list_table
       E_Mantis_project_version_table
       E_Mantis_sponsorship_table
       E_Mantis_tokens_table
       E_Mantis_user_pref_table
       E_Mantis_user_print_pref_table
       E_Mantis_user_profile_table
       E_Mantis_user_table

These are 26 Entity Types



Notation Semantics - ERD - Entities - Domains - Domain Usage - SQL


Our Physical Domain Implementation
       
Domain          
 
        Datatype
 
D_BLOBBLOB
D_NumberINTEGER
D_TimestampTIMESTAMP
D_UpdateNrINT
D_str_128VARCHAR(128)
D_str_250VARCHAR(250)
D_str_255VARCHAR(255)
D_str_27VARCHAR(27)
D_str_32VARCHAR(32)
D_str_4VARCHAR(4)
D_str_4000VARCHAR(4000)
D_str_64VARCHAR(64)



Notation Semantics - ERD - Entities - Domains - Domain Usage - SQL


Where Domains are actually used


 
        Where Domain Types are used
 

Here you can see whether there are Domain Types no longer in use.


BLOB :
.   E_Mantis_bug_file_table
.   E_Mantis_project_file_table
|
Number :
.   E_Mantis_bug_file_table
.   E_Mantis_bug_history_table
.   E_Mantis_bug_monitor_table
.   E_Mantis_bug_relationship_table
.   E_Mantis_bug_table
.   E_Mantis_bug_text_table
.   E_Mantis_bugnote_table
.   E_Mantis_bugnote_text_table
.   E_Mantis_config_table
.   E_Mantis_custom_field_project_table
.   E_Mantis_custom_field_string_table
.   E_Mantis_custom_field_table
.   E_Mantis_filters_table
.   E_Mantis_news_table
.   E_Mantis_project_category_table
.   E_Mantis_project_file_table
.   E_Mantis_project_hierarchy_table
.   E_Mantis_project_table
.   E_Mantis_project_user_list_table
.   E_Mantis_project_version_table
.   E_Mantis_sponsorship_table
.   E_Mantis_tokens_table
.   E_Mantis_user_pref_table
.   E_Mantis_user_print_pref_table
.   E_Mantis_user_profile_table
.   E_Mantis_user_table
|
Timestamp :
.   E_Mantis_bug_file_table
.   E_Mantis_bug_history_table
.   E_Mantis_bug_table
.   E_Mantis_bugnote_table
.   E_Mantis_news_table
.   E_Mantis_project_file_table
.   E_Mantis_project_version_table
.   E_Mantis_sponsorship_table
.   E_Mantis_tokens_table
.   E_Mantis_user_table
|
str_128 :
.   E_Mantis_bug_history_table
.   E_Mantis_bug_table
.   E_Mantis_project_table
.   E_Mantis_sponsorship_table
|
str_250 :
.   E_Mantis_bug_file_table
.   E_Mantis_bugnote_table
.   E_Mantis_project_file_table
.   E_Mantis_project_table
|
str_255 :
.   E_Mantis_custom_field_string_table
.   E_Mantis_custom_field_table
|
str_27 :
.   E_Mantis_user_print_pref_table
|
str_32 :
.   E_Mantis_bug_history_table
.   E_Mantis_bug_table
.   E_Mantis_user_pref_table
.   E_Mantis_user_profile_table
.   E_Mantis_user_table
|
str_4000 :
.   E_Mantis_bug_text_table
.   E_Mantis_bugnote_text_table
.   E_Mantis_config_table
.   E_Mantis_filters_table
.   E_Mantis_news_table
.   E_Mantis_project_table
.   E_Mantis_project_version_table
.   E_Mantis_tokens_table
.   E_Mantis_user_profile_table
|
str_4 :
.   E_Mantis_user_pref_table
|
str_64 :
.   E_Mantis_bug_table
.   E_Mantis_config_table
.   E_Mantis_custom_field_table
.   E_Mantis_filters_table
.   E_Mantis_news_table
.   E_Mantis_project_category_table
.   E_Mantis_project_version_table
.   E_Mantis_user_table


Notation Semantics - ERD - Entities - Domains - Domain Usage - SQL

, 26 Tables