Thứ Sáu, 21 tháng 8, 2015

DBM - Task 1

Session 1

RDBMS Concepts

1.1 - Introduction ( Giới Thiệu)

      Một cơ sở dữ liệu là một hình thức tổ chức các dữ liệu đó. Nó có thể bao gồm các hạng mục liên quan một hoặc nhiều dữ liệu được gọi là hồ sơ. Cơ sở dữ liệu là một tập hợp dữ liệu mà câu hỏi khác nhau có thể được yêu cầu. Ví dụ, 'số điện thoại và địa chỉ của các năm bưu điện gần nhất là gì?' hay bất cứ câu hỏi nào hay như là cho tôi xem hồ sơ nhân viên và doanh số bán hàng của năm hoạt động tốt nhất người bán hàng cho quý hiện tại

1.2 - Data and Database ( Dữ liệu và cơ sở dữ liệu)

       Dữ liệu là thông tin được và nó là thành phần quan trọng nhất trong bất kỳ công việc đó được thực hiện. Dữ liệu hoặc là hiện tại được dùng hoặc nhiều dữ liệu được tạo ra. Khi dữ liệu này được thu thập và phân tích, nó mang thông tin. Nó có thể là bất kỳ thông tin như thông tin về chiếc xe, thể thao, đường hô hấp, và như vậy. 
  - Ví dụ, một nhà báo của tạp chí thể thao (là một người đam mê bóng đá) tập hợp các điểm (dữ liệu) của hiệu suất của Đức trong 10 trận đấu cúp thế giới. Các điểm này tạo thành dữ liệu. Khi dữ liệu này được so sánh với các dữ liệu của các trận đấu cup 10 thế giới trò của Brazil, các nhà báo có thể có được thông tin như quốc gia đó có một đội bóng chơi bóng đá tốt hơn. 
   - Thông tin giúp dự đoán và sự kiện kế hoạch. Diễn giải thông minh của các dữ liệu mang thông tin. Trong thế giới kinh doanh, để có thể dự đoán một sự kiện và kế hoạch cho nó có thể tiết kiệm thời gian và tiền bạc. 
  -  Hãy xem xét một ví dụ, khi một công ty sản xuất xe hơi đang có kế hoạch mua hàng năm của một số bộ phận của xe, trong đó có được nhập khẩu vì nó không phải là có sẵn tại địa phương. Nếu dữ liệu của việc mua các bộ phận cho năm năm qua là có sẵn, người đứng đầu công ty thực sự có thể biên dịch thông tin về tổng số lượng linh kiện nhập khẩu. Dựa trên những phát hiện này, một kế hoạch sản xuất có thể được chuẩn bị. Do đó, thông tin là một yếu tố quan trọng, quy hoạch. Một cơ sở dữ liệu là một tập hợp các dữ liệu. 
     Thông tin này có thể được lấy ra bởi người sử dụng một cách hiệu quả và hiệu quả. Một cuốn sách điện thoại là một cơ sở dữ liệu. Các dữ liệu bao gồm tên cá nhân, địa chỉ và số điện thoại. Những danh sách theo thứ tự chữ cái hoặc lập chỉ mục. 

1.3 Data Management ( Quản lí dữ liệu)

   Quản lí dữ liệu là quản lĩ hay lưu trữ 1 dữ liệu nào đó cho 1 công ty hay một cơ quan tổ chức. 
Là người quản lí chịu chịu trách nhiệm..

1.3.1 File-based Systems ( Hệ thống dựa trên file)

    -   Lưu trữ một lượng lớn dữ liệu luôn luôn là một vấn đề lớn. 
    -   Hệ thống tập tin dựa trên đã được sử dụng. 
    -   Trong hệ thống này, dữ liệu được lưu trữ trong các tập tin rời rạc và một bộ sưu tập các tập tin như vậy được lưu trữ trên một máy tính. Đây có thể được truy cập bởi một nhà điều hành máy tính.         -  Các tập tin dữ liệu lưu trữ được gọi là bảng vì họ trông giống như bảng được sử dụng trong tập tin lưu giữ truyền thống. Hàng trong bảng được gọi là hồ sơ và các cột được gọi là các lĩnh vực.

    + Một số nhược điểm

