PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

phân tích chiều và đơn vị trong cơ sở dữ liệu SQL

Tôi đã tạo ra một lược đồ con cơ sở dữ liệu để xử lý các đơn vị một aeon trước đây (được rồi, tôi phóng đại một chút; tuy nhiên, đó là khoảng 20 năm trước). May mắn thay, nó chỉ phải xử lý đơn giản về khối lượng, chiều dài, kích thước thời gian - không phải nhiệt độ, dòng điện hoặc độ sáng, v.v. Ít đơn giản hơn là mặt tiền tệ của trò chơi - có vô số cách khác nhau để chuyển đổi giữa một loại tiền tệ và khác tùy thuộc vào ngày, đơn vị tiền tệ và khoảng thời gian mà tỷ lệ chuyển đổi hợp lệ. Điều đó được xử lý riêng biệt với các đơn vị vật lý.

Về cơ bản, tôi đã tạo một bảng 'số đo' với cột 'id', tên cho đơn vị, chữ viết tắt và tập hợp các số mũ thứ nguyên - mỗi số cho khối lượng, chiều dài, thời gian. Điều này được điền với các tên như 'thể tích' (chiều dài =3, khối lượng =0, thời gian =0), 'mật độ' (chiều dài =3, khối lượng =-1, thời gian =0) - và tương tự.

Có một bảng đơn vị thứ hai, xác định một số đo và sau đó là các đơn vị thực tế được sử dụng bởi một phép đo cụ thể. Ví dụ:có thùng và mét khối, và tất cả các loại đơn vị liên quan khác.

Có một bảng thứ ba xác định các hệ số chuyển đổi giữa các đơn vị cụ thể. Điều này bao gồm hai đơn vị và hệ số chuyển đổi nhân đã chuyển đổi đơn vị 1 thành đơn vị 2. Vấn đề lớn nhất ở đây là phạm vi động của các yếu tố chuyển đổi. Nếu chuyển đổi từ U1 sang U2 là 1.234E + 10, thì nghịch đảo là một số khá nhỏ (8.103727714749e-11).

Nhận xét từ S.Lott về nhiệt độ thật thú vị - chúng tôi không phải đối phó với những điều đó. Một thủ tục được lưu trữ sẽ giải quyết được điều đó - mặc dù việc tích hợp một thủ tục được lưu trữ vào hệ thống có thể khá phức tạp.

Sơ đồ tôi đã mô tả cho phép hầu hết các chuyển đổi được mô tả một lần (bao gồm các đơn vị giả định như furlongs mỗi hai tuần hoặc các đơn vị giả thuyết ít hơn nhưng không kém phần khó hiểu - bên ngoài Hoa Kỳ - như acre-feet) và các chuyển đổi có thể được xác thực (ví dụ:cả hai các đơn vị trong bảng hệ số chuyển đổi phải có cùng một số đo). Nó có thể được mở rộng để xử lý hầu hết các đơn vị khác - mặc dù các đơn vị không thứ nguyên như góc (hoặc góc đặc) đưa ra một số vấn đề thú vị. Có mã hỗ trợ sẽ xử lý các chuyển đổi tùy ý - hoặc tạo ra lỗi khi không thể hỗ trợ chuyển đổi. Một lý do cho hệ thống này là các công ty liên kết quốc tế khác nhau sẽ báo cáo dữ liệu của họ trong các đơn vị thuận tiện tại địa phương của họ, nhưng hệ thống HQ phải chấp nhận dữ liệu gốc và chưa trình bày dữ liệu tổng hợp kết quả trong các đơn vị phù hợp với người quản lý - trong đó các nhà quản lý khác nhau có ý tưởng riêng của họ (dựa trên nền tảng quốc gia và thời gian làm nhiệm vụ tại HQ) về các đơn vị tốt nhất cho báo cáo của họ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Các bảng đủ điều kiện của lược đồ với SQLAlchemy, SQLite và Postgresql?

  2. Số sê-ri trên mỗi nhóm hàng cho khóa ghép

  3. Việc giảm cơ sở dữ liệu có phải được thực hiện không trong bất kỳ giao dịch nào không?

  4. PG ::SyntaxError cho ứng dụng rails

  5. PGAdmin:Không được kết nối với máy chủ hoặc kết nối với máy chủ đã bị đóng