473,769 Members | 7,923 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Table stuctures in Access

6 New Member
I am creating a database for my company that holds different seminars, often done by different people. those are my 2 variables, but also, each seminar is rated with a sheet, that rates the seminar in various ways (1 to 5) as well as the presenter. how can i relate all of this data in Access, how many tables should i be using, and how can i set it up so i can take averages of the presenter's ratings, as well as take avearges of the specific seminar's ratings? I kind of understand how to query things, but the basic setup of the database is my problem. Right now i have a Presenter Table, which only has a name and a presenter ID#, a Seminar table, which has only a seminar name and seminar id #, and an evaluations table, which has an Evaluation id#, as well as all of the evaluations for both the presenter and the seminar. Is this set up correctly, do you need a more specific example? any help i can get would be greatly appreciated.
-joshmoshoshkosh
Jun 21 '07 #1
12 1309
tdw
206 New Member
I am creating a database for my company that holds different seminars, often done by different people. those are my 2 variables, but also, each seminar is rated with a sheet, that rates the seminar in various ways (1 to 5) as well as the presenter. how can i relate all of this data in Access, how many tables should i be using, and how can i set it up so i can take averages of the presenter's ratings, as well as take avearges of the specific seminar's ratings? I kind of understand how to query things, but the basic setup of the database is my problem. Right now i have a Presenter Table, which only has a name and a presenter ID#, a Seminar table, which has only a seminar name and seminar id #, and an evaluations table, which has an Evaluation id#, as well as all of the evaluations for both the presenter and the seminar. Is this set up correctly, do you need a more specific example? any help i can get would be greatly appreciated.
-joshmoshoshkosh
Would I be correct in understanding that any particular presenter may be associated with more than one seminar, and vise versa? If so I would have the evaluation field as a third field in the Seminar and Presenter tables.

I would only have two fields in the Evaluations table. For example:
Field one would be called EvaluationID and be a number or autonumber field, and field two would be called EvalDescription (or something like that).
If the EvaluationID field has the number 1, the description might be "Excellent" , or for 2, "Pretty good", for 3, "Just okay" etc.

Then in the Evaluation fields in the Seminar and Presenter tables I would just use 1, 2, or 3 etc. Then you can create a form that will display the EvalDescription (i.e. "Excellent" instead of "1") for the seminar and/or presenter. You can add a field to the form that calculates the average evaluation based on the numbers that are in the Evaluation field of your Seminar and/or Presenter tables.

If you need more detailed instructions, please let me know.
Jun 21 '07 #2
MMcCarthy
14,534 Recognized Expert Moderator MVP
Have a look at this tutorial

Database Normalisation
Jun 22 '07 #3
Joshmoshoshkosh
6 New Member
Would I be correct in understanding that any particular presenter may be associated with more than one seminar, and vise versa? If so I would have the evaluation field as a third field in the Seminar and Presenter tables.

I would only have two fields in the Evaluations table. For example:
Field one would be called EvaluationID and be a number or autonumber field, and field two would be called EvalDescription (or something like that).
If the EvaluationID field has the number 1, the description might be "Excellent" , or for 2, "Pretty good", for 3, "Just okay" etc.

Then in the Evaluation fields in the Seminar and Presenter tables I would just use 1, 2, or 3 etc. Then you can create a form that will display the EvalDescription (i.e. "Excellent" instead of "1") for the seminar and/or presenter. You can add a field to the form that calculates the average evaluation based on the numbers that are in the Evaluation field of your Seminar and/or Presenter tables.

