Quy tắc đặt tên bảng tên trường – Phân tích và thiết kế hệ thống về mặt dữ liệu – 123docz.net

Một phần của tài liệu XÂY DỰNG VÀ THIẾT KẾ CHƯONG TRÌNH QUẢN LÝ BÁN HÀNG TẠI CÔNG TY TNHH NAM DŨNG TẠI KHU CÔNG NGHIỆP NHƯ QUỲNH-VĂN LÂM-HƯNG YÊN

II. Phân tích và thiết kế hệ thống về mặt dữ liệu

2. Quy tắc đặt tên bảng tên trường

* Thiết kế các bảng và xác định các mối quan hệ giữa các bảng

Bảng là đối tượng đầu tiên cần phải tạo trước khi tạo các đối tượng khác do vậy việc
thiết kế các bảng trong cơ sở dữ liệu phải bảo đảm một số nguyên tắc nhất định để cơ sở
dữ liệu có tính hợp lý trong lưu trữ và xử lý về sau.

* Một số quy tắc và xây dựng cơ sở dữ liệu

+ Mỗi trường trong bảng phải mô tả một loại thông tin duy nhất

+ Mỗi bảng phải có một số trường là khoá nhờ đó mà không có các bảng ghi trùng
nhau

+ Các trường trong bảng phải đầy đủ và liên quan đến khoá cơ bản hay gọi là liên quan
đến chủ thể của bảng (Đều gọi là phụ thuộc hàm)

Theo quy tắc trên phải đạt hai yêu cầu:

– Yêu cầu thứ nhất là phải đầy đủ các trường

– Yêu cầu thứ hai là các trường đó phải liên quan đến các khoá cơ bản

+ Có thể thay đổi một trường bất kỳ (Trừ các khoá cơ bản) mà không ảnh hưởng đến
các trường

Sau khi thiết kế các bảng chúng ta chỉ có cấu trúc các bảng chưa có các thông tin quan
hệ giữa các bảng với nhau. Do đó việc thiết lập quan hệ giữa các bảng sẽ giúp nhau
Microsoft Access quản lý các dữ liệu được hợp lý hơn và đồng thời thông qua các mối
quan hệ chúng ta có thể trao đổi qua lại giữa các thông tin trong các bảng có quan hệ.

Nếu ta thiết kế tốt thì các bảng sẽ có mối quan hệ, nhờ mối quan hệ đó mà ta lần ra kết
quả khi có yêu cầu

+ Quan hệ 1-n: Là quan hệ mỗi bản ghi bất kỳ trong bảng thứ nhất có quan hệ với
nhiều bảng ghi trong bảng thứ hai

+ Quan hệ 1-1: Là quan hệ mỗi bảng ghi bất kỳ trong bảng thứ nhất có quan hệ với một
bảng ghi trong bảng thứ hai

3. Các bảng cơ sở dữ liệu

* Danh mục đơn đặt hàng

Tên trường Kiểu dữ liệu Độ rộng Mô tả

So HDDH Text 7 Số hiệu đơn đặt hàng

NgayDH Date Ngày lập đơn đặt hàng

Nguoilap Text 20 Người lập đơn đặt hàng

* Bảng chi tiết đơn đặt hàng

Tên trường Kiểu dữ liệu Độ rộng Mô tả

SoHDDH Text 7 Số hiệu đơn đặt hàng

TTDDH Number Thứ tự dòng đơn hàng

TenSP Text 20 Tên sản phẩm

Soluong Number Số lượng

MaSP Text 10 Mã sản phẩm

* Danh mục nhà cung cấp

Tên trường Kiểu dữ liệu Độ rộng Mô tả

Ma NCC Text 15 Mã nhà cung cấp

Ten NCC Text 20 Tên nhà cung cấp

Dienthoai Number 11 Điện thoại nhà cung cấp

DiachiNCC Text 30 Địa Địa chỉ nhà cung cấp

* Danh mục phiếu nhập kho

Tên trường Kiểu dữ liệu Độ rộng Mô tả

SoPN Text 7 Số phiếu nhập

NgayN Date Ngày nhập kho

TenNCC Text 20 tên nhà cung cấp

* Bảng chi tiết phiếu nhập kho

Tên trường Kiểu dữ liệu Độ rộng Mô tả

SoPn Text 7 Số phiếu nhập

TTDPN Number Thứ tự dòng phiếu nhập

Soluongnhap Number Số lượng nhập

