473,395 Members | 1,629 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,395 software developers and data experts.

Help with Access Database Table Structure

119 100+
I'm building a database and am a bit stumped about how to construct/link tables. I will describe the current configuration, then present the problem I am trying to solve.

Currently:

I currently have a table called tblSeries. This table holds information about a time series of data, and how that data should be displayed. It has a SeriesDataID field that will link to another table (tblSeriesData) that contains information about the name of the time series and where that time series is stored etc. It also has fields about how the data should be displayed (for example, as lines or bars, whether or not to flip the y axis etc.). The field summary is below.

Expand|Select|Wrap|Line Numbers
  1. tblSeries:
  2. SeriesID (key), SeriesDataID, LineOrBar, FlipAxis
  3.  
  4. tblSeriesData:
  5. SeriesDataID (key), Name, WebAddress
This allows me to easily switch the data for a particular Series, and also separate the definition of how the data should be displayed (tblSeries) from the definition of the data (tblSeriesData).

The Problem

The problem I am having is that the Data Series can come from two locations; either the web or another database. If it is the web, a web address will point to the data location. If it is another database, a database path and table name will point to the data location.

I therefore have two types of SeriesData:

Expand|Select|Wrap|Line Numbers
  1. tblSeriesDataWeb:
  2. SeriesDataID (key), Name, WebAddress
  3.  
  4. tblSeriesDataDatabase:
  5. SeriesDataID (key), Name, DatabasePath, TableName
I am not sure how to relate these two SeriesData tables to the tblSeries table. My current thought is a structure like this:

Expand|Select|Wrap|Line Numbers
  1. tblSeries:
  2. SeriesID (key), SeriesDataType, SeriesDataID, LineOrBar, FlipAxis
where the new field [SeriesDataType] specifies whether it is Web or Database, and the SeriesDataID points to the correct item in the relevant SeriesData table.

The Question

This is the part that is stumping me. How do point/relate to one or another table, based on an entry in a particular record?

For example:

The first record in tblSeries below defines one set of SeriesData (id = 23) that is found in the tblSeriesDataWeb table. The second record has SeriesData that is defined in tblSeriesDataDatabase (id = 45).

Expand|Select|Wrap|Line Numbers
  1. tblSeries:
  2. SeriesID (key), SeriesDataType, SeriesDataID, LineOrBar, FlipAxis
  3. 1, Web, 23, Line, True
  4. 2, Database, 45, Bar, True
  5.  
  6. tblSeriesDataWeb:
  7. SeriesDataID (key), Name, WebAddress
  8. 23, "A data series from the web", "www.dataseries.com"
  9.  
  10. tblSeriesDataDatabase:
  11. SeriesDataID (key), Name, DatabasePath, TableName
  12. 45, "A data series from another database", "C:/database.mdb", "tblName"
I have considered combining the two SeriesData tables, but this seems like poor design as they are essentially different objects, and combining them will create a lot of redundancy in the table.

I hope I have describe this adequately, and I would love to hear any suggestions.
Feb 11 '09 #1
7 3858
ChipR
1,287 Expert 1GB
There are many ways to do this, but I think I would organize the data a little differently. It seems like you have:

tblSeriesData
SeriesID (key)
Name
DataType
LineOrBar
FlipAxis
LocationType - "Web" or "Database"

tblWebLocations
SeriesID
WebAddress

tblDatabaseLocations
SeriesID
DatabasePath
TableName

This way when you look up a series, you can easily get it's location type and process appropriately.
Feb 12 '09 #2
billelev
119 100+
Yep, ChipR, that does make sense. I'll try implementing that and see how it goes. Thanks.
Feb 12 '09 #3
billelev
119 100+
I've realized a problem with the proposed solution. I should have mentioned that the WebLocations and DatabaseLocations should be unique and therefore not repeated. Multiple Series can have the same DatabaseLocation or WebLocation. In this case, the only way the above solution would work would be to repeat the definition for the locations.

Maybe the way to explain this is to say there are well defined and unique web and database locations:

tblWebLocations
WebLocationID
WebAddress

