1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng cơ sở dữ liệu hệ thống quản lý bán sách

46 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng cơ sở dữ liệu hệ thống quản lý bán sách
Tác giả Nguyễn Văn Hùng, Nguyễn Bình Minh, Bùi Thanh Hiếu
Người hướng dẫn TS Đoàn Văn Hòa
Trường học Trường Đại Học Hòa Bình
Chuyên ngành Cơ sở dữ liệu nâng cao
Thể loại Bài tập lớn
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 46
Dung lượng 709,75 KB

Cấu trúc

  • CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU (5)
    • 1.1 Khái niệm dữ liệu và cơ sở dữ liệu (5)
    • 1.2. Các mô hình cơ sở dữ liệu (6)
    • 1.3. Hệ quản trị cơ sở dữ liệu là gì? (10)
    • 1.4. Cấu trúc của một DBMS (11)
    • 1.5. SQL và NoSQL (13)
  • CHƯƠNG II: ĐẶC TẢ YÊU CẦU (19)
    • 2.2. Phạm vi nghiên cứu và giải quyết bài toán (19)
    • 2.3. Mô tả nghiệp vụ (20)
  • CHƯƠNG III: PHÂN TÍCH THIẾT KẾ (23)
    • 3.1. Luồng nghiệp vụ (23)
    • 3.2. Mô hình phân rã chức năng của hệ thống (25)
    • 3.3 Xác định thực thể (31)
    • 3.4 Mô hình liên kết thực thể E-R (34)
    • 3.5 Chuyển đổi mô hình liên kết thực thể ER sang mô hình logic chuẩn 3NF (36)
  • CHƯƠNG IV: KẾT LUẬN (45)
  • TÀI LIỆU THAM KHẢO (46)

Nội dung

Cơ sở dữ liệu được thiết kế, xây dựng chophép người dùng lưu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu Lợi ích của việc quản lý dữ liệu bằng cơ sở dữ liệu:  Giúp dữ liệu đư

TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU

Khái niệm dữ liệu và cơ sở dữ liệu

Dữ liệu là các thông tin liên quan đến đối tượng (ví dụ như người, vật, sự việc ) được lưu trữ trên máy tính Dữ liệu được mô tả dưới nhiều dạng khác nhau (như ký tự, ký hiệu, hình ảnh, âm thanh )

Dữ liệu về đối tượng có thể khác nhau tùy thuộc vào mục địch quản lý Ví dụ: cùng là dữ liệu về đối tượng sinh viên nhưng với mục đích quản lý khác nhau thì sẽ khác nhau, cụ thể như sau:

- Với mục đích quản lý điểm, dữ liệu về đối tượng sinh viên sẽ bao gồm: Tên, Mã sinh viên, Điểm môn 1, Điểm môn 2, Điểm môn 3.

- Với mục đích quản lý thông tin cá nhân, dữ liệu về đối tượng sinh viên sẽ bao gồm: Tên, Địa chỉ, Ngày Sinh, Quê Quán, Lớp.

Cơ sở dữ liệu là tâp hợp dữ liệu được tổ chức một cách có cấu trúc liên quan với nhau và được lưu trữ trong máy tính Cơ sở dữ liệu được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu

Lợi ích của việc quản lý dữ liệu bằng cơ sở dữ liệu:

 Giúp dữ liệu được lưu trữ một cách hiệu quả và có tổ chức

 Tránh dư thừa, trùng lặp dữ liệu

 Đảm bảo sự nhất quán trong CSDL

 Các dữ liệu được lưu trữ có thể được chia sẻ

 Duy trì tính toàn vẹn dữ liệu

 Đảm bảo dữ liệu được bảo mật

Ví dụ về dữ liệu và cơ sở dữ liệu:

Hình 1.1: Ví dụ về dữ liệu và cơ sở dữ liệu

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

1.2.1 Mô hình dữ liệu file phẳng (Flat file)

Dùng cho các CSDL đơn giản CSDL dạng file phẳng thường là file kiểu văn bản chứa dữ liệu dạng bảng

Hình 1.2: Cơ sở dữ liệu dạng file phẳng

1.2.2 Mô hình dữ liệu mạng (Network model)

Các file trong mô hình dữ liệu mạng được gọi là các bản ghi Tập hợp các bản ghi cùng kiểu tạo thành một kiểu thực thể dữ liệu.

