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

Mô hình cơ sở dữ liệu cho danh sách nhân viên 24/7 tại sòng bạc

Cảm ơn bạn đã dành thời gian để đặt một câu hỏi chất lượng cùng nhau. Yêu cầu của bạn rất lớn và thông số kỹ thuật của hệ thống của bạn rất chi tiết. Tôi đã có thể dịch thông số kỹ thuật của bạn thành mô hình dữ liệu biểu đồ cho Neo4j. Xem bên dưới.

Ở trên, bạn sẽ thấy một mô hình dữ liệu biểu đồ khá giải thích. Trong trường hợp bạn không quen với điều này, tôi khuyên bạn nên đọc Cơ sở dữ liệu đồ thị: http://graphdatabases.com/ - Trang web này bạn có thể nhận được bản sao PDF kỹ thuật số miễn phí của cuốn sách nhưng trong trường hợp bạn muốn mua bản cứng, bạn có thể tìm trên Amazon.

Hãy chia nhỏ mô hình đồ thị trong hình ảnh. Ở trên cùng, bạn sẽ thấy cấu trúc lập chỉ mục thời gian là (Năm) -> (Tháng) -> (Ngày) -> (Giờ), mà tôi đã viết tắt là Y M D H. Các dấu chấm lửng cho biết biểu đồ đang tiếp tục, nhưng vì lợi ích của khoảng trống trên màn hình, tôi chỉ hiển thị một biểu đồ phụ.

Chỉ mục thời gian này cung cấp cho bạn một cách để tạo chuỗi thời gian hoặc đặt một số câu hỏi nhất định trên mô hình dữ liệu cụ thể về thời gian của bạn. Rất hữu ích.

Phần dưới cùng của hình ảnh chứa mô hình dữ liệu doanh nghiệp cho sòng bạc của bạn. Các nút đại diện cho các đối tượng kinh doanh của bạn:

  • Trò chơi
  • Bảng
  • Nhân viên
  • Kỹ năng

Điều tuyệt vời về cơ sở dữ liệu biểu đồ là bạn có thể nhìn vào hình ảnh này và hiểu ngữ nghĩa ngôn ngữ của câu hỏi của bạn bằng cách chuyển từ nút này sang nút khác theo mối quan hệ của chúng.

Đây là một truy vấn Cypher mà bạn có thể sử dụng để đặt câu hỏi về mô hình dữ liệu. Bạn có thể chỉnh sửa một chút để phù hợp với câu hỏi của mình.

MATCH (employee:Employee)-[:HAS_SKILL]->(skill:Skill),
      (employee)<-[:DEALS]-(game:Game)-[:LOCATION]->(table:Table),
      (game)-[:BEGINS]->(hour:H)<-[*]-(day:D)<-[*]-(month:M)<-[*]-(year:Y)
WHERE skill.type = "Blackjack" AND 
      day.day = 17 AND 
      month.month = 1 AND 
      year.year = 2014
RETURN employee, skill, game, table

Truy vấn trên tìm biểu đồ phụ cho tất cả nhân viên có kỹ năng Xì dách cũng như bảng và vị trí của họ vào một ngày cụ thể (17/1/14).

Để làm điều này trong SQL sẽ rất khó. Điều tiếp theo bạn cần nghĩ đến là nhập dữ liệu của bạn vào cơ sở dữ liệu Neo4j. Nếu bạn tò mò về cách làm điều đó, vui lòng xem các câu hỏi khác tại đây trên SO và nếu bạn cần thêm trợ giúp, vui lòng đăng câu hỏi khác hoặc liên hệ với tôi trên Twitter @kennybastani.

Chúc mừng,

Kenny




  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ó phương pháp hay nhất / cách thống nhất để cập nhật trường cơ sở dữ liệu có chứa khóa-giá trị băm không?

  2. Mysql loại trừ các bản ghi

  3. Làm thế nào để đồng bộ hóa Mysql vào Bigquery trong thời gian thực?

  4. Tải lên hình ảnh trong CKEditor mà không cần sử dụng plugin

  5. Làm cách nào để xác định kích thước giao dịch tối đa trong MySQL?