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

Báo Cáo Kết Thúc Học Phần Học Kỳ I Các Hệ Quản Trị Cơ Sở Dữ Liệu Hệ Thống Quản Lý Thưviện.pdf

53 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

Nội dung

Trang 1

TRƯỜNG ĐẠI HỌC NGOẠI NGỮ TIN HỌC THÀNH PHỐ HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN



BÁO CÁO KẾT THÚC HỌC PHẦN HỌC KỲ I

NĂM HỌC 2022 – 2023CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆUHỆ THỐNG QUẢN LÝ THƯ

Tháng 12 Năm 2022

Trang 2

MỤC LỤC

LỜI MỞ ĐẦU 3

Chương 1: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu 4

Chương 2: Cơ Sở Lý Thuyết 10

Chương 3: Phân Tích – Thiết Kế Dữ Liệu 19

Chương 4: Thiết Kế Xử Lý Trong Client/Server 31

Chương 5: Triển khai thực nghiệm 32

Trang 3

LỜI MỞ ĐẦU

Từ trước tới nay, các thư viện dù lớn hay nhỏ đều chỉ hoạt động dựa theo cách thủ công do con người phụ trách Nhưng xu thế hiện nay, khi sự phát triển mạnh mẽ của ngành công nghệ thông tin dẫn đến việc đòi hỏi ra đời các hệ thống để trợ giúp con người trong việc quản lý Thông qua lĩnh vực phân tích và thiết kế hệ thống thông tin đã giúp việc quản lý đơn giản và nhanh chóng hơn Xuất phát từ nhu cầu thực tế cần có một hệ thống trợ giúp quản lý việc xuất nhập, thao tác trong các khâu của thư viện.Chúng em đã thực hiện đồ án “Quản lý thư viện” mục tiêu để tìm hiểu sâu hơn trong lĩnh vực phâp tích thiết kế hệ thống thông tin Xin chân thành cảm ơn Cô đã nhiệt tình giúp đỡ và truyền đạt cho chúng em nhiều kiến thức quý giá về bộ môn Hệ quản trị cơ sở dữ liệu để chúng em có đầy đủ khả năng thực hiện tốt đồ án này Đây là 1 đồ án đầu tay nên khó tránh khỏi còn nhiều sai sót, khuyết điểm mong Cô thông cảm, hết lòng góp ý và chỉ cho chúng em ưu, khuyết điểm để giúp chúng em có thể hoàn thiện tốt hơn sau này Chúng em xin chân thành cảm ơn Cô

Trang 4

Chương 1: Khảo Sát Hiện Trạng Và Xác Định Yêu Cầu

(MaSach) để phân biệt với các đầu sách khác, mã số sách được bắt đầu bằng 2 kí tự MS

và sau đó là số thứ tự của đầu sách đó (Ví dụ: MS05, MS100, MS201,…) Mỗi đầu sáchcó một số lượng (SoLuong) cho biết tựa sách đó có còn sách để có thể mượn được nữa

không Ngoài ra, thông tin về đầu sách còn có: Tác giả cuốn sách (TacGia), nhà xuất bản(NhaXB) và giá tiền (Gia), giúp cho việc phân biệt và quản lý các đầu sách được dễdàng và chính xác hơn

Để trở thành độc giả (DocGia) của thư viện, thì mỗi bạn đọc phải đăng ký và cungcấp thông tin cá nhân bao gồm họ và tên, giới tính, địa chỉ và số điện thoại của mình Thủthư sẽ cung cấp cho bạn đọc một thẻ độc giả, trên đó có mã số thẻ chính là mã số bạn đọcđể phân biệt các bạn đọc khác (MaDocGia) Mã độc giả được bắt đầu bằng 2 kí tự DG vàsau đó là số thứ tự của độc giả đó (Ví dụ: DG11, DG32, DG99,…)

1. Đăng ký mượn sách:

Sau khi bạn đọc đăng ký thẻ độc giả thành công, bạn đọc muốn mượn sách (thưviện cho mượn tối đa 3 cuốn/1 lần mượn), bạn đọc chọn cho mình những cuốn sách cầnmượn rồi gặp thủ thư để tiến hành cho bước mượn sách

