View Single Post
  #8  
Old May 3rd, 2004, 06:03 AM
TC
external usenet poster
 
Posts: n/a
Default Will my table design cause future problems

Ok. Now we have the following clear description of your needs:

"The research facility handles ELEMENTS, LOTS, END PRODUCTS and TESTS. Two
or more ELEMENTS are mixed together, in various amounts or proportions, into
a LOT. Each LOT is PROCESSED to form an END-PRODUCT. (There is just one LOT
per END PRODUCT.) The END PRODUCT is then subject to various TESTS."

Here is the correct table structure to meet those needs (excluding TESTS).
Obviously your own table & field names may vary from mine - but there should
be a 1-to-1 correspondence between your tables, and these:

tblElement - one row for each ELEMENT known to the system.
ElementID (PK)
ElementName
- any other attributes of the element as a whole; eg. toxicity.

tblLot - one row for each LOT known to the system.
LotID (PK)
Processed - a yes/no flag to indicate whether this LOT has been
processed into an END PRODUCT yet.
- any other attributes of the lot as a whole; eg. date created.

tblLotElement - one row for each ELEMENT in each LOT.
LotID ( composite )
ElementID ( primary key )
- a field to give the amount or proportion of that ELEMENT in that LOT.

I haven't included TESTS, because I still do not understand your description
of those.

Aaron, I hope this helps. Note that I designed the table structures above,
in about 1 minute (literally), once I understood your data requirements.
That first "understanding" stage, is where most of the time lies. Do not
try to design the tables during that stage. The trick is to get an accurate
understanding of the data requirements, before you start designing the
tables.

HTH,
TC


"Aaron" wrote in message
...

-----Original Message (edited w/reply*)-----
Hi AAron

Sorry, but I still don't clearly understand the data that

you're dealing
with.

Let's get the data descriptions correct, before we

proceed. This may seem
picky, but it is actually the most important step

in "data modelling". A
clear understanding of the data entities must come first -

then the actual
design of the tables.

Is this correct:

- The research facility handles ELEMENTS, END PRODUCTS,

and PARTS.

- I assume that each ELEMENT has a unique ELEMENTID? If

not, how do you
distinguish different ELEMENTs? *Yes I have a table of

Elements: Autonumber ID and ElementName

- Two or more ELEMENTS are mixed together. The result is

called a LOT. Each
LOT has a unique LOTID. There is no case where two LOTs

have the same LOTID. *Correct

- Each LOT is PROCESSED to form an END-PRODUCT.

- Is there only one LOT per END PRODUCT, or could you

process several LOTs
into a sinbgle END PRODUCT? *One lot per END PRODUCT

- I assume that each END PRODUCT has an ENDPRODUCTID? If

not, how do you
distinguish different END PRODUCTs? *The LOTID assigned

at element composition is the same as the ID for the END
PRODUCT. The reason for the different table is because
since it can have more than 1 element and I need to
capture the amount/ratio of each Element used, I thought
it best to have the separate table. If you have another
suggestion please let me know.

- Each END PRODUCT is subject to one or more TESTS.

- I assume that each TEST has a unique TESTID. If not,

how do you
distinguish different TESTSs? *"Tests" are unique fields

such as ParticleSize, ECvalue, FinalMass. Again, it's more
of a characterization of the mixture of elements.

- Could one TEST handle several END PRODUCTs

simultaneously? *The Products are tested/characterized
independently but they all receive the same "tests".

Aaron, you may feel I am going backwards with my advice

to you! (We do not
seem to be getting down into the nitty gritty of that

table structures, at
all.) But the reason for this, is that you have not yet

clearly described
the data that you need to manage. So IMO, it is premature

to comment on the
table structures.

Unfortunately I'll be busy for the next 2 days, & have

little or no time on
the net. But I'm happy to get back to this as soon as I

return. Or maybe
someone else will jump in & help.
Cheers,
TC

*I appreciate the assistance thus far and I understand you
need to know the data.
--------------------------------------------------------

A research facility mixes elements(LotID),

processes
them,
evaluates the end product and then uses it in a

part
which
will also get tested.

So:
- each part has one (or several?) tests? several types

of
tests
- each part comprises several end products? The

combined
elements(LotID) can be used in several Part#'s. Each

Part#
uses up to 2 LotID's(Front and Back) but the Front LotID
is what affects the Part#'s performance.
- each end product comprises several elements? Yes
Correct?




"Aaron" wrote in

message
...

-----Original Message-----

"Aaron" wrote in
message
...

(snipped)

A research facility mixes elements(LotID),

processes
them,
evaluates the end product and then uses it in a

part
which
will also get tested.

So:
- each part has one (or several?) tests? several types

of
tests
- each part comprises several end products? The

combined
elements(LotID) can be used in several Part#'s. Each

Part#
uses up to 2 LotID's(Front and Back) but the Front LotID
is what affects the Part#'s performance.
- each end product comprises several elements? Yes
Correct?


tblComposition (Lot# can be made up of 1-?

elements)
LotID (FK to tblManufacturing)
Element (chemical or metal)
ElementRatio (amount)

What is the primary key of that table? Actually I have

a
autonumber CompID PK as well as a multi-field index
between LotID and Element.
What does one row in that table, represent?
Row1: Auto#,LotID112233,Al,60
Row2: Auto#,LotID112233,Cu,40
The concatenated result would be LotID112233,AlCu,60:40



tblManufacturing
LotID (PK)
ProcessEquip
RunDate
%Source
SourceID
What does one row in that table, represent? The

combined
elements from above are mixed with a source element to
produce the final combination which will be used in a

part.


tblEvaluation (characterization of LotID's after

mfg)
LotID (PK)one-one relationship to tblMAnufacturing
ParticleSize
ECValue
FinalMAss

What is the primary key of that table? LotID is

actually
the PK
What does one row in that table,represent? (I don't
understand: "characterization of LotID's after
manufacturing". You need to describe the table in terms

of
the entitites you
have mentioned so far: parts, tests, elements, end
products, etc.) The combined/processed elements are

tested
(characterized) before being used in Parts. Each row

will
contain the results for a LotID


tblParts
Part# (PK)
LotID (FK to tblManufacturing)
Account
Performance (test data of Part#)

Aaron, that is the only table that is clearly described
so far. Each row in
that table represents a single, unique Part. Each part

is
identified by a
unique Part#. Part# is the primary key of that table.

We
need the same level
of understanding of your other tables, before we can
comment.

HTH,
TC



One of the key deliverables from this database is

to
provide Evaluation data and Part listings for

every
combination of Elements and %Source information.

i.e;
LOT#AALL12 had a 10%Source and was made up of
Al,Si,Cu at
a ratio of 60,20,20 and was used in
PART#1234,PART#5678,etc
If I continue down this path I will need to
concatenate
the records in the tblComposition and I don't know
how big
a problem that will be. I also don't know what

other
problems I am not considering. Please advise.

Thanks.


.



.