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

Kỹ thuật vi xử lý và lập trình Assembly