Cơ sở dữ liệu

                                            Cơ sở dữ liệu
1 Giới thiệu
+ Dữ liệu : những thông tin hưu ích, có chọn lọc
+ Cơ sở dữ liệu: là tập hợp có cấu trúc,,, của những dữ liệu có liên quan với nhau được lưu trữ trên mt
+ Hệ quản trị cơ sở dữ liệu: tập hợp các chương trình cho phép người sd tạo, duy trì CSDL
+ Hệ cơ sở dữ liệu: là hệ thống gồm CSDL, người sử dụng, phần mềm

+ nếu sử dụng file để lưu trữ có rất nhiều hạn chế : truy cập chậm,...
+ tính chất:
        1 tính tự mô tả: Hệ csdl còn có các mô tả Csdl được lưu ở catalog,,,  chương trình có thể truy xuất đến nhiều csdl nhờ thông tin mô tả ở catalog
        2 tính độc lập: lưu trử csdl ở catalog hoan toàn độc lập với chương trình,
        3 tính trừu tượng
        4 tính nhất quán: các khóa, các quyền truy cập
+ hệ CSDL cho phép nhiều người dùng truy cập vào csdl, mỗi người dùng được phép truy cập vào 1 phần nào đó của csdl, hay còn đgl 1 cách nhìn hoặc 1 view


Quá trình thiết kế CSDL:

+ Mô hình liên kết thực thể E-R(mô tả TG thực theo con người)
+ thực thể : là đối tượng trong thế giới thực  -> tập thực thể: nhửng thực thể cùng
+ thuộc tính: các đặc điểm riêng của thực thể
+ tập thực thể: tập hợp các thực thể có cùng thuộc tính
1 Các loại thuộc tính
+ Loại thuộc tính:
        + thuộc tính đơn: ko thể tách nhỏ: ví dụ: điểm, lớp học,..
            + thuộc tính phức hợp: có thể tách nhỏ: ví dụ: Quê Quán:tách thành làng, xã, huyện, tỉnh,..
+ Loại giá trị thuộc tính:
+  Đơn trị: các thuộc tính có giá trị duy nhất cho 1 thực thể: ví dụ: tên, mã sv
+ Đa trị: ........................ nhiều giá trị..............................ví dụ: bằng cấp( có nhiều..)
+ Suy diễn được( ví dụ: năm sinh-> tuổi)
+ Thuộc tính khóa: dùng để phân biệt các thực thể
+ Thuộc tính mô tả: giá trị của chúng chỉ có tính mô tả cho thực thể
+ Thuộc tính tên gọi: là thuộc tính mô tả chỉ tên các đối tượng thuộc thực thể

+ Lược đồ E-R:
+ Ràng buộc các kiểu liên kết

+ Thuộc tính trên mối quan hệ:
       1  Mô tả tính chất của mối quan hệ đó
       2  Không được gắn với những thực thể tham gia mối qh đó


+ Các bước xây dựng E-R

          1 xác định tập thực thể    =>   2 xđ mối quan hê
          3 xác định thuộc tính, và gắn nó với tập tt và mối qh (bỏ thuộc tính suy diễn đk)
          4 Quyết định thuộc tính khóa   5, Qđ kiểu liên kết
+ Quy tắc xd: Chính xác, Tránh Trùng Lặp(mỗi thuộc tính chỉ nằm duy nhất trên tập tt), dễ hiểu, đúng
+ Ví dụ:

          


2 Mô Hình Quan Hệ
 + KN:  Quan Hệ, Thuộc tính, Lược đồ, Bộ, Miền giá trị

+ Quan Hệ: là các thông tin lưu trữ tổ chức dạng bảng

           +  1 dòng ~ 1 thực thể      +  1 quan hệ ~ 1 tập thực thể

+ Thuộc Tính
    + Khóa chính: duy nhất, định danh tập thực thể tương ứng
    + Khóa ngoại: thiết lập mối qh, là thuộc tính khóa của quan hệ !=

+ Lược đồ quan hệ

+ Lược đồ CSDL: gồm nhiều lược đồ quan hệ
+ Bộ: là các dòng của quan hệ, thể hiện dữ liệu cụ thể của quan hệ
+ Miền giá trị: tập giá trị nguyên tố(ko thể phân chia: int,... ko phải nguyên tố: set,list, array,..) gắn với 1 thuộc tính

+ Lược đồ quan hệ: R(A1, A2,...An): Ai: thuộc tính thứ i
     + Bậc của lược đồ là số thuộc tính của quan hệ đó

+ MÔ HÌNH QUAN HỆ

+ Ràng buộc trong MHQH ( đảm bảo dữ liệu đúng đắn,,,)
     + Ràng buộc thực thể: khóa chính tối thiểu, duy nhất, ko NULL
     + Ràng buộc tham chiếu: khóa ngoài phải tồn tại hoặc để NULL
     + Ràng buộc miền giá trị: giới hạn, ý nghĩa kiểu dữ liệu