GiaV Number Giá vốn

* Bảng khách hàng

* Bảng sản phẩm

Tên trường Kiểu dữ liệu Độ rộng Mô tả

MaH Text 10 Mã hàng

TenH Text 20 Tên hàng

DVT Text 10 Đơn vị tính

SL Number Số luợng

* Bảng hoá đơn bán hàng

Tên trường Kiểu dữ liệu Độ rộng Mô tả

MaHDBH Text 10 Mã hoá đơn bán hàng

NgayHD Date 10 Ngày lập hoá đơn bán hàng

Nguoilap Text 25 Người lập đơn bán hàng

* bảng chi tiết hoá đơn bán hàng

Tên trường Kiểu dữ liệu Độ rộng Mô tả

MaHDBH Text 10 Mã hoá đơn bán hàng

MaCTHDBH Text 10 Mã chi tiết hoá đown bán hàng

TenSP Text 20 Tên sản phẩm

SL Number 30 Số luợng

DG Number 30 Đơn giá bán

TT Number 30 Tổng tiền

Tên trường Kiểu dữ liệu Độ rộng Mô tả

MaKH Text 15 Mã khách hàng

TenKH Text 20 Tên khách hàng

Diachi Text 30 Địa chỉ

4. Mô hình thực thể liên kết

5. Mô hình cơ sở dữ liệu quan hệ

kho

Khách hàng Phiếu xuất

Đơn đặt

hàng Hàng hoá

Hoá đơn

Phiếu nhập

Khách hàng

Trên đây là mô hình quan hệ Relationships của cơ sở dữ liệu “ QLBH.mdb “. Nhìn vào
mô hình ta thấy tất cả các bảng đều thể hiện một mối quan hệ duy nhất đó là quan hệ một
nhiều (1 – ∞ ) . Là mối quan hệ phổ biến nhất trong cơ sở dữ liệu

Trong quan hệ một nhiều thì một bản ghi trong bảng A sẽ có thể có nhiều bản ghi
tương ứng trong bản B, nhưng ngược lại một bản ghi trong bảng B có duy nhất một bản ghi
tương ứng trong bảng A . Cụ thể như trong mô hình trên

* Giải thích:

– Bảng hàng hoá với bảng chi tiết đơn đặt hàng : một hàng hoá thì có nhiều chi tiết
đơn đặt hàng, nhưng một chi tiết đơn đặt hàng chỉ có một hàng hoá nhất định . Ta có 2
bảng dữ liệu như sau :

+ Bảng HangHoa (Ma_hang,Ten_Hang,DG,Cong_Dung )

+ Bảng CTDDH (So_HDDH,TT_DDDH,Ma_Hang,Ten_Hang,So_L )
Hai bảng này có mối quan hệ ( 1 – ∞ ) dựa trên khoá Ma_Hang .

– Bảng chi tiết đơn đặt hàng với bảng đơn đặt hàng : một đơn đặt hàng thì có nhiều chi
tiết đơn đặt hàng, nhưng một chi tiết đơn đặt hàng chỉ có một đơn đặt hàng nhất định . Ta
có 2 bảng dữ liệu như sau :

+ Bảng DDH ( So_HDDH, Nguoilap, Ngaylap,Ma_KH )

+ Bảng CTDDH(So_HDDH,TT_DDDH,Ma_Hang,Ten_Hang,So_L)
Hai bảng này có mối quan hệ ( 1 – ∞ ) dựa trên khóa So_HDDH.

– Bảng đơn đặt hàng với bảng khách hàng : một khách hàng có nhiều đơn đặt hàng,
nhưng một đơn đặt hàng chỉ có một khách hàng. Ta có 2 bảng dữ liệu sau:

+ Bảng DDH ( So_HDDH, Nguoilap, Ngaylap,Ma_KH)
+ Bảng KH ( Ma_Kh,Ten_Kh,DiaChi,SoDT)

Hai bảng này có mối quan hệ ( 1 – ∞ ) dựa trên trường Ma_KH

Bảng Hàng Hoá với bảng chi tiết hoá đơn : một hàng hóa có nhiều chi tiết đơn đặt

hàng nhưng một chi tiết đơn đặt hàng chỉ có một hàng hoá nhất định. Ta có 2 bảng dữ liệu
sau:

+ Bảng HH ( Ma_hang,Ten_Hang,DG,Cong_Dung)