If you need more detailed instructions, please let me know.
A bit more help would be great... here's a more detailed description.
Say i have this seminar... ABC... and ABC was done by Joe. Abc has a evaluation sheet, with numbers 1 to 5*(bad to excellent) rating 6 different aspects of the Abc seminar, as well as 4 spots to rate Joe. Others could be doing this seminar as well, and joe could be doing other seminars including Abc. (i hope that makes sense).. My problem is, i want to be able to add these evaluation sheets as i go, but i'm having problems normalizing all of it. I read your tutorial, but i'm not sure if i should have a separate table for each question? ... Right now i have a table for Presenters with a Presenter ID (auto #, primary), First name, and Last name. Then I have a table for Seminars, which is only seminar id(auto #, primary) and seminar description. My third table is an evaluation table. This has an Evaluation ID (auto #, primary) as well as a spot for each one of the 10 questions. THis spot is only a number field, but how can i make this so all of these are related, and how can i get it so i can look at ABC's rating averages, Joe's ratings, etc... i'm just having problems getting them all to work cohesively, i think i understand reports, but im just having problems organizing and relating the data. Do i need the presenter ID in both the Presenter table as well as in the Evaluation table? And same with the Seminar ID, does that need to also be part of the evaluation table?
and to top this off, sometimes i get sheets, that are just summaries of a specific person at a specific seminar, for example: Mary at seminar XYZ has a totals sheet with 8 5's(excellent) 13 4's(above average) 4 3's(average)... . and this is just the data for one question.... is there going to be problems with sheets like this? I don't know if im making this whole project harder than it should be, or if i'm just not relating the data correctly, or maybe i'm approaching it all wrong. Any help would be greatly appreicated. Thanks so much!!!
-Joshmoshoshkosh
Jun 25 '07 #4
MMcCarthy
14,534 Recognized Expert Moderator MVP
If I understand you correctly ...

A presenter (Joe) can present more than one seminar and a seminar (ABC) can have more than one presenter. This is a many to many relationship so a join table is needed.

tblPresenter
PresenterID (Primary Key, AutoNumber)
PresenterName

tblSeminar
SeminarID (Primary Key, AutoNumber)
SeminarName

tblPresentedSem inar (Join table)
PresenterID (Composite Primary Key, Foreign key referencing tblPresenter)
SeminarID (Composite Primary Key, Foreign key referencing tblSiminar)

Now is the data is relevant to the seminar regardless of who presented it then you add the field to tblSeminar.

If the data is relevant to the presenter regardless of the seminar then you add the field to tblPresenter

Any data that is specifically relevant Joe's presentation of ABC seminar would be a field in tblPresentedSem inar

You don't have to add all fields to the tables, if you follow the normalisation rules then you can add relevant tables for the data and just add a foreign key to the table.
Jun 26 '07 #5
MMcCarthy
14,534 Recognized Expert Moderator MVP
Now presuming evaluations are relevant to Joes presentation of the ABC seminar then you can have a foreign key in tblPresentedSem inar called EvaluationID but it would not be part of the composite primary key. This foreign key would reference the following table.

tblEvaluation
EvaluationID (Primary Key, Autonumber)
Question1
Question2
>
>
>
Question10

However, if there is more than one evaluation per seminar then it is different.

Don't put the EvaluationID in tblPresentedSem inar

If the evaluation is based on the seminar then add a foreign key SeminarID to tblEvaluation and if the evaluation is based on the presenter then add a foreign key PresenterID to tblEvaluation. If it is tied to both then add both foreign keys.

Getting the idea ?
Jun 26 '07 #6
Joshmoshoshkosh
6 New Member
Yes there can be many evaluation sheets for any given seminar given by any person.... anyone at the seminar can fill out an evaluation, so really there could be hundreds for each person, each time they do a seminar, but the sheets evaluate the seminar as well as the person doing the seminar at the time... that's why i'm having so many problems...And also, what's different about doing a Join table, compared to a regular table, can i just enter the same names that i had for my other fields, and still select autonumber for the data type? Thanks for all the help, i'm learning a lot from you!



Now presuming evaluations are relevant to Joes presentation of the ABC seminar then you can have a foreign key in tblPresentedSem inar called EvaluationID but it would not be part of the composite primary key. This foreign key would reference the following table.

tblEvaluation
EvaluationID (Primary Key, Autonumber)
Question1
Question2
>
>
>
Question10

However, if there is more than one evaluation per seminar then it is different.

Don't put the EvaluationID in tblPresentedSem inar

If the evaluation is based on the seminar then add a foreign key SeminarID to tblEvaluation and if the evaluation is based on the presenter then add a foreign key PresenterID to tblEvaluation. If it is tied to both then add both foreign keys.

Getting the idea ?
Jun 26 '07 #7
Joshmoshoshkosh
6 New Member
Yes there can be many evaluation sheets for any given seminar given by any person.... anyone at the seminar can fill out an evaluation, so really there could be hundreds for each person, each time they do a seminar, but the sheets evaluate the seminar as well as the person doing the seminar at the time... that's why i'm having so many problems...And also, what's different about doing a Join table, compared to a regular table, can i just enter the same names that i had for my other fields, and still select autonumber for the data type? Thanks for all the help, i'm learning a lot from you!

this is what an eval sheet looksl like:
Seminar Name: ABC

Seminar ratings: Excellent Poor
1) Overall rating of the seminar [ ] [ ] [ ] [ ] [ ]
(above are just my 1-5 checkboxes, rated excellent to poor)***
Excellent Poor
2) Organization of the content [ ] [ ] [ ] [ ] [ ]
Excellent Poor
3) Ability to apply information [ ] [ ] [ ] [ ] [ ]
Excellent Poor
4) Effectiveness of Visuals [ ] [ ] [ ] [ ] [ ]
Excellent Poor
5) Before seminar knowledge [ ] [ ] [ ] [ ] [ ]
Excellent Poor
6) After seminar knowledge [ ] [ ] [ ] [ ] [ ]