Các kiểu thực thể kết nối với nhau thông qua mối quan hệ cha-con Mô hình này được biểu diễn bởi một đồ thị có hướng và các mũi tên chỉ từ kiểu thực thể cha sang kiểu thực thể con Ví dụ như sau:

Hình 1.3: Thực thể kết nối Ưu điểm của mô hình này là có thể biểu diễn được các mối quan hệ phức tạpNhược điểm là truy xuất chậm và không thích hợp với các CSDL có quy mô lớn

1.2.3 Mô hình dữ liệu phân cấp (Hierarchical model)

Tổ chức theo hình cây, mỗi nút biểu diễn một thực thể dữ liệu Mỗi nút cha có thể có một hoặc nhiều nút con nhưng mỗi nút con chỉ có một nút cha Do đó mô hình dữ liệu phân cấp có thể có các kiểu quan hệ: 1-1, 1-N Nhược điểm của mô hình này là một nút con không thể có quá một nút cha nên không biểu diễn được các quan hệ phức tạp.

Hình 1.4: Mô hình dữ liệu phân cấp

1.2.4 Mô hình dữ liệu quan hệ (Relational model)

Trong mô hình dữ liệu quan hệ không có các liên kết vật lý Dữ liệu được biểu diễn dưới dạng bảng với các hàng và các cột Dữ liệu trong hai bảng liên kết với nhau thông qua các cột chung và có các toán tử để thao tác trên các hàng của bảng

Hình 1.5: Mô hình dữ liệu quan hệ

1.2.5 Mô hình dữ liệu hướng đối tượng (Object-Oriented model)

Mô hình này ra đời vào khoảng đầu những năm 90, dựa trên cách tiếp cận của phương pháp lập trình hướng đối tượng

Cơ sở dữ liệu bao gồm các đối tượng:

 Mỗi đối tượng bao gồm các thuộc tính, phương thức của đối tượng

 Các đối tượng trao đổi với nhau thông qua các phương thức

 Một dối tượng có thể được sinh ra từ việc kế thừa từ đối tượng khác

Hình 1.6: Mô hình dữ liệu hướng đối tượng

Hệ quản trị cơ sở dữ liệu là gì?

Hiện nay, một lượng vô cùng lớn các thông tin hữu ích với chúng ta đang tồn tại ở dạng văn bản Việc của chúng ta là phải biết cách quản lý và sử dụng chúng sao cho thật hiệu quả Để quản lý một lượng dữ liệu lớn phức tạp, người sử dụng phải có những công cụ hỗ trợ tính năng đơn giản trong thao tác nhưng lại hiệu quả trong trích lọc thông tin Từ thực tế đó, hệ quản trị cơ sở dữ liệu ra đời.

Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS): Là một hệ thống phần mềm cho phép tạo lập cơ sở dữ liệu và cung cấp cơ chế lưu trữ, truy cập dựa trên các mô hình CSDL

Trên thị trường phần mềm hiện nay ở Việt Nam xuất hiện khá nhiều phần mềm hệ quản trị cơ sở dữ liệu như: Microsoft Access, Foxpro, SQL Server,Oracle Trong đó:

 SQL Server, Microsoft Access, Oracle là các hệ quản trị CSDL điển hình cho mô hình quan hệ

 IMS của IBM là hệ quản trị CSDL điển hình cho mô hình dữ liệu phân cấp

 IDMS là hệ quản trị CSDL điển hình cho mô hình dữ liệu mạng

Những lợi ích mà DBMS mang lại:

 Cơ chế an toàn, bảo mật cao

 Hỗ trợ các ngôn ngữ giao tiếp Ví dụ như ngôn ngữ truy vấn dữ liệu có cấu trúc - SQL, ngôn ngữ thao tác dữ liệu - DML, ngôn ngữ mô tả, định nghĩa dữ liệu -DDL

Cấu trúc của một DBMS

1.4.1 Các thành phần của một DBMS

- Dữ liệu, Siêu dữ liệu: Đáy kiến trúc là thiết bị nhớ ngoài lưu trữ dữ liệu và siêu dữ liệu Trong phần này không chỉ chứa dữ liệu được lưu trữ trong CSDL mà còn chứa cả các siêu dữ liệu, tức là thông tin cấu trúc của CSDL Ví dụ như tên của các quan hệ, tên các thuộc tính của quan hệ và các kiểu dữ liệu của các thuộc tính này.

