Tôi đang thiết lập một giao diện web để quản lý dữ liệu. Người dùng tải lên CSV hoặc các tệp có cấu trúc tương tự và tôi muốn lưu trữ chúng trong cơ sở dữ liệu để họ có thể thực hiện các thao tác trên chúng - lọc, sắp xếp, vẽ biểu đồ, v.v.
Tôi không biết làm thế nào để mô hình hóa điều này đúng trong cơ sở dữ liệu. Tôi có một vài ý tưởng, nhưng dường như không có cách nào phù hợp để thực hiện nó.
Tạo một bảng mới cho mỗi CSV đã tải lên. Điều này có nghĩa là mỗi cột có thể được nhập một cách thích hợp (số nguyên, chuỗi, ngày, v.v.) và mỗi bản ghi sẽ tương ứng với một dòng trong tệp CSV. Đây có vẻ như là một khái niệm tự nhiên của vấn đề - nhưng hiệu suất sẽ trở thành vấn đề nếu tôi phải tạo một bảng mới cho mỗi tệp được tải lên?
Tạo một bảng trong đó mỗi bản ghi đại diện cho một tập dữ liệu (CSV) và có các bảng khác trong đó các điểm dữ liệu có id dữ liệu của chúng trong bản ghi của chúng. Điều này có nghĩa là tất cả dữ liệu từ một tập dữ liệu nhất định được trải đều trên các bảng khác nhau và sẽ có rất nhiều dư thừa (vì mỗi điểm dữ liệu sẽ lưu trữ id của tập dữ liệu). Tuy nhiên, điều đó có nghĩa là các bảng sẽ không phải được tạo trên mỗi tập dữ liệu.
Các biến thể khác trên 2. Hầu hết các suy nghĩ khác của tôi là các biến thể trên số 2 với nhiều mức độ khác nhau.
Câu hỏi của tôi về cơ bản là "Làm thế nào để tôi mô hình hóa điều này đúng?", Nghĩa là, với khả năng mở rộng hợp lý.
Hầu hết các dữ liệu sẽ là khoa học, vậy làm cách nào để tôi xử lý nhiều tập dữ liệu có kích thước khác nhau từ tầm thường (giả sử, 10 cột và 100 hàng) đến lớn (hàng trăm cột và hàng nghìn / triệu hàng)?
tl; dr: Làm cách nào để tôi mô hình hóa dữ liệu tùy ý từ số lượng CSV được tạo tốt trong cơ sở dữ liệu và một bảng mới cho mỗi CSV có thể chấp nhận được không?