[AccessD] Normalization question
Susan Harkins
ssharkins at gmail.com
Thu Jul 19 14:22:44 CDT 2018
Well, that's a bit of brilliancy tagging the address to the actual
membership!
Susan H.
Start with the membership itself as a unique entity with a membership
number, beginning date and expiration, type of membership, and address. If
you want unique members, it would be a many to many with membership. If you
plan to use the database to do a mail merge or mailings, you want the name
split into at least first and last, and have a single record for each name.
Charlotte Foust
(916) 206-4336
On Thu, Jul 19, 2018 at 5:11 AM, Susan Harkins <ssharkins at gmail.com> wrote:
>
> One of the new employees at Salato wants to build an Access database
> for the membership. I advised him not to because the other employees
> will refuse to use it and because the system we're using (Excel sheet)
> isn't broken, but I think he's decided it will be a great learning
> experience, so I'm trying to help. His first mistake was to allow the
> Access (365, 2016) wizard to create tables from the Excel sheet. Not a
> complete mess, but it created several lookup fields that even I can't
> decipher. I don't want to spend my time that way -- a lot of xyz
> identifiers and crap. It must be something new because I've not see
> the wizard do something like that, but then again, I didn't use it,
> so...
>
> The records are currently in an Excel sheet -- one record with all the
> data for each membership. Names are in one cell, even when it's a
> family membership and there are two names. (No, I didn't create this,
> but I made it work because it's what they were all used to using and
> frankly, it worked for their purposes and it was easy.)
>
> We have five years of memberships we want to access -- but only the
> current year is active. We do want the old records for historical
> value. It might be easier to work with only the active records and
> just keep the old Excel sheet, in case we need to look something up.
>
> Yesterday, I suggested that he dump the wizard's tables and start over
> from scratch -- it is the best way to learn and he agreed. Right away
> I ran into two problems. The first is a normalization question.
>
> Members renew once a year, so the same family might have several
> memberships listed, but only one is active. We want to retain that
> historical information. There are three types of memberships:
> Individual, Family, and Friends. So, a "member" can have many
> memberships, but a membership can have one or two members tied to it.
> At this point, it will never be more than two because we don't list
> kids and the additional friends can be anybody. (Of course, that could
> change, but I don't see it happening anytime soon.) Each membership
> has one or two names tied to it. At first, I thought of the members as
> being the parent, but I'm not sure that's the way to go now.
> Perhaps the membership itself is the parent. I think we have a many to
> many relationship here perhaps.
>
> So John Doe might have an individual membership and he might have an
> active membership and two expired records in the database.
> Sue and George Donaldson might have a family membership with one
> active and several records in the database.
> Lonnie and Alice might have a family membership with no active record
> but several expired records.
> Bill and Marth might have a friends membership with one active and no
> expired records.
>
> This exposed itself rather quickly because having two first and last
> names for each record seems to break normalization rules, but on the
> other hand, I can see doing it that way despite the repeated address
> and phone number information.
>
> The second problem is of course that there are no primary/foreign key
> values in the Excel sheet. So, once Brian creates the tables, he has
> to find a way to create those values and keep them straight. So, it's
> possible that rewiring the wizard's tables might actually be the best
> way to go because I think... I think the wizard created those. But at
> this point, they have no value because each record points to only one
> membership because that's how it was in Excel. I think it might be a
> job for Power Pivot before Access but I haven't gotten that far. We
> can run insert queries of course, but the more I consider it, the more
> I'm inclined to work with only the active memberships in the db and
> move forward. The old info will still be there in an Excel file if
> it's needed.
>
> Right now, the db isn't necessary so there's no pressure. Brian just
> wants to do it.
>
> Susan H.
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
More information about the AccessD
mailing list