tblDatabaseLocations
DataBaseLocationID
DatabasePath
TableName

And then there a multiple series that should reference one of the above locations:

tblSeries
SeriesID (key)
Name
DataType
LineOrBar
FlipAxis
<Something else here?>

I'm still not sure how to achieve this...

Perhaps this would work:

tblWebLocations
WebLocationID
Name
WebAddress

tblDatabaseLocations
DataBaseLocationID
Name
DatabasePath
TableName

Then a union query, combining the above tables

qryLinkLocations
LinkLocationID (not sure how to create this in a UNION query!)
Name
LocationType (either Web or DataBase)
LocationID

And then the Series table that references the query through LinkLocationID

tblSeries
SeriesID (key)
Name
DataType
LineOrBar
FlipAxis
LinkLocationID
Feb 12 '09 #4
ChipR
1,287 Expert 1GB
In that case, I would lean toward:

tblSeries
SeriesID (key)
Name
DataType
LineOrBar
FlipAxis
LocationID

tblLocations
LocationID (key)
LocationType
Location - holds web address or path
TableName - null if web location

Some storage space is wasted with nulls, but that shouldn't be a major concern.
Feb 12 '09 #5
billelev
119 100+
I could do that, but I presented simplified Location tables - there are more fields than the few I mentioned, and hence more nulls.

I guess I could just have a linking table between Series and the Locations that contained each of the unique Location IDs (rather than the query)?
Feb 12 '09 #6
billelev
119 100+
This would be the resulting relationship layout...
Attached Images
File Type: jpg layout.jpg (15.1 KB, 3858 views)
Feb 12 '09 #7
ChipR
1,287 Expert 1GB
Had to chew on this over lunch. Here, I believe, is the correct solution.

tblSeriesData
SeriesID (key)
Name
DataType
LineOrBar
FlipAxis
WebLocationID (one or the other)
DatabaseLocationID (may be null)
(optional) LocationType - "Web" or "Database"

tblWebLocations
LocationID
WebAddress

tblDatabaseLocations
LocationID
DatabasePath
TableName
Feb 12 '09 #8

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

Similar topics

0
by: Dafella | last post by:
The following is code from Xeoport. It is suppose to access my pop3 account and load email into Mysql database. It's not inserting and there is no log or anything to tell me why. Here is the...
18
by: Jeremy Weiss | last post by:
I'm trying to build a database that will handle the monthly billing needs of a small company. I'm charting everything out and here's what I see: table for customers sub table to track payments...
1
by: Andrew Arace | last post by:
I scoured the groups for some hands on code to perform the menial task of exporting table data from an Access 2000 database to Oracle database (in this case, it was oracle 8i but i'm assuming this...
8
by: doomx | last post by:
I'm using SQL scripts to create and alter tables in my DB I want to know if it's possible to fill the description(like in the Create table UI) using these scripts. EX: CREATE TABLE(...
8
by: David | last post by:
Hi, Could someone please xplain how to add a field to an existing SQL table in VB.Net I have added the field in the Server Explorer and it shows up when I reload the program but I cannot...
4
by: alexandre.brisebois | last post by:
Hi, I am using access 2003, I would like to know if there is an option to reorganize the tables in a maner that is readable, as we can do in sql sever 2000 or 2005. I have been given a database...
2
by: mcmahonb | last post by:
Hello people, I'm fairly new to access and DB programming in general. I am familiar with the "basics" of MS Access, forms, tables, queries, macros, and such, but still don't have everything down...
4
by: etuncer | last post by:
Hello All, I have Access 2003, and am trying to build a database for my small company. I want to be able to create a word document based on the data entered through a form. the real question is...
5
by: Sam | last post by:
Hi, I have one table like : MyTable {field1, field2, startdate, enddate} I want to have the count of field1 between startdate and enddate, and the count of field2 where field2 = 1 between...
6
by: provor | last post by:
Hello, I have the following code that I am using when a user presses a button to import an excel file into a table. The code is hard coded to point to the correct table. This works great for this...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
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
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
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
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...

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.