Bạn đọc cần trình thẻ độc giả cho thủ thư kiểm tra thông tin và thủ thư tiến hànhlập phiếu mượn

Mỗi cuốn sách có thể được mượn tối đa 30 ngày Nếu quá hạn, khi trả sách bạnđọc phải đóng tiền lệ phí quá hạn (5.000đ/ngày)

Ngoài ra, chương trình còn hiển thị thông tin về việc mượn trả sách của bạn đọcgồm: mã sách (MaSach), tên sách (TenSach), số sách mượn (SLSachMuon), thông tinngày mượn (NgayMuon), ngày hẹn trả (NgayHenTra) và thông tin của người mượn.

(MaDG, TenDG)

Thông tin về thẻ độc giả của bạn đọc hợp lệ, thì thủ thư sẽ cho mượn sách Phầnmềm sẽ chạy và báo rằng bạn có được mượn sách hay không Trường hợp bạn khôngđược mượn sách thì phần mềm sẽ thông báo lý do

Trang 5

3. Thống kê:

 Thống kê về số lượng sách  Thống kê về số độc giả  Thống kê về số lượng phiếu mượn  Thống kê về số lượng phiếu trả  Thống kê doanh thu tiền phạt  Thống kê số lượng phiếu chưa trả

Người quản lý sử dụng phần mềm được quyền thực hiện các chức năng sau:

 Quản lý sách: thêm mới, sửa thông tin và xóa sách  Quản lý độc giả: thêm, sửa thông tin và xóa độc giả  Lập thẻ độc giả

 Lập phiếu mượn sách  Lập phiếu trả sách  Tìm kiếm sách  Thống kê sách  In thông tin độc giau  In thông tin danh mục sách  In thông tin chi tiết viêc mượn sách

II.Xác định yêu cầu:1 Mục đích:

Mục đích của đề tài là khảo sát phân tích thiết kế chương trình quản lý sáchcủa thư viện để hiểu biết và phục vụ cho việc mượn trả sách, quản lý độc giảvà thống kê báo cáo tại thư viện sao cho có hiệu quả nhất

2 Yêu cầu:

Cần phải hiểu biết rõ và nắm được các nghiê wp vụ của viê wc quản lý thư viện từđó đi đến khảo sát, phân tích hệ thống quản lý thư viện theo đúng yêu cầu, cuốicùng là phải thiết kế được chương trình với các chức năng chỉ rõ ở bước phântích hệ thống

2.1 Yêu cầu chức năng:

Website Quản lý thư viện cần đáp ứng các yêu cầu chức năng cơ bản sau:

2.1.1 Yêu cầu lưu trữ:

Hệ thống đáp ứng các yêu cầu lưu trữ thông tin cần thiết về người dùng, sách, độc giả, phiếu mượn và phiếu trả…của thư viện

2.1.1.1 Thông tin về người dùng:

Tài khoản

Trang 6

Mật khẩuHọ và tênSố điện thoạiSố CMND/căn cướcPhân quyền

2.1.1.2 Thông tin về sách:

Mã sách Tên sách Tác giả Nhà xuất bản Thể loại Số lượng Giá Hình ảnh Giới thiệu sách

2.1.1.3 Thông tin về độc giả:

Mã độc giả Tên độc giả Số điện thoại Địa chỉ Giới tính

Trang 7

Số lần mất sách

2.1.1.4 Thông tin về phiếu mượn:

Mã phiếu Mã độc giả Tên độc giả Ngày mượn Ngày hẹn trả Sách mượn Thủ thư

2.1.1.5 Thông tin về phiếu trả:

Mã phiếu Mã độc giả Mã sách Ngày hẹn trả Ngày trả Tình trạng sách mượn Tình trạng sách trả Thủ thư nhận sách Ghi chú Tiền phạt

2.1.2 Yêu cầu tra cứu:

2.1.2.1 Tra cứu thông tin độc giả