Presenter Name: Joe
Presenter Ratings:
Excellent Poor
7) Interest level [ ] [ ] [ ] [ ] [ ]
Excellent Poor
8) Demonstration of knowledge[ ] [ ] [ ] [ ] [ ]
Excellent Poor
9) Communication skills [ ] [ ] [ ] [ ] [ ]
Excellent Poor
10) Relevant Examples [ ] [ ] [ ] [ ] [ ]
Excellent Poor


so for any time someoene presents, each audience member gets one of these, and we're trying to make sense of it using a database. Like for instance, how well did Joe do on this project, or Sue's numbers for project XYZ are better than Joe's, or saying to a client, "our seminar ABC has been getting 4's and 5's, it's one of our best seminars" etc.... so we want to be able to total the number of 1's 2's 3's 4's and 5's for each area and be able to call them up for easy reference. THanks again for everything I really appreciate it!
Jun 26 '07 #8
MMcCarthy
14,534 Recognized Expert Moderator MVP
Yes there can be many evaluation sheets for any given seminar given by any person.... anyone at the seminar can fill out an evaluation, so really there could be hundreds for each person, each time they do a seminar, but the sheets evaluate the seminar as well as the person doing the seminar at the time... that's why i'm having so many problems...
tblEvaluation
EvaluationID (Primary Key, Autonumber)
SeminarID (Foreign key, referencing tblSeminar)
PresenterID (Foreign key, referencing tblPresenter)
Question1 (Number, Integer - 1 to 5)
Question2
>
>
>
Question10

This way each evaluation is tied to the seminar and to the Presenter. So if for example you wanted to retrieve all the evaluations for Joe from the ABC seminar then:

Expand|Select|Wrap|Line Numbers
  1. SELECT tblEvaluation.*
  2. FROM ((tblEvaluation INNER JOIN tblPresenter
  3. ON tblEvaluation.PresenterID = tblPresenter.PresenterID)
  4. INNER JOIN tblSeminar
  5. ON tblEvaluation.SeminarID=tblSeminar.SeminarID)
  6. WHERE tblPresenter.PresenterName LIKE 'Joe'
  7. AND tblSeminar.SeminarName LIKE 'ABC';
  8.  
And also, what's different about doing a Join table, compared to a regular table, can i just enter the same names that i had for my other fields, and still select autonumber for the data type? Thanks for all the help, i'm learning a lot from you!
tblPresenter
PresenterID (Primary Key, AutoNumber)
PresenterName

tblSeminar
SeminarID (Primary Key, AutoNumber)
SeminarName

tblPresentedSem inar (Join table)
PresenterID (Composite Primary Key, Foreign key referencing tblPresenter)
SeminarID (Composite Primary Key, Foreign key referencing tblSiminar)

tblPresentedSem inar is the Join table. It is simply there to break the many to many relationship between tblPresenter and tblSeminar.

You don't use autonumbers, Your primary key in this case is made up of two foreign keys which reference the primary keys of the two tables being joined. You set the datatype to Number, Long Integer.

Mary
Jun 26 '07 #9
Joshmoshoshkosh
6 New Member
How do i set a "composite primary key?" it wouldn't let me set multiple primary keys.
-Josh




tblEvaluation
EvaluationID (Primary Key, Autonumber)
SeminarID (Foreign key, referencing tblSeminar)
PresenterID (Foreign key, referencing tblPresenter)
Question1 (Number, Integer - 1 to 5)
Question2
>
>
>
Question10

This way each evaluation is tied to the seminar and to the Presenter. So if for example you wanted to retrieve all the evaluations for Joe from the ABC seminar then:

Expand|Select|Wrap|Line Numbers
  1. SELECT tblEvaluation.*
  2. FROM ((tblEvaluation INNER JOIN tblPresenter
  3. ON tblEvaluation.PresenterID = tblPresenter.PresenterID)
  4. INNER JOIN tblSeminar
  5. ON tblEvaluation.SeminarID=tblSeminar.SeminarID)
  6. WHERE tblPresenter.PresenterName LIKE 'Joe'
  7. AND tblSeminar.SeminarName LIKE 'ABC';
  8.  


tblPresenter
PresenterID (Primary Key, AutoNumber)
PresenterName

tblSeminar
SeminarID (Primary Key, AutoNumber)
SeminarName

tblPresentedSem inar (Join table)
PresenterID (Composite Primary Key, Foreign key referencing tblPresenter)
SeminarID (Composite Primary Key, Foreign key referencing tblSiminar)

tblPresentedSem inar is the Join table. It is simply there to break the many to many relationship between tblPresenter and tblSeminar.

You don't use autonumbers, Your primary key in this case is made up of two foreign keys which reference the primary keys of the two tables being joined. You set the datatype to Number, Long Integer.

Mary
Jun 26 '07 #10

Sign in to post your reply or Sign up for a free account.

Similar topics

6
4520
by: Mahesh Hardikar | last post by:
Hi , Oracle 8.1.7.0.0 on HP-UX 11.0 I am a newbie as far as PL-SQL is concerned . I have Sybase/MSSQL T-SQL background. We have a report which uses a select statement . This select statement joins 15 tables . SOme of the tables are outer joined. It runs much slow when parameters (From & To Date) are for a month.
7
10815
by: Bing Wu | last post by:
Hi Folks, I have a very large table containing 170 million rows of coordinats: CREATE TABLE "DB2ADMIN"."COORDINATE" ( "FID" INTEGER NOT NULL , "AID" INTEGER NOT NULL , "X" REAL NOT NULL , "Y" REAL NOT NULL , "Z" REAL NOT NULL )
8
20356
by: Vladimir | last post by:
Hello, I have a table in MS Access database. It has one field (with BYTE datatype) that has several properties set in Lookup tab of table Design View. Display Control = Combo Box. Row Source Type = Value List. Row Source = "1; "Above"; 2; "Below"; 3; "Equal"". When I try to SELECT <field> FROM <table> in my C++ application through ADO, I get numeric value of the field. How can I get string representation of this numeric value from the...
2
14933
by: Daniel | last post by:
I use an Access database to basically take data exports, import them, manipulate the data, and then turn them into exportable reports. I do this using numerous macros, and queries to get the data in the format that I need it in order to create the reports that we use. So far this has proven to be successful for the reports that I am doing and the data that I am pulling into it. I just have one challenge that may require a lot of work and I...
5
3752
by: Sami | last post by:
Please bear with me, and if you answer this question, please do it step by step. I am new at Access, not at all sophisticated. I am using Office XP. This will need to be read in Access for Office 2000. I am creating a database to track student athletes. I have created the following tables. The table title is to the far left, with fields under each. The common field will be the StudentID field, which is their student number assigned...
5
3543
by: PAUL | last post by:
Hello, I have 2 tables with a relationship set up in the dataset with vb ..net. I add a new record to the parent table then edit an existing child record to have the new parent ID. However when I do the update the changed parentid in the child table fails to change. No error is given its just that the change is not written to the Database. When I step through the records for the child table the one I would expect to be changed has a row...
5
1760
by: gmelcer | last post by:
Hi, I need to use the data type "struct" in a class. Could someone show me a simple example of how to use stuct in a class and access the data type which is declared in the private section of the class. Here is an exmaple of what I am trying to do. If someone could quickly write a module to acces the structure I would highly appreciate it #include <iostream> #ifndef POLYLINE #define POLYLINE
5
3846
by: wugon.net | last post by:
question: db2 LUW V8 UNION ALL with table function month() have bad query performance Env: db2 LUW V8 + FP14 Problem : We have history data from 2005/01/01 ~ 2007/05/xx in single big table, we try separate this big table into twelve tables and create a view
3
1417
by: =?Utf-8?B?SXNsYXkgUm9kcmlndWV6IEpyLg==?= | last post by:
How do you share glogal data stuctures between VB.net and C++ or C# ? Thanks, Islay -- Islay
0
9589
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9423
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 effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10216
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10049
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9865
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5448
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3965
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3565
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2815
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.