- Bộ quản lý lưu trữ: Nhiệm vụ của bộ quản lý lưu trữ là lấy ra các thông tin được yêu cầu từ những thiết bị lưu trữ dữ liệu và thay đổi những thông tin này khi được yêu cầu bởi các mức trên nó của hệ thống.

- Bộ xử lý câu hỏi: Bộ xử lý câu hỏi không chỉ điều khiển các câu hỏi mà còn điều khiển cả các yêu cầu thay đổi dữ liệu hay siêu dữ liệu Nhiệm vụ của nó là tìm ra cách tốt nhất để thực hiện một thao tác được yêu cầu và phát ra lệnh đối với bộ quản lý lưu trữ và thực thi thao tác đó.

- Bộ quản lý giao dịch: Bộ quản lý giao dịch có trách nhiệm đảm bảo tính toàn vẹn của hệ thống Nó phải đảm bảo rằng các thao tác thực hiện thông suốt đồng thời không cản trở các thao tác khác và đảm bảo hệ thống không bị mất dữ liệu thậm chí cả khi lỗi hệ thống xảy ra.

1.4.2 Các kiểu thao tác với DBMS

- Các truy vấn: Đây là thao tác hỏi đáp về dữ liệu được lưu trữ trong CSDL và được thực hiện thông qua giao diện truy vấn chung hoặc thông qua giao diện của các chương trình ứng dụng

- Cập nhật dữ liệu: Đây là các thao tác, thêm, sửa, xóa dữ liệu trong CSDL.Giống như các truy vấn, chúng có thể được thực hiện thông qua giao diện chung hoặc thông qua giao diện của các chương trình ứng dụng

- Thay đổi sơ đồ: Các lệnh này thường được thực hiện bởi những người sử dụng được cấp phép, thường là những người quản trị CSDL mới được phép thay đổi sơ đồ của CSDL hoặc tạo lập các CSDL mới.

SQL và NoSQL

Trước khi phân biệt SQL và NoSQL chúng ta cần làm rõ được thế nào là SQL và thế nào là NoSQL

SQL chính là viết tắt của Structured Query language, được phát âm là "S-Q- L" hoặc đôi khi là "See-Quel" là ngôn ngữ chuẩn để xử lý Cơ sở dữ liệu quan hệ. Một cơ sở dữ liệu quan hệ xác định các mối quan hệ dưới dạng các bảng.

Lập trình SQL có thể được sử dụng hiệu quả để chèn, tìm kiếm, cập nhật, xóa các bản ghi cơ sở dữ liệu. Điều đó không có nghĩa là SQL không thể làm được gì ngoài việc đó Nó có thể làm rất nhiều thứ bao gồm, nhưng không giới hạn, tối ưu hóa và duy trì cơ sở dữ liệu.

Các cơ sở dữ liệu quan hệ như Cơ sở dữ liệu MySQL, Oracle, MS SQL Server, Sybase, vv sử dụng SQL.

NoSQL là một DMS không quan hệ, không yêu cầu một lược đồ cố định,tránh các phép nối, và dễ dàng mở rộng Cơ sở dữ liệu NoSQL được sử dụng cho các kho dữ liệu phân tán với nhu cầu lưu trữ dữ liệu khổng lồ NoSQL được sử dụng cho dữ liệu lớn và các ứng dụng web thời gian thực Ví dụ như các công ty như Twitter, Facebook, Google thu thập hàng terabyte dữ liệu người dùng mỗi ngày.

Cơ sở dữ liệu NoSQL là viết tắt của "Không chỉ SQL" hoặc "Không phải SQL" Mặc dù một thuật ngữ tốt hơn sẽ NoREL NoSQL bắt gặp Carl Strozz giới thiệu khái niệm NoSQL vào năm 1998.

RDBMS truyền thống sử dụng cú pháp SQL để lưu trữ và truy xuất dữ liệu để có thêm thông tin chi tiết Thay vào đó, một hệ thống cơ sở dữ liệu NoSQL bao gồm một loạt các công nghệ cơ sở dữ liệu có thể lưu trữ dữ liệu có cấu trúc, bán cấu trúc, không có cấu trúc và đa hình.

Hình 1.8: Dữ liệu người dùng mỗi ngày của GG

1.5.3 So sánh SQL và NoSQL

Tham số SQL NoSQL Định nghĩa

Cơ sở dữ liệu SQL chủ yếu được gọi là RDBMS hoặc Cơ sở dữ liệu quan hệ

