Tôi đang viết ứng dụng web đầu tiên của mình và tôi biết đủ về cơ sở dữ liệu để biết rằng lược đồ là quan trọng nhưng không đủ để biết cách viết thực sự tốt.Có nên tạo bảng mới cho mỗi người dùng trên một ứng dụng web không?
Có giao thức chuẩn để xử lý thông tin được lưu trữ trong mỗi tài khoản người dùng không? Bản năng của tôi là có một bảng lưu trữ thông tin khóa và thông tin đăng nhập của người dùng và một tay cầm vào bảng của họ (có thể là khóa?), Và sau đó có một bảng cho mỗi người dùng.
Nhưng tôi tự hỏi liệu có vấn đề về hiệu suất xung quanh việc có bảng cho mỗi người dùng hay điều đó có vẻ là một cách cực kỳ ngu ngốc để làm điều đó. Điều này có vẻ như nó phải là một "giải quyết vấn đề" vì cơ bản tất cả các ứng dụng web có tài khoản người dùng, nhưng tôi đã không thể tìm thấy bất cứ điều gì thông qua tìm kiếm. Có bất kỳ tài nguyên nào có các lược đồ "được giải quyết" để lưu trữ các loại dữ liệu web khác nhau không?
Tôi biết điều này hơi cũ nhưng tôi đã suy nghĩ một cách tương tự vì lý do bảo mật. ví dụ: để ngăn người dùng khác tiếp cận các bảng khác ngoại trừ bảng của họ. –
@SalemF Vì vậy, có, có những vấn đề bảo mật tiềm tàng đang thực hiện theo cách này, nhưng thậm chí còn có các vấn đề bảo mật lớn hơn có các bảng riêng biệt. Nói một cách đơn giản, bạn không muốn ứng dụng web của mình từng tạo bảng khi đang di chuyển. Bạn chỉ muốn thêm hoặc xóa dữ liệu trong bảng. Thêm và tạo bảng là cấp độ quyền cao hơn việc thêm và xóa các hàng. Và bạn không muốn ứng dụng web của mình có quyền tạo hoặc xóa bảng. Đây là cách bạn kết thúc có toàn bộ cơ sở dữ liệu của bạn bị xóa hoặc sao chép bởi một hacker. Có nhiều lý do khác, nhưng đó là lý do an ninh. – araneae
@aranesa bạn phải đó là về mức độ cho phép, héo héo, nếu người dùng có thể truy cập những người khác, bạn có thể truy cập vào các bảng khác. nhưng ý tưởng chỉ giữ người dùng trên bảng của riêng mình và không cho phép xóa hoặc tạo bảng mới.một trong hai cách của hacker có thể kiểm soát DB anh ta sẽ làm những gì anh ta muốn –