- Dự phòng dữ liệu và không có sự thống nhất
      +  Ví dụ để dễ hiểu:  1 khách hàng có thể có một tài khoản tiết kiệm cũng như một khoản vay thế    chấp. Ở đây, các chi tiết khách hàng có thể được nhân đôi kể từ khi chương trình cho hai chức           năng lưu trữ dữ liệu tương ứng của họ trong hai tập tin dữ liệu khác nhau. Điều này dẫn đến sự       
dư thừa trong dữ liệu của khách hàng. Kể từ khi cùng một dữ liệu được lưu trữ trong hai tập tin,         mâu thuẫn phát sinh khi có một sự thay đổi được thực hiện trong dữ liệu của một tập tin không           được phản ánh trong các khá
- Truy vấn bất ngờ
      + Vd:  Ví dụ, nhân viên ngân hàng cần tạo ra một danh sách của tất cả các khách hàng có số dư tài khoản của $ 20.000 hoặc hơn. Các nhân viên ngân hàng có hai sự lựa chọn: hoặc là có được danh sách của tất cả các khách hàng và có các thông tin cần thiết được chiết xuất bằng tay, hoặc thuê một lập trình hệ thống để thiết kế các chương trình ứng dụng cần thiết. Cả hai phương án rõ ràng là không đạt yêu cầu. Giả sử rằng một chương trình như vậy được viết, và vài ngày sau, sĩ quan cần cắt danh sách đó để chỉ bao gồm những khách hàng đã mở tài khoản của họ một năm trước đây. Theo chương trình để tạo ra một danh sách như vậy không tồn tại, nó dẫn đến một khó khăn trong việc tiếp cận các dữ liệu.
- Cô lập dữ liệu
       + Dữ liệu nằm rải rác trong các tập tin khác nhau, và các tập tin có thể được trong một định dạng khác nhau. Mặc dù dữ liệu được sử dụng bởi các chương trình khác nhau trong các ứng dụng có thể được liên quan, họ cư trú như các file dữ liệu bị cô lập.
- Truy cập bất thường
        + Trong các hệ thống lớn, nhiều người, cùng một tập tin hoặc hồ sơ có thể cần phải được truy cập bởi nhiều người dùng cùng một lúc. Xử lý này trong một hệ thống dựa trên tập tin là khó khăn
- Vấn đề bảo mật
        +  Trong các ứng dụng dữ liệu chuyên sâu, bảo mật dữ liệu là một mối quan tâm lớn. Người sử dụng nên được chỉ truy cập vào dữ liệu cần thiết và không phải cho toàn bộ cơ sở dữ liệu.
- Vấn đề toàn vẹn
        +   Vấn đề này cũng là một số nhược điểm trong cơ sở dữ liệu

1.3.2 Database Systems 

       Cơ sở dữ liệu được sử dụng để lưu trữ dữ liệu một cách hiệu quả và có tổ chức. Một cơ sở dữ liệu cho phép quản lý nhanh chóng và dễ dàng dữ liệu. Ví dụ, một công ty có thể duy trì các chi tiết của các nhân viên trong cơ sở dữ liệu khác nhau.
       Lưu trữ dữ liệu có thể đạt được thậm chí sử dụng các tập tin dẫn đơn giản. Ví dụ, một trường đại học có để duy trì thông tin về giáo viên, sinh viên, đối tượng, và các kỳ thi. Chi tiết về các giáo viên có thể được duy trì trong một Staff Đăng ký và thông tin chi tiết của các học sinh có thể được nhập vào một ký sinh và vv. Tuy nhiên, dữ liệu được lưu trữ ở dạng này không phải là vĩnh viễn. Bản ghi trong file hướng dẫn sử dụng như vậy chỉ có thể được duy trì trong một vài tháng hoặc vài năm. Việc đăng ký hoặc các tập tin cồng kềnh, tiêu tốn rất nhiều không gian, và do đó, không thể được giữ trong nhiều năm.

      + Ưu điểm của hệ thống cơ sở dữ liệu

       Thông tin hay dữ liệu có thể được lưu trữ vĩnh viễn ở dạng cơ sở dữ liệu trên máy vi tính. Một hệ thống cơ sở dữ liệu là thuận lợi bởi vì nó cung cấp một tập trung kiểm soát trên các dữ liệu.
