Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V1 diagram #2

Closed
wants to merge 0 commits into from
Closed

V1 diagram #2

wants to merge 0 commits into from

Conversation

DanielLoth
Copy link
Owner

@DanielLoth DanielLoth commented Jul 4, 2021

This is a continuation of the discussion related to the data model diagram originally shared in this GitHub Gist: https://gist.github.com/DanielLoth/a272a601e38c9c6f2c002956b08d534e


Most recent version of the data model expressed as a diagram:

2021-07-04 - Current

@DanielLoth
Copy link
Owner Author

Some of the most recent comments copied from the Gist are below.

@DanielLoth
Copy link
Owner Author

Hi Derek,

So with the current model I don't have Person as a base type. But conceivably anyone who visits the range could be captured within the system as a Person.

This could include:

  1. Site visitors doing routine maintenance (tradespeople)
  2. Spouses who are non-shooters
  3. Volunteers who are non-shooters who offer help with an event such as a working bee
  4. First-time shooters participating in a 'try the sport under supervision' event.

The extent of their system usage would be minimal of course. Specifically, they'd be able to record that they were in attendance at club premises on a given date using the Attendance table that my initial question on c.d.t was concerned with.
That Attendance table needs a better name.

Having said that, clubs could also just maintain a paper register for 'guest' visitors, and full-fledged members could record their attendance at club premises in the system. When we used the paper register at a club I occasionally visited, the requirement was to sign one's name and specify the date of the visit.

The next level is what you've described. Full-fledged membership and substantial access that it affords. At that point I wholly expect that provision of an identity document would have been requested.

If it were a first-timer then they'd have a 6 month lead time prior to being provisionally licenced, so that identity document would be a Driving Licence / Proof of Age card / Passport.

In this situation, they won't be recognised by, or affiliated with, any of the Governing Bodies (ISSF, Pistol Australia, WA1500), but they would be able to participate in club activities under supervision.

My experience as a sport shooter was 8 to 10 years ago now and is pretty limited. My stepfather on the other hand is still quite involved.
But we only ever did pistol stuff, so I'm completely unfamiliar with some of the other categories (rifle, clay target, etc).

Fundamentally though, the regulatory framework was the same. A legislated minimum number of events or activities that a licence holder must participate in to retain their licence.

The key difference was that the number of events required was higher for holders of a Pistol licence (and notably they had discrete minimum event participation for rimfire and centrefire if a person is licenced to hold both types of firearm) compared to other classes of licence (e.g.: Rifle).

Cheers,
Dan

@DanielLoth
Copy link
Owner Author

Dan

So with the current model I don't have Person as a base type. But conceivably anyone who visits the range could be captured within the system as a Person.

Yes. Now we get into just how much info is captured.
[1] Yes. Just their Drivers Licence or other gov't approved photo ID.
[2][3] are pretty much the same. The point is attendance vs security. We want to known absolutely everyone who was at that range on that date/time. I have seen kids being entered on their mother's ID as guarantor. The range itself is "hot", so [2][3] are prohibited on the range proper, no access to guns.
[4] Each state has different laws. In NSW there is no such thing as [4], we can't even enter a National Park with a gun, and they are full of ferals. In VIC, they welcome shooters in National Parks, in order to keep the ferals down. [4] is standard fare, practically everyone in VIC has tried shooting without having to go through the licence rigmarole. QLD is even more open, but I don't know the details.

Having said that, clubs could also just maintain a paper register for 'guest' visitors, and full-fledged members could record their attendance at club premises in the system. When we used the paper register at a club I occasionally visited, the requirement was to sign one's name and specify the date of the visit.

Yes, some still do that. But a photo ID must be sighted by the person behind the desk.
It is a no-brainer to put that piece of paper in a spreadsheet.

If it were a first-timer then they'd have a 6 month lead time prior to being provisionally licenced, so that identity document would be a Driving Licence / Proof of Age card / Passport.