+ Bảng CTHD ( So_HHD,TT_DHD,Ma_Hang,Ten_Hang,So_Luong)
Hai bảng này có mối quan hệ (1 – ∞ ) dựa trên trường Ma_Hang

– Bảng chi tiết hoá đơn với hoá đơn : một hoá đơn có nhiều chi tiết hoá đơn nhưng một
chi tiết hóa đơn chỉ có một hoá đơn. Ta có 2 bảng dữ liệu sau:

+ Bảng CTHD (So_HHD,TT_DHD,Ma_Hang,Ten_Hang,So_Luong)
+ Bảng HD (So_HHD,ngayban,nguoiban,Ma_Kh)

Hai bảng này có mối quan hệ (1 – ∞ ) thông qua trường So_HHD

– Bảng hoá đơn với bảng khách hàng : một khách hàng có nhiều hoá đơn nhưng một
hoá đơn chỉ có một khách hàng.Ta có 2 bảng dữ liệu sau :

+ Bảng KH ( Ma_Kh,Ten_Kh,DiaChi,SoDT)
+ Bảng HD (So_HHD,ngayban,nguoiban,Ma_Kh)

– Bảng hàng hoá với bảng chi tiết phiếu nhập : một hàng hoá có nhiều chi tiết phiếu
nhập nhưng một chi tiết phiếu nhập chỉ có một hàng hoá. Ta có 2 bảng dữ liệu sau :
+ Bảng HH (Ma_hang,Ten_Hang,DG,Cong_Dung)

+ Bảng CTPN ( So_HPN,TTDPN,So_L,Ma_Hang,GiaV)
Hai bảng này có mối quan hệ (1 – ∞ ) thông qua trường Ma_Hang )

– Bảng chi tiết phiếu nhập với bảng phiếu nhập : một phiếu nhập có nhiều chi tiết
phiếu nhập nhưng một chi tiết phiếu nhập chỉ có một phiếu nhập. Ta có 2 bảng dữ liệu sau:
+ Bảng CTPN ( So_HPN,TTDPN,So_L,Ma_Hang,GiaV)

+ Bảng PN ( So_HPN,Ngay_Nhap,Ma_NCC)

Hai bảng này có mối quan hệ (1 – ∞ ) thông qua trường So_HPN

– Bảng phiếu nhập với bảng nhà cung cấp : một nhà cung cấp có nhiều phiếu nhập
nhưng một phiếu nhập chỉ có một nhà cung cấp. Ta có 2 dữ liệu sau :

+ Bảng PN ( So_HPN,Ngay_Nhap,Ma_NCC)

+ Bảng NCC ( Ma_NCC, Ten_NCC, DiaChi, So_DT)
Hai bảng này có mối quan hệ (1 – ∞ ) thông qua trường Ma_NCC

CHƯƠNG III

THIẾT KẾ GIAO DIỆN

1. Thiết kế hệ thống cho chương trình

* Quá trình thiết kế hệ thống cho chương trình được chia thành 2 giai đoạn :

+ Thiết kế tổng thể : Nhằm xác định vai trò, vị trí của máy tính trong hệ thống mới và
phân tích rõ cho thấy công việc nào có thể do máy tính đảm nhiệm, công việc nào do người
dùng làm thủ công, để tạo cơ sở cho việc thiết kế hệ thống sau này để từ đó có thể phát huy
được những ưu điểm của hệ thống mới.

+ Thiết kế chi tiết:

– Thiết kế giao diện.
– Thiết kế các điều khiển.
– Thiết kế cơ sở dữ liệu.
– Xây dựng chương trình.
– Thử nghiệm chương trình.

– Chuyển tiếp chương trình thành sản phẩm.

2. Một số chức năng chính của chương trình

Phần mền quản bán hàng gồm có một màn hình giao diện hệ thống với các chức năng
– Cập nhật Danh mục nhà cung cấp.

– Cập nhật Danh mục hàng hoá
– Cập nhật khách hàng

– Cập nhật người sử dụng

– Cập nhật phiếu phập kho,chi tiết phiếu nhập kho
– Cập nhật đơn đặt hàng, chi tiết đơn đặt hàng
– Cập nhật hoá đơn,chi tiết hoá đơn

– Tìm kiếm, báo cáo