+ Chuyển mô hình E-R sang MHQH
   + thuộc tính đa trị: tách khỏi tập thực thể đầu để làm tập tt mới





+ Chú ý: Với 2 thực thể có quan hệ 2 chiều:

 



+ Mô hình quan hệ dạng biểu đồ:



             CHƯƠNG 2: Đại Số Quan Hệ

1 Giới thiệu
 + 2 loại xử lý: làm thay đổi dữ liệu(thêm, sửa,.), ko thay đổi( truy vấn)   
+ thực hiện xử lý: Đại số quan hệ (b diễn dạng bt), Phép tính quan hệ( bd kết quả), SQL

2 Đại số Quan Hệ
 + Biến là các quan hệ( tập hợp)
 + Toán tử là các phép toán: Hợp, giao, trừ, chiếu, chọn, tích đề các, nối
 + Hằng số là thể hiện của quan hệ
 + Biểu thức:(câu truy vấn) là chuỗi các phép toán đsqh, trả về là 1 thể hiện của quan hệ

+ Tính khả hợp: 2 quan hệ R(A1,A2,...)  S(B1,B2,..)     khả hợp khi: cùng bậc n, và miền DL: Dom(Ai)= Dom(Bi)  

+ Phép hợp: là các bộ dl thuộc R hoặc S, hoặc cả 2
+ Phép giao:............................ R đồng thời thuộc S
+ Phép trừ: ..............................R nhưng không thuộc S

+ Phép chiếu: lấy ra vài cột của quan hệ R => kq thu đk 1 quan hệ: có k thuộc tính, số bộ ít hơn hoặc bằng R( 1 số bộ có NULL)
+ Phép Chọn: lấy ra các bộ dl của quan hệ R, thõa mãn đk chọn P

+ Phép tích đề các: kết hợp các bộ quan hệ => kq là tổ hợp giữa 2 qh, R có u bộ dl, S ... v bộ => RxS có u*v bộ, ......  m+n thuộc tính

+ Phép nối: là phép chọn theo đk trên quan hệ RxS 
+ Phép nối tự nhiên: là phép nối với đk thuộc tính trùng tên

+ Tập đầy đủ DSQH: chiếu, chọn, tích đề các, trừ, hợp

+ Phép chia: R:S kq: số thuộc tính trong R trừ số thuộc tính trong S( S là con của R), là số bộ dl trong R thõa tất cả bộ trong S


+ Hàm kết hợp: Count(R) : đếm số bộ dl trong R, Count(Ai): số bộ dữ liệu != Null của thuộc tính Ai



+ Phép gom nhóm



+ Phép nối ngoài:




         Chương 4: Lý thuyết thiết kế CSDL quan hệ


1 Tối thiểu hóa:  Sự dư thừa thông tin, sự bất thường khi thao tác thêm, sửa, xóa.
+ Phụ thuộc hàm trên quan hệ r, cho X, Y ( thuộc tính, cột) con R
X phụ thuộc Y: X-> Y: trong r nếu Với mọi t,t': nếu t.X=t'.X thì t.Y=t'.Y
+ Phụ thuộc..............................R nếu tm với mọi r
+ Các tc:
   1 Tính phản xạ: Y con của X  => X->Y
   2 Tính mở rộng 2 vế: X->Y thì XZ-> YZ
   3 Tính bắc cầu: X->Y và Y->Z => X->Z

+ Hệ tiên đề Amstrong:
   1 tích tựa bắc cầu: X->Y và YZ-> W thì XZ-> W
   2 tính chiếu: X->YZ thì X->Y và X->Z
   3 tính cộng đầy đủ: X->Y và Z-> W thì XZ->YW


+ Bao đóng 
   1 Bao đóng F+ của tập phụ thuộc hàm(PTH)  F


   
   2 Bao đóng X+ của X ( là tập con của tập thuộc tính R)

  3 Tính chất

  4 Thuật toán tìm bao đóng

 ví dụ:

+ Khóa của sơ đồ quan hệ
  0, Sơ đồ quan hệ là Lược đồ quan hệ + tập phụ thuộc hàm trên nó

  1 đk:  tập k 
  2 siêu khóa: k là siêu khóa nếu nó thỏa mãn đk 1
  3 định lý:
  
  4 Thuật toán tìm khóa

 5 Các tính chất của khóa


 6 Thuật toán tìm 1 khóa



  7 Thuật toán tìm mọi khóa
   




=> Dựa vào tính chất của khóa để cải tiến thuật toán nhanh hơn



+ Các dạng chuẩn
   1NF:  Không chứa thuộc tính đa trị
   

  2NF: 1NF+Không có thuộc tính nào PTH vào 1 bộ phận của khóa

  3NF: 2NF + không có PTH có nguồn và đích là không khóa

  BCNF: 3NF+ không có PTH: nguồn không khóa, đích: khóa

+ Tách kết nối không mất thông tin




+ Thuật toán Chase kiểm tra


 Ví dụ







Nhận xét

Bài đăng phổ biến từ blog này

Phân tích thiết kế giải thuật