It was 30 days for the SSAA when I first joined. (I have not checked in a while.) I have not heard of 6 months. Then the club membership is easy, a progression. So if you limit the system to clubs (not SSAA, which has a system), you still have to register the Person as an SSAA member first, then a club member.

What do you mean by provisionally licensed ?

In this situation, they won't be recognised by, or affiliated with, any of the Governing Bodies (ISSF, Pistol Australia, WA1500),

Yes.

but they would be able to participate in club activities under supervision.

Not in my club RANRRC. Only in in VIC AFAIK, possibly QLD.

Fundamentally though, the regulatory framework was the same. A legislated minimum number of events or activities that a licence holder must participate in to retain their licence.

Yes.

The key difference was that the number of events required was higher for holders of a Pistol licence (and notably they had discrete minimum event participation for rimfire and centrefire if a person is licenced to hold both types of firearm) compared to other classes of licence (e.g.: Rifle).

Sort of. There is more to it.

  1. The firearm Categories are (NSW):

    • A = rimfire rifle & shotgun
    • B = centrefire rifle
    • H = Handgun
    • In order to get a [H], one must already have [A][B] and be known at the club
    • Only security guards can obtain an [H] with out first obtaining [A][B] ... and I think in some states that is an [S] Category.
  2. You must have a Good & Proper Reason (or Genuine Reason) to justify owning each firearm. That means owning a farm or large property, and putting injured animals down, or and vermin control, or target shooting (must belong to a club). And that applies to the firearm not the licence (each firearm is a separate application & waiting time). Eg. mine is:

    • A Recreational Hunting, Vermin Control
    • B Recreational Hunting, Vermin Control
    • H = Target Shooting (club only)

For [A][B], 10 attendances per annum, that is to keep your [A][B] licence and [A][B] guns. For [H] 10 attendances pa to keep your [H] licence and [H] guns.

That is also why an Attendance has to register the category {A|B|H}. An ordinary scheduled club event (eg. Centrefire 200m or 400m) constitutes an Attendance in that category. RANRRC events are 80 to 100 rounds, and a bit of a serious affair. Obviously, that is how a normal RecHunter gets his practice, and covers his Attendances. So "Target Shooting" is not shown in the [2] Categories above, it is implied. Eg. when I was competing, that would be ~40 Attendances pa.

A licensed Person may also go to an ordinary SSAA range (not a club the way we have described it), and shoot a box of ammo (20 rounds). That would be 50m (St Marys) or 100m (Silverdale), very few go beyond that distance. I know of just one in VIC. That would cover the minimum 10 Attendances. Such people are doing the minimum to keep their guns.

I can't recall the minimum for RecHunting, I think it is 4 Attendances. It must be a Hunting Club, not a mere Target Shooting club. Eg. I had to additionally belong to a Hunting club to keep my RecHunting category. Hunting Clubs may have Hunting Events. That is big in VIC, pathetic in NSW. I have a friend who has a Hunting Club, and he tried to get Target Shooting accreditation, but they did not allow it, as it is an obvious trick to fiddle Attendances.

Vermin Control can only be done on an owned property, and virtually no city shooters can do that. But farmers (not shooters) can get a permit to cull roos from National Parks & Wildlife (not the Firearms Registry). Eg. to cull 2,000 roos pa. If they do not use their quota, it will be lowered for the next year. So in November/December, they call reputable Target Shooting clubs and invite them to come over and fill their quota. That is where we get our Vermin Control in. That is not hunting (fair chase rules; dawn to dusk only), but shooting at night under a spotlight. On my best night years ago, I shot 83 roos; 13 foxes; 4 cats; 1 dog. The cat was twice the size of a normal cat. On a couple of properties that are next to National Parks, the vermin are pigs.

We need gear for that: a 4WD that one is open to getting damaged; properly set up; spotlights; etc. So we had a register of members who had such, and were willing to perform Vermin Control for farmers, whom we could call when a farmer called the club. Believe me, to get 83 kill shots at a distance, zero wounded ferals, one needs serious Target Shooting practice.

Cheers
Derek

@DanielLoth
Copy link
Owner Author

