Changes between Version 2 and Version 3 of ERModel


Ignore:
Timestamp:
07/18/26 14:39:33 (8 days ago)
Author:
236024
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ERModel

    v2 v3  
    22== Diagram ==
    33
    4 [[Image(ERModel_v08.png)]]
     4[[Image(wiki:ERModel:ERModel_v08.png, width=100%)]]
    55== Data requirements ==
    66
     
    344344||v07||Changed names to attributes and relationships so that all relationships are named and no attributes or relationships share the same name.||
    345345||v08||Changed the weak entity keys of !EventSessions, !EventEditions and !ActivitySessions to account for edge cases where two sessions or editions could otherwise have the same identifying values and need location/title/start time to distinguish them.||
     346
     347\\
     348
     349= Entity-Relationship Model AI Usage =
     350
     351AI was used during the Entity-Relationship model phase only to review and improve my own initial model. The first versions of the model were created by me, and the AI was used afterwards to inspect the model, compare it with the project requirements, suggest possible improvements, explain unclear modeling choices, and help write the model documentation.
     352
     353My conversations with AI models, just like now, are usually for challenging my own way of thinking about the project and debating possible inconsistencies thoroughly.
     354
     355The final modeling decisions were made by me. Some AI suggestions were accepted, such as improving relationship names, clarifying weak entity keys, documenting data requirements, and checking consistency between the ER diagram and the written description. Other suggestions were rejected or adjusted when they did not match the intended scope of the project, for example adding unnecessary application review data, modeling event attendance, or expanding company management.
     356
     357The changes made based on useful AI suggestions are documented in the model history above. The full AI usage documentation is shown below.
     358
     359== Name of AI service/solution that was used ==
     360
     361OpenAI Codex / ChatGPT
     362
     363'''URL:'''
     364https://chatgpt.com/
     365
     366'''Type of service/subscription:'''
     367AI conversational and coding assistant, accessed through an OpenAI Plus subscription account.
     368
     369== Final result ==
     370
     371'''Diagram:'''
     372
     373[[Image(wiki:ERModel:ERModel_v08.png)]]
     374
     375'''Model description:'''
     376
     377The final result is ERModel_v08, an Entity-Relationship model for BEST Skopje Hub. The model represents students, members, membership stages, organizational functions, activity sessions, event editions, event sessions, applications, companies, attendance, absence announcements, volunteering, mentorship, and event/company cooperation.
     378
     379AI was not used to generate the final model from scratch. It was used to review my own model, suggest alternatives, explain unclear relationship/cardinality choices, and help improve the written data requirements. The final model decisions were selected and adjusted by me according to the actual scope of the BEST Skopje Hub project.
     380
     381== Entire AI usage log ==
     382
     383The following is a line-by-line log of the relevant interactions with the AI during the ER modeling phase.
     384
     385'''Prompt 1:'''
     386Are you able to read the latest version ER model in this folder?
     387
     388'''AI response 1:'''
     389The AI inspected the project folder, identified the latest ER model file at the time, and confirmed that it could read the TerraER XML structure. It listed the main entities and relationships found in the model.
     390
     391'''Prompt 2:'''
     392Can you tell me if the ER model fulfills my requirements and if not, what is missing, and what is redundant?
     393
     394'''AI response 2:'''
     395The AI compared the ER model with the BEST Skopje Hub requirements and the attached project description. It identified which concepts were already represented and suggested possible missing or redundant concepts, including attendance, applications, core team functions, member stages, event editions, and company cooperation.
     396
     397'''Prompt 3:'''
     398I responded to the AI suggestions and explained which features were intentionally out of scope, such as attendance for events, application review data, and detailed company management.
     399
     400'''AI response 3:'''
     401The AI revised its assessment based on my clarifications. It agreed that several earlier suggestions were unnecessary for this project and narrowed the advice to the parts that mattered for the ER model.
     402
     403'''Prompt 4:'''
     404How could event/session eligibility be modeled in the ER Model?
     405
     406'''AI response 4:'''
     407The AI explained that eligibility could be modeled either as an attribute, as a relationship to !MembershipStages, or through a separate audience group entity, but also explained that this could remain business logic if it was not configurable data.
     408
     409'''Prompt 5:'''
     410I'm confused about the relationship between !FullMembers and !OrganizationalFunctions. Should it be N:M or 1:N or N:1?
     411
     412'''AI response 5:'''
     413The AI explained that the relationship should be N:M because one full member can hold multiple organizational functions over time, and one organizational function can be held by different full members in different mandates.
     414
     415'''Prompt 6:'''
     416Should valid_from and valid_to dates be added? I thought mandate implies that.
     417
     418'''AI response 6:'''
     419The AI explained that mandate can be enough for the project if it represents the time period of holding a function. It suggested that valid_from and valid_to would only be necessary for more precise temporal tracking, which I decided not to include.
     420
     421'''Prompt 7:'''
     422All relationships should be named and duplicate attribute/relationship names need to be fixed.
     423
     424'''AI response 7:'''
     425The AI first suggested broad renaming, then corrected the suggestion after I clarified that only duplicate names needed to be changed. It helped identify duplicate names and suggested clearer names for relationships and attributes.
     426
     427'''Prompt 8:'''
     428I wanted better names than "has" for identifying relationships such as !ActivitySessions and !ActivityTypes.
     429
     430'''AI response 8:'''
     431The AI suggested names such as instance_of, edition_of, part_of, session_inst_of, and available_for, which helped improve the readability of the ER model.
     432
     433'''Prompt 9:'''
     434I asked the AI to help organize the data requirements for ERModel_v07 based on my existing ER model.
     435
     436'''AI response 9:'''
     437The AI extracted the entities, relationships, attributes, and keys from my existing model and suggested a draft structure for the data requirements. I reviewed, corrected, and adapted the explanations, candidate keys, and logical attribute types before including them in the final documentation.
     438
     439'''Prompt 10:'''
     440Write the data requirements in TracWiki notation.
     441
     442'''AI response 10:'''
     443The AI converted the data requirements into TracWiki-style headings and bullet lists.
     444
     445'''Prompt 11:'''
     446I asked about the key of !EventSessions, especially because !EventSessions is weakly identified by both !EventEditions and !EventSessionTypes.
     447
     448'''AI response 11:'''
     449The AI corrected its earlier interpretation and explained that the full key of !EventSessions should include the !EventEditions key, the !EventSessionTypes key, and the partial key of !EventSessions.
     450
     451'''Prompt 12:'''
     452Check ERModel_v08 and the newest data requirements.
     453
     454'''AI response 12:'''
     455The AI compared the actual ERModel_v08 file with the written data requirements and found several small mismatches, such as stale key wording and naming inconsistencies. These were corrected in the documentation.
     456
     457'''Prompt 13:'''
     458I repeatedly asked the AI to check the model and text again.
     459
     460'''AI response 13:'''
     461The AI rechecked the model and text multiple times, verifying that all entities, relationships, attributes, weak keys, relationship names, and data requirement descriptions matched. It found and helped fix small text issues.
     462
     463'''Prompt 14:'''
     464I asked why names such as !EventEditions were being rendered as links in TracWiki.
     465
     466'''AI response 14:'''
     467The AI explained that TracWiki automatically links CamelCase words and that adding an exclamation mark before such words prevents automatic linking.
     468
     469'''Prompt 15:'''
     470I asked the AI to rewrite the text with exclamation marks before CamelCase entity names.
     471
     472'''AI response 15:'''
     473The AI generated a TracWiki-safe version of the text where CamelCase model names were escaped with !, preventing unwanted wiki links.