Trang 8

2.1.2.2 Tra cứu thông tin sách 2.1.2.3 Tra cứu thông tin mượn sách

2.1.3 Yêu cầu nghiệp vụ:

2.1.3.1 Thêm độc giả 2.1.3.2 Thêm sách mới 2.1.3.3 Tra cứu sách 2.1.3.4 Lập phiếu mượn 2.1.3.5 Tra cứu phiếu mượn 2.1.3.6 Thêm người dùng 2.1.3.7 Nhận trả sách II.1.3.8Thống kê

2.2 Yêu cầu phi chức năng:

2.2.1 Tốc độChương trình khi hoạt động không mất nhiều thời gian, tốc độ tra cứu thông tinphải nhanh

2.2.2 Khối lượng lưu trữ Phần mềm phải gọn nhẹ, không chiếm quá nhiều dung lượng ổ cứng.2.2.3 An toàn, bảo mật

Dễ sử dụng, đảm bảo chất lượng, và chống người khác xâm nhập ngoài chủ sởhữu

III Xác định công nghệ sử dụng trong đề tài:

+ Công nghệ sử dụng: Sql Server, Winform + Tính năng, nhu cầu sử dụng:

- SQL SERVER: Chức năng tạo bảng, thiết kế CSDL

Trang 9

 Tạo ràng buộc, tạo các function Tạo các thủ tục, trigger Tạo Transaction - xử lý đồng thời Tạo user, phân quyền theo role Backup

- Winform: Kết nối với CSDL Thiết kế giao diện Hiện thực hóa chức năng

Trang 10

Chương 2: Cơ Sở Lý Thuyết

I.SQL và SQL SERVER

1 Sql Là Gì?SQL là viết tắt của Structured Query Language là ngôn ngữ truy vấn có cấu trúc Nó là một ngôn ngữ, là tập hợp các lệnh để tương tác với cơ sở dữ liệu Dùng để lưu trữ, thao tác và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ Trong thực tế, SQL là ngôn ngữ chuẩn được sử dụng hầu hết cho hệ cơ sở dữ liệu quan hệ Tất cả các hệ thống quản lý cơ sở dữ liệu quan hệ (RDMS) như MySQL, MS Access, Oracle,Postgres và SQL Server… đều sử dụng SQL làm ngôn ngữ cơ sở dữ liệu chuẩn.2 Sql Server Là Gì?

SQL server hay còn được gọi là Microsoft SQL Server, nó từ viết tắt của MS SQL Server Đây chính là một loại phần mềm đã được phát triển bởi Microsoft và nó được sử dụng để có thể dễ dàng lưu trữ cho những dữ liệu dựa theo tiêu chuẩn RDBMS.Từ đó, người ta sẽ lưu trữ dữ liệu dựa vào tiêu chuẩn RDBMS và nó cũng là một trong những hệ quản trị cơ sở dữ liệu dạng quan hệ đối tượng

SQL Server có khả năng cung cấp đầy đủ các công cụ cho việc quản lý từ giao diện GUI đến sử dụng ngôn ngữ cho việc truy vấn SQL Điểm mạnh của SQL điểm mạnh của nó là có nhiều nền tảng được kết hợp cùng như: ASP.NET, C# để xây dựng Winform cũng chính nó có khả năng hoạt động độc lập

Tuy nhiên, SQL Server thường đi kèm với việc thực hiện riêng các ngôn ngữ SQL, SQL,

T-II.T-SQL

1 T- SQL Là GìT-SQL là viết tắt của Transact-SQL, đây là một phần mở rộng của ngôn ngữ truy vấn SQL được phát triển dựa theo tiêu chuẩn ISO và ANSI (American National Standards Institute)

T-SQL là việc thực thi ngôn ngữ cấu trúc chuẩn của Microsoft được dùng trong hệ thống SQL Server Ngôn ngữ đặc biệt này có thể được dùng để thực hiện các thao tác với bảng như định nghĩa, chèn, xóa, cập nhật, truy vấn dữ liệu

Trang 11

