12/08/2018, 14:26

SQL Cơ bản Phần 2

Hôm nay chúng ta sẽ tiếp tục cuộc hành trình tìm hiểu về ngôn ngữ sql, làm việc với nhiều bảng hơn, giới thiệu qua các quan hệ trong cơ sở dữ liệu và Join query. bạn có thể xem lại PHẦN I để dễ dàng đọc phần này hơn nhé. Các kiểu qan hệ database Khi tạo một database, thường sử dụng ...

sql.png

Hôm nay chúng ta sẽ tiếp tục cuộc hành trình tìm hiểu về ngôn ngữ sql, làm việc với nhiều bảng hơn, giới thiệu qua các quan hệ trong cơ sở dữ liệu và Join query.

bạn có thể xem lại PHẦN I để dễ dàng đọc phần này hơn nhé.

Các kiểu qan hệ database

Khi tạo một database, thường sử dụng mỗi bảng khác nhau cho mỗi thực thể(entity). Vd như bảng customers, bảng orders, bảng items... Nhưng chúng ta cần có quan hệ giữa các bảng này. Với hai bảng customers, orders và items thì: customers tạo orders và orders chứa các items. Nhờ có quan hệ này mà ta có thể sử dụng lệnh join query để lấy chính xác những gì chúng ta cần một cách dễ dàng. Các kiểu quan hệ trong cơ sở dũ liệu.

  • quan hệ một – một.
  • quan hệ một – nhiều.
  • quan hệ nhiều – nhiều.
  • quan hệ self reference.

Khi lấy dữ liệu từ nhiều bảng có quan hệ, chúng ta sẽ sử dụng JOIN query. Có một vài kiểu JOIN query mà chung ta sẽ tìm hiểu ở phần tiếp theo.

Quan hệ Một - một (one - one relationshiops)

Giả sử bạn có một bảng customers chứa tên và địa chỉ của nó:

customer.PNG

Chúng ta có thể đặt thông tin địa chỉ của mỗi customer trong một bảng riêng luôn là addresses.

customer_2.PNGaddresss.PNG

Giờ thì ta có một quan hệ giữ bảng customers và bảng addresses. Nếu mỗi address có thể thuộc một và chỉ một customer thì quan hệ này gọi là quan hệ một – một.

Bạn có thể thấy giờ có một trường tên là “address_id” trong bảng customers, đó là một tham chiếu đến mỗi bản ghi trong bảng addresses. đây gọi là một khóa phụ “foregin key” và nó được sử dụng cho toàn bộ các loại quan hệ khác nữa trong DB.

Quan hệ Một - nhiều (one - many relationshiops)

Đây là loại quan hệ rất hay được sử dụng trong thiết kế database.

  • customer có thể tạo một hoặc nhiều orders.
  • orders có thể chứa nhiều items.
  • mỗi item có thế chứa description, name, price và một số các thông tin khác nữa.

Trong trường hợp như ví dụ dưới đây chúng ta tạo một quan hệ một – nhiều .

customer_2.PNGorders.PNG

Mỗi customer có thể không có hoặc nhiều order nhưng mỗi order chỉ thuộc về duy nhất một customer thôi.

Quan hệ nhiều - nhiều (many - many relationshiops)

Trong một vài trường hợp, chúng ta có thể cần cái quan hệ nhiều nhiều này. giả như mỗi order có thể có chứa nhiều items và mỗi item có thể có nằm trong nhiều order khác nhau. Trông quả xấu phết             </div>
            
            <div class=

0