I think I'm going to rename the current Attendance to Visit.

@DanielLoth
Copy link
Owner Author

A bit more information in relation to the rationale for the 'Visit' log:

Visit log is:

  1. Attendance at the club premises of non-members
  2. A record for insurance purposes
  3. Compliance with NSW Police.

Club uses two logs. One for members, one for visitors / guests.

And I got a bit more information about the membership process:

Membership:

  1. P650 form to be completed before trying the sport. Declaration of good character. Full identification provided on this form. Valid 4 weeks. Training occurs during this period.

At this point they choose to continue with the sport or not. If they continue:

  1. They apply, application goes to committee.
  2. Application approved by vote. If approved:
  3. We give them a membership number
  4. We put them on the club membership register - they pay club fees
  5. Register them with the peak body - fees paid to peak body
  6. Official training starts - safety course etc.
  7. Probationary licence.

P650 link: https://www.police.nsw.gov.au/online_services/firearms/clubs/firearms_safety_training_instructor/frequently_asked_questions_on_the_p650_process

@DanielLoth
Copy link
Owner Author

Dan

H licence details

Ok, for the Handgun category, things have expanded since the last time I helped someone get their permits. I gave up my pistols when I stopped competing.

So still potentially no affiliation with an organisation like ISSF / Pistol Australia, but membership in a peak body ('capitated with the peak body').

I don't like the label Peak Body, it tells me precisely nothing, NSWAPA appears to be under Pistol Australia, which means NSWAPA is not at the peak. Let's call it Level 1 Organisation. And later NSWAPA may be Level 2. These orgs seem to provide insurance (not sure, you have to research), and facilities & activity standards that have to be met. Iow, a central org for governing clubs.

AFAIK, only SSAA provides insurance (for a person, and separately for a club). Eg. if I shoot anywhere (farm; NP; range), I m covered by SSAA insurance.

Clubs would be dependent on a Level 1 or 2 org. Alternately, 1 x Level 1 or 2 org plus an Insurance-providing org.

Alternately, Level 1 is federal, Level 2 is State. Consequently, Clubs must belong to State or Level 2 org (not Level 1). You figure it out.

What about federal clubs (eg. preparation for Olympics) ? I can't remember the details, but when I was competing, it was clearly state level for B Grade, and they pushed the good guys into A Grade, saying it was a small jump, but everyone knew it was a big jump, preparation for the Olympics and other international events and government by federal level orgs.

ISSF and the like (there are many) are completely different orgs. These should be labelled Discipline. No insurance, no standards re club facilities and activities. Standards only for the events, theirs in particular. Clubs can shoot a Discipline only if they are affiliated to it.

Cheers
Derek

@DanielLoth
Copy link
Owner Author

Dan

ISSF and the like (there are many) are completely different orgs. These should be labelled Discipline. No insurance, no standards re club facilities and activities. Standards only for the events, theirs in particular. Clubs can shoot a Discipline only if they are affiliated to it.

Eg. I used to compete in High Power Discipline, 400m to 800m, ten rounds in a set period. That is an American org, no presence in Australia. But we showed them our equipment (ANZAC; long range; military targets) through videos; etc, and after a couple of probationary events, our local events qualified for inclusion in their Scheduled Events (scores, etc on their website). The targets were simple round ones, 1m square. There are better orgs, that we would like to be affiliated with but they have requirements which we cannot comply with in Australia (eg. targets shaped as humans, which is prohibited here), or vice versa.

Data Analysis

This is the exercise we are in right now. Gather the data and organise it (not modelling but with that as the goal, prior to modelling). Correct incorrect things. If there is a mistake in the data or in an existing system, we do not want to carry that mistake into the new system. Basically a grand clean up. Notice how far you have progressed and you have not erected a new model.

Cheers
Derek

@DanielLoth
Copy link
Owner Author

I guess the only issue with using 'Discipline' to describe an organisation like 'ISSF' (or WPPC / NRA / PA / PNZ) is that 'Discipline' is the term that ISSF uses for different matches (e.g.: Air Pistol).