Cơ sở dữ liệu NoSQL chủ yếu được gọi là cơ sở dữ liệu không liên quan hoặc phân tán

Design for RDBMS truyền thống sử dụng Hệ thống cơ sở dữ liệu NoSQL bao

Tham số SQL NoSQL cú pháp và truy vấn SQL để phân tích và lấy dữ liệu để có thêm thông tin chi tiết Chúng được sử dụng cho các hệ thống OLAP. gồm nhiều loại công nghệ cơ sở dữ liệu khác nhau Các cơ sở dữ liệu này được phát triển để đáp ứng nhu cầu trình bày cho sự phát triển của ứng dụng hiện đại.

(SQL) Không có ngôn ngữ query

Type SQL databases là cơ sở dữ liệu dựa trên bảng

NoSQL databases có thể dựa trên tài liệu, cặp khóa-giá trị, cơ sở dữ liệu biểu đồ

Schema SQL databases có lược đồ được xác định trước

NoSQL databases sử dụng lược đồ động cho dữ liệu phi cấu trúc.

SQL databases có thể mở rộng theo chiều dọc

NoSQL databases có thể mở rộng theo chiều ngang

Ví dụ Oracle, Postgres, and MS-

MongoDB, Redis, , Neo4j, Cassandra, Hbase.

Phù hợp cho Đây là 1 lựa chọn lý tưởng cho môi trường truy vấn phức tạp

Không phù hợp với truy vấn phức tạp

Lưu trữ dữ liệu phân cấp

SQL databases không thích hợp cho việc lưu trữ dữ liệu phân cấp.

Phù hợp hơn cho kho lưu trữ dữ liệu phân cấp vì nó hỗ trợ phương thức cặp khóa-giá trị.

Variations Một loại có biến thể nhỏ

Nhiều loại khác nhau bao gồm các kho khóa-giá trị, cơ sở dữ liệu tài liệu và cơ sở dữ liệu đồ thị.

Nó được phát triển vào những năm 1970 để giải quyết các Được phát triển vào cuối những năm

2000 để khắc phục các vấn đề và hạn

Tham số SQL NoSQL vấn đề với lưu trữ tệp phẳng chế của SQL databases.

Một sự kết hợp của mã nguồn mở như Postgres & MySQL, và thương mại như Oracle Database.

Nó phải được cấu hình cho sự nhất quán chặt chẽ.

Nó phụ thuộc vào DBMS như một số cung cấp tính nhất quán mạnh mẽ như MongoDB, trong khi những người khác cung cấp chỉ cung cấp sự nhất quán cuối cùng, như Cassandra. Được sử dụng tốt nhất cho

RDBMS database là tùy chọn thích hợp để giải quyết các vấn đề về ACID.

NoSQL được sử dụng tốt nhất để giải quyết các vấn đề về tính khả dụng của dữ liệu

Nó nên được sử dụng khi hiệu lực dữ liệu là siêu quan trọng

Sử dụng khi nó quan trọng hơn để có dữ liệu nhanh hơn dữ liệu chính xác Lựa chọn tốt nhất

Khi bạn cần hỗ trợ truy vấn động

Sử dụng khi bạn cần mở rộng quy mô dựa trên yêu cầu thay đổi

(Oracle Exadata, etc.) Commodity hardware

(Infiniband, Fabric Path, etc.) Commodity network (Ethernet, etc.)

Loại lưu trữ Highly Available Storage

Commodity drives storage (standard HDDs, JBOD)

Hỗ trợ đa nền tảng, Bảo mật và miễn phí

Dễ sử dụng, hiệu suất cao và công cụ linh hoạt.

Mô hìnhACID (Atomicity, nhất quán, Cơ bản (Về cơ bản có sẵn, trạng thái

BASE cách ly và độ bền) là một chuẩn cho RDBMS mềm, phù hợp cuối cùng) là một mô hình của nhiều hệ thống NoSQL

SQL hoạt động tốt và nhanh thì việc desgin tốt là cực kì quan trọng và ngược lại.

Nhanh hơn SQL NoSQL thì denormalized cho phép bạn lấy được tất cả thông tin về một item cụ thể với các codition mà không cần JOIN liên quan hoặc truy vấn SQL phức tạp.

Dự án đã có yêu cầu dữ liệu rõ ràng xác định quan hệ logic có thể được xác định trước.