-Lượng dư thừa trong dữ liệu lưu trữ có thể được giảm
        + Trong một tổ chức, một số phòng ban thường lưu trữ các dữ liệu tương tự. Duy trì một trung tâm giúp cùng một dữ liệu được truy cập bởi nhiều bộ phận. Như vậy, sự trùng lặp dữ liệu hoặc 'thừa dữ liệu' có thể được giảm.
-Mâu thuẫn không nhiều trong dữ liệu
        + Khi dữ liệu được nhân đôi trên một số phòng ban, bất kỳ sửa đổi các dữ liệu phải được phản ánh trên tất cả các phòng ban. Đôi khi, điều này có thể dẫn đến sự không thống nhất trong các dữ liệu. Như có một cơ sở dữ liệu trung tâm, có thể cho một người để đưa lên các nhiệm vụ cập nhật các dữ liệu một cách thường xuyên
-Các dữ liệu được lưu trữ có thể được chia sẻ
        + Một cơ sở dữ liệu trung tâm có thể được đặt trên một máy chủ, có thể được chia sẻ bởi nhiều người sử dụng. Bằng cách này, tất cả người dùng có thể truy cập các thông tin phổ biến và cập nhật tất cả các thời gian.
-Tiêu chuẩn có thể được thiết lập và theo sau
        + Một điều khiển trung tâm đảm bảo rằng một tiêu chuẩn nhất định trong các đại diện của dữ liệu có thể được thiết lập và tuân theo. 
Vd: Tên của một nhân viên phải được biểu diễn như là 'ông Larry Finner '. Đại diện này có thể được chia thành các thành phần sau: 
     A title
     First name 
     Last name
   Chắc chắn rằng tất cả các tên được lưu trong cơ sở dữ liệu sẽ thực hiện theo các định dạng tương tự nếu các tiêu chuẩn được thiết lập theo cách này.
-Data Integrity có thể được duy trì
        + Tính toàn vẹn dữ liệu đề cập đến tính chính xác của dữ liệu trong cơ sở dữ liệu.
-Bảo mật dữ liệu có thể được thực hiện
        + Trong một hệ thống cơ sở dữ liệu trung tâm, các đặc quyền của việc sửa đổi cơ sở dữ liệu không phải là cho tất cả mọi người.

1.4 Database Management System (DBMS) ( Cơ sở dữ liệu hệ thống quản lý (DBMS) )

        Là một tập hợp các hồ sơ liên quan và một tập hợp các chương trình truy cập và thao tác các bản ghi. Một DBMS cho phép người dùng nhập vào, lưu trữ và quản lý dữ liệu. Vấn đề chính với các gói DBMS trước đó là các dữ liệu đã được lưu trữ trong các định dạng tập tin phẳng. Vì vậy, các thông tin về các đối tượng khác nhau được duy trì một cách riêng biệt trong các tập tin vật lý khác nhau

     Một giải pháp cho những vấn đề này đến dưới hình thức của một hệ thống cơ sở dữ liệu tập trung. Trong một hệ thống cơ sở dữ liệu tập trung, cơ sở dữ liệu được lưu ở vị trí trung tâm. Mọi người đều có thể truy cập vào dữ liệu được lưu trữ trong một vị trí trung tâm từ máy tính của họ.
     Một cơ sở dữ liệu là một tập hợp các dữ liệu liên quan đến nhau, và một DBMS là một tập hợp các chương trình được sử dụng để thêm hoặc sửa đổi dữ liệu này. Như vậy, một DBMS là một tập hợp các chương trình phần mềm cho phép cơ sở dữ liệu được xác định, xây dựng, và thao tác.
     Một DBMS cung cấp một môi trường mà là cả hai thuận tiện và hiệu quả để sử dụng khi có một khối lượng lớn dữ liệu và nhiều giao dịch được xử lý. Thể loại khác nhau của DBMS có thể được sử dụng, từ các hệ thống nhỏ chạy trên máy tính cá nhân với các hệ thống lớn có thể chạy trên máy tính lớn. Ví dụ về các ứng dụng cơ sở dữ liệu bao gồm những điều sau đây:

 + Hệ thống thư viện trên máy vi tính
 + Máy rút tiền tự động
 + Hệ thống đặt phòng Flight
 + Các bộ phận máy tính hệ thống kiểm kê

