Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Trang 2 trên tổng số 3 Đầu tiênĐầu tiên 123 Cuối cùngCuối cùng
Từ 11 tới 20 trên tổng số 23 kết quả

Đề tài: Thảo luận : Cách học DB hiệu quả

  1. #11
    Ngày gia nhập
    10 2006
    Bài viết
    107

    Mặc định Thảo luận : Cách học DB hiệu quả

    Trích dẫn Nguyên bản được gửi bởi Tarzan Xem bài viết
    Dịch cái ERD ra coi có phải "thực thể liên kết" không?

    Tuy vậy tớ cũng chả mấy khi dùng cái ERD ấy cả. Giã luôn vào Sql Server cho nó nhanh.
    Hồi đầu thì mình cũng rập khuôn theo mấy cái chuẩn, xây dựng db lại còn lẩm nhẩm viết giấy và phát biểu quy tắc chuẩn nữa T_T. Sau này thực tế thì táng luôn và một số chỗ phải hy sinh chuẩn T_T
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Nói là một chuyện, làm là một chuyện. Chi bằng ta làm xong rồi hãy nói như vậy thì nói và làm sẽ là một chuyện.

  2. #12
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Trích dẫn Nguyên bản được gửi bởi phamtiensinh Xem bài viết
    CVIET là diễn đàn thảo luận chứ không phải 4room chuyên giảng dạy như www.vovisoft.com, mỗi site có đặc trưng riêng, ai bí vấn đề nào thì hỏi đáp, tranh luận... Còn sách vở chi tiết về CSDL quan hệ , lý thuyết CSDL thì trường nào cũng cung cấp đủ .Chúng ta chỉ thảo luận ở mức ứng dụng thực tiễn là ok rồi !
    Cứ để cho anh em thoải mái cống hiến và sáng tạo đi bác Phạm ah, biết đâu trong đó có những cái hay? Chúng ta là một diễn đàn thảo luận, nhưng nó cũng phải là một cộng đồng chia sẻ kiến thức cho nhau thì mới có ý nghĩa và giá trị của nó. Nếu chỉ phát triển theo một hướng, đến một giai đoạn nào đó sẽ bị bão hòa và lụi tàn (Đa phần các diễn đàn đều bị tình trạng này, do ít có sự thay đổi)

    Hơn nữa là: Database hầu như là mọi người chưa quan tâm đến nhiều, một phần là không ai học nó, không biết nó nhiều lắm, (nếu có cũng chỉ là dạng wizard code). Chính thế mà nó không có nhiều thảo luận.

    Dr thực lòng cũng muốn anh em quan tâm nhiều đến lĩnh vực này, nó không thể thiếu trong xây dựng ứng dụng được.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  3. #13
    Ngày gia nhập
    06 2007
    Nơi ở
    HCM
    Bài viết
    365

    Move thảo luận vô box này để anh em dễ dàng thảo luận .

    Mình hoàn toàn ko đề cập đến chuyện nên hay ko nên(anh em mà nhiệt tình thì quá tốt rồi còn gì ) mà đề cập đến phương pháp học DB cũng như tất cả môn học khác. Theo nhận định của mình, đa số chúng ta khi chưa nhiều kinh nghiệm thực tế thường bị quay cuồng giữa hàng mớ thuật ngữ như thực thể liên kết, rồi mô hình đa tầng , design patern,software architect, Phụ Thuộc Hàm,.... bây giờ lại biết thêm advance database . Vậy thực tế ra sao nhỉ :
    - Sau này dù có làm nhiều project thì bạn cũng chỉ tận dụng được 10 - 15% những lý thuyết đã học về CSDL là cùng..
    - Lý thuyết CSDL rất là khô khan và khó nhai với newbie, nếu như học mà ko áp dụng thực tiến thì việc học sẽ ko hiệu quả , ví dụ nhỏ : Bạn xem phương pháp nào tối ưu trong việc dạy 1 người chưa hề biết máy tính học windows XP
    + Phương pháp 1: Theo lối tuần tự từ thấp tới, cao, nhồi nhét 1 đống
    kiến thức về BIOS, DOS, Win 3.11, Win 95,..,hệ đếm nhị phân.. chán chê sau đó mới cho thực hành , lại nhồi nhét tiếp các kiến thức file system, an toàn thông tin
    + Phương pháp 2: tiếp cận nhanh, cho user ngồi luôn vào máy, hướng dẫn chơi game chơi bài, dò mìn, các game dễ chơi chỉ dùng chuột.Kết hợp giảng giải về 1 số khái niệm căn bản.
    Vậy đấy, khi chúng ta kích đựoc ham muốn học của user thì việc học và dạy trở lên rất thú vị, nếu ai cũng nghĩ học như 1 trò chơi và hoàn toàn ko stress thì sẽ rất nhanh chóng nắm bắt vấn đề.Tương tự với cách học DB, nếu ngay từ đầu mà đâm đầu vào 1 mớ lý thuyết xuông thì chắc chắn bạn sẽ bị tẩu hỏa nhập ma.Chính vì thế mình rất đề cao những vấn đề " xôi - thịt" mà tarzan nói , vì thực sự muốn đạt được bất cứ việc gì chúng ta cần phải có mục đích ,chính cái "xôi -thịt" đó là sợi dây khởi nguồn cho việc tham dự cviet của hầu hết member
    Tiện thể bàn xa hơn một chút cho anh em thảo luận:
    - Theo bạn thế nào là làm DB tốt ???, Các đồ án được điểm số cao khi bảo vệ nhưng đem áp dụng thực tế thì hiếm khi đạt trung bình , và ngược lại các bản phân tích thiết kế đang chạy vi vu thì các giảng viên lại phê tận tình .Một ví dụ nhỏ như sau,cùng 2 bảng detail -master ta có 2 bản phân tích
    I.
    TblNhapKho { IDPhieuNhap(PK), IDKhachHang ,NgayNhap}
    TblDongNhapKho{IDPhieuNhap,IDHang,SoLuong,GiaNhap, GiaBan,}
    II.
    TblNhapKho { IDPhieuNhap(UNIQUE), IDKhachHang ,Ten, Diachi, NgayNhap, ID(AUTO ,PK }
    TblDongNhapKho{IDPhieuNhap,IDHang,SoLuong,GiaNhap, GiaBan,ID (AUTO ,PK)}
    Mới thoáng nhìn qua, bạn có thể cho rằng (I) tối ưu hơn, nhưng ứng dụng vào thực tế thì ngược lại, khâu quản lý việc sửa đổi các mã phiếu rất mệt nếu bạn dùng (I) , và càng mệt hơn trong môi trường muti user - đây là lý do mà nhiều pm kế toán thường cấm sửa mã phiếu - nếu chuyển qua (II) thì vấn đề sẽ đc xử lý rất đơn giản, tuyệt hơn nữa là tác vụ translate value từ IDPhieuNhap --> ID (AUTO) cũng được các điều khiển thương mại như C1 hỗ trợ mà ko cần tốn thêm 1 line code( user chỉ biết IDPhieuNhap , còn chương trình chỉ biết ID( auto)) .. Cũng xin lưu ý bạn luôn là table càng có nhiều ràng buộc thì truy xuất càng chậm, việc cho thêm 2 trường Ten, Diachi ko làm CSDL to ra bao nhiêu nhưng lại làm giảm số lượng mã do tận dụng được Auto Generate 4 command và tăng tốc độ truy vấn , do Ten, Diachi là 2 trường luôn đc dùng ko cần phải JOIN qua bảng khác để lấy dữ liệu.
    Do vậy với chỉ 1 góc nhìn phiến diện,e rất dễ làm các member tiếp tục tẩu hỏa nhập ma với advance DB , mà hiện tại tôi nghĩ nhiều bạn đã rối tinh rối mù với design patern , N TIER rồi . Cũng thật khó tránh, vì nền công nghiệp phần mềm của chúng ta còn rất non trẻ , các môn học như kiến truc phần mềm thì cực kỳ khoai và hầu như chẳng có nơi nào dạy nổi , chủ yếu là bạn tự nghiên cứu thôi , chính vì vẫy mà khi xem 1 lượt các chương trình mẫu cũng như thảo luận của chúng ta về 3 tier, design patern thi ai đã từng làm các dự án chủ khách đều nhận ra là ko thể áp dụng đc , quá thuần lý thuyết , 1 điểm mấu chốt rất quan trọng là kiến trúc chủ-khách cũng các công nghệ triển khai như COM+,DCOM,MTS..NET REMOTING và hiện thời là WCF( SOA) thì hoàn hoàn toàn ko có..,.Và kỳ lạ là chẳng có giáo trình của trường nào đưa ra!
    Mình rất muốn tạo thêm riêng 1 chuyên mục bàn về : kiến trúc phần mềm, application frame work và quản lý dự án .. cho cviet nhưng đó chỉ là dự định cho tương lai gần, mong rằng sắp tới sẽ có thêm nhiều power member ...hiện tại chỉ biết nỗ lực và hy vọng.
    Đã được chỉnh sửa lần cuối bởi Haipt : 15-03-2008 lúc 04:14 PM.

  4. #14
    Ngày gia nhập
    10 2006
    Bài viết
    107

    @ Pham Ka : Ý kiến của huynh rất sát với thực tế và như cầu một số member bây giờ, vì đi làm sau này vẫn xài db nhiều. Tuy nhiên hầu như những tiền bối đi làm rồi mới có kinh nghiệm huynh nói, mấy ka đó lại không thấy xuất hiện ở đây. T_T

    - Quả thật là em rât muốn thảo luận sâu về mấy cái kiến trúc đó, nhưng chả biết hỏi ai hay bắt đầu từ đâu nữa
    Nói là một chuyện, làm là một chuyện. Chi bằng ta làm xong rồi hãy nói như vậy thì nói và làm sẽ là một chuyện.

  5. #15
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Bác Pham cho em hỏi tí ^^!
    Bác đang bàn đến WCF có phải là Windows Communication Foundation ở đây không?
    Cái này dính đến SOA như thế nào? Em thì em mới biết SOA của Java thôi,chưa thấy trường hợp nào nhắc đến SOA cho .NET. Mà cái này theo mô hình SOA hay SOA 2(Advance SOA của Oracle).
    Bác nghiên cứu qua rồi thì chỉ cho em với ^^!
    Cám ơn bác ^^!

    Còn về phần của bác em nghĩ là không ổn lắm ^^!
    Thực ra những cái mà bác nói hầu như là dành cho dân làm tầng Presentation.
    1 - Theo em biết thì các phần mềm kế toán không cho phép sửa mã phiếu là để phục vụ cho việc lưu vết ^^!
    2 - Theo em nữa thì khi cập nhật dùng store sẽ nhanh hơn auto command(mặc dù làm sẽ cực hơn chút ^^!).
    3 - Table sinh ra là để Join ^^!Chả có cớ gì không dùng cả ^^!Nếu bác không thích phải viết lệnh join vẫn còn có view cơ mà ^^!
    4 - Với ví dụ mà bác đưa ra em thấy bác phải ấn cái autoID vào làm gì ^^!Sao không dùng luôn cái IDPhieuNhapKho là AutoID ^^!
    Em đồng ý với bác là đôi khi để chương trình đơn giản,dễ quản lý thì cần hy sinh chuẩn, tuy nhiên cái ví dụ của bác quá khó hiểu ^^! Em luận một lúc mới hiểu bác định làm gì ^^!
    5 - Bác chắc là trùm C1 ^^!Bác chỉ cho em cách map từ ID <-> AutoID được không ạ ^^!Em có dùng nhưng chưa có thấy cách nào map được cả ^^!
    Một lần nữa cám ơn bác ^^!
    Đã được chỉnh sửa lần cuối bởi darkan : 16-03-2008 lúc 10:05 PM.
    Is the moon rising...

  6. #16
    Ngày gia nhập
    06 2007
    Nơi ở
    HCM
    Bài viết
    365

    Mặc định Thảo luận : Cách học DB hiệu quả

    Mình quên ko nói rõ là ở mô hình II
    TblDongNhapKho.IDPhieuNhap link tới TblNhapKho.ID chứ không phải
    TblNhapKho.IDPhieuNhap.

    Trích dẫn Nguyên bản được gửi bởi darkan Xem bài viết
    Còn về phần của bác em nghĩ là không ổn lắm ^^!
    Thực ra những cái mà bác nói hầu như là dành cho dân làm tầng Presentation.
    1 - Theo em biết thì các phần mềm kế toán không cho phép sửa mã phiếu là để phục vụ cho việc lưu vết ^^!
    Thứ nhất ,để track các sửa đổi thì có rất nhiều cách ko cần dùng mã phiếu, thứ 2 việc cho phép sửa đổi là hoàn toàn hợp lý thôi,vì xác xuất nhầm lẫn là khá cao, với end - user mã phiếu thường là các keyword gợi nhớ, lên nếu chỉ vì đặt sai mã phiếu mà phải đánh lại mấy chục mặt hàng thì rất khó chấp nhận! , lạm bàn thêm 1 chút về quy trình pm: Trong mô hình quy trình tuần tự , người ta đã giả định rằng có thể thu thập và xác định chắc chắn được tất cả những yêu cầu của bài toán ngay từ đầu và tiến hành dự án dựa trên một nền tảng rất vững chắc. Tuy nhiên những yêu cầu mới và khác nhau sẽ liên tiếp xuất hiện trừ khi ta chỉ làm các dự án tầm thường :
    +Người sử dụng sẽ thay đổi: nhu cầu của người dùng không cố định theo thời gian,
    +Bài toán sẽ thay đổi: Khi hệ thống được đưa vào thực tế hay thậm chí đang trong quá trình phát triển bản thân nó sẽ tác động đến người sử dụng
    +Các công nghệ cơ bản sẽ thay đổi: Các công nghệ phần mềm cũng như phần cứng mới sẽ dẫn đến việc ta cần phải khai thác chúng để tăng hiệu quả công việc dẫn đến các yêu cầu cũng phải thay đổi theo.
    +Thị trường sẽ thay đổi: Sự cạnh tranh trên thị trường sẽ dẫn đến việc ngày càng có những sản phẩm tốt hơn được tung ra, ta cần phải cập nhật những thay đổi đó làm tăng tính cạnh tranh cho sản phẩm của mình.
    như vậy đấy, việc chương trình của chúng ta có thể cho phép user tự ý customize mã phiếu trong khi các chương trinh của các đơn vị khác thì khóa lại ( cũng có thể do lười ko xử lý ) đã đạt 1 point rồi.
    Còn về kiến trúc phần mềm, FileSharing, Client-server -,ntier,... thì hy vọng những kiến thức dưới đây giúp các bạn hiểu được phần nào.

    Câu hỏi: Bạn viết một chương trình quản lý với 10 lisence cho 1 công ty, bạn sẽ viết thế nào:
    1. File Sharing Architect

    - Bạn map database access trên 1 máy trên mạng
    - Bạn viết chương trình truy xuất tới CSDL trên máy đó( vb6, c++, ADO 2.X)
    - Bạn đóng gói và tạo pakage rồi tới từng máy để cài đặt
    Sau một thời gian, bạn bắt đầu gặc rắc rối về vấn đề bảo mật:(
    - CSDL access muốn dùng cho nhiều người buộc phải shared FULL, do vậy những người rách việc ko có phận sự có thể nghịch bậy trên DB đó,bạn khóa= password ư , vô ích thôi vì họ vẫn có thể xóa bénh CSDL của bạn hay đơn giản là copy CSDL về rồi lục lọi ***** nó
    Giải quyết :
    - Chuyển sang SQL SERVER

    Sau một thời gian, phần cứng PC bắt đầu phát triển, mạng ADSL đã trở lên phổ thông, khách hàng của bạn bắt đầu làm ăn có lãi và mở thêm 3 chi nhánh cách văn phòng chính vài KM,Bạn bắt đầu gặc rắc rối vì các client truy xuất đến SQL server qua
    WAN chứ ko phải là trong mạng LAN nữa, làm sao đây, chẳng lẽ viết thêm modun import
    dữ liệu từ thẻ nhớ, bắt mỗi văn phòng phải có 1 nhân viên cứ hết giờ thì mang USB copy lại data chuyển lên văn phòng trung tâm để IMPORT vôhay sao
    Giải quyết :
    - Lắp ADSL cho tất cả các máy client và máy server
    - Cấu hình modem Chuyển tiếp các gói tin có số hiệu cổng 1443 từ bên ngoài vào máy cài SQL SERVER
    - Đăng ký 1 tên miền FREE, để ko phải truy xuất qua IP cho mệt
    Sau một thời gian: bạn lại gặp vấn đề : ( lại bảo mật )
    - Do mở cổng 1433 ,lên bất cứ 1 ai nắm đc mật khẩu SQL account đều có thể sục sạo server của bạn,vì máy chủ bạn phải bật cả ngày lên sác xuất bị ***** là rất cao
    - Mỗi khi phần mềm có lỗi, bạn phải recomplier rồi lại cài đặt lại trên toàn bộ các máy
    con,với hàng chục client rải rác khắc nơi trong phạm vi và chục KM thì hoàn toàn ko đơn giản ngay cả khi công ty bạn có apply các phương thực remote administation
    - Nếu bạn làm = .NET thì càng tồi tệ, vì dân hơi sành điệu cũng có thể copy assemblly về rồi vọc chơi, bạn nhúng cả DAL lẫn BL, PL vô cùng 1 projcect mà

    Cách giải quyết :
    ĐỢi tý nhé, bây giờ đi chơi đã, đội đế chế call rồi...............
    Đã được chỉnh sửa lần cuối bởi Haipt : 17-03-2008 lúc 07:14 PM.

  7. #17
    Ngày gia nhập
    10 2006
    Bài viết
    107

    Đang chờ huynh đây, cố đánh thắng về viết nhiều nhiều chút
    Nói là một chuyện, làm là một chuyện. Chi bằng ta làm xong rồi hãy nói như vậy thì nói và làm sẽ là một chuyện.

  8. #18
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Chuẩn bị đến n-tier này ...
    Is the moon rising...

  9. #19
    Ngày gia nhập
    06 2007
    Nơi ở
    TP.HCM
    Bài viết
    113

    Cái "xôi thịt" từ bữa giờ anh em vẫn thường thảo luận là đúng thôi. Đây là diễn đàn chủ yếu về lập trình, lập trình là bước cuối của một project (đừng tính cái test zdô đây nha ) lúc anh em thảo luận về DB thì tức là bước phân tích thiết kế đã hoàn thành. Và DB ở đây là diễn đàn phụ cho lập trình nên chủ yếu là T-SQL. Chỉ sợ diễn đàn nó loãng ra thôi chứ có cái đó cũng rất hay, nhưng lập ra mà không nuôi nó thì cũng ...

    Nhưng lập ra cái box để bắt đầu phân tích thiết kế CSDL thì cũng cần một lượng đề tài lớn để lúc nào cũng có thể phân tích. (mà cái vụ phân tích này lúc nào cũng đau đầu nên khó mà kiếm được ai nhiệt tình chăm sóc.)

    Gác Kiếm

  10. #20
    Ngày gia nhập
    11 2006
    Bài viết
    633

    phamtiensinh à. Cậu có thể tham gia nhóm CNPM với tư cách là supervisor được ko? Thật sự tớ rất cần những người có kinh nghiệm làm phần mềm lão làng như cậu. Để đưa ra 1 cái style chưa từng có trong sách vở nhưng lại hiệu quả và tối ưu. Mong cậu nhiệt tình tham gia giúp đỡ để nhóm phát triển nhanh chóng.
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

Các đề tài tương tự

  1. Giải thuật Thảo luận giải Sudoku bằng phương pháp suy luận logic
    Gửi bởi BDK trong diễn đàn Thắc mắc CTDL & Giải thuật
    Trả lời: 1
    Bài viết cuối: 26-03-2014, 11:05 PM
  2. [Thảo luận] Cách viết phần mềm quản lí trong mạng lan
    Gửi bởi jellydn trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 17-02-2009, 09:57 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn