2011-12-30 4 views
1

여러 장치에서 위치 추적을위한 MySQL 데이터베이스를 설정했습니다. 현재 각 장치마다 다양한 시간대에 위치를 저장하는 자체 테이블이 있습니다. 장치의 테이블에서 위도, 경도 및 기타 식별 정보가 포함 된 타임 스탬프 테이블이 있다고 생각했습니다. MySQL을 처음 사용하는 것이므로 이것이 최선의 방법은 아니라고 확신하지만 ... 가능합니까? 그렇지 않은 경우 다른 대안이 있습니까?MySQL의 테이블 내부 테이블?

+1

스키마 (일반적으로 다른 데이터 모델에 더 적합)를 생각하는 대신, 집합과 관계에서 생각하는 것이 좋습니다. 관계형 데이터베이스 (Relational Algebra)를 기반으로하는 SQL 관계형 데이터베이스의 기본 원칙. 많은 수의 데이터베이스 도입 서적이 기본 테이블 설계 및 표준화를 설명 할 수 있습니다. –

답변

0

스키마를 제한하지 않는 NoSQL 데이터베이스를 사용해보십시오. MongoDB는 중첩 된 콜렉션을 구조화하고자 할 때 마음에 들어온다.

+0

불행히도, 나는 당분간은 MySQL 데이터베이스에 집착하고있다. 내가 가진 것과 함께 사용할 수있는 대안 디자인이 있습니까? 여전히 사용자, 시간 및 위치가 일치하는지 계속 추적하고 있습니까? – user1122510

+0

MySQL이 할 수 있습니다 : MySQL을 RDMS로 사용하여 entreprise 애플리케이션 레벨 추적 및 추적 솔루션을 개발 한 사람을 알고 있습니다. 비슷한 opensource 프로젝트에 대한 Google 검색을 제안합니다. – menjaraz

1

내가 볼 수있는, 데이터베이스 스키마는 더 많거나 적은 다음과 같아야에서 : 당신이하고 싶은 것은, MySQL과 같은 관계형 데이터베이스 (에 완벽하게 적합

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; 

헤이 심지어 built-in datatypes just for storing GIS data있다) 그러나 먼저 normal forms을 먼저 읽어야합니다.

0

MySQL의 Flickr 경험에 따르면, 스키마가 없어도 사용할 수 있습니다. 원하는 것을 알고 있으면 직렬화 된 데이터를 열에 유지하기 만하면됩니다.

MySQL은 주로 유지 관리에 이상적인 백업, 복구, 복제 및 샤딩 도구에 사용할 수있는 도구가있는 프로덕션 기반 솔루션입니다.

+0

돼지를 여러 가지 방법으로 구울 수 있습니다. 대부분은 먹기가 즐겁지 않습니다. –