Hình 1.2 minh họa một hệ thống cơ sở dữ liệu.

1.4.1  Benefits of DBMS A DBMS ( Lợi ích của DBMS Một DBMS )

        Là trách nhiệm xử lý dữ liệu và chuyển đổi nó thành thông tin. Với mục đích này, các cơ sở dữ liệu có thể được tính toán, trong đó bao gồm truy vấn cơ sở dữ liệu để lấy dữ liệu cụ thể, cập nhật cơ sở dữ liệu, và cuối cùng, tạo báo cáo. Những lợi ích của một DBMS tiêu biểu như sau:
 - Lưu trữ dữ liệu
      + Các chương trình cần thiết cho dữ liệu vật lý lưu trữ, xử lý bởi một DBMS, được thực hiện bằng cách tạo ra các cấu trúc dữ liệu phức tạp, và quá trình này được gọi là quản lý lưu trữ dữ liệu.
 - Định nghĩa dữ liệu
      + Một DBMS cung cấp các chức năng để xác định cấu trúc của dữ liệu trong ứng dụng. Chúng bao gồm việc xác định và thay đổi cấu trúc hồ sơ, các loại và kích thước của các lĩnh vực, và những khó khăn khác nhau / điều kiện được thỏa mãn bởi các dữ liệu trong từng lĩnh vực.
 - Thao tác dữ liệu
      + Một khi các cấu trúc dữ liệu được định nghĩa, dữ liệu cần phải được đưa vào, chỉnh sửa hoặc xóa. Các chức năng, trong đó thực hiện các hoạt động này, cũng là một phần của một DBMS. Các chức năng này có thể xử lý kế hoạch và thao tác dữ liệu ngoài ý muốn cần. Truy vấn lên kế hoạch là những người, mà là một phần của ứng dụng. Truy vấn không có kế hoạch là các truy vấn ad-hoc, được thực hiện trên cơ sở cần.
 - Bảo mật dữ liệu và tính toàn vẹn
      + Bảo mật dữ liệu là vô cùng quan trọng khi có nhiều người dùng truy cập vào cơ sở dữ liệu. Nó là cần thiết cho việc giữ một kiểm tra trên dữ liệu truy cập của người sử dụng. Các quy định an chỉ định, mà người dùng có quyền truy cập vào cơ sở dữ liệu, những gì các yếu tố dữ liệu người dùng có thể truy cập, và các hoạt động dữ liệu mà người dùng có thể thực hiện.
- Phục hồi dữ liệu và đồng thời
     + Phục hồi dữ liệu sau khi một lỗi hệ thống và truy cập đồng thời của các bản ghi theo nhiều người dùng cũng được xử lý bởi một DBMS.
- Kiểm soát truy cập đa người dùng
     + Tối ưu hóa hiệu suất của các truy vấn là một trong những chức năng quan trọng của một DBMS. Do đó, các DBMS có một tập hợp các chương trình tạo các Query Optimizer, mà đánh giá việc triển khai khác nhau của một truy vấn và lựa chọn tốt nhất trong số họ.
- Ngôn ngữ truy cập cơ sở dữ liệu và giao diện lập trình ứng dụng (API)
      + Ngôn ngữ truy vấn của một DBMS thực hiện truy cập dữ liệu. SQL là ngôn ngữ truy vấn thông dụng nhất. Một ngôn ngữ truy vấn là một ngôn ngữ phi thủ tục, nơi mà người sử dụng cần để yêu cầu những gì là cần thiết và không cần phải xác định như thế nào là việc phải làm. Một số ngôn ngữ thủ tục như C, Visual Basic, Pascal, và những người khác cung cấp truy cập dữ liệu để lập trình