This is sample data I've got in the current database:
image

image
(DisciplineCategory = P for Pistol, R for Rifle, S for Shotgun)

On the one hand, 'Discipline' is used in places to describe the aforementioned organisations such as ISSF. But then I've also seen 'Discipline' used to describe the ISSF disciplines of 'Pistol', 'Rifle', and 'Shotgun'.

And finally, in the context of Pistol Australia grade scores, 'Discipline' is being used to describe individual matches: https://pistol.org.au/wp-content/themes/pistol/files/PA_Grading_Scores_Revised_24.May%202018.pdf
(And this is the way I'd currently modelled it, since I used the grade score PDF)

@DanielLoth
Copy link
Owner Author

In terms of the intended scope of this application, it's envisioned as a multi-tenant SaaS web application.
The 'tenant' in this case would be a club, who would be the subscriber / customer.

It's not my intent for this to be an overarching database where there is data sharing between those tenants. Which is why I would choose to model:
Competition IsOneOf { CompetitionHosted, CompetitionEndorsed } rather than a cross-tenant approach where one tenant's competitions appear for others to endorse.
Essentially, one tenant would 'endorse' a competition at another club by creating an 'Endorsed Competition' entry within the application. And then members of the club would record that they had participated in this competition and achieved a particular score in a particular match.

So that scope should inform the design too.

@DanielLoth
Copy link
Owner Author

The following comments were removed from the other thread as they pertained to the model diagram, and not the original c.d.t thread.

@DanielLoth
Copy link
Owner Author

Danno

For a first cut, that is excellent.

If you would like feedback ... do you want to progress the Data Model (the conversation that will ensue) here or in the c.d.t thread ?
Considerations are:

  • the level of public exposure for the modelling exercise
  • this is a much nicer interface, c.d.t is ancient, text only
  • I did a modelling exercise on c.d.t/Movie Title with Nicola, it is worth a look.

Do you have access to CA/ERwin at work ?

Cheers
Derek

@DanielLoth
Copy link
Owner Author

DanielLoth commented Jul 11, 2021

Danno

I did a modelling exercise on c.d.t/Movie Title with Nicola, it is worth a look

It is a bit long, over a 3 month period. Probably best in small does. Not a requirement for giving feedback on your DM.
Relational Model [Codd] vs Anti-Relational Muddle [Date/Darwen/Fagin/et al] • How to identify a movie?

Cheers
Derek

@DanielLoth
Copy link
Owner Author

Hi Derek,

I don't mind keeping the data model public. If you're contributing to its evolution then I'm happy for it to be public content that you refer other people to later.

This interface here is certainly a lot nicer. There's much broader support for things like sharing images, viewing code changes in context (diffs within a pull request), providing commentary on those changes in context (comments on a line, or series of lines, of code), etc.

That said, I might look at moving it from a GitHub Gist into a full-fledged GitHub Repository. That way the collaboration could occur within Pull Requests.
As a Git Repo, it's a lot easier for me to make changes to the code. With the Gist, I'm basically copying and pasting code.

Do you have access to CA/ERwin at work ?

No modelling tools unfortunately. I've used yEd in the past but find it clunky. The SQL Server diagram tool is also clunky, and doesn't provide a means to express concepts such as subtypes.
I've relied on relative positioning of tables, and the inclusion of constraint names, to indicate basetype-subtype clusters in the diagram above.

It is a bit long, over a 3 month period. Probably best in small does. Not a requirement for giving feedback on your DM.
Relational Model [Codd] vs Anti-Relational Muddle [Date/Darwen/Fagin/et al] • How to identify a movie?

I did see this, and have looked at V13 / V14 of that model. Among other things, it gave me a good insight into how I might model a Person within my own database.

Specifically, as a compliance / reporting application, I want to have the entirety of information concerning a person (full name, date of birth, place of birth, Firearms licence number, etc).
But I also realise that nobody is going to have all of this information on-hand, say, for a prospective club member who at this point is merely trying the sport out.

Cheers,
Daniel

@DanielLoth
Copy link
Owner Author

Danno

I don't mind keeping the data model public. If you're contributing to its evolution then I'm happy for it to be public content that you refer other people to later.

Well, it looks and sounds like an exercise that will play out in public, which is fine. Especially if it handle any difficult nuggets, or "impossibles" (as it did with Movie Title ... Nicola's starting position was "it is not possible to do this Relationally, I have to resort to Record Ids").

I have set course materials that include 3 case studies, that have been progressed and tightened up over the decades. But that is paid education or mentorship (which you did not ask and which I did not market). I would be referring to the public exercise the same way I refer to Movie Title.

Specifically, as a compliance / reporting application, I want to have the entirety of information concerning a person (full name, date of birth, place of birth, Firearms licence number, etc).

Yes, you have to.

But I also realise that nobody is going to have all of this information on-hand, say, for a prospective club member who at this point is merely trying the sport out.

That is not correct. One has to join Sporting Shooters Assoc of Australia (governing body; insurance cover; Firearms safety course; etc), before obtaining a Firearms licence. It permits entry into any of the 500 or so shooting ranges, the minimum to maintain a licence (attendance; etc). Of course, most people additionally join a club in order to participate in events and progress one's capability.

The club membership demands SSAA membership. The club has a second club-level SSAA membership, to use the shooting range; hire a clubhouse; etc. Eg. some clubs are heavily dependent on SSAA, really just sub-clubs. Different clubs use the same range on different days; clubs cannot shoot on an SSAA event day (members can participate, as SSAA members). Others are large, with little dependence, eg. Anzac range in Malabar, we have our own buildings; targets; etc. Eg. I used to shoot rifle and pistol with RANRRC on Saturdays, and occasionally SSAA shotgun on Sundays, on the same physical range, out of two different clubhouses.

There are very few SSAA-only [no other clubs] ranges, ie. acting as a club, and they do hold club events, and the scores are National. Eg. St Marys.

Some clubs are "in" gun shops. Better explained as, in order to have a shooting range, one must establish a club, so a couple of gun shops now have clubs, and a shooting range.

In contrast, ISSF; "High Power"; etc, are international sports bodies, that govern the conduct of a particular narrow sport (eg. handgun, under pressure; a set course of targets), such that the sport and awards are consistent. Then a club has additional accreditation to that body, obtains their rules and targets, and hosts one or more accredited events.

So, yes, they will have all that info on hand, at the point of registering their membership in the club. Personal Identification is a big deal. Criminals typically engage in identity theft. We have had a couple of incidents where a personal has gone through all the steps just so that they can buy a gun and kill someone. Or the person acts in strange ways. Such conditions are monitored. The club does not have to perform check, because it relies on the Identification provided by the governing bodies.

Person and Intl bodies would be hierarchs. Club may or may not be. Membership is a binary. Etc.

Cheers
Derek

@DanielLoth
Copy link
Owner Author

Provisionally licenced

Sorry, I wrote 'provisional' but meant 'probationary'. Link: https://legislation.nsw.gov.au/view/whole/html/inforce/current/act-1996-046#sec.16A

So when I held a licence circa 2010, I was a member of a pistol club. I never had the 'A' and 'B' categories, and those categories weren't shot at the club.

Being my first firearms licence, and also first time holding the Category H, there was the probationary licence issued first.

With the Category H probationary licence, I could shoot but couldn't request permits to acquire until receiving a full licence. I actually never went through the permit to acquire process, as my stepfather was happy to let me use one of his pistols.

I spoke to my stepfather before and found out that there is peak body membership included. I suppose the club took care of all of that behind the scenes. Notably, he mentioned that there are multiple peak bodies (e.g.: NSWAPA), and that sport shooters must be a member of at least one - but it need not be a specific one (e.g.: pistol shooters might just be members of NSWAPA, and not SSAA).

So still potentially no affiliation with an organisation like ISSF / Pistol Australia, but membership in a peak body ('capitated with the peak body').

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant