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

Thiết kế cơ sở dữ liệu và mô hình hóa các mối quan hệ cụ thể

Có lẽ là một người lái xe tải và / hoặc người lái xe tải có một nhiệm vụ liên quan đến việc trải qua một chuỗi các sự kiện bao gồm việc đi theo một con đường và thực hiện giao hàng và giao dịch, v.v. Có lẽ một công việc là một sự kiện như vậy, trong đó có một số loại, ví dụ như nhận hàng, chuyển giao và bỏ học.

Các bảng trong cơ sở dữ liệu quan hệ mô tả trạng thái của một ứng dụng. Mỗi bảng có một câu lệnh điền vào chỗ trống (tên-) được liên kết (vị từ). Các vị từ trong bảng cơ sở được đưa ra bởi nhà thiết kế:

// truck [truck_id] has code [truck_code] and ...
TRUCK (truck_id, truck_code, ...)
// product [product_id] has code [product_code] and name [product_name] ...
PRODUCT (product_id, product_code, product_name, ...) 

(Một vị từ đặc trưng cho một mối quan hệ ứng dụng, hay còn gọi là quan hệ, được biểu diễn bằng một bảng, hay còn gọi là quan hệ, do đó "mô hình tương đối".)

Các tham số của vị từ là các cột của bảng. Khi bạn cung cấp các giá trị cho mỗi tham số, bạn sẽ nhận được một tuyên bố (mệnh đề) đúng hoặc sai về ứng dụng của bạn. Một hàng giá trị cho các cột cung cấp các giá trị như vậy cho mỗi ô trống được đặt tên. Các hàng làm cho vị từ của bảng trở thành true sẽ có trong bảng. Các hàng tạo nếu sai sẽ được loại bỏ. Đó là cách trạng thái cơ sở dữ liệu mô tả tình huống ứng dụng. Bạn phải biết các câu lệnh của bảng để đọc hoặc truy vấn cơ sở dữ liệu để tìm ra trên các hàng của nó điều gì là đúng và sai về một tình huống và cập nhật cơ sở dữ liệu bằng cách đặt chính xác các hàng đưa ra mệnh đề đúng vào nó sau khi quan sát tình huống. .

Mọi truy vấn cũng có một vị từ được xây dựng từ các vị từ trong các bảng của nó. JOIN của hai bảng cung cấp cho các hàng thỏa mãn AND của các vị từ của chúng, UNION là OR, v.v. Và kết quả truy vấn cũng chứa các hàng thỏa mãn vị từ của nó .

(Các ràng buộc không liên quan đến điều này; chúng chỉ mô tả chung các trạng thái cơ sở dữ liệu có thể phát sinh với các vị từ và các trạng thái ứng dụng có thể phát sinh.)

Bạn cần phải quyết định đủ các vị từ để có thể mô tả đầy đủ các biến thể của ứng dụng của bạn. Điều này bao gồm những thứ trừu tượng như các tuyến đường và giao dịch và các sự kiện và lịch trình và nhiệm vụ, v.v. (Sau khi chúng tôi có đầy đủ các vị từ / bảng, chúng tôi sẽ cải thiện chúng thông qua các kỹ thuật như chuẩn hóa.)

Khi có thể có nhiều thứ khác nhau, chúng ta nói về siêu kiểu và kiểu phụ và thấy các vị từ như (tôi sẽ sử dụng "job" mà tôi coi là một sự kiện):

// job [job_id] for trucker [trucker_id] is ... stuff about all jobs ...
JOB(job_id, trucker_id...)
// job [job_id] is a pickup with ... stuff about pickups ...
PICKUP(job_id, container_id...)
// job [job_id] is a transfer with ... stuff about transfers
TRANSFER(job_id,...)
...

(Bạn có thể có hoặc không có khái niệm khác hoặc bổ sung về chuyển như một sự kiện có hai hoặc nhiều vùng chứa được liên kết, v.v.) (Tìm kiếm "kiểu phụ". Ví dụ: )




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:CẬP NHẬT KHÓA DUPLICATE

  2. ORA-00918:cột được xác định không rõ ràng trong SELECT *

  3. Tại sao OracleDataAdapter.Fill () Rất chậm?

  4. Tạo công việc lập lịch oracle

  5. làm cách nào để tập lệnh sql của tôi có thể xác định xem nó đang chạy trong sqldeveloper hay sqlplus?