Đây là một ngôn ngữ truy vấn cơ sở dữ liệu khá mạnh đề cập đến kiểu dữ liệu, đối tượng tạm thời, thủ tục hệ thống và các thủ tục mở rộng T-SQL còn có tính năng như sử dụng biến địa phương, xử lý các chuỗi/dữ liệu được thêm vào.

2 Tổng QuanKhối câu lệnh trong T-SQL sẽ được chia làm 3 nhóm tương đương với 3 chức năng chính như sau:

+ Nhóm định nghĩa dữ liệu: Nhóm này gồm các câu lệnh CREATE, ALTER, DROP table, dùng để tạo, sửa đổi hoặc xóa bảng dữ liệu Các lệnh này được sử dụng để định nghĩa cấu trúc một table

+ Nhóm điều khiển dữ liệu: Gồm các lệnh GRANT, DENY, REVOKE,… dùng để phần quyền truy cập của các đối tượng table, function, view,…

+ Nhóm thao tác dữ liệu: Là tập hợp các lệnh để thao tác trực tiếp với dữ liệu có trongtable, giúp truy vấn, tìm kiếm dữ liệu nhanh chóng Các câu lệnh nhóm này gồm INSERT, UPDATE, SELECT, DELETE

Cấu trúc của ngôn ngữ T-SQL được xây dựng theo từng khối lệnh được bắt đầu bằng BEGIN và kết thúc là END Một khối lệnh có thể được đặt lồng trong một khối lệnh bao trùm khác, trong mỗi khối lệnh là các câu lệnh, các câu lệnh này được ngăn cách với nhau bởi dấu chấm phẩy

Cấu trúc một khối lệnh có dạng như sau:

Cấu trúc khối lệnh T-SQL

III Quản Lý Giao Tác/Giao Dịch

1 Khái Niệm Giao TácMột giao tác (transaction) là một hành động hay một chuỗi các hành động truy cập vào CSDL hoặc làm thay đổi nội dung CSDL, giao tác được đưa ra bởi một người sử dụng hay một chương trình ứng dụng

Như vậy một giao tác là một đơn vị công việc trên CSDL xét trên tính logic Một giaotác có thể là toàn bộ một chương trình (viết trong ngôn ngữ thao tác dữ liệu bậc cao

Trang 12

hay trong ngôn ngữ lập trình như SQL, COBOL, ), nó cũng có thể là một phần của chương trình hay một câu lệnh đơn lẻ như câu lệnh INSERT, UPDATE của SQL.Một số thuật ngữ liên quan đến giao tác:

+ Begin [transaction/tran]: bắt đầu một transaction + Commit [transaction/tran]: hoàn tất một transaction + Rollback [transaction/tran] : quay lui, hủy bỏ toàn bộ phần giao dịchđã thực hiện trước đó

Trong ngữ cảnh CSDL, có thể xem sự thực hiện một chương trình ứng dụng như một dãy các giao tác và xen kẽ giữa chúng là những thao tác không đòi hỏi xử lí CSDL (thao tác CPU) Để cho việc tiện theo dõi, dưới đây minh họa hai lược đồ quan hệ Products và Categories đơn giản như sau:

Products(id, category_id, name, price)

Categories(id, name)

Giải thích:Lược đồ Products gồm các thuộc tính về mã sản phẩm (id), mã thể loại (category_id), tên sản phẩm (name) và giá của sản phẩm (price)

Lược đồ Categories dùng để tham chiếu mã thể loại ứng với từng sản phẩm bao gồm các thuộc tính về mã thể loại (id), tên thể loại (name)

Ví dụ 1: Một giao tác đơn giản là nâng giá của một sản phẩm có mã số là xx thêm 10$%$ giá hiện tại của sản phẩm đó Chúng ta có thể viết giao tác này như sau:

read(product.id = x, price)new_price = price * 1.1write(product.id = x, new_price)

Ở đây chúng ta quy ước dùng read(x) để chỉ thao tác đọc một mục dữ liệu có tên là xxở CSDL vào một biến của chương trình Để cho đơn giản việc trình bày chúng ta coi

