Không hiểu các bảng trong SQL quan hệ để làm gì (Phiên bản đầy đủ)

Diễn Đàn Chính >> [Lập trình - Phát triển dự án với Microsoft .NET] >> Thảo luận - Nghiên cứu



Thân bài


tarzan_boy -> Không hiểu các bảng trong SQL quan hệ để làm gì (5/6/2010 10:16:19 PM)

Làm lập trình 1 thời gian nhưng thú thực mình chả hiểu sao các bảng cứ phải quan hệ chặt chẽ với nhau, để khi xóa bảng này mà quên viết trigger cho bảng kia làm lỗi toe toét.

Nếu mình ngầm hiểu trong đầu là quan hệ 1-n, 1-1, n-n xong rồi code trong aspx cho đúng thì có chết ai không nhỉ? Đỡ hay xảy ra lỗi




dammio -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (5/6/2010 11:36:45 PM)

Chào bạn,

Nguyên tắc 1. Khi làm web tuyệt đối không bao giờ làm mô hình biểu đồ quan hệ giữa các bảng trong database (chỉ được hiểu ngầm)

Lý do: như bạn nói

Kiểm chứng: download tất cả website mẫu trên mạng, xem database thử :D

Chúc vui !




ddhung -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (5/7/2010 5:23:56 AM)

quote:


Nguyên tắc 1. Khi làm web tuyệt đối không bao giờ làm mô hình biểu đồ quan hệ giữa các bảng trong database (chỉ được hiểu ngầm)


Anh có thể giải thích cho em cái này được không ??

Vì bọn em học , trước đây là winform giờ là webform thì đều yêu cầu cái csdl phải thật chặt chẽ mới đc viết code .

Mà theo em thì ngay từ lúc còn làm winform em đã thấy thì hầu như tất cả các ràng buộc của các bảng đều có thể xử lí ngay trên code đc .




tarzan_boy -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (5/7/2010 8:12:25 AM)

quote:

Nguyên tắc 1. Khi làm web tuyệt đối không bao giờ làm mô hình biểu đồ quan hệ giữa các bảng trong database (chỉ được hiểu ngầm)


Bạn nói thật hay đùa đấy, nếu thật thì hơi bị bất ngờ. Mình đã thử down mấy thằng như YAF, DotNetNuke vẫn thấy nó quan hệ bình thường đó thôi




tieuyeuit -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (5/7/2010 9:21:53 AM)

quote:

Trích đoạn: dammio

Chào bạn,

Nguyên tắc 1. Khi làm web tuyệt đối không bao giờ làm mô hình biểu đồ quan hệ giữa các bảng trong

chuẩn ko phải chỉnh luôn
đúng như e đang làm




dammio -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (5/7/2010 10:40:21 AM)

quote:

Trích đoạn: ddhung

quote:


Nguyên tắc 1. Khi làm web tuyệt đối không bao giờ làm mô hình biểu đồ quan hệ giữa các bảng trong database (chỉ được hiểu ngầm)


Anh có thể giải thích cho em cái này được không ??

Vì bọn em học , trước đây là winform giờ là webform thì đều yêu cầu cái csdl phải thật chặt chẽ mới đc viết code .

Mà theo em thì ngay từ lúc còn làm winform em đã thấy thì hầu như tất cả các ràng buộc của các bảng đều có thể xử lí ngay trên code đc .


Nếu bạn làm web 1 thời gian nhiều và đủ, bạn sẽ tự dưng nhận biết điều này, thực tế khác xa lý thuyết. Đúng là theo lý thuyết bài bản của môn Công nghệ Phần mềm bạn sẽ phải làm cái này nhưng nếu bạn để ý môn học đó chỉ đưa ra cách làm chứ không bắt buộc phải có làm trong 1 database của 1 website, có nghĩa chúng ta ko cần làm cũng đâu sao.