Phù hợp với những dự án yêu cầu dữ liệu không liên quan, khó xác định, đơn giản mềm dẻo khi đang phát triển

Bảng 1.1: So sánh SQL và No SQL

Hình 1.9: Phân biệt SQL và No SQL

ĐẶC TẢ YÊU CẦU

Phạm vi nghiên cứu và giải quyết bài toán

Phạm vi nghiên cứu và giải quyết bài toán tập trung ở mức độ lý thuyết thiết kế cơ sở dữ liệu, không đi sâu vào giải quyết triệt để toàn bộ vấn đề của bài toán.

Mô tả nghiệp vụ

2.3.1 Thuật ngữ và từ viết tắt

STT Viết tắt Mô tả

1 ISBN ISBN là chữ viết tắt của International Standard

Book Number (Mã số tiêu chuẩn quốc tế cho sách), là mã số tiêu chuẩn quốc tế để xác định một quyển sách

4 CSDL Cơ sở dữ liệu

Bảng 2.1: Thuật ngữ và các từ viết tắt trong đặc tả yêu cầu

2.3.2 Xác định thực thể và chức năng

Công ty B&N là một kho sách lớn và họ quyết định đưa bán những quyển sách này trên mạng Công ty DBDudes, là một hãng tư vấn cơ sở dữ liệu nổi tiếng, đã được mời đến để giúp đỡ công ty B&N để thiết kế và thực thi cơ sở dữ liệu của công ty này B&N là một kho sách lớn, đặc biệt là các sách về đua ngựa và họ quyết định đưa những quyển sách này lên mạng Người chủ của B&N, viết trong một bản yêu cầu ngắn gọn: “Tôi muốn những khách hàng của tôi có thể xem được danh mục các quyển sách và đặt mua chúng trên Internet”

Hiện nay, tôi nhận những đơn đặt hàng bằng số điện thoại Tôi có các khách hàng là các tập thể, họ gọi điện cho tôi và cung cấp số ISBN của quyển sách và số lượng; họ thường thanh toán bằng thẻ tín dụng

Sau đó, tôi chuẩn bị những quyển sách họ đặt Nếu tôi không có đủ số lượng sách trong kho, tôi đề nghị nhà xuất bản bổ sung và hoãn trả hàng cho khách cho tới khi tôi có đủ số lượng; Tôi muốn chuyển các hóa đơn của cùng một khách hàng một lần Danh mục bao gồm tất cả các quyển sách mà tôi bán Với mỗi quyển sách, danh mục có chứa thông tin về: số ISBN, tiêu đề, tác giả, giá bìa, giá bán, năm xuất bản Hầu hết khách hàng của tôi là những khách quen, tôi muốn ghi lại thông tin về tên, địa chỉ của họ Những khách mới phải gọi trước cho tôi và đăng ký một tài khoản trước khi họ muốn sử dụng sử dụng website của tôi.

Từ những từ khóa được xác định ở trên ta có thể xác định bảng chức năng như sau:

Khách hàng có thể đăng ký tài khoản CĐT có thể duyệt tài khoản khách hàng sau khi xác nhận thông tin qua điện thoại

CĐT có thể thêm danh mục các các sách CĐT có thể thêm các quyển sách

CĐT có thể thêm giá bán của quyển sách CĐT có thể thêm số ISBN của quyển sách CĐT có thể thêm tiêu đề của quyển sách CĐT có thể thêm tác giả của quyển sách CĐT có thể thêm giá bìa của quyển sách CĐT có thể thêm năm xuất bản của quyển sách

III Quản lý bán sách

Khách hàng có thể đặt sách cần mua và số lượng sáchCĐT có thể xác định được số sách tồn dư trong khoCĐT có thể xác định được thông tin nhà xuất bản để gọi bổ sung sách khi cần

CĐT có thể thông báo đến khách hàng trạng thái còn/hết của sách

CĐT có thể chọn phương thức thanh toán (thông thường là thẻ tín dụng)

CĐT có thể xác định trạng thái giao sách (hoãn trả hàng, trả hàng)

Bảng 2.2: Bảng chức năng của hệ thống bán sách

Căn cứ trên các chức năng phân tích ta có thể xác định sơ bộ các thực thể như sau:

- Người dùng (tài khoản của công ty)

PHÂN TÍCH THIẾT KẾ

Luồng nghiệp vụ

Căn cứ trên các chức năng và thực thể ta xác định được các luồng nghiệp vụ như sau:

3.1.1 Luồng nghiệp vụ đăng ký tài khoản

Hình 3.1: Luồng nghiệp vụ đăng ký tài khoản

3.1.2 Luồng nghiệp vụ Quản lý bán sách

Hình 3.2: Luồng nghiệp vụ quản lý bán sách

Mô hình phân rã chức năng của hệ thống

Hình 3.3: Sơ đồ phân rã

Căn cứ theo các thông tin yêu cầu của bài toán và mô hình luồng dữ liệu đã được phân tích, Hệ thống quản lý bán sách có thể phân rã thành 05 phân hệ chính:

1 Phân hệ Quản lý bán sách

2 Phân hệ quản lý đăng ký tài khoản của khách hàng

3 Phân hệ quản lý Kho

4 Phân hệ quản trị hệ thống

5 Phân hệ quản trị danh mục a, Mô tả Phân hệ Quản lý bán sách

Hình 3.4: Phân hệ quản lý bán sách

Phân hệ Quản lý bán sách thực hiện quản lý các thông tin liên quan đến việc mua bán sách được phân rã thành các chức năng sau:

- Chức năng Quản lý Đặt sách:

 Người sử dụng: Khách hàng

 Mô tả: cung cấp tập các chức năng/màn hình giao diện phục vụ cho khách hàng thông qua số ISBN hoặc thông tin sách mà khách hàng muốn mua có thể tra cứu dễ dàng và thực hiện đặt mua chúng trên hệ thống website được xây dựng

- Chức năng Quản lý xác nhận đơn đặt:

 Người sử dụng: Cán bộ quản lý của CĐT

 Cung cấp các chức năng/màn hình giao diện phục vụ cho việc xác nhận đơn đặt sau khi khách hàng thực hiện đặt sách.

 Cung cấp chức năng/màn hình giao diện phục vụ việc kiểm tra số lượng sách trong kho có đủ theo đơn đặt hay không

- Chức năng quản lý yêu cầu bổ sung

 Người sử dụng: Cán bộ quản lý của CĐT

 Cung cấp chức năng/màn hình giao diện cho phép liên lạc với nhà xuất bản để bổ sung thêm sách trong trường hợp sách không đủ số lượng theo yêu cầu đặt hàng của khách hàng

 Cung cấp chức năng có thể hiển thị thông tin nhà xuất bản để phục vụ việc gọi điện, email hay liên kết hoặc tích hợp với hệ thống sẵn có của nhà xuất bản…

- Chức năng quản lý đơn hàng – hóa đơn

 Người sử dụng: Cán bộ quản lý của CĐT

 Cung cấp chức năng/màn hình giao diện hiển thị danh sách đơn hàng đã được đặt

 Cung cấp chức năng/màn hình giao diện hiển thị danh sách đơn hàng đã thanh toán hoặc từ chối thanh toán

 Cung cấp chức năng/màn hình giao diện hiển thị sách các đơn hàng chưa đủ số lượng sách

 Cung cấp chức năng/màn hình giao diện kiểm tra việc có xuất hóa đơn hay không và đã xuất hóa đơn hay chưa

 Người sử dụng: Cán bộ quản lý của CĐT

 Cung cấp chức năng/màn hình giao diện thống kê các đơn hàng theo trạng thái

 Cung cấp chức năng/màn hình giao diện thống kê doanh số b, Mô tả phân hệ Quản lý đăng ký tài khoản

Hình 3.5: Phân hệ Quản lý đăng ký tài khoản

Phân hệ Quản lý đăng ký tài khoản thực hiện quản lý các thông tin liên quan đến việc đăng ký tài khoản được phân rã thành các chức năng sau:

- Chức năng Quản lý đăng ký tài khoản

Người sử dụng: Khách hàng

Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện nhập thông tin đăng ký tài khoản

- Chức năng Quản lý duyệt đăng ký

 Người sử dụng: Cán bộ quản lý của CĐT

 Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc phê duyệt tài khoản khách hàng đã đăng ký thì có thông báo (bằng việc khách hàng gọi điện hoặc hệ thống cung cấp chức năng thông báo khi có tài khoản mới đăng ký) c, Mô tả phân hệ Quản lý kho

Hình 3.6: Phân hệ Quản lý kho

Phân hệ Quản lý kho thực hiện quản lý các thông tin liên quan đến việc nhập kho, xuất kho, tồn kho được phân rã thành các chức năng sau:

- Chức năng Quản lý nhập kho

 Người sử dụng: Cán bộ quản lý của CĐT

 Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc nhập sách vào kho và lưu trữ

- Chức năng Quản lý xuất kho

 Người sử dụng: Cán bộ quản lý của CĐT

 Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc xuất sách khỏi kho, hoặc khi có phát sinh yêu cầu xuất sách khỏi kho.

- Chức năng Báo cáo nhập/xuất/tồn

Người sử dụng: Cán bộ quản lý của CĐT

Mô tả: Cung cấp chức năng/màn hình giao diện thực hiện việc lên báo cáo nhập kho, xuất kho, sách tồn trong kho. d, Mô tả phân hệ Quản trị hệ thống

Phân hệ Quản trị hệ thống phục vụ cho cán bộ quản lý của CĐT thực hiện quản lý các thông tin, nhiệm vụ: Quản lý tài khoản cán bộ quản lý của CĐT e, Mô tả phân hệ Quản trị danh mục

Phân hệ Quản trị danh mục phục vụ cho cán bộ quản lý của CĐT thực hiện quản lý các thông tin, nhiệm vụ:

- Quản lý Danh mục Nhà xuất bản

- Quản lý Danh mục Loại sách

- Quản lý Danh mục Kho (trong trường hợp CĐT có nhiều kho)

- Quản lý Danh mục Sách

- Quản lý Danh mục Tác giả

Xác định thực thể

Từ sơ đồ luồng nghiệp vụ và mô hình phân rã chức năng ta có thể xác định các thực thể có trong hệ thống như sau:

Từ sơ đồ luồng nghiệp vụ và mô hình phân rã chức năng ta có thể xác định các thực thể có trong hệ thống như sau:

8 Cán bộ quản lý CĐT (HtCanBo)

3.3.2 Xác định thuộc tính cho thực thể

Từ danh sách các thực thể, luồng nghiệp vụ và mô hình phân rã chức năng, ta xác định thuộc tính từng thực thể như sau:

1 Thực thể khách hàng (KhachHang) a Mã khách hàng - MaKhachHang b Tên khách hàng - TenKhachHang c Địa chỉ - DiaChi d Số điện thoại – SoDienThoai e Địa chỉ Email – Email f Ghi chú - GhiChu

2 Thực thể Sách (Sach) a Mã sách – MaSach b Số ISBN - ISBN c Tiêu đề - TieuDe d Tác giả - TacGia e Giá bìa - GiaBia f Giá bán – GiaBan g Năm xuất bản – NamXuatBan

3 Thực thể tác giả (TacGia) a Mã tác giả - MaTacGia b Tên tác giả - TenTacGia c Ngày sinh – NgaySinh d Địa chỉ - DiaChi e Số điện thoại – SoDienThoai f Địa chỉ Email – Email g Học hàm – HocHam h Học vị - HocVi

4 Thực thể Nhà xuất bản (NhaXuatBan) a Mã nhà xuất bản – MaNhaXuatBan b Tên nhà xuất bản – TenNhaXuatBan c Địa chỉ - DiaChi d Số điện thoại – SoDienThoai e Địa chỉ email – Email

5 Thực thể Loại sách (LoaiSach) a Mã loại sách – MaLoaiSach b Tên loại sách – TenLoaiSach c Ghi chú – GhiChu

6 Thực thể nhà kho (Kho) a Mã kho – MaKho b Tên kho – TenKho c Địa chỉ - DiaChi

7 Thực thể đơn hàng (DonHang) a Mã đơn hàng – MaDonHang b Nơi giao – NoiGiao c Ngày đặt – NgayDat d Ngày giao – NgayGiao

8 Thực thể Cán bộ quản lý CĐT (HtCanBo) a Mã cán bộ - MaCanBo b Tên cán bộ - TenCanBo c Phòng ban – PhongBan d Ngày sinh – NgaySinh e Số điện thoại – SoDienThoai f Địa chỉ - DiaChi g Địa chỉ email – Email

Mô hình liên kết thực thể E-R

Sau khi xác định thực thể, ta có thể xác định mô hình liên kết thực thể như sau:

Hình 3.7: Mô hình liên kết thực thể E-R

Chuyển đổi mô hình liên kết thực thể ER sang mô hình logic chuẩn 3NF

