473,403 Members | 2,354 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,403 software developers and data experts.

Need to normalize to 2nd form.

jim
So I've had my knuckles rapped by a pro who can offer only vauge
advice. I need to reduce the size of one of my tables.

Here is the scene:
I'm trying to track lots of test scores for individual middle school
students.

I have a student info table using a student ID number as a primary key.

The columns in this table are:

The Usual-
First Name
Last Name
Gender
Phone
etc.

But Also:
Test Score #1
Test Score #2
Test Score #3
Test Score #4
Test Score #5
etc.

Other Columns are populated automatically by selections from combo
boxes in a form. The combo boxes get thier information from seperate
tables. The columns that are populated by other tables are:
Ethnicity
6th grade Math teacher
7th grade Math teacher
etc.

It seems to me that individual test scores are tied uniquely to the
student ID and therefore should be right in the Student info table.

Perhaps my cosultant meant that I should not be populating those
columns (Ethnicity, teachers) with text but perhaps with some other
kind of link to the other tables?

I'm a noob seeking advice here.
Thanks for any help.

Oct 5 '06 #1
4 1987
The test scores are tied to a student, but they also apply for a test:

StudentTable
------------
StudentID
FirstName
LastName
etc.

TestTable
--------------
TestID
TestDate
etc.

StudentTestScores
----------------------------
StudentID
TestID
Score

Chris
jim wrote:
So I've had my knuckles rapped by a pro who can offer only vauge
advice. I need to reduce the size of one of my tables.

Here is the scene:
I'm trying to track lots of test scores for individual middle school
students.

I have a student info table using a student ID number as a primary key.

The columns in this table are:

The Usual-
First Name
Last Name
Gender
Phone
etc.

But Also:
Test Score #1
Test Score #2
Test Score #3
Test Score #4
Test Score #5
etc.

Other Columns are populated automatically by selections from combo
boxes in a form. The combo boxes get thier information from seperate
tables. The columns that are populated by other tables are:
Ethnicity
6th grade Math teacher
7th grade Math teacher
etc.

It seems to me that individual test scores are tied uniquely to the
student ID and therefore should be right in the Student info table.

Perhaps my cosultant meant that I should not be populating those
columns (Ethnicity, teachers) with text but perhaps with some other
kind of link to the other tables?

I'm a noob seeking advice here.
Thanks for any help.
Oct 5 '06 #2
Jim,

Check out the great paper of Paul Litwin's that I've got (with his
permission) on my web site:
http://abcdataworks.com/fundamentals.htm. That will give you the
reason's for doing what the consultant was talking about, and will help
you get to the individual decisions you'll have to make.

For the tests portion of what you're dealing with, you want to avoid
repeating columns in your table--you don't want to have to redesign
your table every time there's a new test. To handle this, you make a
separate table for the test results. That table would have just the
student ID (hopefully there's an autonumber field that serves this
purpose in the student table), the Test Name or Test ID (I'll get to
that in a second), and the test score.

If you store other data on the tests other than the name of the test,
you'll want a third table, which would have all of th einfomration that
describes the test, but not the scores. Basically you would end up with
one table that describes students, one that describes tests, and one
that describes scores.

All of this will make perfect sense after reading Paul's document,
though.

Jeremy Wallace
Application Architect
Fund for the City of New York
jim wrote:
So I've had my knuckles rapped by a pro who can offer only vauge
advice. I need to reduce the size of one of my tables.

Here is the scene:
I'm trying to track lots of test scores for individual middle school
students.

I have a student info table using a student ID number as a primary key.

The columns in this table are:

The Usual-
First Name
Last Name
Gender
Phone
etc.

But Also:
Test Score #1
Test Score #2
Test Score #3
Test Score #4
Test Score #5
etc.

Other Columns are populated automatically by selections from combo
boxes in a form. The combo boxes get thier information from seperate
tables. The columns that are populated by other tables are:
Ethnicity
6th grade Math teacher
7th grade Math teacher
etc.

It seems to me that individual test scores are tied uniquely to the
student ID and therefore should be right in the Student info table.

Perhaps my cosultant meant that I should not be populating those
columns (Ethnicity, teachers) with text but perhaps with some other
kind of link to the other tables?

I'm a noob seeking advice here.
Thanks for any help.
Oct 5 '06 #3
jim
Great. It's nice to have a moment of clarity about this.
I guess I was thrown off because it seems like there is redundancy in
the table that describes the scores (the last one of the three in this
post) as it uses columns that exist in two other tables. I was trying
to make everything appear just once throughout the database.

Jeremy, you said
separate table for the test results. That table would have just the
student ID (hopefully there's an autonumber field that serves this
purpose in the student table)...
I am importing student data into the student table. Each student comes
with a unique ID number to use as a key. I guess I know how to link
tables but how do I get the student ID from the Student table to
populate the The student ID column in the test table. Or should I start
a new thread for that?

Thanks to you both. That was awsome.

Jim
To handle this, you make a
separate table for the test results. That table would have just the
student ID (hopefully there's an autonumber field that serves this
purpose in the student table), the Test Name or Test ID (I'll get to
that in a second), and the test score.

Basically you would end up with
one table that describes students, one that describes tests, and one
that describes scores.

Jeremy Wallace
Application Architect
Fund for the City of New York

StudentTable
------------
StudentID
FirstName
LastName
etc.
TestTable
--------------
TestID
TestDate
etc.
StudentTestScores
----------------------------
StudentID
TestID
Score

Oct 5 '06 #4
Jim,

You can write an append query to move data from one table to another.
(And yes, your unique student ID is a fine key). Once you're done doing
that, you can drop those test fields from the student table.

Jeremy
--
Jeremy Wallace
Fund for the City of New York

jim wrote:
>
I am importing student data into the student table. Each student comes
with a unique ID number to use as a key. I guess I know how to link
tables but how do I get the student ID from the Student table to
populate the The student ID column in the test table. Or should I start
a new thread for that?

Thanks to you both. That was awsome.
Oct 6 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Christos TZOTZIOY Georgiou | last post by:
I found at least one case where decombining and recombining a unicode character does not result in the same character (see at end). I have no extensive knowledge about Unicode, yet I believe that...
5
by: Alex Vassiliev | last post by:
Hi all. Just wanted to share two handy RegEx expressions to strips leading and trailing white-space from a string, and to replace all repeated spaces, newlines and tabs with a single space. *...
1
by: Daniel Lim | last post by:
When using XmlSerializer, I notice that it does not normalize the single quote and double quote characters, i.e. does not change ' to ' and " to &quot. However, it does normalize other...
4
by: Nathan Benefield | last post by:
I currently have a spreadsheet tracking votes on legislation in a matrix type format. It is something like this Name Act1 Veto1 Act1A Jones yes No Yes Johnson Yes ...
1
by: jandhondt | last post by:
IN Visual Studio 2005 with VB.NET when I open a solution I often get this warning: The line endings in the following file are not consistent. Do you want to normalize the line endings? The warning...
1
by: raylegendkiller | last post by:
NEED TO MAKE A PROGRAM which computes the current value of the vectors {x} based on the following forward iterations: this >>> {x}(n+1) = {x}(n), n = 0,1,2, ... ,8,9. In other...
4
by: kollatjorva | last post by:
Hi all I'm trying to get a value from an xml node 'Publisher' use the value as a name of an .css class. This works fine until I get a value from the Publisher node with white space in it. I've...
13
by: WardC | last post by:
I'm a FileMaker user trying to help a client with an Access data entry problem: When text is copied from another application and pasted into an Access form, the pasted text sometimes includes...
8
by: bbcrock | last post by:
I have three tables with a relationship I've never worked with before. Can anyone suggest/comment on the best way to create a third normal form relationship between these tables? The tables...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.