Bác hai2hai giúp mình hiểu bảng chất phần 2a và mối quan hệ giửa ngôn ngử lập trình VB và T-SQL.
Thanks bac that nhiều
Mình chỉ có thể định hướng chứ ko thể viết bài hướng dẫn cụ thể/chi tiết
Applications (phần mềm của chúng ta) --> Data Access Engine (ODBC, DAO, RDO, ADO, ...) --> file CSDL (được quản lý bởi hệ quản trị CSDL quan hệ)
Đỗ Sơn Hải có thể tìm hiểu về ADO.
SQL viết ở trong Query Analyzer là chỉ để test hoặc dùng để viết Store Proc, viết Triggers hay viết View, sau đó mình viết ở trong code (ví dụ trong Visual Basic chẳng hạn) và dùng ADO Connection để Execute câu lệnh SQL đó
Ngoài ra, MS SQL ko chỉ là chứa mỗi CSLD mà nó còn có sự khác biệt với MS Access ở điểm sau:
- Có thể viết store procedure trong CSDL
- Có thể viết các triggers (On Addnew, On Delete, On Update)
- Và cái này thì hơi giống Access: Có thể tạo View (trong Access gọi là Query)
- Tạo các ràng buộc (Constraints, Check, Index,...)
- Ở các version sau của MS SQL 2000 thì có thể tạo cả Report nữa
CSDL trong MS SQL được tổ chức có thể rất chặt chẽ với các ràng buộc (constraints) nhưng để làm được điều đó thì bạn phải hiểu kỹ về MS SQL.
Enterprise Management là tools để quản lý các CSDL trong hệ quản trị CSDL đó mà thôi. (Vì các CSDL được quản lý bởi hệ QT CSDL nên cần có tool để quản lý nó mà)
Để truy cập (connect) vào mỗi CSDL (của ta hay của hệ thống MS SQL) thì cần có account để quản lý nó. Mà đã có account thì phải có phân quyền này nọ, thế là cần có Security thôi. Có lẽ bạn chưa cần để ý tới vaans đề Security này mà cứ dùng account của hệ thống (sa = system account).
Trong Ms Access thường tạo 2 bảng và tạo mối quan hệ thông qua mã phiếu nhưng khi lưu dữ liệu chỉ tập hợp về một bảng
Sai hoàn toàn về thiết kế CSDL. Các chứng từ tối thiếu phải có 2 bảng (Đó là chưa nói tới các bảng về giá vốn hoặc các bảng khác liên quan như về Ser*ial, về TK hạch toán...):
- Master: Chứa phần header/footer của chứng từ
- Detail: Chứa phần line items (dòng chi tiết) của chứng từ
Master link với Detail qua quan hệ mà người ta gọi là Identify Relationship (gọi là quan hệ bố con có cascade delete) và thông quan trường ID của chứng từ (Chứ ko ai dùng trường mã chứng từ làm khoá cả). Tại sao phải dùng ID chứ ko dùng mã chứng từ (transaction number) thì mình đã nói rất nhiều lần rồi.
Phù, viết có bấy nhiêu thôi mà mất gần 30 phút (nếu nói chỉ mất có 1 phút mà còn dễ hiểu hơn nhiều)