Trang 13

như biến chương trình này cũng có tên là xx Tương tự như vậy write(x) dùng để chỉ thao tác ghi giá trị biến xx của chương trình vào mục dữ liệu xx của CSDLViệc thưc hiện một lệnh read(x) sẽ bao gồm các bước sau:

+ Tìm địa chỉ của khối có chứa mục dữ liệu xx+ Sao chép khối đó vào vùng đệm của bộ nhớ chính (nếu nó chưa có sẵn trong một vùng đệm của bộ nhớ chính)

+ Sao chép mục dữ liệu xx từ vùng đệm vào biến có tên là xx của chương trìnhViệc thưc hiện một lệnh write(x) sẽ bao gồm các bước sau:

+ Tìm địa chỉ của khối có chứa mục dữ liệu xx+ Sao chép khối đó vào vùng đệm của bộ nhớ chính (nếu nó chưa có sẵn trong một vùng đệm của bộ nhớ chính)

+ Sao chép mục dữ liệu xx từ biến chương trình có tên là xx vào chỗ chính xác của nótrong vùng đệm

+ Lưu trữ khối vừa cập nhập trong vùng đệm vào lại thiết bị nhớ để sau này có thể truy xuất (có thể lưu ngay tức thời hoặc tại thời điểm muộn hơn)

Trong ví dụ trên lệnh read(product.id = x, price) dùng để chỉ thao tác đọc dữ liệu ở thuộc tính price của bản ghi có giá trị khóa chính id=x, lệnh write(product.id = x, new_price) dùng để chỉ giao tác ghi lại giá trị của new_price vào cho bản ghi có khóa chính là x Giữa hai thao tác đọc và ghi dữ liệu nới trên có một thao tác không truy cập CSDL, đó là thao tác new_price = price * 1.1

2 Các Tính Chất Của Giáo TácĐể đảm bảo tính nhất quán của dữ liệu, các hệ QTCSDL cần đảm bảo các tính chất sau đây cho giao tác, tính chất ACID

+ Tính nguyên tố (Atomicity): toàn bộ các thao tác trong cùng một giao tác đều được thực hiện hoặc không một thao tác nào trong chúng được thực hiện Một giao tác là một đơn vị công việc không thể phân chia

+ Tính nhất quán (Consistency): một giao tác phải chuyển CSDL từ một trạng thái nhất quán này sang một trạng thái nhất quán khác

Trang 14

+ Tính cô lập (Isolation): Các giao tác phải được thực hiện một cách độc lập với nhau.Nói một cách khác những tác động của giao tác này sẽ không thể thấy được đối với những giao tác khác, khi giao tác này chưa thực hiện xong hoàn toàn

+ Tính bền vững (Durability): những thay đổi của CSDL do tác động của một giao tácthành công là bền vững, không bị mất đi

IV.Xử Lý Đồng Thời

1 Tranh Chấp Đồng Thời Là Gì?Khi nhiều giao tác cùng thực hiện truy xuất trên một đơn vị dữ liệu tại một thời điểm để thực hiện các thao tác đọc, ghi lên đơn vị dữ liệu đó đụng độ tranh chấp  đồng thời

2 Một Số Vấn Đề Xảy Ra Khi Tranh Chấp Đồng ThờiTrong môi trường truy xuất đồng thời, có thể xảy ra một số vấn đề như sau: + Mất dữ liệu cập nhật (Lost update)

- Tình trạng này xảy ra khi có nhiều hơn một giao tác cùng thực hiện cập nhật trên 1 đơn vị dữ liệu Khi đó, tác dụng của giao tác cập nhật thực hiện sau sẽ đèlên tác dụng của thao tác cập nhật trước

+ Đọc dữ liệu chưa commit (Uncommitted data, Dirty read)- Xảy ra khi một giao tác thực hiện đọc trên một đơn vị dữ liệu mà đơn vị dữ

liệu này đang bị cập nhật bởi một giao tác khác nhưng việc cập nhật chưa đượcxác nhận

