MỤC LỤC
Người lập trình phải thiết kế các dạng tập tin dữ liệu riêng và viết cách truy xuất tập tin cho mỗi ứng dụng mới. Các nhược điểm nêu trên làm cho việc bảo trì chương trình gặp nhiều khó khăn, thường chiếm khoảng 80% ngân sách phát triển HTTT.
Mỗi chương trình ứng dụng phải có mã lệnh cho siêu dữ liệu của mỗi tập tin. Mỗi chương trình ứng dụng phải có các chương trình con xử lý để đọc, thêm, sửa và xóa dữ liệu.
DBMS chứa siêu dữ liệu (metadata), do đó các ứng dụng không cần quan tâm đến các dạng thức của dữ liệu. DBMS quản lý các truy vấn và cập nhật dữ liệu, do đó ứng dụng không cần xử lý việc truy xuất dữ liệu.
Hệ quản trị CSDL là tập hợp các chương trình dùng để quản lý cấu trúc và dữ liệu của CSDL và điều khiển truy xuất dữ liệu trong CSDL. Cho phép người sử dụng định nghĩa, tạo lập và bảo trì CSDL và cung cấp các truy xuất dữ liệu.
Ngôn ngữ thao tác dữ liệu: Liệt kê mã, tên và địa chỉ của các khách hàng thuộc thành phố ‘HCM’. Ngôn ngữ điều khiển dữ liệu: Cho phép người sử dụng Tien và Truc được phép xem và thêm dữ liệu vào bảng Customer.
Thể hiện thực thể là người, vị trí, đối tượng, sự kiện, khái niệm (thường tương ứng với một hàng của bảng).
Kiểu thực thể là tập hợp các thực thể thuộc cùng một loại (thường tương ứng với một bảng).
Thuộc tính đa trị (multivalued attribute) là thuộc tính chứa nhiều giá trị khác nhau thuộc một miền trị, được biểu diễn bằng hình bầu dục nét đôi. Thuộc tính dẫn xuất (derived attribute) là thuộc tính mà giá trị của nó được suy dẫn từ các thuộc tính khác, được biểu diễn bằng hình bầu dục nét đứt.
Khóa chính là một khóa tiêu biểu trong các khóa dự tuyển của một kiểu thực thể.
Bậc của mối liên kết là số lượng kiểu thực thể tham gia đồng thời vào mối liên kết này. Mối liên kết 3-ngôi (ternary relationship): 3 kiểu thực thể đồng thời tham gia vào mối liên kết. Lượng số của mối liên kết là số lượng thể hiện thực thể tham gia vào mối liên kết này.
Ràng buộc lượng số là số lượng thể hiện của thực thể này có thể hoặc phải liên kết với một thể hiện của thực thể khác.
Khóa quan hệ là một tập nhỏ nhất các thuộc tính dùng để xác định duy nhất một hàng. Khóa thường được sử dụng làm chỉ mục (index) của bảng dữ liệu để làm tăng tốc độ xử lý câu truy vấn. Các thuộc tính thuộc một khóa được gọi là thuộc tính khóa (prime attribute), các thuộc tính còn lại trong lược đồ quan hệ được gọi là các thuộc tính không khóa (nonprime attribute).
Một trong các khóa dự tuyển được chọn làm khóa tiêu biểu, khóa này được gọi là khóa chính (primary key). Trong một quan hệ, một hoặc nhiều thuộc tính được gọi là khóa ngoại (foreign key) nếu chúng là khóa chính của một quan hệ khác.
Combined, these are a composite primary key (uniquely identifies the order line)…individually they are foreign keys (implement M:N relationship between order and product). Mỗi quan hệ (bảng) tương ứng với một kiểu thực thể hoặc với một kiểu mối liên kết nhiều - nhiều. Mỗi hàng tương ứng với một thể hiện thực thể hoặc với một thể hiện mối liên kết nhiều - nhiều.
Từ quan hệ (relation) trong cơ sở dữ liệu quan hệ không có cùng nghĩa với từ mối quan hệ (relationship) trong mô hình ER.
Ràng buộc toàn vẹn tham chiếu là một qui tắc mà tất cả các giá trị của khóa ngoại (nếu khác null) trong quan hệ bên phía nhiều phải có trong các giá trị của khóa chính trong quan hệ bên phía một. Hạn chế (restrict): không cho phép xóa các hàng bên phía cha (parent) nếu tồn tại các hàng liên quan bên phía phụ thuộc (dependent). Tầng (cascade): tự động xóa các hàng bên phía phụ thuộc tương ứng với các hàng bên phía cha.
Gán null (set-to-null): gán null cho khóa ngoại của các hàng bên phía phụ thuộc tương ứng với các hàng bên phía cha. Đối với kiểu thực thể thông thường (regular entity type): khóa của quan hệ là khóa của kiểu thực thể.
Đặt khóa của kiểu thực thể bên phía bắt buộc và các thuộc tính của mối liên kết vào quan hệ của kiểu thực thể bên phía tùy chọn. Đặt khóa của kiểu thực thể bên phía một và các thuộc tính của mối liên kết vào quan hệ của kiểu thực thể bên phía nhiều. Qui tắc 5: Biến đổi mối liên kết 1-ngôi hoặc 2-ngôi có lượng số nhiều-nhiều thành một quan hệ.
Mối liên kết có bao nhiêu kiểu thực thể bên phía một thì quan hệ có bấy nhiêu khóa: đối với một kiểu thực thể bên phía một thì khóa của quan hệ gồm cả hai khóa của hai kiểu thực thể còn lại. Nếu không có kiểu thực thể bên phía một thì khóa của quan hệ bao gồm cả ba khóa của ba kiểu thực thể.
Loại bỏ các bất thường (anomaly) của một quan hệ để có được các quan hệ có cấu trúc tốt hơn, nhỏ hơn. Cho phép người sử dụng thêm vào, cập nhật và xóa bỏ dữ liệu mà không gây ra sự mâu thuẫn dữ liệu.
{Mãsv, Môn học} → Họtên là phụ thuộc hàm riêng phần {Mãsv, Mônhọc} → Điểm là phụ thuộc hàm đầy đủ. Quan hệ R ở dạng chuẩn 1 (1NF - First Normal Form) nếu mọi thuộc tính của R đều chứa các giá trị nguyên tố (atomic value), giá trị này không là một danh sách các giá trị hoặc các giá trị phức hợp (composite value).
Quan hệ R ở 1NF vì các thuộc tính của R không là thuộc tính đa trị, không là thuộc tính phức hợp. Không thể thêm thông tin của sinh viên mới có mã là S4, tên là Thành, thuộc lớp có mã là L1 nếu sinh viên này chưa đăng ký học môn học nào cả. Sửa tên của sinh viên có tên là Tiến với tên mới là Thành sẽ phải sửa tất cả các hàng của sinh viên này.
Xóa thông tin sinh viên S3 đăng ký môn học M1 sẽ làm mất thông tin của sinh viên này.
Lược đồ quan hệ R không ở 2NF vì thuộc tính không khóa Họtên phụ thuộc hàm riêng phần vào khóa {Mãsv, Mônhọc}. Lược đồ quan hệ R1 và R2 đều ở 2NF vì các thuộc tính không khóa đều phụ thuộc hàm đầy đủ vào khóa. Không thể thêm thông tin của lớp L3 có tên là MT03 nếu chưa có sinh viên nào học lớp này.
Xóa thông tin của sinh viên có mã S3 sẽ làm mất thông tin của lớp L2.
Lược đồ quan hệ R1 không ở 3NF vì thuộc tính không khóa Tênlớp phụ thuộc bắc cầu vào khóa Mãsv. Lược đồ quan hệ R11 và R12 đều ở 3NF vì các thuộc tính không khóa đều không phụ thuộc bắc cầu vào khóa. Ngôn ngữ truy vấn có cấu trúc (SQL -Structured Query Language) là một ngôn ngữ chuẩn được dùng để tạo lập và truy vấn các cơ sở dữ liệu quan hệ.
SQL là một ngôn ngữ chuẩn cho các hệ quản trị CSDL quan hệ (RDBMS - Relational DBMS).
Ngôn ngữ SQL là một ngôn ngữ tựa tiếng Anh (English-like language), sử dụng các từ như select, insert, delete trong tập lệnh. Không cần phải chỉ ra cách thực hiện như thế nào (how) để có được các thông tin này. SQL xử lý các tập hợp mẩu tin (bảng) hơn là mỗi lần một mẩu tin đơn lẻ.
LONG – kiểu chuỗi có chiều dài thay đổi, tối đa 4GB (chỉ có một cột trong một bảng). Các lệnh dùng để định nghĩa CSDL: tạo lập (create), thay đổi (alter) và hủy bỏ (drop) các đối tượng dữ liệu, thiết lập các ràng buộc. Xác định các cột có thể hoặc không thể có giá trị rỗng (null value).
Xác định các cột phải có các giá trị duy nhất (các khóa dự tuyển).
FROM: các bảng hoặc các khung nhìn chứa dữ liệu cần thiết cho truy vấn.
Tại mỗi chi nhánh có một máy tính và một cơ sở dữ liệu tài khoản, tạo thành một nơi (site) của cơ sở dữ liệu phân tán. Các máy tính được kết nối với nhau thông qua một mạng máy tính truyền thông. Cơ sở dữ liệu phân tán là sự tập hợp dữ liệu được phân tán trên các máy tính khác nhau của một mạng máy tính.
Mỗi nơi của mạng máy tính có khả năng xử lý tự trị và có thể thực hiện các ứng dụng cục bộ. Mỗi nơi cũng tham gia thực hiện ít nhất một ứng dụng toàn cục, mà nơi này yêu cầu truy xuất dữ liệu ở nhiều nơi bằng cách dùng hệ thống truyền thông con.