phân tích thiết kế hệ thống
3.2.3. Phân tích cơ sở dữ liệu của hệ thống
3.2.3.1. Giới thiệu cơ sở dữ liệu
Trong thực tế mỗi ứng dụng xử lý và lu thông tin dới dạng khác nhau và hầu hết đều sử dụng cơ sở dữ liệu. Loại cơ sở dữ liệu đợc chọn cho ứng dụng sẽ phụ thuộc vào giải pháp và nhu cầu của nhà quản trị. Trong đồ án này em sử dụng hệ quản trị cơ sở dữ liệu Microsoft Access.
Mục đích em sử dụng cơ sở dữ liệu trong đồ án là để: lu trữ, truy cập, tổ chức và xử lý,…
3.2.3.2. Cơ sở dữ liệu quan hệ
Hệ quản trị cơ sở dữ liệu:
Hệ quản trị cơ sở dữ liệu hay còn goi tắt là DBMS, bao gồm phần cứng, phần mềm và dữ liệu. Trao đổi cơ sở dữ liệu từ nhiều định dạng cơ sở dữ liệu khác nh SQL Server, Excell, Oracle, Access.
Cơ sở dữ liệu quan hệ bao gồm đối tợng chính là bảng, trong bảng chứa dữ liệu theo một cấu trúc bao gồm các đối tợng.
Bảng dữ liệu:
Bảng là một thực thể có cấu trúc dạng ma trận, dùng để chứa các thông tin quan hệ trong một hệ thống có thứ tự. Cờu trúc của bảng bao gồm các trờng hay còn gọi là các cột và mẩu thông tin đợc nhóm lại theo từng hàng.
Hàng:
Hàng là một khối thực thể trong bảng, điều này có nghĩa là một hàng chứa thông tin của nhiều cột dữ liệu trong bảng. Thật ra hàng hay bản ghi cũng đợc gọi là mẩu tin.
Cột:
Cột là một khối dữ liệu trong bảng, mỗi cột trong bảng có cấu trúc nh một cột thông tin chi tiết có cùng loại dữ liệu, chúng có thể có quan hệ
trực tiếp hay gián tiếp đến cột khác trong bảng dữ liệu khác có quan hệ. Cột và trờng thực ra là hai cách gọi khác nhau nhng có cùng ý nghĩa.
Giá trị Null:
Giá trị Null là giá trị rỗng hay không đợc gán, khi giá trị rỗng nó không thể so sánh với chuỗi, đôi khi trong một vài trờng hợp có khi cần sử dụng hàm có giá trị Null.
Mô hình quan hệ:
Mô hình quan hệ đợc phát minh bởi E.F Cold, cũng chính là mô hình chuẩn hoá cho quá trình thiết kế cơ sở dữ liệu quan hệ.
Thực ra đó là mô hình bao gồm các thực thể có quan hệ với nhau thông qua các mối quan hệ ứng với các loại quan hệ, bằng cách sử dụng các đối tợng nhận dạng em có thể sử dụng các chuẩn hoá để phân rã dữ cơ sở dữ liệu.
Đối tợng nhận dạng:
Khi thiết kế cơ sở dữ liệu quan hệ, điều đầu tiên cần thực hiện là tìm ra đối tợng xây dựng nên cơ sở dữ liệu.
Dễ dàng nhận thấy đối tợng đơn hàng là đối tợng nhận dạng chính của chức năng này. Bởi vì từ thông tin của đối tợng này, thực hiện các bớc phân tích dữ liệu để cuối cùng em có đợc các thực thể khác và có quan hệ với nhau.
Các loại quan hệ:
Quan hệ hay còn gọi là Relationship. Khi đã có tất cả các đối tợng nhận dạng trong cơ sở dữ liệu. Xem xét giữa các bảng hay các đối tợng có quan hệ với nhau nh thế nào. Có 3 loại quan hệ chính đợc khai báo và sử dụng trong mô hình dữ liệu chuẩn là:
One – To – One (Quan hệ 1 – 1).
One – To – Many (Quan hệ 1- N (Nhiều)). Many – To – Many (Quan hệ N- N).
Quan hệ đợc thiết lập giữa hai bảng sữ liệu với nhau, chọn loại quan hệ nào là phụ thuộc vào thiết kế cơ sở dữ liệu.
Quan hệ 1 – 1:
Sử dụng loại quan hệ 1 – 1, khi cần thiết tạo quan hệ trực tiếp giữa hai bảng dữ liệu, cột dữ liệu có quan hệ của hai bảng phải là duy nhất.
Thông thờng quan hệ này đợc thiết lập trên một bảng. Đôi khi quan hệ có thể xảy ra trên nhiều bảng khác nhau.
Quan hệ 1 – N:
Loại quan hệ 1 – N là quan hệ thờng gặp nhất trong các mối quan hệ cơ sở dữ liệu. Quan hệ này chỉ đợc thiết lập khi một mẩu tin trong Parent Table có một quan hệ với 1 hoặc nhiều mẩu tin trong Child Table.
Quan hệ N – N:
Quan hệ N – N hay còn gọi là quan hệ Nhiều – Nhiều, đợc thiết lập khi một bảng trong bảng mẹ có quan hệ với nhiều hàng trong bảng con và ngợc lại.
3.2.3.3.Khoá và chỉ mục
Khoá hay còn gọi là Key. Key dùng để nhận dạng và sử dụng để sắp sếp. Có 2 loại khoá là: Khoá chính và khoá ngoại. Khi khai báo khoá, khoá đó sẽ đợc tự động đợc chỉ định là chỉ mục.
Khoá chính:
Khoá chính của một bảng luôn luôn có giá trị duy nhất. Điều này có nghĩa là không tồn tại hai mẩu tin có giá trị trên cột đợc thiết kế là Primary Key (PK) trùng nhau. Ngoài ra, khoá không tồn tại giá trị Null.
Trong quan hệ 1 – N giữa hai bảng dữ liệu, PK trong bảng chính đ- ợc sử dụng nh một cột có quan hệ với cột PK của bảng phụ.
Khoá ngoại:
Khoá ngoại đợc định nghĩa trong quan hệ nh là tìm kiếm giá trị trong bảng phụ. Điều này có nghĩa là khoá chính trong bảng chính tìm kiếm các mẩu tin tơng ứng trong bảng phụ.
Khoá kép:
Khoá kép hay còn gọi là Compsite Key, chứa đựng nhiều hơn một cột trong bảng dữ liệu. Trong trờng hợp bảng dữ liệu cần tạo khoá trên nhiều cột thì khoá đó đợc gọi là khoá kép.
Chỉ mục:
Chỉ mục còn gọi là Index, khi cần tìm kiếm dữ liệu trên các cột chỉ cần khai báo chỉ mục cho những cột có tìm kiếm dữ liệu trong bảng.
Khi khai báo chỉ mục trên cột dữ liệu chỉ định, việc tìm kiếm giá trị trên cột đã khai báo chỉ mục sẽ có tốc độ truy cập tơng đối nhanh hơn cột dữ liệu không khai báo chỉ mục.
3.2.3.4.Khái niệm toàn vẹn dữ liệu
Tính toàn vẹn dữ liệu, đợc định nghĩa là không tồn tại dữ liệu d thừa. Tất cả dữ liệu đều có quan hệ thành một khối bao gồm 3 toàn vẹn: Toàn vẹn thực thể dữ liệu, ràng buộc toàn vẹn tham chiếu và toàn vẹn miền.
Toàn vẹn dữ liệu:
Toàn vẹn dữ liệu có nghĩa giá trị trong cột PK không thể có giá trị Null, điều này cũng tơng tự nh trong trờng hợp khoá kép.
Ràng buộc toàn vẹn tham chiếu:
Ràng buộc toàn vẹn tham chiếu dữ liệu có nghĩa là không tồn tại bất kỳ mẩu tin có FK trong bảng phụ mà không tồn tại nh PK trong bảng mẹ. Toàn vẹn miền:
Toàn vẹn miền có nghĩa dữ liệu nhập vào trong cột phải phù hợp với định dạng và kiêu dữ liệu đã khai báo. Ngoài ra dữ liệu còn phải đợc tính đến các cột có liên quan, ràng buộc lẫn nhau giữa các bảng thông qua các cột dữ liệu.
3.2.3.5. Thiết kế các thực thể Khách hàng: Tên khách hàng Mã khách hàng Địa chỉ Số điện thoại Email Tên đăng nhập Giới tính Nghề nghiệp Mật khẩu Sản phẩm: Tên sản phẩm Mã sản phẩm Mã loại sản phẩm Tên nhà cung cấp Giá sản phẩm Số lợng nhập Tồn kho Ngày nhập Giới thiệu về sản phẩm Hình minh họa sản phẩm Loại sản phẩm: Tên loại Mã loại Đơn đặt hàng: Số đơn đặt hàng Mã khách hàng
Ngày đặt hàng Thời gian nhận Địa chỉ nhận Trạng thái Ngày giao hàng Thanh toán Chi tiết đơn đặt hàng:
Số đơn đặt hàng Mã sản phẩm Số lợng đặt Tin tức: Mã tin tức Mã loại tin Tên tin tức Nội dung Ngày đăng tin Tác giả
Hình Loại tin tức:
Mã loại tin Tên loại tin
3.2.3.6. Xét các mối quan hệ giữa các thực thể
Xét hai thực thể khách hàng và đơn đặt hàng thì thấy mỗi đơn đặt hàng chỉ dành cho một khách hàng. Ngợc lại một khách hàng có thể có nhiều đơn đặt hàng vì khách có thể mua nhiều sản phẩm ở nhiều thời điẻm khác nhau. Vậy mối quan hệ ở đây là 1 – N.
Trang 57 tbl Khachhang(#MaKH) tblĐondathang(#MaKH)
Xét hai thực thể loại sản phẩm và sản phẩm thì thấy mỗi sản phẩm chỉ thuộc một loại, mà mỗi loại sẽ có nhiều sản phẩm. Vậy mối quan hệ ở đây là 1 – N.
- Xét hai thực thể loại sản phẩm và nhóm sản phẩm thì thấy mỗi loại sản phẩm chỉ thuộc một nhóm sản phẩm, mà mỗi nhóm sản phẩm có nhiều loại sản phẩm. Vậy mối quan hệ này là 1 – N.
- Xét hai thực thể sản phẩm và loại sản phẩm thì thấy mỗi sản phẩm chỉ thuộc một loại sản phẩm, mà mỗi loại sản phẩm sẽ có nhiều sản phẩm. Vậy mối quan hệ này là 1 – N.
- Xét hai thực thể tin tức và loại tin tức thì thấy mỗi tin tức chỉ thuộc một loại tin tức, mà mỗi loại tin tức sẽ có nhiều tin tức. Vậy mối quan hệ này là 1 – N.
tblLoaiSP(#Maloai) tblSanpham(#MaLoai)
tbl NhomSP(#MaNhom) tblLoaiSP(#MaNhom)
tbl LoaiSP(#MaLoai) tblSanpham(#MaLoai)
- Sơ đồ các quan hệ thực thể (ERD – Entity Relationship Diagram) Biến đổi sơ đồ ERD thành các quan hệ dự tuyển.
Chuẩn hoá dữ liệu: Trong hầu hết cơ sở dữ liệu, việc thiết kế cấu trúc dữ liệu thờng đóng vai trò chủ yếu để xây dựng nên ứng dụng.
Chuẩn hoá mô hình cơ sở dữ liệu xuất phát từ mô hình phân rã. Các quan hệ dự tuyển biến đổi từ thực thể.
+ NhaCC(MaNCC, TenNCC, Diachi, Tel, Email, Website)
+ Khachhang(MaKH, TenKH, LoaiKH,Diachi, Tel, Email, Tendangnhap, Matkhau, Gioitinh)
+ Sanpham(TenSP, MaSP, MaLoai, TenNCC, GiaSP, SLNhap, Ngaynhap, Tonkho, Gioithieu, Hinh)
+ LoaiSP(TenLoai, MaLoai)
+ Dondathang(SoDDH, MaKH, Ngaydathang, Diachinhan, Thoigiannhan, Ngaygiaohang, Trangthai, Thanhtoan)
+ ChitietDDH(SoDDH, MaSP, SLDat)
+ Tintuc(MaTT, MaLT, TenTT, Noidung, Ngaydang, Tacgia, Hinh) + LoaiTT(MaLT, TenLT)
3.2.3.7. Sơ đồ quan hệ giữa các thực thể
Chơng IV