Nhà thiết kế mô hình dữ liệu
Tạo cơ sở dữ liệu bằng trình thiết kế mô hình dữ liệu
Thiết kế cơ sở dữ liệu
Đã đến lúc thiết kế cơ sở dữ liệu của riêng bạn. Để thực hiện việc này, hãy chuyển đến tab Database trên bảng điều khiển bên trái.
mô hình dữ liệu
Dữ liệu trong cơ sở dữ liệu được lưu trữ dưới dạng các bảng (mô hình) đặc biệt. Và bạn có thể nhận thấy rằng chúng tôi đã có một mô hình. Nó là một phần của mô-đun ủy quyền và được bao gồm trong mọi dự án theo mặc định. Nhờ đó, những người dùng mới của ứng dụng được tạo và những người hiện có được quản lý. Nhưng bây giờ chúng tôi sẽ không nghiên cứu về nó, chúng tôi sẽ tạo ra mô hình của riêng mình.
Hãy tưởng tượng rằng chúng tôi đang phát triển một dịch vụ bản đồ. Hãy tạo một mô hình chứa thông tin về các quốc gia. Để tạo nó, bạn cần nhấp chuột phải vào vùng trống của canvas và chọn Create empty model.
Để tạo, chúng ta chỉ cần chỉ định tên của mô hình. Chúng ta sẽ giải quyết vấn đề tự động tạo điểm cuối và các phần tử giao diện người dùng trong các mô-đun tiếp theo của khóa học.
trường mẫu
Xin lưu ý rằng ngay sau khi tạo, mô hình đã có 4 trường. Đây là các trường hệ thống, sự hiện diện của chúng giúp đơn giản hóa rất nhiều việc tạo ban đầu và sử dụng mô hình sau này.
ID (integer) - Mã định danh duy nhất, khóa chính. Nó được tạo tự động cho mỗi mục mới trong bảng và nhằm đảm bảo rằng không có mục trùng lặp nào. Bằng ID, bạn có thể xác định duy nhất một bản ghi trong một bảng. Giá trị của nó bắt đầu từ 1 và tự động tăng thêm 1 cho mỗi mục nhập mới.
CreatedAt (datetime) - Thời gian bản ghi được tạo trong bảng.
UpdatedAt (datetime) - Thời gian mục nhập được sửa đổi lần cuối.
DeletedAt (datetime) - Thời gian mục bị xóa. Tất nhiên, chỉ khi sử dụng loại bỏ mềm. Đó là, việc xóa như vậy, khi bản ghi chỉ được đánh dấu là đã xóa và được lọc bởi các yêu cầu truy cập vào nó, nhưng đồng thời vẫn còn trong bảng về mặt vật lý. Điều này khác với xóa hàng loạt, thực sự xóa dữ liệu hoàn toàn.
Ngoài các trường hệ thống, sẽ là khôn ngoan nếu thêm các trường tùy chỉnh vào mô hình đã tạo. Giả sử chúng ta muốn xem tên của quốc gia và một số mô tả với thông tin về quốc gia đó.
Chọn một loại trường không phải là một vấn đề. String phù hợp với tên và Text cho mô tả thông tin.
Ngoài ra, có thêm bốn công tắc:
Multiple values (Array) - sử dụng các mảng thay vì các mục đơn lẻ.
Not null - trường được chỉ định không thể để trống, trường này phải luôn chứa dữ liệu.
Unique - giá trị của trường phải là duy nhất, trong mô hình này không thể có hai bản ghi có giá trị của trường này giống nhau.
Index - cho biết rằng một chỉ mục đặc biệt sẽ được tạo cho trường này để tăng tốc độ tìm kiếm.
Nói chung, chỉ nên đánh dấu khi thực sự cần thiết. Ví dụ: chúng tôi có thể đánh dấu Not null và Unique cho tên quốc gia, giả sử rằng không thể có một quốc gia không có tên hoặc hai quốc gia có cùng tên. Tuy nhiên, nên kiểm soát điều này ở giai đoạn tạo logic của ứng dụng và không đặt ra các hạn chế đối với chính cơ sở dữ liệu.
Tương tự, tạo một bảng có thông tin về các thành phố. Hãy nghĩ xem nó có thể chứa những trường dữ liệu nào, những trường này thuộc loại nào.
Quan hệ mô hình dữ liệu
Dữ liệu trong cơ sở dữ liệu không tồn tại riêng lẻ mà ở dạng các bảng phân tán. Chúng có quan hệ với nhau theo một cách nào đó. Chìa khóa để phát triển một mô hình dữ liệu là xác định các mối quan hệ này và xây dựng các mối quan hệ.
Để thiết lập các liên kết như vậy, cần phải vẽ một đường bằng chuột từ đường viền của mô hình này sang mô hình khác. Trong ví dụ của chúng tôi, chúng tôi biết chắc chắn rằng mỗi thành phố nằm ở một số quốc gia, vì vậy chúng tôi có thể tạo liên kết từ quốc gia này sang thành phố khác.
Có 3 loại kết nối khác nhau:
Một đối một (has one) . Mỗi bản ghi trong bảng được ánh xạ tới một bản ghi từ bảng được liên kết (điều này cũng đúng theo chiều ngược lại). Một ví dụ đơn giản là một người và hộ chiếu của họ. Chúng tôi luôn có thể chắc chắn rằng kết nối này là duy nhất. Hộ chiếu chỉ có thể có một chủ sở hữu và mỗi người chỉ có thể có một hộ chiếu hợp lệ.
Một-nhiều (has many) . Mỗi bản ghi trong một bảng có thể có nhiều bản ghi trong một bảng khác. Cơ sở dữ liệu của chúng tôi là một ví dụ tương tự. Một quốc gia có thể có nhiều thành phố khác nhau, nhưng mỗi thành phố chỉ có thể thuộc về một quốc gia. Đây là kết nối chúng tôi sẽ thực hiện.
Nhiều-nhiều . Một mối quan hệ trong đó nhiều bản ghi từ một bảng có thể tương ứng với nhiều bản ghi từ một bảng khác. Một ví dụ đơn giản là mối quan hệ giữa giáo viên và học sinh. Mỗi giáo viên có thể dạy nhiều học sinh, cũng như mỗi học sinh có thể học từ nhiều giáo viên khác nhau.