Cơ sở dữ liệu MICROSOFT OFFICE ACCESS 1.2 CÔNG CỤ LẬP TRÌNH VISUAL STUDIO C# +Giới thiệu về ngôn ngữ lập trình C# 1.3 DEV EXPRESS +Giới thiệu về Window Form Winform PHẦN 2: KHẢO SÁT-PHÂN
Trang 1TRƯỜNG VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA ĐIỆN TỬ-VIỄN THÔNG
Trang 2MỤC
LỤC
PHẦN 1: GIỚI THIỆU CÁC CÔNG CỤ SỬ DỤNG
1.1 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
A Cơ sở dữ liệu SQL SERVER
B Cơ sở dữ liệu MICROSOFT OFFICE ACCESS
1.2 CÔNG CỤ LẬP TRÌNH VISUAL STUDIO C#
+Giới thiệu về ngôn ngữ lập trình C#
1.3 DEV EXPRESS
+Giới thiệu về Window Form (Winform)
PHẦN 2: KHẢO SÁT-PHÂN TÍCH HỆ THỐNG
2.1 KHẢO SÁT NGƯỜI DÙNG.
A.Các thông tin đầu vào.
B Các thông tin đầu ra.
2.2PHÂN TÍCH HỆ THỐNG, CÁC SƠ ĐỒ CHÍNH.
A Sơ đồ ngữ cảnh (DFD)
B Sơ đồ phân rã chức năng (BFD)
2.3 CHUYỂN MÔ HÌNH E-R SANG MÔ HÌNH QUAN HỆ.
2.4MÔ HÌNH RELATIONSHIPS.
+Microsoft Access 2007
PHẦN 3: THIẾT KẾ CƠ SỞ DỮ LIỆU
3.1 Chuẩn hóa cơ sở dữ liệu
A Chuẩn hóa 1NF : Đảm bảo tính nguyên tố và duy nhất.
B Chuẩn hóa 2NF : Không có phụ thuộc hàm không đầy đủ vào khóa chính.
C Chuẩn hóa 3NF : Không có phụ thuộc hàm vào thuộc tính không khóa 3.2 Sơ đồ quan hệ dữ liệu
Trang 3PHẦN 4: THIẾT KẾ GIAO DIỆN HỆ THỐNG
PHẦN 5: ƯU, NHƯỢC ĐIỂM VÀ HƯỚNG PHÁT TRIỂN CỦA
HỆ THỐNG
LỜI CÁM ƠN
Trang 4Lời Nói Đầu
Ngày nay, CNTT đã và đang đóng vai trò quan trọng trong đời sống kinh tế,
xã hội của nhiều quốc gia trên thế giới, là một phần không thể thiếu trong xã hội năng động, ngày càng hiện đại hoá Vì vậy, việc tin học hoá vào một số lĩnh vực
là hoàn toàn có thể và phù hợp với xu hướng hiện nay.
Xuất phát từ nhu cầu thực tế đó, trong công việc mua và bán sách, việc quản lý sách nhập và bán là một việc không thể thiếu Nhằm thay thế một
số công việc mà trước đó phải thao tác bằng tay trên giấy tờ đạt hiệu quả không cao, mất nhiều thời gian Vì vậy, chúng em đã thực hiện báo cáo với đề tài “Xây dựng hệ thống quản lý cửa hàng sách”
Do trong khuôn khổ thời gian ngắn, trình độ chuyên môn, kinh nghiệm và kiến thức của bản thân còn hạn chế, nên chúng em rất mong được sự góp ý của cô
và các bạn trong lớp, để đề tài nghiên cứu của chúng em ngày càng hoàn thiện hơn và được ứng dụng trong thực tế.
Trang 5 Thực thi các truy vấn đối với CSDL
Lấy dữ liệu từ CSDL
Chèn các bản ghi vào CSDL
PHẦN 1: GIỚI THIỆU CÁC CÔNG CỤ SỬ DỤNG
2.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
A CƠ SỞ DỮ LIỆU SQL SERVER
SQL Server là một hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DatabaseManagement System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữaClient computer và SQL Server computer Một RDBMS bao gồm databases,database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhautrong RDBMS
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very LargeDatabase Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngànuser SQL Server có thể kết hợp "ăn ý" với các server khác như MicrosoftInternetInformation Server (IIS), E-Commerce Server, Proxy Server
MS SQL có thể làm những gì? :
Trang 6 Cập nhật các bản ghi trong CSDL
Xoá các bản ghi từ CSDL
Tạo ra CSDL mới
Tạo ra các bảng mới trong CSDL
Tạo ra các thủ tục lưu trữ (stored procedures) trong 1 CSDL
Tạo được các View (bảng hiển thị hình thức)
Thiết lập quyền truy cập vào các bảng, các thủ tục và các view.
B GIỚI THIỆU MICROSOFT ACCESS
Microsoft Access là một Hệ Quản Trị Cơ Sở Dữ Liệu (QTCSDL) tương tác người
sử dụng chạy trong môi trường Windows Microsoft Access cho chúng ta một công cụ
hiệu lực và đầy sức mạnh trong công tác tổ chức, tìm kiếm và biểu diễn thông tin
Microsoft Access cho ta các khả năng thao tác dữ liệu, khả năng liên kết và công
cụ truy vấn mạnh mẽ giúp quá trình tìm kiếm thông tin nhanh Người sử dụng có thể chỉ dùng một truy vấn để làm việc với các dạng cơ sở dữ liệu khác nhau Ngoài ra, có thể thay đổi truy vấn bất kỳ lúc nào và xem nhiều cách hiển thị dữ liệu khác nhau chỉ cần động tác nhấp chuột
Microsoft Access và khả năng kết xuất dữ liệu cho phép người sử dụng thiết kế những biểu mẫu và báo cáo phức tạp đáp ứng đầy đủ các yêu cầu quản lý, có thể vận động
dữ liệu và kết hợp các biểu mẫu va báo cáo trong một tài liệu và trình bày kết quả theo dạng thức chuyên nghiệp
Microsoft Access là một công cụ đầy năng lực để nâng cao hiệu suất công việc Bằng cách dùng các Wizard của MS Access và các lệnh có sẵn (macro) ta có thể dễ dàng
tự động hóa công việc mà không cần lập trình Đối với những nhu cầu quản lý cao, Access đưa ra ngôn ngữ lập trình Access Basic (Visual Basic For application) một ngôn ngữ lập trình mạnh trên CSDL
1.2 CÔNG CỤ LẬP TRÌNH VISUAL STUDIO C#
A Giới thiệu về ngôn ngữ lập trình C#
Trang 7Ngôn ngữ C# khá đơn giản, chỉ khoảng 80 từ khóa và hơn mười mấy kiểu dữ liệuđược xây dựng sẵn Tuy nhiên, ngôn ngữ C# có ý nghĩa cao khi nó thực thi những kháiniệm lập trình hiện đại C# bao gồm tất cả những hỗ trợ cho cấu trúc, thành phầncomponent, lập trình hướng đối tượng.
Phần cốt lõi hay còn gọi là trái tim của bất cứ ngôn ngữ lập trình hướng đối tượng là
sự hỗ trợ của nó cho việc định nghĩa và làm việc với những lớp Những lớp thì định nghĩanhững kiểu dữ liệu mới, cho phép người phát triển mở rộng ngôn ngữ để tạo mô hình tốthơn để giải quyết vấn đề Ngôn ngữ C# chứa những từ khóa cho việc khai báo nhữngkiểu lớp đối tượng mới và những phương thức hay thuộc tính của lớp, và cho việc thựcthi đóng gói, kế thừa, và đa hình, ba thuộc tính cơ bản của bất cứ ngôn ngữ lập trìnhhướng đối tượng
Trong ngôn ngữ C# mọi thứ liên quan đến khai báo lớp điều được tìm thấy trongphần khai báo của nó Định nghĩa một lớp trong ngôn ngữ C# không đoi hỏi phải chia ratập tin header và tập tin nguồn giống như trong ngôn ngữ C++ Hơn thế nữa, ngôn ngữC# hỗ trợ kiểu XML, cho phép chèn các tag XML để phát sinh tự động các document cholớp
1.1 DEV EXPRESS
DevExpress là một Framework được viết cho nền tảng NET Framework Nó cung cấp cáccontrol và công nghệ để phục vụ cho quá trình phát triển phần mềm Thành phần củaDevExpress gồm:
WinForms Controls: Cung cấp các control cho WinForms
ASP.NET Controls: Cung cấp các control cho WebForms
WPF Controls: Cung cấp các control cho WPF
Silverlight Controls: Cung cấp các control cho Silverlight
XtraCharts: Control cung cấp các loại biểu đồ
XtraReports: Cung cấp các control tạo báo cáo
XPO: Cung cấp môi trường làm việc với database
XAF: Một công nghệ mới giúp việc phát triển phần mềm một cách nhanh chóng
Trải qua hàng loạt phiên bản, DevExpress đã từng bước được nâng cấp, hoàn thiện và thêmmới rất nhiều chức năng Với phiên bản DevExpress 11.2 hiện tại, bạn đã được cung cấp những
Trang 8công cụ, môi trường tuyệt vời để biến những ý tưởng của bạn thành hiện thực một cách nhanh chóng, dễ dàng.
Trong loạt bài về DevExpress tôi chủ yếu tập trung vào XPO và XAF, đây được xem làxương sống của DevExpress
B Giới thiệu về Window Form
Windows Forms hay viết tắt là WinForm là thuật ngữ chỉ việc phát triển các ứng dụnggiao diện người dùng bằng cách sử dụng các thành phần xây dựng sẵn (buil incomponent) còn được gọi là các điều khiển Hay nói cách khác Windows Forms là mộtAPI (Application Programming Interface) cho phép tạo GUI (Graphical User Interface)cho các ứng dụng chạy trên desktop
Các điều khiển này dùng để hiển thị thông tin cho người dùng cũng như cho ngườidùng nhập thông tin vào Windows Forms ra đời đáp ứng nhu cầu tạo ứng dụng nhanh(Rapid Application Development)
Trang 9Các Form có thể chứa các điều khiển (các thành phần) khác nhau.
Xử lý dữ liệu được nhập bởi người dùng
Hiển thị (trình bày) các thông tin tới người dùng
Kết nối đến các nguồn CSDL khác nhau trên các máy tính cục bộ hoặc máy tính khác
- Windows Form cho phép người phát triển tạo ra các giao diện người dùng sử dụng các thành phần khác nhau (components) Các thành phần này còn được gọi là các điều khiển (controls)
Những điều khiển này cho phép chúng ta thu thập thông tin từ người dùng cũng như trình bày
các thông tin để người dùng có thể xem
- Một Form được chạy trên một máy tính cục bộ (local machine) và một form có thể truy cập đến các tài nguyên khác nhau như bộ nhớ, các thư mục, các tệp tin, các cơ sở dữ liệu…
- Do đó Windows Form phù hợp cho các ứng dụng desktop như các ứng dụng quản lý thông tin, các ứng dụng tương tác trực tiếp với người dùng
- Vai trò của Windows Form:
PHẦN 2: KHẢO SÁT-PHÂN TÍCH HỆ THỐNG
2.1 Khảo sát người dùng.
Các thông tin đầu vào
Người quản trị nhập thông tin về sách, loại sách mà doanh nghiệp đang bán, cáctin tức cập nhật thường xuyên Còn khách hàng cung cấp thông tin cá nhân, gửi bài viếtgóp ý cho doanh nghiệp giúp doanh nghiệp ngày càng hoàn thiện hơn Cụ thể gồm cácthông tin sau:
Trang 10- Các thông tin giới thiệu về hệ thống.
- Các thông tin về loại sách và từng cuốn sách
- Các thông tin về khách hàng
- Các thông tin về đơn hàng
- Các bài viết, tin tức, thông tin khuyến mại
- Các bài góp ý, ý kiến, hỏi đáp của khách hàng; bài trả lời,
1.2.2 Các thông tin đầu ra
Đưa ra các thông tin cần thiết cho khách hàng ở mọi khía cạnh mà khách hàng quan tâm đến sản phẩm của công ty, đồng thời kiểm soát được hoạt động của công ty.Đưa ra sản phẩm, tin tức khách hàng yêu cầu tìm kiếm, đưa ra sản phẩm mới nhất
Cụ thể bao gồm:
- Cho phép tra cứu, xem thông tin về từng cuốn sách
- Cho phép khách hàng lựa chọn hàng, lựa chọn hình thức thanh toán và thanh toán qua đơn hàng
- Đưa ra các hóa đơn thanh toán, khi giao hàng cho khách hàng
- Cho phép tra cứu, tìm kiếm các thông tin về thành viên
- Cho phép khách hàng đóng góp ý kiến, bình luận, đánh giá chất lượng của sảnphẩm
- Cho phép ban quản trị cập nhật các tin tức, bài viết, thông tin khuyến mại, trả lời các ý kiến hỏi đáp của khách hàng
- Cho phép ban quản trị cập nhật thông tin loại sách và mỗi cuốn sách
Cho phép ban quản trị theo dõi thành viên,
2.2Phân tích hệ thống
A SƠ ĐỒ NGỮ CẢNH (DFD)
Trang 11Sơ đồ ngữ cánh
Sơ đồ DFD cho quá trình nhập sách
Trang 12C SƠ ĐỒ PHÂN CẤP CHỨC NĂNG
Trang 132.3 Chuyển mô hình E-R sang mô hình quan hệ:
-NhaXuatBan ( MaNXB, TenNXB, DiaChiNXB, DienThoai )
-PhieuNhap ( SoPN, NgayNhap, #MaNXB )
-ChiTietPhieuNhap ( #MaSach, #SoPN, SoLuongNhap, GiaNhap )
-Sach ( MaSach, TenSach, SoLuongTon, #MaTL, #MaTG, #MaNXB )
-ChiTietHoaDon ( #MaSach, #SoHD, SoLuongBan, GiaBan )
Trang 14I Chuẩn hóa CSDL là gì?
-HoaDon ( SoHD, NgayBan )
-TacGia ( MaTG, TenTG, LienLac )
-TheLoai ( MaTL, TenTL )
2.4 Mô hình Relationships:
Sử dụng Microsoft Acsess 2007
PHẦN 3: THIẾT KẾ CƠ SỞ DỮ LIỆU
3.1 Chuẩn hóa cơ sở dữ liệu
Trang 15Chuẩn hóa là quá trình phân rã các mối quan hệ có lỗi không bình thường, để thu được các quan hệ có cấu trúc tốt và nhỏ hơn.
II Các dạng chuẩn hóa
Cho bảng dữ liệu chưa chuẩn hóa:
1 Dạng chuẩn 1NF
ĐN: Dạng chuẩn loại 1 là quan hệ không chứa các thuộc tính đa trị Áp dụng cho bài toán trên, ta có dạng chuẩn 1NF sau:
Trang 17Cách làm:
Loại bỏ các thuộc tính không khoá phụ thuộc vào một bộ phận khoá chính và tách thành ramột bảng riêng, khoá chính của bảng là bộ phận khoá mà chúng phụ thuộc vào Các thuộc tínhcòn lại lập thành một quan hệ, khóa chính của nó(Mã số SV) là khóa chính ban đầu(Mã số SV)
3 Dạng chuẩn 3NF.
ĐN: Dạng chuẩn 3NF là quan hệ ở dạng chuẩn 2NF và không tồn tại sự phụ thuộc hàm bắc cầu
Trang 18Từ ví dụ trên ta có:
Sinh viên, Trường học: (Mã số SV, họ tên SV, quê quán, mã trường, tên trường, mã khoa, tên khoa)
Với phụ thuộc hàm:
Mã SV, mã trường -> (họ tên, quê quán, tên trường, tên khoa, mã khoa) Mã trường -> (tên trường, mã khoa, tên khoa)
Nên các thuộc tính tên trường, mã khoa, tên khoa là phụ thuộc bắc cầu vào khóa chính Mã SV Cách làm:
Loại bỏ các thuộc tính phụ thuộc bắc cầu(tên trường, mã khoa, tên khoa) ra khỏi quan hệ và tách chúng thành một quan hệ riêng có khoá chính(mã trường) là thuộc tính bắc cầu Các thuộc tính còn lại lập thành một quan hệ có khóa chính là quan hệ ban đầu.Nếu chỉ xét đến quan hệ sinh viên, trường học, bỏ qua môn học và điểm, ta có bảng chuẩn hóa 3NF:
PHẦN 4: THIẾT KẾ GIAO DIỆN HỆ THỐNG
Danh mục chính
Trang 19Danh mục khách hàng
Trang 20Danh mục nơi sản xuất
Trang 21Danh mục nhà cung cấp
Trang 22Danh mục thống kê sách
Trang 23- Hệ thống ràng buộc dữ liệu được đảm bảo.
- Giao diện thân thiện với người sử dụng
Trang 241.2 Nhược điểm:
- Cách tổ chức dữ liệu và kỹ thuật lập trình chưa tốt
- Bắt lỗi hạn chế, chưa hoàn thiện
- Các chức năng của chương trình chưa linh động, có thể gây khókhăn khi sử dụng
2 HƯỚNG PHÁT TRIỂN:
- Khả năng xử lý được tất cả các sự kiện, các lỗi ngoài ý muốn tốt hơn của
chương trình và dùng thao tác lên chương trình
- Hoàn thiện tốt hơn về lập trình C# và ràng buộc dữ liệu
- Thêm các chức năng mới để đáp ứng điều kiện của người dùng
- Nâng cao kỷ thuật lập trình và hoàn chỉnh các thành phần còn thiếu theo hướng chuyên nghiệp, chạy thử, khả năng đưa vào áp dụng thức tế khả quan
- Bảo mật dữ liệu tốt hơn
Lời cám ơn
Trang 25Nhóm em xin chân thành gửi lời cám ơn trường Đại Học Bách Khoa Hà
Nội đã tạo điều kiện cho chúng em có cơ hội thực hành, tiếp xúc để chúng em có
thể tránh được những vướng mắc và bỡ ngỡ trong môi trường học tập-thực hành sắp tới.
Nhóm em xin chân thành cảm ơn Thầy VŨ SONG TÙNG đã tận tình
hướng dẫn , giải đáp thắc mắc và chỉ bảo nhóm em trong suốt thời gian nhóm em hoàn thành bài tập lớn
Mặc dù đã cố gắng hoàn thành đề tài tốt nhất nhưng do thời gian và kiến thức còn có hạn nên em sẽ không thể tránh khỏi những thiếu sót nhất định, rất mong nhận được sự cảm thông, chia sẻ và tận tình đóng góp chỉ bảo của quý thầy
cô cũng như các bạn.