Rocky Smolin
rockysmolin at bchacc.com
Fri Aug 29 14:02:18 CDT 2014
I always engineer my dbs for the constraints of the application and to make the user happy. I do things the easy way - for me. Normalization is great when you're talking 100k rows. Makes the app respond fast. But I try not to over engineer my apps. "A good program is one that works." R -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan Harkins Sent: Friday, August 29, 2014 11:52 AM To: Access Developers discussion and problem solving Subject: Re: [AccessD] Normalization discussion Seriously? I would love to do it this way -- nobody but me will ever work on it. Susan H. On Fri, Aug 29, 2014 at 2:42 PM, Rocky Smolin <rockysmolin at bchacc.com> wrote: > Since this is a small database used by a few people, you can make life > easy for yourself. Put all the fields you need for each of the three > type of acquisition into the Animal table. I would also not bother > with an Acquisition Type table with a PK and an FK in the animal > table. Just (gasp) put the words Live Birth, Acquisition, or Law > Enforcement right in the Acquisition Type field (text). Unnormalized? > Yes. Simple? Yes. And easy to see when you look in the back end. > > In the front end if you want to get fancy, you can appear and/or > disappear the different fields you need depending on acquisition type. > Or enable/disable. But not necessary. > > R > > > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Susan > Harkins > Sent: Friday, August 29, 2014 10:54 AM > To: Access Developers discussion and problem solving > Subject: Re: [AccessD] Normalization discussion > > What I'm struggling with today is acquisitions. There are three ways > that we acquire an animal -- live birth here at the center, from an > institution, or through law enforcement confiscation (almost never > happens, but I'm allowing for the possibility). So, each animal has an > acquisition type, but depending on the type the subsequent data will > be different. For example, if a live birth here at the center, we will > also track the dam and sire ids. If we acquire an animal from an > institution, we'll track the institution's info, like name, address, > phone, and a contact. > > So, an animal has an acquisition id by type. It's easy to keep an > institution and live birth table -- that's no problem. But how do I > relate them back to the individual since it can come from two > different tables? I think this is probably easier than I'm making it. > > Susan H. > > > On Fri, Aug 29, 2014 at 11:39 AM, Susan Harkins <ssharkins at gmail.com> > wrote: > > > Right now, most of my foreign keys in the parent table are simple > lookups. > > For instance, species -- each individual has a species and those are > > in a child table. We'll update that table infrequently -- only if we > > add a new species. We have several individuals of each species. > > Another is gender -- female and male, but the parent table has a > > foreign key to the gender table. (Gender's probably overkill, but > > I'm on autopilot I think). I'm also tracking acquisition method -- > > there are only three, so again, it's a lookup table and not a true child table. > > > > Susan H. > > > > > > > > > > > > > > > > > > On Fri, Aug 29, 2014 at 10:18 AM, Charlotte Foust < > > charlotte.foust at gmail.com> wrote: > > > >> A foreign key is a key that points to the PK in another table. > >> You're mixing keys with parent child relationships, which are > >> defined through keys. In a data warehouse, you put a bunch of keys > >> in the central table, but in a regular database you put the parent > >> PK into the child tables so they know their mommy, The idea is to > >> put the keys > where they are needed. > >> > >> Charlotte > >> > >> > >> On Fri, Aug 29, 2014 at 6:07 AM, Susan Harkins > >> <ssharkins at gmail.com> > >> wrote: > >> > >> > I'll spend the morning rereading the book Martin and I wrote, > >> > brushing > >> up > >> > on the normalization part. I've forgotten a lot of the basics. > >> > I'm > >> writing > >> > an animal tracing database in Access and I'm trying to remember > >> > if it matters where the fk goes. Now, I remember its purpose and > >> > all that, > >> but it > >> > would be so much simpler if I could just drop them all into the > >> > main > >> table > >> > instead of adding a fk to all the child tables to the main table > >> > -- I > >> think > >> > anyway. > >> > > >> > So, I've got a main table of animals and all of the remaining > >> > tables are child tables of a sort and a few lookup tables. Is it > >> > reasonable to just add a fk to all those child tables in my > >> > parent > table? > >> > > >> > I just don't remember. I haven't built a database in... > >> > seriously... 10 years? It's been long enough that I'm really > struggling. > >> > > >> > 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 > >> > > > > > -- > 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 > -- AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com