4.1.1 Xác định kiểu thực thể, kiểu thuộc tính
Phát hiện kiểu thực thể
Phát hiện kiểu thực thể của hệ thống website giới thiệu và bán hàng máy tính trực tuyến:
- Các tài nguyên: ý kiến khách hàng, hàng hóa, khách hàng, giỏ hàng, loại hàng, đơn hàng, nhà quản trị
- Các giao dịch: Đơn hàng
- Các thông tin tổng hợp: báo cáo bán hàng, báo cáo tồn kho, báo cáo đơn đặt hàng.
Phát hiện kiểu thuộc tính
(1) ý kiến khách hàng(id,MaKH,TenKH,NoiDung,NgayGui) (2) Hàng hóa(ProductID,CategoryID,ProductName, SmallProductImage,LargeProductImage,UnitCost,UnitPrice, Description,Specification,QuantityInStock,DateInCome,results, BaoHanh) (3) Khách hàng(CustomerID,Email,FirstName,LastName,Address1, Address2, City,State,Zip,Country,Phone,Password) (4) Giỏ hàng(RecordID,CartID,ProductID,Quantity,DateCreated) (5) Đơn hàng(OrderID,CustomerID,OrderDate,OrderStatus, ShipDate,
ShipAddress1, ShipAddress2,ShipCity, ShipState, ShipZip, ShipCountry, ShipTelephone,ShipToFirstName,
ShipToLastName,CardType,ExpireDate,BillAddress1,BillAddress2,BillCity,Bil lState,BillZip,BillCountry,BillTelephone,
BillToFirstName,BillToLastName,TotalPrice)
4.1.2 Xác định kiểu liên kết
Định nghĩa ký hiệu: Kiểu thực thể :
Kiểu liên kết (bao gồm cả bảng số) Một – Nhiều:
Một – Một:
Nhiều – Nhiều:
4.1.3 Vẽ ER mở rộng
Định nghĩa ký hiệu
Thực thể được biểu diễn bởi một hình chữ nhật, gồm hai ngăn: ngăn trên chứa tên của kiểu thực thể, ngăn dưới chứa danh sách các kiểu thuộc tính của nó.
Kiểu liên kết được biểu diễn bởi một hình thoi, được nối bằng nét liền tới các thực thể tham gia liên kết. Trong hình thoi viết tên kiểu liên kết ( tên này có thể không có nếu không cần làm rõ). Nếu kiểu liên kết là 2 ngôi thì mút của đường nối, sát với các kiểu thực thể ta ghi thêm bản số (tương tự như trên). Biểu diễn mối quan hệ giữa hai thực thể:
Vẽ hình
Hình 3.1: Mô hình thực thể mở rộng
4.2 Chuẩn hóa dữ liệu
4.2.1 Chuyển đổi từ ER mở rộng về ER kinh điển
Các quy tắc chuyển đổi
Áp dụng quy tắc 1 : Xử lý các thuộc tính đa trị của một kiểu thực thể: Thay một kiểu thuộc tính đa trị T của một kiểu thực thể A bởi một kiểu thực thể mới E – T và kết nối A với E - T bởi một kiểu liên kết. Đưa vào kiểu thực thể mới E – T một kiểu thuộc tính đơn trị t, tương ứng với giá trị thành phần của T. Nghiên cứu bản số mới cho kiểu liên kết mới (giữa A và E – T).
Ta có:
Trong kiểu thực thể Phiếu nhập ta thấy các thuộc tính: Số phiếu nhập, Ngày nhập, Tên nhà cung cấp, Địa chỉ, Điện thoại, Tổng tiền chỉ nhận một giá trị duy nhất. Những thuộc tính : Mã hàng, Tên hàng, Loại hàng, Đơn vị tính, Số lượng, Đơn giá, Thành tiền, Bảo hành là những thuộc tính không có giá trị duy nhất hay nói cách khác đó là những thuộc tính đa trị. Áp dụng quy tắc 1 ta có:
Áp dụng quy tắc 3: Xử lý các kiểu thực thể phức hợp. Thay kiểu thuộc tính phức hợp bởi các kiểu thuộc tính hợp thành.
Với kiểu thực thể Loại hàng ta thay thuộc tính Loại hàng bởi các thuộc tính Mã loại, Tên loại.
Mô hình ER kinh điển
Định nghĩa ký hiệu:
Tương tự với ký hiệu của mô hình ER mở rộng. Chỉ khác là đã xác định khóa cho kiểu thực thể chính. Với kiểu thuộc tính được xác định làm khóa sẽ được gạch dưới chân.
Vẽ hình:
Hình 3.2: Mô hình ER kinh điển
4.2.2 Chuyển đổi từ ER kinh điển về ER hạn chế
Các quy tắc áp dụng
Quy tắc 5: Xử lý các kiểu liên kết 1 – 1. Có hai cách thực hiện:
Cách 1, xem 1 – 1 là trường hợp riêng của 1 - nhiều và vẽ lại nó bằng 1 đường nối thẳng. Cách làm này vi phạm hạn chế của mô hình, hoặc dễ gây hiểu lầm nên ít dùng.
Cách 2, gộp hai kiểu thực thể có quan hệ 1 – 1 thành một kiểu thực thể duy nhất, bằng cách hoà trộn hai danh sách các kiểu thuộc tính với nhau.
Quy tắc 6: Xử lý các kiểu liên kết 2 ngôi nhiều - nhiều và các kiểu liên kết nhiều ngôi: thực thể hoá mối liên kết đó bằng một kiểu thực thể mới có chứa các kiểu thuộc tính là khoá của các kiểu thực thể tham gia ( tập hợp các khoá này tạo thành các khoá bội của kiểu thực thể mới). Nối kiểu thực thể này với các kiểu thực thể tham gia liên kết bằng các liên kết 1 - nhiều.
Áp dụng: áp dụng quy tắc 6 để xử lý các kiểu liên kết 2 ngôi nhiều - nhiều ta có: Kiểu thực thể Phiếu xuất và Chi tiết xuất trở thành:
Tương tự chuyển với các thực thể khác, sau đó xác định lại khóa khi thay mối liên kết giữa chúng.
Mô hình ER hạn chế Định nghĩa ký hiệu
Ở mô hình ER hạn chế, các kiểu thực thể phụ thuộc đó xác định được khóa. Các kiểu liên kết được đưa hết về dạng “Một – Nhiều” (Không còn hình
Vẽ hình
4.2.3 Chuyển đổi từ ER hạn chế về mô hình quan hệ
Chuyển kiểu thực thể về các bảng quan hệ như sau:
(1) Customers (Customers_ID, Email, FirstName, LastName, Address1, Address2, City, State, Zip, Country, Phone, Password)
(2 Categories (CategoryID, CategoryName)
(3) Order (OrderID, CustomerID, OrderDate, OrderStatus, ShipDate, ShipAddress1, ShipAddress2, ShipCity, ShipState, ShipZip, ShipCountry, ShipTelephone, ShipToFirstName, ShipToLastName, CardType, ExpireDate, BillAddress1, BillAddress2, BillCity, BillState, BillZip, BillCountry, BillTelephone, BillToFirstName, BillToLastName, TotalPrice)
(4) Products (ProductID, CategoryID, ProductName, SmallProductImage, LargeProductImage, UnitCost, UnitPrice, Description, Specification, QuantityInStock, DateInCome, Results, Guarantee)
(5) ShoppingCart (RecordID, CartID, ProductID, Quantity, DateCreated) (6) OrderDetails (OrderID, ProductID, Quantity, UnitCost, OrderedItemName) (7) YkienKH(ID,Customers_ID, Name,Content,datetime)
Vẽ mô hình quan hệ Định nghĩa ký hiệu
Ở mô hình quan hệ không còn kiểu liên kết do đó xác định khóa cho các bảng quan hệ.
Vẽ hình
Hình 3.4: Mô hình quan hệ
4.3 Đặc tả bảng dữ liệu trong mô hình quan hệ
4.3.1 Bảng “Customers”
liệu
1 X CustomerID Number Mã khách hàng 2 FirstName Ký tự Tên khách hàng
3 LastName Ký tự Họ và tên đệm
4 Email Ký tự Địa chỉ thư điện tử
5 Address1 Ký tự Địa chỉ khách hàng 6 Address1 Ký tự Địa chỉ khách hàng
7 City Ký tự Thành phố
8 State Ký tự Quận huyện
9 Zip Ký tự Mã khu vực
10 Country Ký tự Quốc gia
11 Phone Ký tự Số điện thoại
12 Password Ký tự Mật khẩu
4.3.2 Bảng “Order”
STT Khóachính Khóangoại Tên trường Kiểu dữ liệu Diễn giải
1 X OrderID Number Mã hoá đơn 2 X CustomersID Number Mã khách hàng 3 OrderDate Ngày tháng Ngày tạo HĐ 4 OrderStatus Ký tự Trạng thái
5 ShipDate Ngày tháng Ngày chuyển hàng 6 ShipAddress1 Ký tự Địa chỉ chuyển
hàng
7 ShipAddress2 Ký tự Địa chỉ chuyển hàng
9 ShipState Ký tự Quận huyện
10 ShipZip Ký tự Mã tỉnh
11 ShipCountry Ký tự Mã quốc gia 12 ShipTelephone Ký tự Số điện thoại
chuyển hàng 13 ShipToFirstName Ký tự Tên người nhận 14 ShipToLastName Ký tự Họ tên đệm người
nhận
15 CardType Ký tự Loại thẻ thanh toán 16 ExpireDate Ký tự Hạn thẻ
17 BillAddress1 Ký tự Địa chỉ hóa đơn 18 BillAddress2 Ký tự Địa chỉ hóa đơn 19 BillCity Ký tự Địa chỉ thành phố 20 BillState Ký tự Quận huyện
21 BillZip Ký tự Mã vùng
22 BillCountry Ký tự Mã quốc gia 23 BillTelephone Ký tự Điện thoại 24 BillToFirstName Ký tự Tên người nhận
hóa đơn
25 BillToLastName Ký tự Tên đệm và họ 26 TotalPrice Ký tự Tổng tiền
4.3.3 Bảng “OrderDetails”
STT Khóa chính Khóa ngoại Tên trường Kiểu dữ liệu Diễn giải
1 X OrderID Number Số hóa đơn
3 Quantity Number Số lượng
4 UnitCost Tiền tệ Đơn giá hàng
5 OrderedItem Name Ký tự Tên sản phẩm 4.3.4 Bảng “Categories” STT Khóa chính Khóa ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X CategoryID Number Mã loại hàng 2 CategoryName Ký tự Tên loại hàng
4.3.5 Bảng “Products”
STT Khóa chính Khóa ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X ProductID Int Mã hàng hóa
2 ProductName Ký tự Tên hàng hóa
3 X CategoryID Int Mã loại hàng
4 SmallProductI
mage
5 LargeProductI mage
Ký tự ảnh hàng hóa
6 UnitCost Tiền tệ
7 UnitPrice Tiền tệ Đơn giá
8 Description Ký tự Mô tả
9 QuantityInSto
ck
Number Số lượng trong kho
10 DateInCome Ngày tháng Ngày nhập kho
11 Results Ký tự
12 Guarantee Int Bảo hành
4.3.6 Bảng “ShoppingCart”
STT Khóa chính Khóa ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X RecordID Int Mã giỏ hàng
2 CartID Int Số hiệu truy cập
3 X ProductID Int Mã hàng hóa
4 Quantity Number Số lượng
5 DateCreated Ngày tháng Ngày tháng lập
4.3.7 Bảng “YKienKH”
STT Khóa chính Khóa ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X ID Number Mã ý kiến
2 CustomerNam
e
3 Description Ký tự Nội dung
4 Date Ngày Ngày tạo
4.3.8 Bảng “Administrator”
STT Khóa chính Khóa ngoại
Tên trường Kiểu dữ liệu Diễn giải
1 X AdminID Number Mã người quản trị 2 AdminName Ký tự Tên người quản trị
3 Password Ký tự Mật khẩu
4 Email Email địa chỉ email
CHƯƠNG 5: THIẾT KẾ VÀ CÀI ĐẶT HỆ THỐNG