1.5 Cơ sở dữ liệu mô hình cơ sở dữ liệu

   Có thể được phân biệt 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ả một container để lưu trữ dữ liệu, và các quá trình lưu trữ và lấy dữ liệu từ thùng chứa. Các phân tích và thiết kế các mô hình dữ liệu đã được cơ sở của sự tiến hóa của cơ sở dữ liệu. Mỗi mô hình đã phát triển từ trước đó. Cơ sở dữ liệu Các mô hình được trình bày ngắn gọn trong các phần sau.

  1.5.1 Flat file Data Model

  Trong mô hình này, các cơ sở dữ liệu chỉ bao gồm một bảng hoặc tập tin. Mô hình này được sử dụng cho các cơ sở dữ liệu đơn giản - ví dụ, để lưu trữ các số roll, tên, đối tượng, và các dấu hiệu của một nhóm sinh viên. Mô hình này không thể xử lý dữ liệu rất phức tạp. Nó có thể gây ra sự dư thừa khi dữ liệu được lặp đi lặp lại nhiều lần.
 Bảng 1.2 mô tả cấu trúc của một cơ sở dữ liệu tập tin phẳng.

1.5.2 Hierarchical Data Model

      Trong mô hình phân cấp, hồ sơ khác nhau liên quan đến nhau thông qua cấu trúc phân cấp hoặc cây giống. Trong mô hình này, các mối quan hệ được cho là của về trẻ em và phụ huynh. Một hồ sơ phụ huynh có thể có nhiều con, nhưng một đứa trẻ có thể chỉ có một phụ huynh. Để tìm dữ liệu được lưu trữ trong mô hình này, người dùng cần phải biết cấu trúc của cây. Windows Registry là một ví dụ về một cơ sở dữ liệu phân cấp lưu trữ các thiết lập cấu hình và các tùy chọn trên hệ điều hành Microsoft Windows.
Hình 1.3 minh họa một ví dụ về một đại diện phân cấp.
 - Ưu điểm và Nhược điểm:
     + Dữ liệu được tổ chức tại một cơ sở dữ liệu chung để chia sẻ dữ liệu trở nên dễ dàng hơn, và an ninh được cung cấp và thực thi bởi một DBMS.
     + Độc lập dữ liệu được cung cấp bởi một DBMS, làm giảm công sức và chi phí trong việc duy trì các chương trình.

1.5.3 Mạng Data Model

Hình về Mạng và data model


 - Ưu điểm của mô hình mạng
    + Các mối quan hệ được dễ dàng hơn để thực hiện trong mô hình cơ sở dữ liệu mạng hơn trong mô hình phân cấp.
    +  Mô hình này thực thi toàn vẹn cơ sở dữ liệu.

    +   Mô hình này đạt đủ độc lập dữ liệu.
 - Nhược điểm của mô hình mạng
    + Các cơ sở dữ liệu trong mô hình này là khó khăn để thiết kế.
    + Các lập trình viên có thể rất quen thuộc với các cấu trúc nội bộ để truy cập cơ sở dữ liệu.
    + Mô hình này cung cấp một môi trường truy cập dữ liệu điều hướng. Do đó, để di chuyển từ A đến E trong chuỗi ABCDE, người dùng phải di chuyển qua B, C, và D để đến E.

1.5.4 Mô hình dữ liệu quan hệ

   Nhu cầu CSDL ngày càng lớn và cồng kềnh phức tạp. đòi hỏi 1 cái gì đó cho nên đã sinh ra mô hình dữ liệu quan hệ.
 Để hiểu hơn ta xem hình sau: 

 - Ưu điểm của mô hình quan hệ 
    + Mô hình cơ sở dữ liệu quan hệ cho thời gian lập trình để tập trung vào các điểm hợp lý của cơ sở dữ liệu chứ không phải bị làm phiền về việc xem thể chất. Một trong những lý do cho sự phổ biến của các cơ sở dữ liệu quan hệ là sự linh hoạt truy vấn
 - Nhược điểm của mô hình quan hệ 
    +Mặc dù các mô hình giấu tất cả sự phức tạp của hệ thống, nó có xu hướng chậm hơn so với các hệ thống cơ sở dữ liệu khác. So với tất cả các mô hình khác, các mô hình dữ liệu quan hệ là phổ biến nhất và được sử dụng rộng rãi.

