Professional Documents
Culture Documents
Database client
Cuối cùng bạn đã được cấp quyền truy cập vào cơ sở dữ liệu của công ty bạn. Đúng! nhưng bạn bắt
đầu từ đâu?
Các bảng là gì?
Chúng có liên quan với nhau như thế nào?
Những cột nào tồn tại trong các bảng?
Máy khách cơ sở dữ liệu là một chương trình được sử dụng để kết nối và làm việc với cơ sở dữ liệu.
Có nhiều khách hàng cơ sở dữ liệu khác nhau. Mỗi cái có một cách khác nhau để truy xuất thông tin về tên
bảng, các cột trong mỗi bảng và mối quan hệ hình thức giữa các bảng. Tham khảo tài liệu của chương
trình máy khách của bạn để tìm các lệnh trích xuất thông tin này.
Entity relationship diagram / Sơ đồ ER/
Bạn cũng có thể được cung cấp thông tin về cấu trúc của cơ sở dữ liệu từ chủ sở hữu hoặc người tạo
cơ sở dữ liệu.
Một loại tài liệu là sơ đồ mối quan hệ thực thể hiển thị các bảng, các cột của chúng và mối quan hệ
giữa các bảng.
Đây là sơ đồ mối quan hệ thực thể cho cơ sở dữ liệu cho khóa học này. Có sáu bảng
Bảng evanston311 chứa các yêu cầu trợ giúp được gửi đến thành phố Evanston, Illinois.
Fortune500 chứa thông tin về 500 công ty lớn nhất Hoa Kỳ tính theo doanh thu từ năm 2017.
stackoverflow chứa dữ liệu từ trang web hỏi đáp lập trình phổ biến. Nó bao gồm số lượng câu hỏi hàng
ngày được gắn thẻ là có liên quan đến các công ty công nghệ được chọn.
company, tag_company và tag_type là các bảng hỗ trợ với thông tin bổ sung liên quan đến dữ liệu
stackoverflow.
The keys to the database
The keys to the database
Giai đoạn thứ hai của việc khám phá cơ sở dữ liệu là tìm hiểu các mối quan hệ chính thức hoặc các
liên kết giữa các bảng.
Những mối quan hệ rõ ràng này là một trong những lợi ích của việc có dữ liệu của bạn trong cơ sở dữ
liệu thay vì trong một tập hợp các tệp dữ liệu riêng lẻ.
Foreign keys
Khóa ngoại là cách chính thức để các bảng cơ sở dữ liệu được liên kết với nhau. Trong ví dụ này, cột
Actor_id trong bảng film_actor là khóa ngoại tham chiếu đến cột id của bảng diễn viên.
Khóa ngoại là một cột tham chiếu đến một hàng cụ thể trong cơ sở dữ liệu. Hàng được tham chiếu
thường nằm trong một bảng khác, nhưng khóa ngoại cũng có thể tham chiếu các hàng trong cùng một
bảng.
Khóa ngoại tham chiếu các hàng khác bằng mã định danh duy nhất cho hàng đó. ID duy nhất thường
đến từ cột khóa chính trong bảng được tham chiếu.
Khóa chính là các cột được chỉ định đặc biệt trong đó mỗi hàng có một giá trị duy nhất, không rỗng.
Các cột khóa ngoài bị hạn chế chứa giá trị trong cột được tham chiếu hoặc null. Nếu giá trị là null, điều
đó cho thấy rằng không có mối quan hệ nào cho hàng đó
ER diagram
Hãy xem sơ đồ mối quan hệ thực thể cho cơ sở dữ liệu của chúng tôi.
Trong sơ đồ, các khóa ngoại được chỉ định bằng các mũi tên giữa các bảng.
Giá trị trước dấu hai chấm là tên của cột trong bảng mà mũi tên bắt nguồn. Giá trị sau dấu hai chấm là
tên của cột được tham chiếu trong bảng mà mũi tên đang trỏ tới. Vì vậy cột company_id trong bảng
tag_company đề cập đến cột id trong bảng công ty.
Khi một mũi tên chỉ từ và tới cùng một bảng, đây là một tham chiếu tự. parent_id trong bảng công ty
tham chiếu đến cột id trong cùng bảng.
Lưu ý rằng không có khóa ngoại nào liên kết bảng công ty với bảng Fortune500. Nhưng điều này
không ngăn cản chúng ta tham gia các bảng này. Cả hai bảng đều có các cột đánh dấu với các giá trị
tương đương có thể được sử dụng để nối các bảng.
Việc thiếu mối quan hệ khóa ngoại chỉ có nghĩa là các giá trị trong các cột đánh dấu không bị giới
hạn ở tập hợp các giá trị trong bảng khác.
Primary Keys
Sơ đồ cũng cho thấy cột nào là khóa chính. Các khóa chính có đường viền xung quanh chúng ở đầu
mỗi danh sách cột. Khóa chính xác định duy nhất các hàng trong bảng.
Coalesce function
COALESCE() lấy hai hoặc nhiều giá trị hoặc tên cột làm đối số. Ba dấu chấm trong ngoặc vuông ở đây
biểu thị rằng các giá trị bổ sung có thể được cung cấp làm đầu vào.
Hàm kết hợp hoạt động theo hàng trên đầu vào. Nó trả về giá trị không NULL đầu tiên trong mỗi hàng,
kiểm tra các cột theo thứ tự chúng được cung cấp cho hàm.
Column types and constraints
/Các loại trường và ràng buộc/
Column constraints
Khóa ngoại và khóa chính là hai loại ràng buộc giới hạn các giá trị trong một cột, nhưng các cột cũng có thể
bị ràng buộc theo những cách khác.
Duy nhất có nghĩa là mỗi giá trị ngoại trừ NULL phải khác với các giá trị trong tất cả các hàng khác. Không
phải NULL có nghĩa là những gì nó nói - cột không thể chứa giá trị null.
Ràng buộc kiểm tra là một cách triển khai các điều kiện bổ sung trên các giá trị của một cột, chẳng hạn như
yêu cầu cột chỉ chứa các giá trị dương hoặc đảm bảo rằng giá trị của một cột lớn hơn giá trị của cột khác.
Data types
Các ràng buộc có thể giới hạn các giá trị trong một cột, nhưng điều chính quyết định giá trị nào
được phép là loại của cột. Mỗi cột trong cơ sở dữ liệu chỉ có thể lưu trữ một loại dữ liệu. Trong khóa học
này, chúng ta đang nói về ba loại dữ liệu phổ biến nhất: số, ký tự và ngày/giờ. Ba loại này, cùng với
boolean - chứa giá trị đúng hoặc sai - là những loại phổ biến nhất mà bạn gặp phải, nhưng chúng không
phải là những loại duy nhất. Ngoài ra còn có các kiểu dữ liệu đặc biệt để lưu giữ các giá trị tiền tệ, dữ liệu
hình học như điểm hoặc đường và các kiểu dữ liệu có cấu trúc như XML và JSON. Các loại đặc biệt này
khác nhau nhiều hơn trong quá trình triển khai cơ sở dữ liệu so với bốn loại phổ biến.