• Kinh nghiệm nhỏ phân tích cơ sở dữ liệu
  • Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    tranthanhan1962 > 14-06-15, 04:53 PM

    Đa số các bạn tham gia thủ thuật access điều là bậc thầy về việc phân tích cơ sở dữ liệu. Nên bài viết này nhằm hỗ trợ các bạn mới bắt đầu làm quen với Access sau một thời gian làm việc với Excel. Đa số những bạn này dựa vào các bảng dữ liệu Excel để thiết kế thành các table của Access. Chính vì vậy, nhiều khi cách phân tích không chặt chẽ, Nên sau khi tạo table lại vướng vào các Relatonships phức tạp, rối rắm gây khó cho công việc tạo query, viết code sau đó.
    Ví dụ: Trên Excel có các bảng dữ liệu Mua vào, Bán ra, Thu tiền, Chi tiền. Vậy là tạo ra ngay 4 table Mua vào, Bán ra, Thu tiền, Chi tiền…

    [Hình: 41naoDB.png]

    Kinh nghiệm của tôi là tổng hợp tất cả các bảng dữ liệu Excel thành 1 bảng duy nhất. Tất nhiên để làm được đều này chúng ta cũng phải xử lý một số việc như các column tương ứng thì đưa vào một cột (Ngày, Ngày hóa đơn, số lượng, ĐVT….), các bảng khác nhau phải xử lý bằng một cột với các giá trị khác nhau (Ví dụ cột Diễn giải nhằm giải quyết sự khác nhau của các bảng bảng Mua vào = Chi mua hàng, bảng Bán ra = Thu bán hàng, Những khoản thu chi không phải mua hàng = Chi khác, Thu khác. Tất nhiên nếu muốn cụ thể hơn có thể thêm các diễn giải, chi tiếp khách, chi văn phòng, thu tạm ứng, thu nợ v.v…). Cũng có trường hợp phải xử lý bằng cách tạo thêm các cột tương ứng (Ví dụ chi khác chỉ có số phiếu chi nhưng chi mua hàng lại có 2 số phiếu là số phiếu chi và số phiếu nhập. Vì vậy chúng ta phài có 4 column: số phiếu thu, số phiếu chi, số phiếu nhập, số phiếu xuất.)
    Tất nhiên bảng tổng hợp của các bạn có thể rất khác bảng ví dụ trên do yêu cầu khác nhau của dữ liệu do từng người quản lý.
    Sau khi đã kiểm tra bảng tổng hợp của mình hoàn chỉnh. Chúng ta có thể tạo một tập tin access để import bảng excel này vào database của mình. Chúng ta có thể đặt tên table này là TAM. Tiếp tục sửa tên các field cho hợp lý (Tên không nên có dấu thanh, khoảng trắng…)

    [Hình: 6BvY96j.png]

    Chọn table TAM dùng lệnh Analize Table để Access phân tích table này

    [Hình: JOQTzMQ.png]

    Acess đưa ra hàng loạt giao diện

    [Hình: 83xPIVP.png]

    Chúng ta cứ Next.

    [Hình: Xtym2CW.png]

    Trong giao diện này nếu chưa có kinh nhiệm, ta chọn Yes, let the wizard decide rồi tiếp tục Next.
    Ở giao diện cuối cùng, ta chọn No, don’t creste the query. Vì nếu các bạn mới làm công việc này các bạn cũng không hiểu được cái query của nó đâu.

    [Hình: P1GsZcs.png]

    Sau khi Finish. Đối vời table TAM này. Access đã xử lý thành 8 table với các Relatonships như sau:

    [Hình: fWU63Kl.png]

    Đây chưa phải là kết quả tốt nhất cho chúng ta đâu. Công việc tự động phân tích table của access cũng còn tào lao lắm. Nhưng ít ra access cho ta được một cái nhìn tổng quát để phân tích cơ sở dữ liệu của mình.
    Cách xử lý của access là những giá trị field giống nhau nhiều sẽ tạo thành table parent. Vì lẽ đó nó tạo thấy có những bất ổn Ví dụ tách MASOHDN thành một Table riêng là Table5. Điều này không cần thiết. Nhưng nó tách KHACHHANG qua Table3 là hợp lý. Bây giờ ta xử lý theo cách của mỉnh.
    Đầu tiên copy TAM thành table mới với tên ZPHATSINH (sử dụng tiếp đầu ngữ Z để xếp các table mới tại xuống dưới cùng sao khi hoàn thành ta bỏ các tiếp đầu ngữ này). Copy Table3 thành ZKHACHHANG, xóa field ID, Đặt prymary key cho field ZKHACHHANG, tạo liên kết cho 2 table ZPHATSINH và ZKHACHHANG, Tương tự Table4 thành ZTENHANG, Table7 thành ZMATHANG...

    [Hình: ESCkr7R.png]

    Sau đó chúng ta có quyền xóa tất cả các table không có tiếp đầu ngữ Z. Cơ sở dữ liệu của chúng ta đã được chuyển từ Excel sang với đầy đủ các record của các table. Giờ thì chúng ta có quyền đổi tên các table, các field và tiếp tục phát triển ứng dụng.
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    Yến > 04-11-15, 05:07 PM

    ôi, hay quá, đúng cái em đang cần tìm, em đang có 1 vấn đề còn lấn cấn là file báo cáo word của em như sau, vậy em nên tạo report trên access hay insert file word vào ạ
    thanks anh
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    tranthanhan1962 > 05-11-15, 01:47 PM

    (04-11-15, 05:07 PM)Yến Đã viết: ôi, hay quá, đúng cái em đang cần tìm, em đang có 1 vấn đề còn lấn cấn là file báo cáo word của em như sau, vậy em nên tạo report trên access hay insert file word vào ạ
    thanks anh
    Nếu bạn đã có một cơ sở dữ liệu tốt bạn vẫn có thể tạo report trên access đẹp không thua gì word. Mình nói cả vấn đề nội dung lẫn hình thức. Tất nhiên nếu báo cáo trên word thì sẽ có những đoạn tán hưu, tán vượn thì đưa vào những trường Memo đế xử lý quan trọng tính toán sắp sếp các textbox với chế độ co dãn (Can Grow/Can Shrink) hợp lý. Thậm chí bạn có thể làm background, chèn ảnh, logo...Tạo một report đạt nội dung "kiểu word" kể ra cũng tương đối tốn thời gian. Nhưng khi hoàn chỉnh, nó sẽ tự cập nhật dữ liệu của bạn. Lúc đó bạn chỉ in kết quả và ngồi xoa tay đợi máy in làm việc mà chẳng cần quan tâm đến việc mình gõ số liệu vào có bị sai sót hay lẫn lộn không!?  007
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    Yến > 05-11-15, 03:35 PM

    Dạ, anh cho em hỏi ngu 1 tý :'(. em đi học thêm access gần hết 1 khóa rồi, mà vẫn đang ngồi suy nghĩ..... data  của em rất nhiều đại loại như: 1 học sinh  lớp 10 học 12 môn, 1 trường có rất nhiều học sinh. khi tạo table kết quả học tập em tạo như sau:

    Field name       
    Mahs
    Mamh
    Tenmh
    Diem

    khi nhập dữ liệu em phải nhập như sau:
    Mã học sinh               Mã môn học            Tên môn học     Điểm
    A01                               TO                              Toán             9
    A01                                HO                              Hóa              10
    A01                                 LY                               Lý                 9
    A01                                 VA                               Văn               6
    .
    .
    .
    .
    .
    .
    .
    .
    .
    .
    A01.............................................
    A02
    A01
    ................
    anh cho em ý kiến với
    thanks anh nhiều
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    tranthanhan1962 > 05-11-15, 07:58 PM

    Trước khi xây dựng một cơ sở dữ liệu bạn phải phân tích. Mục đích của dữ liệu cuối cùng để báo cáo là gì. từ đó truy ngược ra dữ liệu cần và đủ để thực hiện các tính toán để đưa ra được kết quả cuối cùng đó.
    Theo yêu cầu của bạn, dữ liệu kết quả là  Mã học sinh, Mã môn học, và Điểm. Tên học sinh, tên môn học là dữ liệu phụ thuộc. Chỉ cần có 2 cái "mã" kia là có nó.
    Ai quản lý mã học sinh => Danh sách học sinh +> tạo table Danh sách học sinh. Trong Danh sách học sinh có cái gì đặc biệt =>Tên lớp trùng nhau. => tạo danh sách lớp. Cũng như thế tạo table Môn học. Nếu muốn Quản lý sâu hơn thì tạo danh sách khối lớp...
    Cho dù bạn học hết khóa access (mấy mươi tiết) bạn cũng chưa được trang bị đầy đủ để viết một phần mềm. Vì vậy bạn phải bắt tay thực hiện phần mềm của bạn. Trong quá trình làm việc này bạn sẽ từ từ khám phá những khả năng tuyệt vời của mình. Để thực hiện một phần mềm ứng dụng các bài giảng access chưa đủ vì vậy bạn có thể tìm thêm những "thủ thuật", chiêu thức trên forum này. Nhưng trước hết bạn phải tự phân tích trước các yêu cầu của mình thông qua các bảng cơ sở (table) và các liên kết (relationship)
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    Yến > 06-11-15, 11:30 AM

    hi, em hiểu ý anh ạ, nhưng có 1 điều là: nhập dữ liệu vào table rât nhiều, (ví dụ như em viết ở trên), có cách nào đưa dữ liệu từ exel vào table cho nhanh không anh.
    em cám ơn anh
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    tranthanhan1962 > 06-11-15, 07:39 PM

    (06-11-15, 11:30 AM)Yến Đã viết: hi, em hiểu ý anh ạ, nhưng có 1 điều là: nhập dữ liệu vào table rât nhiều, (ví dụ như em viết ở trên), có cách nào đưa dữ liệu từ exel vào table cho nhanh không anh.
    em cám ơn anh

     import table là lệnh để import 1 sheet excel vào CSDL access. Sorry, hiện mình đang nuôi bà xã nằm viện. Chỉ có smart phone nên không thể hướng dẫn tường tận được. Bạn cò thể nhờ các bạn maidinhdan, ongke0711,  Minh Tiên, ledangvan ...Hướng dẫn thêm. sorry
  • RE: Kinh nghiệm nhỏ phân tích cơ sở dữ liệu

    Yến > 09-11-15, 09:38 AM

    hi anh

      em cám ơn anh về những chỉ dẫn ở trên, mong bà xã anh nhanh hết bệnh nha happy
    chúc gia đình anh nhiều sức khoẻ happy
    regards