+ Giao tác đọc không thể lặp lại (Unrepeatable data)- Tình trạng này xảy ra khi một giao tác T1 vừa thực hiện xong thao tác đọc trên

một đơn vị dữ liệu (nhưng chưa commit) thì giao tác khác (T2) lại thay đổi (ghi) trên đơn vị dữ liệu này Điều này làm cho lần đọc sau đó của T1 không còn nhìn thấy dữ liệu ban đầu nữa

+ Bóng ma (Phantom)- Là tình trạng mà một giao tác đang thao tác trên một tập dữ liệu nhưng giao tác

khác lại chèn thêm các dòng dữ liệu vào tập dữ liệu mà giao tác kia quan tâm.3 Xử Lý Tranh Chấp Đồng Thời

+ Dùng mức cô lập:

Trang 15

Isolation level là một thuộc tính của transaction, qui định mức độ cô lập của dữ liệu mà transaction có thể truy nhập vào khi dữ liệu đó đang được cập nhật bởi một transaction khác SQL Server cung cấp các mức isolation level sau xếp theo thứ tự tăng dần của mức độ cô lập của dữ liệu: Read Uncommitted, Read Commited, Repeatable Read, và Serializable.

 Read Uncommitted:Khi transaction thực hiện ở mức này, các truy vấn vẫn có thể truy nhập vào cácbản ghi đang được cập nhật bởi một transaction khác và nhận được dữ liệu tại thời điểm đó mặc dù dữ liệu đó chưa được commit (uncommited data) Nếu vì lý do nào đó transaction ban đầu rollback lại những cập nhật, dữ liệu sẽ trở lại giá trị cũ Khi đó transaction thứ hai nhận được dữ liệu sai

 Read Commited:Đây là mức isolation mặc định, nếu bạn không đặt gì cả thì transaction sẽ hoạt động ở mức này Transaction sẽ không đọc được dữ liệu đang được cập nhật mà phải đợi đến khi việc cập nhật thực hiện xong Vì thế nó tránh được dirty read như ở mức trên

 Repeatable Read:Mức isolation này hoạt động như mức read commit nhưng nâng thêm một nấc nữa bằng cách ngăn không cho transaction ghi vào dữ liệu đang được đọc bởi một transaction khác cho đến khi transaction khác đó hoàn tất

 Serializable:Mức isolation này tăng thêm một cấp nữa và khóa toàn bộ dải các bản ghi có thể bị ảnh hưởng bởi một transaction khác, dù là UPDATE/DELETE bản ghi đã có hay INSERT bản ghi mới

+ Dùng khóa trực tiếp trong câu lệnh:a) Kỹ Thuật Khóa

 Khóa đọc (Shared Lock - Slock):Giao tác được phép Đọc dữ liệu, nhưng không được phép ghi, nhiều giao tác có thể đồng thời giữu Slock trên cùng 1 đơn vị dữ liệu

 Khóa ghi ( Exclusive Lock – Xlock) :Giao tác giữ Xlock được phép Ghi + Đọc dữ liệu,

Trang 16

Tại 1 thời điểm chỉ có tối đa 1 giao tác được quyền giữ Xlock trên 1 đơn vị dữ liệu

Không thể thiết lập Slock trên đơn vị dữ liệu có dạng Xlock Khóa dự định ghi (Updat Lock – Ulock):

Ulock sử dụng khi đọc dữ liệu với dự định ghi trở lại trên dữ liệu này.Ulock là chế độ khóa trung gian giữa Slock và Xlock

Khi thực hiện giao tác ghi trên dữ liệu thì bắt buộc phải tự động chuyển thành Xlock

Giao tác giữ Ulock được phép ghi + đọc dữ liệuTại 1 thời điểm chỉ có tối đa 1 giao tác được quyền giữ Ulock trên 1 đơn vị dữ liệu

Có thể thiết lập Slock trên đơn vị dữ liệu có dạng Ulockb) Dùng khóa trực tiếp trong câu lệnh:

+ Mức cô lập quyết định cách phát và giữ khóa S trong một transaction và có hiệu lực trên tất cả các thao tác đọc trong transactionđó

+ Thực tế, ta cần phát và giữ khóa Slocktheo các cách khác nhau cho các thao tác đọc khác nhau trong cùng một transaction

+ Cú Pháp:

Trang 17

+ Thiết lập Shared Lock trên đơn vị dữ liệu cần đọc và mở Lock ra ngay sau khi đọc xong

khi select và dữ shared lock cho tới khi hết giao tác

khi đọc và dữ shared lock cho tới khi hết giao tác

thay vì shared lock

Trang 18

6 Xlock + Khóa độc quyền

trong lệnh select và chỉ ápdụng trên khóa của dòng dữ liệu Những dòng bị khóa sẽ được bỏ qua

dòng cần thao tác

trong CSDL+ Các thao tác cập nhật của những giao tác khác không thể thực hiện trên bảng này trong khi khóa vẫn đang được giữ

Trang 19

Chương 3: Phân Tích – Thiết Kế Dữ Liệu

I.Lược Đồ UsecaseII.Phân tích dữ liệu

a) Mô hình thực tế kết hợpb) Mô hình quan hệ:

1. Bảng tblTacGia

Trang 20

Tên thuộctính (Fieldname)

Kiểu dữliệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

giả

2. Bảng tblKho

TT

Tên thuộctính (Fieldname)

Kiểu dữliệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

3. Bảng tblSach

TT

Tên thuộc tính(Field name)

Kiểu dữliệu

Độrộng

NotNUL

LRàngbuộc /Miền giá

trịMãhóa

Diễngiải

sách

Tên sách

Trang 21

3 iNamXB YEAR

Năm xuất bản

lượng

Mã nhàxuất bản

sách

4. Bảng tblLoaiSach

TT

Tên thuộctính (Fieldname)

Kiểu dữliệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

sách

Trang 22

5. Bảng tblSach_TacGia

TT

Tên thuộctính (Fieldname)

Kiểudữ liệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

6. Bảng tblNhaXuatBan

TT

Tên thuộctính (Fieldname)

Kiểu dữliệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

7. Bảng tblChiTietPhieuMuon

TT

Tên thuộc tính(Field name)

Kiểudữ liệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

Trang 23

1sMaPhieuMuonCHAR20Yes Mã phiếu

mượn

Tên thuộc tính(Field name)

Kiểudữ liệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

trả

Tên thuộc tính(Field name)

Kiểudữ liệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

mượn

viên

Trang 24

4 dNgayMuon DATE Ngày

mượn

10. Bảng tblThuThu

TT

Tên thuộc tính(Field name)

Kiểu dữliệu

Độrộng

NotNULL

Ràngbuộc /Miền giá

trị

MãhóaDiễn giải

Tên thuộc tính(Field name)

Kiểudữ liệu

Độrộng

NotNULL

Ràng buộc /Miền giá trị

MãhóaDiễn giải

trả

viên

mượn

Trang 25

12. Bảng tblSinhVien

TT

Tên thuộc tính(Field name)

Kiểu dữliệu

Độrộng

NotNULL

Ràngbuộc /Miền giá

trị

MãhóaDiễn giải

viên

viên

III Phát hiện các ràng buộc toàn vẹn

a Ràng buộc toàn vẹn trên bảng tblNhaXuatBan

Ràng buộc khóa chính tên sMaNXB

b Ràng buộc toàn vẹn trên bảng tblTacGia

Ràng buộc khóa chính tên sMaTG

c Ràng buộc toàn vẹn trên bảng tblLoaiSach

Ràng buộc khóa chính tên sMaLoaiSach

Trang 26

d Ràng buộc toàn vẹn trên bảng tblSinhVien

Ràng buộc khóa chính tên sMaSinhVien

e Ràng buộc toàn vẹn trên bảng tblKho

Ràng buộc khóa chính tên sMaKho

Ngày đăng: 22/08/2024, 15:04

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

TÀI LIỆU LIÊN QUAN

w