2011-12-30 24 views
1

我已經建立了一個MySQL數據庫,用於在多個設備上進行位置跟蹤。目前,我打算讓每個設備都有自己的桌子,以便在不同的時間存儲他們的位置。我想在設備的表格中會有一個時間戳表,它可以存儲緯度,經度和其他識別信息。這是我第一次使用MySQL,所以我相信這不是最好的辦法......但這可能嗎?如果不是,還有什麼其他的選擇?MySQL中的表內部表?

+1

而是在層次思維(這是一般更適合於其他數據模型)的,另一種方法是認爲集和它們之間的關係:有SQL關係數據庫的基本原理(反過來基於關係代數)。任何數量的數據庫入門書籍都可以解釋基本的表格設計和規範化。 – 2011-12-30 07:36:09

回答

0

嘗試不限制模式的NoSQL數據庫。當你想要構造嵌套集合時,MongoDB會記住。

+0

不幸的是,我堅持使用MySQL數據庫(至少暫時)。我有什麼替代設計可以使用,還記錄用戶,時間和地點之間的匹配嗎? – user1122510 2011-12-30 07:14:09

+0

MySQL能做到這一點:我知道是誰開發了使用MySQL爲RDM的企業公司應用程序級別跟蹤和追蹤解決方案的人。我建議你做谷歌搜索類似的開源項目。 – menjaraz 2011-12-31 07:05:58

1

從我所看到的,你的數據庫模式應該或多或少是這樣的:

create table devices (
    id int not null auto_increment primary key, 
    name ..., 
    ... 
) engine=INNODB; 

create table device_locations (
    id int not null auto_increment primary key, 
    device_id not null, 
    lat ..., 
    lng ..., 
    ..., 
    index ix_device_id(device_id), 
    foreign key (device_id) references devices(id) 
) engine=INNODB; 

你想要做什麼是非常適用於關係數據庫(如MySQL,嘿它甚至有built-in datatypes just for storing GIS data ),但是你應該首先閱讀normal forms

0

通過根據與MySQL Flickr的經驗,它可以被用來作爲方案較少爲好,剛開始連載存中的數據列,如果你知道你想要什麼。

MySQL的主要是生產就緒的解決方案與準備使用的工具來備份,恢復,複製和分片工具,它是理想的維護。如果你不希望使用的模式,只是不使用它

+0

你可以用很多方法燒豬。他們大多不喜歡吃。 – 2011-12-30 07:37:40