3.5.1 Phân tích mô hình thực thể Đối với mô hình liên kết thực thể ER đã xây dựng ở trên, ta thấy mô hình có nhiều mối quan hệ n:n ví dụ như:

- Quan hệ giữa sách và tác giả: Một quyển sách có thể do nhiều tác giả viết, mỗi tác viết quyển sách đó có vai trò và vị trí thực hiện khác nhau Một tác giả cũng có thể viết nhiều quyền sách.

- Quan hệ giữa sách và đơn hàng: Mỗi đơn hàng có thể mua nhiều quyển sách, mỗi sách cũng có thể được mua từ nhiều đơn hàng khác nhau. Đối với việc chuyển mô hình từ mô hình liên kết thực thể sang mô hình logic, các dạng dữ liệu quan hệ như 1:1 hay n:n cần phải khử để đảm bảo tính logic và tránh dư thừa dữ liệu Tuy nhiên, với việc phát triển các hệ quản trị cơ sở dữ liệu các nhau với các góc nhìn và mục đích sử dụng khác nhau, việc khử dạng dữ liệu quan hệ vẫn là vấn đề cần tranh luận rất nhiều (quan điểm được nêu trong mục 5 chương I).

Kỹ thuật khóa ảo trong thiết kế CSDL là kỹ thuật sử dụng 1 trường dữ liệu đại diện cho tập dữ liệu khóa

Kỹ thuật này có ưu điểm là làm thiết kế của chúng ta trở lên thống nhất phục vụ cho các giai đoạn về sau của việc xây dựng hệ thống đảm tính thống nhất, toàn vẹn và tăng tốc độ gia công phần mềm, dễ dàng sử dụng thiết kế mẫu (design pattern).

Kỹ thuật khóa ảo cũng có nhược điểm là tính logic không còn đảm bảo 1 cách “rõ ràng”, ngoài ra nó cũng tăng dung lượng lưu trữ dư thừa Do đó, tùy từng bài toán, hệ thống cụ thể mà ta cân nhắc có sử dụng hay không.

3.5.2.1 Áp dụng kĩ thuật khóa ảo chuyển đổi thực thể đảm bảo mô hình logic 3NF áp dụng với hệ quản trị dữ liệu SQL Server

Thực hiện chuyển đổi mô hình liên kết thực thể sang mô hình logic ta được sơ đồ thiết kế cơ sở dữ liệu như sau:

Id TenKhachHang DiaChi SoDienThoai Email GhiChu NguoiDuyetId FK_KhachHang_HtCanBo

Id TenTacGia NgaySinh DiaChi SoDienThoai Email HocHam HocVi

Id SachId TacGiaId VaiTro ViTri

Id TenNhaXuatBan DiaChi SoDienThoai Email FK_Sach_NhaXuatBan

Id ISBN TieuDe GiaBia GiaBan NamXuatBan NhaXuatBanId LoaiSachId

Id TenLoaiSach GhiChu FK_Sach_LoaiSach

Id NoiGiao NgayDat NgayGiao TrangThaiGiao TrangThaiThanhToan KhachHangId

Hình 3.8:Sơ đồ thiết kế cơ sở dữ liệu

3.5.2.2 Diễn giải chi tiết từng bảng

STT Mã trường Kiểu trường Độ dài Null Unique PK/

8 Email varchar x Bảng 3.1: Bảng nhân viên, cán bộ Bảng KhachHang

STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định

STT Mã trường Kiểu trường Độ dài Null Unique PK/

STT Mã trường Kiểu trường Độ dài Null Unique PK/

Bảng 3.3: Bảng kho Bảng LoaiSach

STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định

Bảng 3.4: Bảng phân loại sách

STT Mã trường Kiểu trường Độ dài Null Unique PK/

5 Email varchar x Bảng 3.5: Bảng nhà xuất bản Bảng Sach

STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định

STT Mã trường Kiểu trường Độ dài Null Unique PK/

Bảng 3.7: Bảng tác giả Bảng SachChiTiet

STT Mã trường Kiểu trường Độ dài Null Unique PK/ FK Mặc định

Bảng 3.8: Bảng chi tiết về sách

STT Mã trường Kiểu trường Độ dài Null Unique PK/

STT Mã trường Kiểu trường Độ dài Null Unique PK/

Bảng 3.10: Bảng chi tiết đơn hàng

STT Mã trường Kiểu trường Độ dài Null Unique PK/

Ngày đăng: 05/11/2024, 13:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w