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.
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:
I am not sure how to relate these two SeriesData tables to the tblSeries table. My current thought is a structure like this:
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 tblSeriesDataWe b table. The second record has SeriesData that is defined in tblSeriesDataDa tabase (id = 45).
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.
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.
Code:
tblSeries: SeriesID (key), SeriesDataID, LineOrBar, FlipAxis tblSeriesData: SeriesDataID (key), Name, WebAddress
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:
Code:
tblSeriesDataWeb: SeriesDataID (key), Name, WebAddress tblSeriesDataDatabase: SeriesDataID (key), Name, DatabasePath, TableName
Code:
tblSeries: SeriesID (key), [I]SeriesDataType[/I], SeriesDataID, LineOrBar, FlipAxis
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 tblSeriesDataWe b table. The second record has SeriesData that is defined in tblSeriesDataDa tabase (id = 45).
Code:
tblSeries: SeriesID (key), SeriesDataType, SeriesDataID, LineOrBar, FlipAxis 1, Web, 23, Line, True 2, Database, 45, Bar, True tblSeriesDataWeb: SeriesDataID (key), Name, WebAddress 23, "A data series from the web", "www.dataseries.com" tblSeriesDataDatabase: SeriesDataID (key), Name, DatabasePath, TableName 45, "A data series from another database", "C:/database.mdb", "tblName"
I hope I have describe this adequately, and I would love to hear any suggestions.
Comment