Chỉ thầy (cô) nào thật sự am hiểu lý thuyết và thực tế 1 cách có thâm niên mới hiểu được điều đó (thật sự ko dễ để thay đổi quan niệm). Vì vậy nếu giảng viên yêu cầu làm thì bạn nên làm để cho qua cái môn học đang học.

Cái này xuất phát từ thực tế kiểu như nên làm DIV hay TABLE vậy đó. Tỉ lệ không làm biểu đồ quan hệ chiếm rất cao. Bạn cứ download mã nguồn các web về rồi xem họ có làm hay không và tính tỉ lệ, đó là con số của riêng bạn.

Các lý do chính theo mình nghĩ:

1. Nếu làm khả năng tương tác và tùy biến của bảng kết nối kiểu như n-1, 1-n, n-n không cao vì bị ràng buộc khá nhiều
Ví dụ mình chỉ muốn xóa tên lớp đó thôi chứ không muốn xóa toàn bộ học sinh của lớp để chuyển sang lớp khác, nếu làm ràng buộc coi như bó tay phải xóa hết như vậy quá phí.

2. Phần Admin website hiện nay đa số làm thêm, xóa, sửa theo từng bảng, nghĩa là sinh code theo từng bảng và tự kiểm tra ràng buộc trong code sao cho phù hợp với yêu cầu khách hàng nhất.

Trong các bảng n-n, nhiều khách muốn xóa bảng A nhưng lại muốn giữa dữ liệu bảng B vì bảng B quan trọng ko thể xóa được nhưng yêu cầu họ muốn xóa hẳn bảng A vì 1 lý do đặc biệt.

3. Ngay cả bản thân của Microsoft khi chúng ta dùng database mặc định của họ là ASP.NETDB.mdf gì đó nếu dùng phân quyền, và trên các control Gridview, Repeater hay cả Dynamic Data mới ra sau này thì cũng thật sự không thấy họ tự sinh quan hệ trong database.




colauhong -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (5/15/2010 6:54:07 PM)

Đơn giản là từ cái lỗi mà nó thông báo là nó đã cho bạn biết mình sai chỗ nào.
Chứ không người ta tạo ra các mối quan hệ trong SQL là thừa sao?
Cái gì cũng phải có tác dụng của nó, nhưng bạn có sử dụng nó hay không đó là tùy vào bạn[8D]




ngtritam -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (6/17/2010 7:41:40 PM)

Các bạn cho mình hỏi trong khi làm thực tế có sử dụng khóa ngoại không (trong thực tế nha)




dammio -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (6/17/2010 8:40:50 PM)

Dùng khóa ngoại trong dạng 1-n là chuyện bình thường mà bạn.




achoo254 -> RE: Không hiểu các bảng trong SQL quan hệ để làm gì (1/11/2012 1:10:22 PM)

Mình nghĩ nếu bạn còn đang học khi làm các project mà Database có nhiều quan hệ thì khỏi phải làm phần xóa , thay vào đó bạn thêm 1 trường là status có 2 trạng thái inactive và active , cần hay ko cần thì set trạng thái cho nó ,bạn thắc mắc nếu nhiều dữ liệu thì sẽ thế nào ? trả lời là " bạn có thể nhập nhiều dữ liệu đến mức treo Database không ? " ,còn thực tế ra ngoài làm thì mình nghĩ bạn dammio nói đúng.




Trang: [1]



© 2002-2008 Vietnamese ASP.NET. | Trang chủ | Diễn đàn | Đăng ký | Đăng Nhập | Thắc mắc thường gặp?
Sử dụng phần mềm Diễn đàn ASPPlayground.NET phiên bản Advanced Edition 2.5.5 Unicode
Skin phát triển bởi ASPVN.NET phiên bản 1.0.0. Thời gian tải trang: 0.076
Nội dung được xây dựng bởi Ban quản trị và các Thành viên của diễn đàn
Domain & Hosting được tài trợ bởi ViTechNet.,JSC | Microsoft Vietnam