1.6 Hệ thống quản lí cơ sở dữ liệu quan hệ

       The Relational Model là một nỗ lực để đơn giản hóa cấu trúc cơ sở dữ liệu. Nó đại diện cho tất cả các dữ liệu trong cơ sở dữ liệu đơn giản bảng hàng cột của các giá trị dữ liệu. Một RDBMS là một chương trình phần mềm giúp bạn tạo ra, duy trì, và thao tác cơ sở dữ liệu quan hệ. Một cơ sở dữ liệu quan hệ là một cơ sở dữ liệu được chia thành các đơn vị logic gọi là bảng, nơi các bảng có liên quan đến nhau trong cơ sở dữ liệu.
 Hình 1.5 cho thấy hai bảng liên quan đến nhau thông qua một khóa phổ biến (giá trị dữ liệu) trong một cơ sở dữ liệu quan hệ

1.6.1 Điều khoản liên quan đến RDBMS

      Có điều kiện nhất định mà chủ yếu được sử dụng trong một RDBMS. Chúng được mô tả như sau:
- Dữ liệu được trình bày như là một tập hợp các mối quan hệ.
- Mỗi quan hệ được mô tả như một bảng.
- Cột là thuộc tính.
- Rows ("tuples ') đại diện cho các thực thể.
- Mỗi bảng có một tập hợp các thuộc tính được thực hiện cùng nhau như một "chìa khóa" (kỹ thuật, một 'superkey'), trong đó xác định duy nhất mỗi thực thể.

1.6.2 Người dùng RDBMS

      Mục tiêu chính của một hệ thống cơ sở dữ liệu là cung cấp một môi trường để lấy thông tin từ và lưu trữ thông tin mới vào cơ sở dữ liệu.
- Database Administrator (DBA)
     + Các DBA là một người thu thập các thông tin sẽ được lưu trữ trong cơ sở dữ liệu. Một cơ sở dữ liệu được thiết kế để cung cấp các thông tin đúng vào đúng thời điểm để đúng người.
- Cơ sở dữ liệu thiết kế
      + Thiết kế cơ sở dữ liệu có trách nhiệm xác định các dữ liệu được lưu trữ trong cơ sở dữ liệu và cho việc lựa chọn cấu trúc phù hợp để đại diện và lưu trữ dữ liệu này.
- Phân tích hệ thống và ứng dụng lập trình viên
      + Hệ thống phân tích xác định các yêu cầu của người dùng cuối, và phát triển các thông số kỹ thuật cho các giao dịch được xác định trước đó đáp ứng các yêu cầu này. Lập trình ứng dụng thực hiện các thông số kỹ thuật như các chương trình; sau đó, họ kiểm tra, gỡ lỗi, tài liệu, và bảo trì các giao dịch được xác định trước.
- Thiết kế DBMS và Implementers
      + Những người thiết kế và thực hiện các mô-đun DBMS và giao diện như là một gói phần mềm. Một DBMS là một hệ thống phần mềm phức tạp bao gồm nhiều thành phần hoặc mô-đun, bao gồm các module để thực hiện các danh mục, ngôn ngữ truy vấn, xử lý giao diện, truy cập dữ liệu, và bảo mật. Một DBMS phải giao tiếp với các hệ thống phần mềm khác như các hệ điều hành và trình biên dịch cho các ngôn ngữ lập trình khác nhau.
-Người dùng cuối
      + Người dùng cuối sẽ gọi một ứng dụng để tương tác với hệ thống, hoặc viết một truy vấn để dễ dàng phục hồi, sửa đổi, hoặc xóa dữ liệu.

1.7 Đối tượng và bảng

     Các thành phần của một RDBMS là các đơn vị và bảng biểu, mà sẽ được giải thích trong phần này.

1.7.1 Thực thể

       Một thực thể là một người, địa điểm, điều, đối tượng, sự kiện, hoặc thậm chí là một khái niệm, mà có thể được xác định rõ ràng. Ví dụ, các thực thể trong một trường đại học là sinh viên, giảng viên, và các khóa học. Mỗi thực thể có một số đặc điểm được biết đến như là thuộc tính. Ví dụ, các thực thể sinh viên có thể bao gồm các thuộc tính như số học sinh, tên, và lớp. Mỗi thuộc tính nên được đặt tên một cách thích hợp.

1.7.2   Tables and their Characteristics

Bảng về 1.7.2  Tables and their Characteristics

1.8 Sự khác biệt giữa một DBMS và RDBMS

Bảng so sánh sự khác biệt 




Completed

Không có nhận xét nào:

Đăng nhận xét