Visual Basic là một ngôn ngữ lập trình định hướng theo kiểu đối tượng, chúng ta có
thể phân tích mỗi yếu tố trong chương trình thành một đối tượng và viết mã riêng cho từng
đối tượng đó. Tập hợp nhiều đối tượng như vậy sẽ trở thành một chương trình hoàn chỉnh.
Trong mỗi một đối tượng trước tiên đối với Visual Basic thì bao giờ cũng phải thiết kế
giao diện, sau đó sẽ viết code cho chương trình. Đây là bước rất quan trọng vì nó sẽ phải
thực hiện đúng yêu cầu của chương trình.

Visual Basic là công cụ phát triển phần mềm giống như phần biên dịch C,C+ +. Sử
dụng Visual Basic tiết kiệm được thời gian và công sức khi làm một phần mềm so với các
ngôn ngữ lập trình khác. Khi lập trình Visual Basic có thể thấy ngay qua từng thao tác và
giao diện khi chương trình thực hiện. Đồng thời Visual Basic còn cho phép ta chỉnh sửa
một cách nhanh chóng, đơn giản về kích thước màu sắc, hình dáng của các đối tượng có
trong ứng dụng cũng như thiết kế dữ liệu cho ứng dụng đó.

Visual Basic cho phép chạy chương trình trong thời gian soạn thảo, khi mà chương
trình lỗi Visual Basic sẽ tự khắc báo cho bạn biết để biết cách sửa lỗi. Khi sử dụng Visual
Basic chúng ta vừa phải thiết kế giao diện vừa viết phần mã lệnh. Việc tạo trực tiếp những
khung giao diện ứng dụng thông qua những thao tác trên màn hình, dựa trên những đối
tượng như khung đối thoại, nút điều khiển những đối tượng sẽ mang những thuộc tính riêng
biệt như màu sắc, phông chữ, cỡ chữ mà ta sẽ gán thông qua bảng các danh sách thuộc tính.
Một trong những thành công của Visual Basic là có thể triển khai một chương trình ứng
dụng Windows trọn vẹn mà không phải viết các chỉ thị rắc rối để tạo ra giao diện của
chúng.

Trong Visual basic khi thiết kế giao diện trên biểu mẫu thì chúng ta phải sử dụng thành
công cụ Toolbox và sau đó sẽ gán giá trị cho từng đối tượng khi ta đã chọn. Trong quá trình
viết phần mã lệnh thì chúng ta phải lựa chọn công cụ kết nối để xây dựng một chương trình
hoàn thiện vì vậy em đã lựa chọn công cụ kết nối ADODB. ADODB là công cụ giúp cho
việc lập trình của ta thuận tiện hơn. ADO ( active X data object) là một tập hợp các đối
tượng cho phép nhà lập trình nối tới CSDL. ADO là sự kết hợp cơ sở dữ liệu dựa trên ADO
và RDO được sử dụng trong những công cụ như :

ADO là một phần của OLE DB – là một cách mới để truy xuất dữ liệu và tổ hợp dữ
liệu ADO cho phép tạo nhanh một tệp mẩu tin để lấy dữ liệu.

ODBC là một giao diện lập trình chuẩn cho các ứng dụng trên Windows do Microsoft
đề xuất. Nó có thể làm trên Access, Excel,…bạn phải khai báo lên ODBC nguồn dữ liệu
mà chương trình sẽ truy xuất và sử dụng. Các đối tượng của ADO là: Connection,
command,lable…

Với những tiện ích của Visual basic em lựa chọn để viết chương trình

4. Một số giao diện của chương trình

* Giao diện chính

* Chức năng chương trình

* Frm Khách hàng

* frm Đơn Đặt hàng

* frm phiếu nhập

* frm chi tiết phiếu nhập

5. Một số thuật toán sử dụng trong quá trình thiết kế các chức năng

5.1.Sử dụng các câu lệnh truy vấn SQL:

* Sử dụng câu lệnh SELECT để lấy về các mẩu tin

“ SELECT TenTruong FROM TenBang WHERE (DieuKien)”

* Sử dụng câu lệnh INSERT INTO để thêm các thông tin:

“INSERT INTO TenBang ( DS TenTruong) VALUES ( DS GiaTri)”

* Sử dụng câu lệnh UPDATE để sửa thông tin:

“UPDATE TenBang

SET TenTruong = GiaTri

WHERE (DieuKien)”

*Sử dụng câu lệnh DELETE để xóa các bản ghi:

“ DELETE DS TenTruong

FROM TenBang

WHERE (DieuKien)”

5.2. Sử dụng các cấu trúc lệnh điều khiển luồng chương trình:

1/ Câu lệnh IF:

IF DieuKien THEN

ELSE

‘Thực hiện các lệnh khi không thỏa mãn DieuKien

END IF.

2/ Câu lệnh SELECT CASE
SELECT CASE X
CASE 0:
‘ Thực hiện các lệnh khi X = 0
CASE 1:
‘ Thực hiện các lệnh khi X = 1
….
CASE X:
‘ Thực hiện các lệnh khi X = n
END SELECT

3/ Câu lệnh DO WHILE … LOOP

Đây là cấu trúc lặp kiểm tra điều kiện trước, vòng lặp tiếp tục khi điều kiện
lặp còn đúng.

DO WHILE DieuKien

‘ Thực hiện các lệnh khi DieuKien còn thỏa mãn
LOOP

4/ Câu lệnh DO … LOOP WHILE

Đây là cấu trúc lặp kiểm tra điều kiện sau, vòng lặp tiếp tục khi điều kiện lặp còn
đúng

DO

‘ Các lệnh
LOOP WHILE

5/ Câu lệnh DO… LOOP UNTIL
6/ Câu lệnh FOR…NEXT
FOR … TO STEP n
‘Các lệnh
NEXT
5.3 Sử dụng các hàm chuỗi
* Hàm Mid

Hàm Mid trả về một chuỗi lưu trữ trong một variant và hàm Mid$, hàm trả về chuỗi
thực tế

Cú pháp

Mid (String, Start [length])
* Hàm Left và Right

Cú pháp : left (string,number)
Right (string,number)

* Hàm InStr

Hàm này báo cho biết chuỗi có thuộc thành phần của một chuỗi khác hay không.Nếu
có thì nó sẽ báo cho biết vị trí bắt đầu chuỗi con

Đồng thời hàm cũng cho phép chỉ định bắt đầu tìm kiếm tại một ký tự nhất định

Do hàm này trả về giá tri False khi Visual Basic không tìm thấy một ký tự, hoặc một
giá trị True khi tìm thấy, nên thông thường ta phải tự mình viết các vòng lặp

IF…THEN hoặc DO
* Hàm VAL

Đây là hàm chuyển đổi một chuỗi thành một con số.Val đơn giản đọc
quachuỗichođếnkhigặpmột ký tự phi số (hoặc một dấu chấm thứ hai). Con số mà ta có
được tự nó sẽ xác định bởi vì nó không ngừng tìm…

* HàmStr

Hàm này cho phép chuyển một con số thành một chuỗi số
* Hàm Format

Hàm này cho phép ta cắt các chữ số dưvà hiển thị một con số (lớn) có dấu phẩy hoặc
một dấu đồng đô la dẫn đầu

* Hàm Trim

CHƯƠNG IV

HƯỚNG DẪN SỬ DỤNG CÀI ĐẶT CHƯƠNG TRÌNH

VÀ ĐÁNH GIÁ ƯU NHƯỢC ĐIỂM CỦA CHƯƠNG TRÌNH

I Hướng dẫn người dùng sử dụng chương trình

Người dùng tìm và chạy File: NamDung.exe thì hộp thoại đăng nhập xuất hiện. Khi hộp
thoại xuất hiện rồi người dùng muốn truy cập phải khai báo tên và mật khẩu vào máy để
máy kiểm tra sau đó bạn nháy chuột vào nút Logon.Nếu tên và mật khẩu của người sử dụng
vừa khai báo phù hợp với tên và mật khẩu có trong máy mà ta đã đăng ký trước đó thì
người dùng sẽ truy cập vào giao diện chính của chương trình.Ngược lại tên và mật khẩu
của người dùng vừa khai báo mà không đúng thì máy sẽ đưa ra hộp thoại với lời đề nghị “
bạn đã nhập sai tên hoặc mật khẩu hãy nhạp lại ” lúc đó người dùng muốn truy cập tiếp
đúng thì phải khai báo lại sao cho phù hợp. Còn nếu bạn không muốn truy cập chương
trình thì bạn nháy chuột vào nút Cacel.

Khi đã đăng nhập đúng thì MDImain sẽ hiện ra. Ở đó người dùng có thể sử toàn bộ
chương trình thông qua các chức năng của chương trình.

II. Hướng dẫn cài đặt chương trình

– Yêu cầu: Cấu hình máy: Intel Pentium III hoặc Celeon 500MHz trở lên. Ram128Mb, Hệ