저는 Sqlite를 처음 사용하고 데이터베이스 디자인에 대한 딜레마가 있습니다. 테이블에 저장 될 (다양한 크기의) 행렬이 여러 개 있다고 가정합니다. 우리는 더 이상 혼재가 없다고 추측 할 수 있습니다.Sqlite - 테이블에 행렬 저장
의 우리가 있다고 가정 해 봅시다 :
A = [[1, 4, 5],
[8, 1‚ 4],
[1, 1, 3]]
B = [['what', 'a', 'good', 'day'],
['for', 'a', 'walk', 'outside']]
C = [['AAA', 'BBB', 'CCC', 'DDD', 'EEE'],
['FFF', 'GGG', 'HHH', 'III', 'JJJ'],
['KKK', 'LLL', 'MMM', 'NNN', 'OOO']]
And D which is [NxM]
우리는 우리가 행렬이 가진 모든 크기를 모르는 테이블을 생성
. 나중에 테이블 크기를 변경하는 것이 좋지 않을 것이라고 생각합니다. 매트릭스를 효율적으로 복원하기 위해 저장하는 것이 바람직한 방법은 무엇입니까? 행별로 행렬을 쿼리하려고합니다. 나는이 모양이 sqlite에서 쿼리 선으로 다시 라인을 얻을 수 어떻게 든이 같은 테이블에 끝나는 열 벡터로 변신 행렬 생각하고,
CREATE TABLE mat(id INT,
row INT,
col INT,
val TEXT)
행렬 A?
[1, 4, 5]
[8, 1‚ 4]
[1, 1, 3]
아이디어가 있습니까? 또는 누군가 유사한 문제를 친절하게 참조 할 수 있습니까?
---------------------- 업데이트 ---------------------- --------
오케이. 제 질문이 충분히 명확하지 않았습니다. 아마도 데이터베이스에 데이터를 정렬하려는 의도 일 것입니다. 다른 숫자 열과 함께 데이터의 더 많은 세트를
Compilation User BogoMips
1 Andrew 1.04
1 Klaus 1.78
1 James 1.99
1 David 2.09
. . .
. . .
1 Alex 4.71
Compilation Time Temperature Colour
2 10:20 10 Blue
2 10:28 21 Green
2 10:42 25 Red
. . . .
. . . .
2 18:16 16 Green
Compilation Colour Distance
3 Blue 4
3 Green 9
. . .
. . .
3 Yellow 12
... 그리고있을 것이다 : 나는
우리가 일부 데이터 세트가 가정, 당신이 내 데이터베이스를 구성 할 수있는 방법을 찾을 수 있도록 할 수 있기를 바랍니다 새로운 헤더. 일부 헤더 이름은 다른 세트로 리턴됩니다. 사전에 어떤 종류의 세트를 저장할 필요가 있는지 전혀 알지 못합니다. 모든 세트에는 함께 묶는 공통 헤더 '컴파일'이 있습니다.데이터베이스의 데이터 구조는 어떻습니까?
각 세트에 대해 새 테이블을 만드는 것이 좋은 해결책이라고 생각합니다. 또는?
제 아이디어는 두 개의 테이블, 헤더 및 데이터를 갖는 것입니다.
CREATE TABLE headers (id INT,
header TEXT
)
CREATE TABLE data (id INT,
compilation INT,
fk_header_id INT REFERENCES headers,
row INT,
col INT,
value TEXT)
So the populated tables looks like this,
SELECT * FROM headers;
id header
------------
1 User
2 BogoMips
3 Time
4 Temperature
5 Colour
6 Distance
SELECT * FROM data;
id compilation fk_header_id row col value
----------------------------------------------------
1 1 1 1 1 Andrew
2 1 2 1 2 1.04
3 1 1 2 1 Klaus
4 1 2 2 2 1.78
. . . . . .
. 2 3 1 1 10:20
. 2 4 1 2 10
. 2 5 1 3 Blue
. 2 3 2 1 10:28
. 2 4 2 2 21
. 2 5 2 3 Green
. . . . . .
. 3 5 1 1 Blue
. 3 6 1 2 4
. 3 5 2 1 Green
. 3 6 2 2 9
. . . . . .
.
and so on
문제는 Sqlite에서 데이터 집합을 쿼리하는 방법을 모르겠다는 것입니다. 누구나 (토니)는 생각을 가지고 있습니까?
정보가 충분하지 않지만,이 정보는 실제로 나쁜 생각처럼 보입니다. 단순히 행렬을 직렬화하면 더 좋은 방법이 될 것입니다. 왜 행렬에 하나의 셀을 가져올 수 있기를 원하십니까? –
의견을 보내 주셔서 감사합니다 .--) 여러 테이블 크기의 행렬을 하나의 테이블에 저장하고 싶습니다. 어떻게하면 좋을까요? 어떻게 그들을 질의합니까? – Snowrabbit
정보가 충분하지 않습니다. 어떻게 matrix.id를 사용할 계획입니까? –