Đang tải... (xem toàn văn)
Các kiến thức nền tảng về cơ sở dữ liệu
Bài 1 Kiến thức nền tảng về Cơ sở dữ liệuMục tiêu của bài học:Cuối bài học này, bạn có thể Giải thích vì sao chúng ta cần có cơ sở dữ liệu Giải thích sự phát triển của các hệ quản trị cơ sở dữ liệu Liệt kê các mô hình cơ sở dữ liệu khác nhau Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu quan hệ• Toàn vẹn thực thể (entity integrity)• Khóa chính (primary key)• Khóa ngoại (foreign key)• Các mối quan hệ và bậc của các mối quan hệ (relation and its degree) Mô tả tóm tắt giới thiệu về SQL Giới thiệuCác tổ chức thường xuyên phải duy trì một khối lượng lớn dữ liệu, chúng là kết quả tạo ra từ các hoạt động thường ngày. Một cơ sở dữ liệu (CSDL) là dạng được sắp xếp của các dữ liệu như vậy. Một CSDL có thể chứa một hoặc nhiều mục thông tin có liên quan đến nhau gọi là các bản ghi (record).Bạn có thể hình dung CSDL là một tập hợp dữ liệu cho phép chúng ta đặt ra các câu hỏi với nó. Ví dụ như, “Số điện thoại và địa chỉ của 5 bưu điện gần trường nhất là gì?”, hay “Chúng ta có quyển sách nào về món ăn có lợi cho sức khỏe trong thư viện không? Nếu có thì chúng nằm ở những tủ sách nào?”, hay “Hãy cho tôi xem hồ sơ nhân viên và các số liệu kinh doanh của 5 nhân viên kinh doanh giỏi nhất trong quý này, nhưng không cần xem địa chỉ chi tiết của họ”.Bài này sẽ đưa ra các khái niệm liên quan đến các CSDL và các hệ quản trị CSDL, khám phá các mô hình CSDL khác nhau và giới thiệu ngôn ngữ SQL.1.1. Vì sao Cơ sở dữ liệu là cần thiết?Các CSDL được dùng để lưu trữ dữ liệu một cách có tổ chức và hiệu quả. Một CSDL cho phép chúng ta quản lý dữ liệu một cách nhanh chóng và dễ dàng. Ví dụ, một công ty có thể lưu trữ thông tin chi tiết về các nhân viên công ty trong nhiều CSDL khác nhau. Vào bất cứ thời điểm nào, chúng ta có thể có thể truy xuất thông tin từ CSDL, thêm dữ liệu mới vào các CSDL và tìm kiếm dữ liệu theo 1 số tiêu chí nào đó trong các CSDL này.1.1.1 Tính bền vững trong lưu trữ dữ liệu Chúng ta có thể lưu trữ dữ liệu đơn giản bằng các tập tin một cách thủ công. Ví dụ, một trường đại học phải lưu giữ thông tin về các giáo viên, các sinh viên, các môn học và các kì kiểm tra. Thông tin chi tiết về giáo viên có thể được lưu trong Hồ sơ Nhân viên (Staff Register), thông tin Kiến thức nền tảng về Cơ sở dữ liệu 1 chi tiết về sinh viên được nhập vào Hồ sơ Sinh viên (Student Register) và tương tự như vậy cho các thông tin khác . Tuy nhiên, dữ liệu được lưu ở dạng này không phải là bền vững. Các bản ghi trong những tập tin thủ công như vậy chỉ có thể được duy trì trong vài tháng hoặc vài năm mà thôi. Các hồ sơ và tập tin dạng này rất cồng kềnh, tốn không gian lưu trữ và không thể lưu giữ cho nhiều năm. 1.1.2 Vấn đề lưu trữ tập tin Phương pháp thủ công lưu trữ và cập nhật thủ công sử dụng tập tin có một số nhược điểm. Xét công việc nhập điểm của sinh viên một cách thủ công. Mỗi giáo viên đánh giá các bài làm và ghi điểm theo mã sinh viên. Sau đó, giáo vụ sẽ thu lại các bảng chấm điểm của từng môn.Để soạn ra bảng điểm của một sinh viên, giáo vụ phải tìm trong tất cả bảng chấm điểm của các môn để tìm các điểm số mà sinh viên đó đã đạt được. Các điểm số sau đó được ghi vào các ô thích hợp trong bảng điểm của sinh viên này. Giáo vụ cũng phải ghi luôn những điểm số này vào hồ sơ sinh viên trong tập hồ sơ của trường. Quy trình này thật tẻ nhạt, tốn thời gian và có khả năng xảy ra sai sót.1.1.3 Lợi ích của Cơ sở dữ liệu được quản lý bằng máy tính Thông tin hay dữ liệu có thể được lưu trữ dưới dạng các CSDL được máy tính quản lý. Một hệ thống CSDL là hữu ích vì nó cho phép ta kiểm soát dữ liệu môt cách tập trung. Sau đây là một số lợi ích của việc sử dụng một hệ thống CSDL tập trung: Giảm lượng dữ liệu dư thừa trong dữ liệu được lưu trữTrong một cơ quan, một số phòng ban thường lưu giữ cùng một dữ liệu. Việc duy trì một CSDL tập trung sẽ giúp các phòng ban có thể truy cập cùng một dữ liệu. Do vậy, sự trùng lặp dữ liệu, hay ‘dư thừa dữ liệu’ sẽ được loại bỏ. Không còn sự thiếu nhất quán trong dữ liệuDo chỉ có một CSDL trung tâm, ta có thể giao cho một nhân viên nhiệm vụ cập nhật dữ liệu định kì. Giả sử, ông Larry Finner - một nhân viên cơ quan được thăng chức từ Quản lí lên Quản lí cao cấp, ta chỉ cần sửa lại một nơi trong CSDL. Kết quả là, sự không nhất quán về dữ liệu được giảm đi. Dữ liệu được lưu trữ có thể được chia xẻMột CSDL trung tâm có thể đặt tại một máy chủ, chia xẻ cho một số người dùng chung. Theo cách này, bất cứ lúc nào tất cả mọi người đều có thể truy cập đến thông tin dùng chung và được cập nhật. Có thể thiết lập và tuân theo các chuẩn mựcViệc giám sát tập trung đảm bảo việc có thể thiết lập và tuân theo một chuẩn mực nhất định về cách biểu diễn thông tin. Ví dụ, tên của một nhân viên phải được biểu diễn dưới dạng ‘Mr. Larry Finner’, trong đó• Danh xưng (Mr.)• Tên (Larry)2 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATEDPROJECTP PNAMEPNUMBERPLOCATIONTEMPLOYEEE NAMESSNBDATEADDRESSN • Họ (Finner)Chắc chắn rằng tất cả tên lưu trong CSDL sẽ theo cùng một định dạng nếu như các chuẩn mực được thiết lập theo cách này. Có thể duy trì được tính toàn vẹn dữ liệu‘Duy trì tính toàn vẹn dữ liệu’ là đảm bảo sự chính xác trong CSDL. Ví dụ, khi một nhân viên từ chức và rời khỏi cơ quan, xét trường hợp phòng Kế toán đã cập nhật CSDL của mình nhưng phòng Nhân sự lại chưa cập nhật các hồ sơ của họ. Trong trường hợp này, dữ liệu trong hồ sơ của cơ quan là không chính xác.Việc giám sát tập trung CSDL giúp ta tránh được những sai sót này. Chúng ta có thể chắc chắn là khi một bản ghi được xóa khỏi CSDL, tất cả các bản ghi liên quan trong các bảng khác cũng được xóa. Có thể thực hỉện việc bảo mật dữ liệuTrong một hệ thống CSDL tập trung, không phải ai cũng được quyền được sửa đổi CSDL. Quyền hạn này chỉ được giao cho một cá nhân có toàn quyền kiểm soát đối với CSDL. Người này được gọi là Quản trị Cơ sơ dữ liệu hay DBA (Database Administrator).DBA có khả năng thực hiện việc bảo mật bằng cách thiết đặt những giới hạn cho việc truy cập dữ liệu. Tùy thuộc vào quyền được cấp cho mình, người sử dụng mới có thể thêm, sửa hay truy vấn dữ liệu.1.2 Sự phát triển của các hệ quản trị CSDL – toàn cảnh lịch sửMột Hệ quản trị CSDL (DBMS) có thể được định nghĩa như một tập hợp các bản ghi có liên quan và một bộ chương trình để truy cập và thao tác trên các bản ghi đó.Một Hệ quản trị CSDL cho phép ta nhập, lưu trữ và quản lý dữ liệu. Vấn đề của các gói phần mềm DBMS trước đây là dữ liệu được lưu trữ ở dạng các tập tin ‘phẳng’ (flat file). Như vậy, thông tin về các đối tượng khác nhau được lưu trữ riêng biệt trong các tập tin vật lý khác nhau. Do đó, liên kết giữa các đối tượng này, nếu có, phải được giữ trong một tập tin vật lý. Vì vậy, một gói phần mềm đơn sẽ bao gồm quá nhiều tập tin và phải lập trình rất tốt để tích hợp chúng vào một hệ thống duy nhất.Giải pháp cho các vấn đề này là xây dựng một hệ thống CSDL tập trung. Trong một CSDL tập trung, CSDL được lưu tại vị trí trung tâm. Tất cả mọi người đều có thể từ máy của họ truy cập dữ liệu lưu tại vị trí trung tâm. Một hệ thống CSDL trung tâm lớn có thể chứa tất cả dữ liệu liên quan đến các nhân viên. Phòng Kế toán và phòng Nhân sự sẽ dùng các chương trình thích hợp để truy cập thông tin cần thiết. Các chương trình này hoặc toàn bộ ứng dụng có thể nằm trên máy tính làm việc của các cá nhân.1.2.1 Các mô hình Cơ sở dữ liệu Chúng ta có thể phân biệt các CSDL dựa trên chức năng và mô hình dữ liệu. Một mô hình dữ liệu mô tả cách thức lưu trữ dữ liệu trong một vật chứa (container) và cách thức truy xuất dữ liệu từ vật chứa đó.Việc phân tích và thiết kế các mô hình CSDL là cơ sở của sự phát triển các hệ cơ sở dự liệu.Kiến thức nền tảng về Cơ sở dữ liệu 3DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATEDPROJECTP PNAMEPNUMBERPLOCATIONTEMPLOYEEE NAMESSNBDATEADDRESSN 1.2.2 Mô hình Cơ sở dữ liệu phân cấp hay mô hình Cơ sở dữ liệu đa cấp Mô hình dữ liệu phân cấp được phát triển để mô hình hóa các loại cơ quan phân cấp trong thế giới thực. Hình 1.1 minh họa một lược đồ đơn giản cho một giản đồ phân cấp.a. DEPARTMENT: Research Administration EMPLOYEE: Smith Max John Grace Elite James Frankb. DEPARTMENT: Research AdministrationPROJECT Product A Product B Computerization New benefitsHình 1.1: Giản đồ phân cấpTrong mô CSDL hình phân cấp, Department (phòng ban) được xem như là gốc, nốt cha cao nhất của cây phân cấp. Các nốt dữ liệu Project và Employee là các nốt con, nốt lá trong mô hình cây phân cấp. Một đường đi, xuất phát từ một nốt con bên trái qua nốt cha duyệt sang các nốt khác, lặp đi lặp lại tiến trình này cho đến khi hết tất cả các nốt thì sẽ xác định được cấu trúc phân cấp của cây. Một nốt cha có thể có nhiều nốt con. Một nốt con chỉ có một nốt cha.Từ hình vẽ, ta có thể thấy rõ là trong một phòng ban, có thể có nhiều nhân viên và một phòng ban có thể có nhiều dự án.Ưu điểm của mô hình phân cấpCác ưu điểm của mô hình phân cấp là:1. Dữ liệu được giữ trong một CSDL dùng chung, do đó việc chia xẻ dữ liệu trở nên dễ dàng hơn, và hệ quản trị CSDL sẽ cung cấp cũng như thắt chặt việc bảo mật4 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATEDPROJECTP PNAMEPNUMBERPLOCATIONTEMPLOYEEE NAMESSNBDATEADDRESSN 2. Hệ quản trị CSDL mang lại sự độc lập dữ liệu, điều làm giảm bớt nhân lực và chi phí trong việc bảo trì chương trình.3. Mô hình này rất hiệu quả khi CSDL chứa một khối lượng lớn dữ liệu. Ví dụ, một hệ thống tài khoản khách hàng trong một ngân hàng là phù hợp với mô hình phân cấp bởi vì mỗi tài khoản là đầu mối của một số giao dịch.1.2.3 Mô hình CSDL mạngCùng với mô hình phân cấp, mô hình CSDL mạng (network model) là các mô hình dữ liệu chính để hiện thực rất nhiều hệ quản trị CSDL thương mại. Trong mô hình CSDL mạng, cấu trúc dữ liệu và ngôn ngữ truy vấn được định nghĩa và xây dựng bởi CODASYL (Conference on Data Systems Language – Hội thảo về Ngôn ngữ của các hệ thống dữ liệu).Giản đồ mạng lưới (sơ đồ tổ chức khái niệm của toàn bộ CSDL) bao gồm định nghĩa tên của CSDL, loại bản ghi của từng bản ghi, và các thành phần cấu tạo nên các bản ghi đó.Một giản đồ con (sub-schema) (phần của CSDL mà các chương trình ứng dụng nhìn thấy được, sẽ thực tế tạo ra các thông tin cần thiết từ dữ liệu được chứa trong CSDL) cho phép các chương trình ứng dụng truy cập vào các dữ liệu được yêu cầu từ CSDL.Một ngôn ngữ cho phép người quản trị CSDL định nghĩa dữ liệu trong CSDL và thao tác các dữ liệu đó. Hình 1.2: Mô hình mạng lướiMô hình mạng lưới như trên minh họa một loạt các quan hệ một-nhiều.1. Một đại diện bán hàng có thể ghi nhiều hóa đơn, nhưng mỗi hóa đơn chỉ do một đại diện bán hàng ghi.2. Một khách hàng có thể mua nhiều lần vào các dịp khác nhau. Một khách hàng có thể có nhiều hóa đơn, nhưng mỗi hóa đơn chỉ thuộc về một khách hàng.3. Một biên lai hóa đơn có thể có nhiều dòng hóa đơn (INVLINE), nhưng một dòng hóa đơn chỉ nằm trong một hóa đơn.4. Một sản phẩm có thể xuất hiện trong nhiều dòng hóa đơn, nhưng mỗi dòng hóa đơn chỉ chứa một sản phẩm.Kiến thức nền tảng về Cơ sở dữ liệu 5Salesrep CustomerInvoice PaymentProductInvline Giờ chúng ta sẽ thảo luận các thành phần của ngôn ngữ được dùng với các mô hình mạng lưới. Các thành phần này là:1. Ngôn ngữ Định nghĩa Dữ liệu (DDL) được dùng để tạo và gỡ bỏ các CSDL và các đối tượng CSDL. Nó cho phép người quản trị CSDL định nghĩa ra các thành phần của lược đồ. 2. Ngôn ngữ định nghĩa dữ liệu trong lược đồ con (Sub-schema DDL) cho phép người quản trị CSDL định nghĩa ra các thành phần của CSDL.3. Ngôn ngữ Thao tác Dữ liệu (DML), cho phép người dùng thêm, lấy ra và sửa đổi thông tin trong CSDL. Tất cả những người sử dụng CSDL dùng những lệnh này trong hoạt động thường ngày của CSDL.4. Ngôn ngữ Kiểm soát Dữ liệu (DCL) được dùng để quản lí quyền truy cập trên CSDL và các thành phần của CSDL.Cấu trúc cơ bảnMô hình phân cấp là một trường hợp đặc biệt của mô hình mạng lưới. Tuy nhiên, thay vì dùng cấu trúc cây chỉ có một nút cha, mô hình mạng lưới dùng lý thuyết tập hợp để đưa ra mô hình phân cấp dạng cây với ngoại lệ là các bảng con được phép có nhiều hơn một cha.Trong mô hình CSDL mạng, một mối quan hệ được gọi là một bộ (set). Mỗi bộ bao gồm ít nhất hai loại bản ghi: bản ghi chủ, tương đương với nút cha trong mô hình phân cấp, và bản ghi thành viên, tương đương với nút con trong mô hình phân cấp.Các ưu điểm của một cấu trúc như vậy được chỉ ra như sau:1. Việc thiết lập các mối quan hệ trong mô hình CSDL mạng lưới dễ hơn là trong mô hình phân cấp.2. Mô hình này tuân thủ chặt chẽ tính toàn vẹn dữ liệu của CSDL.3. Mô hình này đủ để đạt được sự độc lập dữ liệu.Các nhược điểm được chỉ ra như sau:1. Khó thiết kế các CSDL theo mô hình này.2. Lập trình viên phải rất quen thuộc với các cấu trúc bên trong để truy xuất CSDL.3. Mô hình này cho ta một môi trường truy cập dữ liệu theo cách duyệt. Do đó, để di chuyển từ A đến E trong chuỗi A-B-C-D-E, ta phải lần lượt đi qua B, C và D để đến được E.1.2.4 Mô hình quan hệ Một nhà khoa học tại trung tâm nghiên cứu của công ty IBM, Tiến sĩ E. F. Codd, không hài lòng với cách thức mà các hệ quản trị CSDL thời đó xử lý các khối lượng dữ liệu lớn. Ông thấy cần phải áp đặt các quy luật và nguyên tắc toán học để xử lý các vấn đề của các mô hình trước đó, ví dụ như: Sự toàn vẹn dữ liệu Sự dư thừa dữ liệu6 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 Vào tháng 6/1970, ông đăng bài báo với tựa đề ‘Một Mô hình Dữ liệu Quan hệ cho các Ngân hàng Dữ liệu lớn được chia xẻ’ (‘A Relational Model of Data for large Shared Databanks’). Tại đây, ông đã giới thiệu mô hình CSDL quan hệ. Mô hình này dựa trên hai ngành toán học – ‘Lý thuyết Tập hợp’ và ‘Lô gíc Vị từ Thứ tự’. Bài báo này liệt kê ra 12 nguyên tắc mà một hệ quản trị CSDL quan hệ phải thỏa mãn.Thuật ngữ ‘Relation’ được dẫn xuất từ lý thuyết tập hợp của toán học. Các đặc tính cơ bản của mô hình quan hệ được trình bày như sau.Trong mô hình quan hệ, dữ liệu được lưu trữ trong các bảng, dưới dạng các hàng và cột. Để hiểu được mô hình quan hệ, chúng ta hãy xét hai bảng sau. Bảng 1.1: Bảng SinhviênMã Sinh viên Điểm đạt được1 342 873 454 905 366 657 89Table 1.2: Bảng ĐiểmBạn sẽ nhận thấy rằng có hai bảng khác nhau được trình bày ở đây. Trong bảng Điểm, chúng ta có Mã sinh viên và Điểm đạt được của các sinh viên. Trong bảng Sinhviên, chúng ta có Mã Sinh viên và Tên sinh viên. Để xem tên các sinh viên và điểm tương ứng của các bạn có điểm số lớn hơn 50, ta phải thực hiện hai bước: Đầu tiên, phải xác định Mã sinh viên của các sinh viên đạt điểm trên 50 trong bảng Điểm. Tiếp đó, so trùng mã sinh viên để tìm tên của các sinh viên trong bảng Sinhviên. Kết quả được liệt kê trong bảng 1.3.Mã Sinh viên Tên Sinh viên Điểm đạt được2 John 874 Lisa 906 Peter 657 Joe 89Kiến thức nền tảng về Cơ sở dữ liệu 7Mã Sinh viên Tên Sinh viên1 Sam2 John3 Jenny4 Lisa5 Penny6 Peter7 Joe Bảng 1.3: Hiển thị Tên Sinh viên và Điểm Chúng ta có thể thu được thông tin này nhờ vào hai sự việc: Thứ nhất, có một cột chung giữa hai bảng, đó là Mã Sinh viên. Sau đó, dựa trên cột này, các bản ghi trong hai bảng khác nhau được khớp lại và ta thu được thông tin được yêu cầu.Trong mô hình quan hệ, dữ liệu được lưu trong các bảng. Mỗi bảng trong CSDL có một tên duy nhất xác định nội dung của nó. Mỗi bảng có thể được định nghĩa là giao của các hàng và các cột. Trong ví dụ trên đây, Mã sinh viên và Tên Sinh viên được lưu trong một bảng gọi là bảng Sinh viên. Ưu điểm của Mô hình Quan hệMô hình CSDL quan hệ giúp lập trình viên có thời gian tập trung vào khía cạnh lô-gíc của CSDL thay vì phải lưu tâm đến khía cạnh lưu trữ vật lý. Một trong các lý do khiến cho CSDL quan hệ trở nên phổ biến là sự uyển chuyển trong việc truy vấn. Phần lớn các CSDL quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL). Các hệ quản trị CSDL quan hệ sử dụng SQL để dịch các truy vấn của người dùng thành các đoạn mã cần thiết để lấy ra được các dữ liệu được yêu cầu. Mô hình quan hệ dễ dùng đến mức ngay cả những người chưa được đào tạo cũng thấy dễ dàng để tạo ra các câu truy vấn và các báo cáo tiện lợi, mà không cần phải suy nghĩ nhiều về nhu cầu phải thiết kế một CSDL đúng đắn.Nhược điểm của Mô hình Quan hệMặc dù mô hình này che dấu đi tất cả những sự phức tạp bên trong của hệ thống, nhưng thao tác với dữ liệu là chậm hơn các hệ thống CSDL khác.1.3 Các khái niệm cơ bản về Cơ sở dữ liệuTrước khi chúng ta thảo luận chi tiết về các hệ CSDL, chúng ta cần biết một số khái niệm cơ bản về một CSDL. Hãy cùng khám phá từng khái niệm một.1.3.1 Dữ liệu và thông tinDữ liệu là thành phần quan trọng nhất trong bất cứ công việc nào chúng ta làm. Chúng ta hoặc là dùng những dữ liệu có sẵn, hoặc là tạo ra dữ liệu. Khi các dữ liệu này được thu thập và phân tích, nó cho ta thông tin. Ví dụ, một phóng viên của một tạp chí thể thao (người rất hâm mộ bóng đá) thu thập các điểm số (dữ liệu) của đội Đức trong 10 trận đấu Worldcup. Các điểm số này cấu thành nên dữ liệu. Khi các dữ liệu này được so sánh với dữ liệu của 10 trận đấu Worldcup của đội Brazil, người phóng viên thu được thông tin là quốc gia nào có đội bóng chơi tốt hơn.1.3.2 Cơ sở dữ liệu và Bảng Các bảng là các đối tượng của CSDL, nó chứa tất cả các dữ liệu có mặt trong một CSDL. Một CSDL được cấu thành từ nhiều bảng, mỗi bảng chứa một tập hợp các dữ liệu có liên quan với nhau. Các bảng trong một CSDL có thể liên quan với nhau.Một CSDL là một tập hợp các bảng.8 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 Xét một CSDL lưu trữ dữ liệu cho một ‘Hệ thống Đặt vé Máy bay’. Chi tiết về các hành khách đã đặt vé được lưu trong bảng ‘Đặt vé’ (Reservation), trong khi các chi tiết của những lần hủy vé được đặt trong bảng ‘Hủy vé’ (Cancellation). Hơn nữa, ngày và giờ của các chuyến bay có thể được lưu trong một bảng khác nữa. Danh sách thu tiền cũng có thể được lưu vào một bảng khác. Một cách lý tưởng, tất các các bảng liên quan đến hệ thống đặt vé máy bay này đều được lưu trong một CSDL, gọi là CSDL ‘Hàng không’ (Airline).1.3.3 Mối quan hệ Hàng hoặc Cột Bảng là một tập hợp các bản ghi có liên quan, được sắp xếp theo các hàng và cột. Trong các bảng, dữ liệu được tổ chức dưới dạng hàng và cột tương tự như đối với bảng tính. Ví dụ, một bảng chứa dữ liệu về các nhân viên của một công ty thì mỗi dòng lưu thông tin của một nhân viên, và các cột biểu diễn các thông tin chi tiết về nhân viên đó như mã nhân viên, tên nhân viên, chức vụ, địa chỉ, số điện thoại nhà.1.3.4 Hệ thống Cơ sở Dữ liệu và Hệ Quản trị Cơ sở Dữ liệu Một Hệ thống CSDL là một hệ thống sử dụng máy tính để quản lý các bản ghi mà mục đích tổng quát là nhằm ghi lại và bảo quản thông tin. Một Hệ quản trị CSDL (DBMS) là một tập hợp các bản ghi có liên quan với nhau và một bộ các chương trình để truy xuất và thao tác các bản ghi này. Một hệ quản trị CSDL cho phép người dùng nhập, lưu trữ và quản lí dữ liệu.1.3.5 Sự Dư thừa Dữ liệu và Tính toàn vẹn Dữ liệu Ta có thể giảm bớt sự trùng lặp dữ liệu hay ‘dữ thừa dữ liệu’ bằng cách sử dụng một hệ quản trị CSDL. Ví dụ, một hệ quản trị CSDL có thể đảm bảo mỗi bản ghi trong bảng là duy nhất thông qua một trong các cột hay trường của bảng đó. Việc đảm bảo tính chính xác của dữ liệu trong CSDL được gọi là duy trì tính toàn vẹn dữ liệu. Nếu một hoặc nhiều bảng có quan hệ với nhau thông qua các dữ liệu mà chúng lưu giữ, thì mỗi khi có sự thay đổi dữ liệu trong một bảng, thì sự thay đổi đó cũng phải được phản ánh sang bảng kia. Nếu không làm như vậy, dữ liệu được lưu trữ sẽ không còn chính xác và CSDL sẽ mất đi tính toàn vẹn.Ví dụ, trong một hệ thống thư viện, khi một hội viên không còn quyền hội viên nữa, xét trường hợp chúng ta đã cập nhật bảng Hội viên (Member) nhưng chưa cập nhật bảng Chi tiết Sách (Book Details), trong đó ghi lại các quyển sách đã cho hội viên mượn và trả lại. Như vậy, tuy là hội viên đó không còn tham gia vào thư viện nữa, nhưng bảng Chi tiết Sách vẫn cho thấy những quyển sách mà anh ta mượn.Thậm chí có thể xảy ra việc vào cuối tháng, khi ta soạn báo cáo Thống kê tiền phạt (Fine or Penalty Amount Collection), tên của hội viên đó vẫn nằm trong các báo cáo. Mâu thuẫn dạng này có thể tránh được bằng cách phải đảm bảo tính toàn vẹn dữ liệu ngay từ đầu.1.4 Các Khái niệm Cơ bản về CSDL quan hệMột CSDL quan hệ là một CSDL được cấu trúc theo mô hình quan hệ. Sau đây chúng ta sẽ thảo luận các đặc tính của mô hình quan hệ.Trước tiên, trong mô hình quan hệ, dữ liệu được lưu trong các mối quan hệ (relation). Để hiểu được mối quan hệ, ta xét ví dụ sau đây. Dưới đây là hai danh sách khác nhau, một là danh sách các quốc gia và thủ đô của chúng, danh sách kia liệt kê các quốc gia và loại tiền tệ mà các quốc gia đó sử dụng.Kiến thức nền tảng về Cơ sở dữ liệu 9 Quốc gia Thủ đôGreece AthensItaly RomeUSA WashingtonChina BeijingJapan TokyoAustralia SydneyFrance ParisTable 1.4: Các Thủ đôQuốc gia Tiền tệGreece DrachmaItaly LiraUSA DollarChina Renminbi (Yuan)Japan YenAustralia Australian DollarFrance FrancsTable 1.5: Tiền tệBạn sẽ nhận thấy rằng có 2 danh sách khác nhau được đưa ra ở đây. Tuy nhiên, có một cột là chung cho cả hai bảng. Đây chính là cột chứa tên các quốc gia. Bây giờ nếu có ai muốn tìm loại tiền tệ được dùng ở thành phố Rome, đầu tiên họ phải tìm ra tên quốc gia, sau đó tìm tên quốc gia đó trong bảng còn lại để tìm ra loại tiền tệ tương ứng.Ta có thể thu được thông tin này bởi vì ta có thể thiết lập một mối quan hệ giữa hai danh sách thông qua một cột chung là cột ‘Quốc gia’.1.4.1 Tính toàn vẹn của Thực thể và Khóa chính Trong một mô hình quan hệ, dữ liệu được lưu trong các quan hệ. Quan hệ là thuật ngữ chính quy đối với Bảng. Trong ví dụ trên đây, ta đã lưu trữ thông tin về các quốc gia trong một bảng. Trong một CSDL mỗi bảng có tên duy nhất xác định nội dung của nó. Mỗi bảng có thể xem như là sự giao nhau của các hàng và các cột. Một trong những thuộc tính quan trọng nhất của bảng là các hàng không được sắp thứ tự. Ta không thể xác định một hàng bằng thứ tự của nó ở trong bảng. Mỗi bảng phải có một cột mà nhờ đó ta có thể phân biệt, xác định các hàng trong bảng. Việc không có hai hàng trong bảng chứa thông tin giống hệt nhau là rất quan trọng. Tránh được điều này là nhờ công dụng của các khóa chính. Một cột hoặc một sự kết hợp của một số cột mà qua đó xác định duy nhất một bản ghi trong một bảng thì được gọi là Khóa Chính (Primary Key).Việc các bảng phải có một khóa chính là rất cần thiết. Một ví dụ thường dùng để nhấn mạnh tầm quan trọng của khóa chính là ví dụ về học sinh trong một trường học. Nếu hai học sinh có tên giống hệt nhau, giáo viên sẽ rất bối rối khi phải tính toán bảng điểm cho các học viên. Vì thế, trong các trường hợp như thế này, mỗi học sinh sẽ được gán một mã số học sinh duy nhất sao cho giáo viên không còn bối rối khi có hai học sinh trùng tên nhau. Mã số Học sinh (Roll Number) trong trường hợp này là khóa chính và không được trùng lặp trong bất cứ hoàn cảnh nào.10 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 [...]... sao chúng ta cần có cơ sở dữ liệu Giải thích sự phát triển của các hệ quản trị cơ sở dữ liệu Liệt kê các mơ hình cơ sở dữ liệu khác nhau Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu quan hệ • Tồn vẹn thực thể (entity integrity) • Khóa chính (primary key) • Khóa ngoại (foreign key) • Các mối quan hệ và bậc của các mối quan hệ (relation... và dư thừa dữ liệu. Một Hệ Quản trị Cơ sở dữ liệu có thể được định nghĩa như một tập hợp các bản ghi có quan hệ với nhau và một bộ các chương trình để truy xuất và thao tác các bản ghi đó. Chúng ta có thể phân biệt các CSDL dựa trên cách thức hoạt động và mơ hình dữ liệu. Một mơ hình dữ liệu mô tả cách thức lưu trữ dữ liệu trong một vật chứa (container) và cách thức truy xuất dữ liệu từ vật... kiếm dữ liệu theo 1 số tiêu chí nào đó trong các CSDL này. 1.1.1 Tính bền vững trong lưu trữ dữ liệu Chúng ta có thể lưu trữ dữ liệu đơn giản bằng các tập tin một cách thủ cơng. Ví dụ, một trường đại học phải lưu giữ thông tin về các giáo viên, các sinh viên, các mơn học và các kì kiểm tra. Thơng tin chi tiết về giáo viên có thể được lưu trong Hồ sơ Nhân viên (Staff Register), thông tin Kiến thức nền. .. SQL. 1.1. Vì sao Cơ sở dữ liệu là cần thiết? Các CSDL được dùng để lưu trữ dữ liệu một cách có tổ chức và hiệu quả. Một CSDL cho phép chúng ta quản lý dữ liệu một cách nhanh chóng và dễ dàng. Ví dụ, một cơng ty có thể lưu trữ thông tin chi tiết về các nhân viên công ty trong nhiều CSDL khác nhau. Vào bất cứ thời điểm nào, chúng ta có thể có thể truy xuất thông tin từ CSDL, thêm dữ liệu mới vào các CSDL... CSDL thương mại. Các lệnh SQL có thể được phân làm nhiều loại khác nhau: • DQL • DML • DCL • DDL • CCL Kiến thức nền tảng về Cơ sở dữ liệu 15 1.2.2 Mơ hình Cơ sở dữ liệu phân cấp hay mơ hình Cơ sở dữ liệu đa cấp Mơ hình dữ liệu phân cấp được phát triển để mơ hình hóa các loại cơ quan phân cấp trong thế giới thực. Hình 1.1 minh họa một lược đồ đơn giản cho một giản đồ phân cấp. a. DEPARTMENT: Research... thiệu về SQL Giới thiệu Các tổ chức thường xuyên phải duy trì một khối lượng lớn dữ liệu, chúng là kết quả tạo ra từ các hoạt động thường ngày. Một cơ sở dữ liệu (CSDL) là dạng được sắp xếp của các dữ liệu như vậy. Một CSDL có thể chứa một hoặc nhiều mục thơng tin có liên quan đến nhau gọi là các bản ghi (record). Bạn có thể hình dung CSDL là một tập hợp dữ liệu cho phép chúng ta đặt ra các câu... cấp Các ưu điểm của mơ hình phân cấp là: 1. Dữ liệu được giữ trong một CSDL dùng chung, do đó việc chia xẻ dữ liệu trở nên dễ dàng hơn, và hệ quản trị CSDL sẽ cung cấp cũng như thắt chặt việc bảo mật 4 Khái niệm Hệ quản trị CSDLQH và SQL Server 2000 DEPARTMENTD D_NAMED_NUMBERMGRNAMEMGRSTARTDATED PROJECTP PNAMEPNUMBERPLOCA TIONT EMPLOYEEE NAMESSNBDATEADDRESSN Bài 1 Kiến thức nền tảng về Cơ sở dữ liệu Mục... kiếm một cách hiệu quả trong CSDL. Ta có thể dùng nó để xây dựng các thư viện trực tuyến, nơi mà một khối lượng dữ liệu lớn phải được sàng lọc trong một khoảng thời gian ngắn. Tổng kết Quy trình bảo trì dữ liệu một cách thủ công là tẻ nhạt, tốn thời gian và có khả năng gây ra sai sót. Các CSDL được máy tính hóa cho ta những dữ liệu bền vững, đảm bảo tính tồn vẹn dữ liệu, thiết lập các tiêu chuẩn,... mơ hình dữ liệu: o Mơ hình CSDL Phân cấp hay Đa cấp o Mơ hình CSDL Mạng o Mơ hình CSDL Quan hệ Trong mơ hình quan hệ, dữ liệu được lưu trong các bảng. Bảng là các đối tượng của CSDL dùng để chứa tất cả dữ liệu có trong CSDL. Một CSDL được cấu thành từ nhiều bảng, mỗi bảng chứa một tập hợp các dữ liệu có liên quan với nhau. Một Hệ thống CSDL là một hệ thống sử dụng máy tính để quản lý các bản... 1.3. Mã Sinh viên Tên Sinh viên Điểm đạt được 2 John 87 4 Lisa 90 6 Peter 65 7 Joe 89 Kiến thức nền tảng về Cơ sở dữ liệu 7 Mã Sinh viên Tên Sinh viên 1 Sam 2 John 3 Jenny 4 Lisa 5 Penny 6 Peter 7 Joe Quốc gia Thủ đô Greece Athens Italy Rome USA Washington China Beijing Japan Tokyo Australia Sydney France Paris Table 1.4: Các Thủ đô Quốc gia Tiền tệ Greece Drachma Italy Lira USA Dollar China Renminbi (Yuan) Japan . triển của các hệ quản trị cơ sở dữ liệu Liệt kê các mô hình cơ sở dữ liệu khác nhau Mô tả các khái niệm cơ bản liên quan đến cơ sở dữ liệu Mô tả các khái. và cách thức truy xuất dữ liệu từ vật chứa đó.Việc phân tích và thiết kế các mô hình CSDL là cơ sở của sự phát triển các hệ cơ sở dự liệu .Kiến thức nền tảng