Tìm giải pháp cho CSDL lớn

  • Thread starter BiDIT
  • Ngày gửi
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Gửi loveblue
bác hai2hai

1./
Các bác có thể chia sẻ cho mình tài liệu học SQL 2000
Cụ thể cách sử dụng cái :
-Management
-Security
Trong server interpríse manager

2./
SQL Query analyser
Chức năng nó giống như cái query trong Ms Access phải không các bác, nghỉa
là dùng để khai thác dữ liệu phải không các bác ?

Càng xem càng không hiểu ?
Các bác chỉ giúp tối dạ này cảm ơn nhiều .
 
Khóa học Quản trị dòng tiền
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Gửi loveblue
bác hai2hai

1./
Các bác có thể chia sẻ cho mình tài liệu học SQL 2000
Cụ thể cách sử dụng cái :
-Management
-Security
Trong server interpríse manager

Rất tiếc là h2h lại ko có tài liệu miễn phí nào, còn trên wkt thì lại không cho phép trao đổi về những gì có phí (kiểu vi phạm bản quyền)

2./
SQL Query analyser
Chức năng nó giống như cái query trong Ms Access phải không các bác, nghỉa
là dùng để khai thác dữ liệu phải không các bác ?

Càng xem càng không hiểu ?
Các bác chỉ giúp tối dạ này cảm ơn nhiều .

Vừa giống vừa ko không giống

- Giống: Dùng để viết các câu lệnh SQL và chạy thử để sinh ra dữ liệu hoặc cập nhật dữ liệu

- Khác: Query trong MS Access là được tạo ngay trong môi trường IDE (môi trường soạn thảo của ngôn ngữ lập trình VBA của Access), còn SQL Query analyser là công cụ đi kèm hệ quản trị dùng để chạy test các lệnh SQL trước khi viết trong các dòng code, (hoặc thực hiện các lệnh, store proc, trigger, views...).

Mọi người khi làm Visual Fox, MS Access thì cần loại bỏ các khái niệm về CSDL cũ tích hợp sẵn trong ngôn ngữ lập trình đi. MS SQL là 1 hệ quản trị CSDL quan hệ độc lập ở bên ngoài chứ ko phải là 1 phần của ngôn ngữ lập trình.

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ệ)

Rất tiếc là ko thể nói chuyện trực tiếp với ĐỖ HẢI SƠN về vấn đề này vì thực ra phải hiểu bản chất của vấn đề trước đã, chứ đọc sách thì chán lắm. h2h chưa 1 giờ đọc sách nào một cách từ A --> Z về mấy món này cả (ghét nhất là đọc ebooks).
 
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Cảm ơn bác hai2hai giải thích giúp ?

Bac giúp mình giải thích công dụng của cái

-Management
-Security

Trong server interpríse manager
Trich nguyen van (hai2hai) :

" Mọi người khi làm Visual Fox, MS Access thì cần loại bỏ các khái niệm về CSDL cũ tích hợp sẵn trong ngôn ngữ lập trình đi. MS SQL là 1 hệ quản trị CSDL quan hệ độc lập ở bên ngoài chứ ko phải là 1 phần của ngôn ngữ lập trình."

Mình hiểu như sau :

1a. SQL 2000 chỉ tạo cơ sở dữ liệu và phân quyền sử dụng cơ sở dữ liệu đó
-Nó giống như table và mối quan hệ giửa các table trong Ms Access nhung trong Ms
Access khong co phan quyen trong bang du lieu.

2a. SQL 2000 không có form và report
- Muốn nhập liệu phải thông qua một ngôn ngử lập trình khác như VB , Access ... để
tạo form nhập liệu và báo cáo.

Mình hiểu đến đây

Mình có mua cuốn sách Lập trình ứng dụng SQL 2000 toàn tập từ năm 2003 nhưng không có thời gian để học nay lôi nó ra để nhìn .

Thì 2/3 cuốn sách việt về truy vấn

- Sử dụng T-SQL ( select, update, join, delete, create,...)
- Vậy là T-SQL tạo ra cái phần 1a bên trên .

Về phần xây dựng cơ sở dữ liệu kế toán mình hiểu như sau :

Mặt dù mình tạo nhiều bảng nhưng cuối cùng chỉ lưu trong 1 bảng duy nhất cho tất cả các phần hành kế toán.

VD: trong bảng phiếu nhập

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

Mình hiểu như trên đúng không các bác.


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
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
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)
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Mình cảm ơn bác hai2hai nhiều
Mình phải ngâm cứu từ từ

Mình hơi thắt mắt vấn đề sau

Nếu xây dựng hệ cơ sở dữ liệu phụ thuộc vào nhiều mối quan hệ không hẳn tốt
VD: Phần hành thu-chi

bảng dữ liệu theo dõi phần hành thu tiền

tbl01 : P.thu(Maphieu, ngay , tenkhach, diengiai,)
tbl02 : p.thuct(maphieu,TK_No, TK_Co, sotien... )

---> 1a / dữ liệu lưu hệ thống - Thu (Ma, Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

bảng dữ liệu theo dõi phần hành chi tiền

tbl01 : P.chi(Maphieu, ngay , tenkhach, diengiai,)
tbl02 : p.chict(maphieu,TK_No, TK_Co, sotien... )

---> 1b/ dữ liệu lưu hệ thống - Chi (Ma, Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

Tương tự đối vời kế tóan

- Phần hành nhập xuất
- Phần hành doanh thu
- Phiếu hạch tóan ( sử dụng phân bổ , khấu hao , lương ....)


Mình tập hợp các phân hành 1a, 1b ....lại với nhau thành một bảng dữ liệu .

Vậy là bảng dữ liệu này phân biệt các nghiệp vụ thông qua một field là : Machungtu

Lúc ấy mình phân quyền bằng việc giấu các field dữ liệu thôi .
và file dữ liệu của mình cũng chỉ có một bảng.

Truy xuất báo cáo

Mình lập trình lấy từ bảng dữ liệu ấy để đáp ứng theo yêu cầu báo cáo của người dùng.

Không biết mình có đang suy nghĩ đơn giản không nhưng hiện tại mình cũng đang làm như vậy đấy bác hai2hai .

À mà này Hải đang nói đến phân hệ kế tóan thôi. Có nghỉa là phân hệ kế tóan chỉ là một phần trong doanh nghiệp thôi.
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
bảng dữ liệu theo dõi phần hành thu tiền

tbl01 : P.thu(Maphieu, ngay , tenkhach, diengiai,)
tbl02 : p.thuct(maphieu,TK_No, TK_Co, sotien... )

---> 1a / dữ liệu lưu hệ thống - Thu (Ma, Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

bảng dữ liệu theo dõi phần hành chi tiền

tbl01 : P.chi(Maphieu, ngay , tenkhach, diengiai,)
tbl02 : p.chict(maphieu,TK_No, TK_Co, sotien... )

---> 1b/ dữ liệu lưu hệ thống - Chi (Ma, Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

1 bảng cho 1 chứng từ đã nói ko đúng là ko đúng mà. Sai về thiết kế theio chuẩn 3N (thừa dữ liệu header lặp đi lặp lại)

Bảng 1a, 1 b chả để làm gì cả. có thể select từ tbl01 & tbl02 ra được. Như thế trong CSDL tự nhiên thừa cả đống CSDL. Chính vì thế mà h2h nói là mọi người phải biết thiết kế CSDL sao cho đúng (chứ ko chỉ mỗi đạt được yêu cầu để rồi khi nó lên tới 1tr chứng từ thì PM đã chạy 1 cách tậm tịt rồi)

Chú ý: Chứng từ sau khi ghi sổ (Post to GL) thì 1 phần của header + tài khoản (nợ/có) được ghi vào sổ cái)

Phần chi tiết chính là Select từ LineItems của các Transaction rồi.

Nhìn cái mà Đỗ Sơn Hải ở trên viết thì thấy 1a, 1b là sai cơ bản về Thiết kế CSDL. Chưa cần nói gì mà chỉ cần nhìn thấy TenKH lại nằm ở bảng đó là thực sự có vấn đề. Tên khách hàng nằm ở duy nhất bảng danh mục khách hàng mà thôi :p. Muốn lấy thông tin đó ra thì phải Join với các bảng đó qua ID và lấy các thông tin phụ đó ra.

Nói nhiều, giải thích nhiều thì không bằng việc xem 1 thiết kế tương đối chuẩn

customers_and_invoices_model.gif


Có lẽ, vẫn cần phải 1 buổi gặp để nói về lý thuyết thiết kế CSDL thì mới vỡ ra được cái nguyên tắc làm CSDL.
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Gửi bác hai2hai

Hi hi - đâu có học đến nơi chốn, Bác nói thì mình mới biết vì viết nó chạy đúng là mừng rồi.

ở VD trên là tên người nhận tiền đấy bác, nhầm thôi mà. Nhưng quả thật trước giờ mình nghĩ là thiết kế một bảng lưu là đủ.

Một bảng cho tất cả các loại chứng từ phần 1a và 1b lưu chung trong một bảng thậm chí cả các loại chứng từ khác.

1a / dữ liệu lưu hệ thống - Thu (Ma, Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

1b/ dữ liệu lưu hệ thống - Chi (Ma, Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

.........................

---> lưu chung một bảng - dulieu( Ma, loaichungtu , Maphieu, ngay, tenkhach, diengiai, TK_no, TK_co,sotien...)

Vì vậy tổng hợp lên 1 bảng duy nhất từ bảng này mình có thể lấy ra :

Số chi tiết tài khỏan từng tháng quý năm ....
So sánh kết quả kinh doanh các tháng .......
.........................................................................
Tất cả nằm hết trên một bảng

VD : Cty Hải Khu du lich nghi duong

Nhà hàng, spa , lễ tân cashier trang bị 1 file access link dữ liệu về máy chủ
Tương tự kế tóan và sale cũng làm trên file access link dữ liệu về máy chủ
Tất cả dữ liệu này được xử lý mổi ngày và cuối tháng khóa sổ lưu lưu vào một bảng chuẩn.


Nói thì thấy dễ nhưng thực hiện không đơn giản, công ty mình có liên doanh nước ngoải, mỗi năm kiểm tóan độc lập 2 lần cũng không thấy họ nói nên mặt kệ mà dùng.
Vì sợ mất dữ liệu thì không biết đâu mà tìm ra nên Hải mới nghĩ ra cái trò thiết kế một bảng trên nếu mất hết dữ liệu thì từ một bảng trên vẫn có thể tìm lại để làm việc với thuế và kiểm tóan.

Dù sao cũng cảm ơn bác cho mình mở rộng tầm mắt .
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
VD : Cty Hải Khu du lich nghi duong

Nhà hàng, spa , lễ tân cashier trang bị 1 file access link dữ liệu về máy chủ
Tương tự kế tóan và sale cũng làm trên file access link dữ liệu về máy chủ
Tất cả dữ liệu này được xử lý mổi ngày và cuối tháng khóa sổ lưu lưu vào một bảng chuẩn.


Nói thì thấy dễ nhưng thực hiện không đơn giản, công ty mình có liên doanh nước ngoải, mỗi năm kiểm tóan độc lập 2 lần cũng không thấy họ nói nên mặt kệ mà dùng.
Vì sợ mất dữ liệu thì không biết đâu mà tìm ra nên Hải mới nghĩ ra cái trò thiết kế một bảng trên nếu mất hết dữ liệu thì từ một bảng trên vẫn có thể tìm lại để làm việc với thuế và kiểm tóan.

Dù sao cũng cảm ơn bác cho mình mở rộng tầm mắt .

Ah, thế thì hiểu "bối cảnh" rồi :)

Tức là các chứng từ thì được lập ở các ứng dụng Access riêng biệt: Nhà hàng, spa, cashier, kế toán, kinh doanh... Sau đó chạy cập nhật về 1 bảng kiểu nhật ký chứng từ (chỉ lấy từ header của các giao dịch ở các module nói trên).

Thế thì:

1/ Giả sử khi ở các phân hệ riêng biệt đó sửa/xóa giao dịch thì làm thế nào? Lúc đó cái bảng Nhật ký chứng từ có được Update ko?

2/ Nếu từ bảng nhật ký chứng từ đó, muốn xem chi tiết (mở lại) chứng từ gốc thì làm thế nào?

Hi hi, cái bảng chuẩn đó nguời ta gọi là sổ nhật ký chứng từ đó. Nó ko chỉ lưu mỗi cái phiếu thu/chi mà cho tất cả mọi giao dịch kế toán. Cái bảng đó thực tế ko cần số chứng từ, tên khách hàng, diễn giải mà chỉ cần:
- Mã của chứng từ (ID). Từ Mã của chứng từ ta có thể select được các trường nằm trên các bảng chứng từ tương ứng: Số chứng từ, ngày chứng từ...)
- Loại chứng từ (Transaction Type)
- Phân hệ
- ...
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Cuối tuần rồi bác hai2hai, Chúc bác ngày cuối tuần vui.
Cảm ơn vì sự giúp đở của bác .
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Anh Hai oi giúp

Mình tình cờ copy một đoạn tạo dữ liệu như sau :

Câu 1: Tạo CSDL Restaurant và 3 bảng trên. Tên CSDL là Restaurant
- Các rằng buộc khóa ngoài: khi sửa khóa chính bảng cha, thì tự động cập nhật khóa ngoài bảng con. Khi xóa dòng dữ liệu bảng cha thì tự động xóa dòng dữ liệu bảng con.
- price, quantity và unitprice lớn hơn 0, inventory lớn hơn hoặc bằng 0.


CREATE DATABASE restaurant;

CREATE TABLE menuitems (
itemid CHAR(5) PRIMARY KEY,
name VARCHAR(30),
price NUMERIC(5,2),
dateadded DATE DEFAULT CURRENT_DATE
);

CREATE TABLE ingredients (
ingredientid CHAR(5) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
unit CHAR(10),
unitprice NUMERIC(5,2),
foodgroup CHAR(15) CHECK (foodgroup IN ('Milk', 'Meat', 'Bread',
'Fruit', 'Vegetable')),
inventory INTEGER DEFAULT 0,
vendorid CHAR(5),
CHECK (unitprice * inventory <= 4000),
FOREIGN KEY(vendorid) REFERENCES vendors(vendorid) INITIALLY DEFERRED
);

CREATE TABLE madewith (
itemid CHAR(5) REFERENCES items(itemid) INITIALLY DEFERRED,
ingredientid CHAR(5) REFERENCES ingredients INITIALLY DEFERRED,
quantity INTEGER DEFAULT 0 NOT NULL,
PRIMARY KEY(itemid, ingredientid)
);

CREATE VIEW menuitems AS
(SELECT m.mealid AS menuitemid, m.name, CAST(SUM(price * (1 - discount)) AS NUMERIC(5,2)) AS price
FROM meals m LEFT OUTER JOIN partof p ON m.mealid = p.mealid
LEFT OUTER JOIN items i ON p.itemid = i.itemid
GROUP BY m.mealid, m.name)
UNION
(SELECT itemid, name, price
FROM items);


Câu 2: Viết Stored Procedure để đưa ra các món ăn có giá cao nhất, đặt tên là usp_GetTopPriceItems
- Đầu vào: 1 số nguyên n
- Kết quả đưa ra: Đưa ra n món ăn có giá cao nhất


Câu 2:
Create Proc usp_GetTopPriceItems(@n int)
As
Begin
Select Top(@n)* From MenuItems Order By Price Desc
End


Mình đặt form thống kê món ăn trong MS Access đoạn code khai bao trong MS access viết như thế nào gọi Stored Procedure trong SQL .

Khi minh khai bao bien là : dim ketnoi as new ADO

MS Access báo lỗi mình vào refrences để mở thêm nhưng cũng không được giúp với !

Thanks
 
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Giúp kết nối vào SQL 2000

Mình sưu tầm đoạn code như sau để kết nối vào SQL 2000 nhưng không hiểu về nó nến cũng không dùng được mong các anh chị chỉ giúp


Private Sub Command1_Click()

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=QLyDuAn;Data Source=."
cn.CursorLocation = adUseClient
cn.Open
rs.Open "select * from dm_khach", cn, 3, 3

End Sub

Anh chị giải thích giúp mình ý nghĩa đoạn code phần in đậm
ý nghĩa của các dòng sau :


- Provider=SQLOLEDB.1
- Integrated Security=SSPI
- Persist Security Info=False
- Initial Catalog=QLyDuAn
- Data Source=.

- cn.CursorLocation = adUseClient

- rs.Open "select * from dm_khach", cn, 3, 3

Cảm ơn các anh chị nhiều
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Không có bác nào giúp vậy cà !
Cái MS access project dùng làm gì vậy các bác?
Có phải mình tạo form từ access không thể gọi Stored Procedure trong SQL 2000 đúng không các bác
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
ĐỖ SƠN HẢI cần học cơ bản đi. Mình viết ở trên rồi mà. Không phải Access call Store Proc chung chung thế được.

Mình đã viết là

Ngôn ngữ lập trình --> Database Engine --> CSDL quản lý bởi Hệ quản trị CSDL
Tức là bạn cần học các Database Engine (DAO, RDO, ADO, ...) được thực hiện trong VB(A) như thế nào (cụ thể là trong Access)

Tại sao mình ko tiếp tục trả lời? Vì với câu hỏi trên thì mình nghĩ có lẽ bạn cần đọc sách trước thật. Thôi thì đọc mấy quyển sách tiếng Việt cho dễ hiểu. Ví dụ: Kiến trúc objects của ADO là gì? Connection, Command, Recordset, v.v...
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Các bác cho mình hỏi một câu có thể không thuộc chủ đề .
Các xếp mình ngồi TPHCM có thể nhìn thấy hoạt động ở resort đồng thời giúp cho các kiểm soát dễ giám sát công việc .
Mình có lắp hệ thống camera truyền hình ảnh qua mạng internet để xếp ngồi nhìn. Nguyên tắc có an tòan không các bác.
 
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Gui Anh Hai2hai

Đụng đến SQL 2000 quả là nhức đầu thật, ước gì Ông Văn Thông cũng viết SQL thì dễ tiếp cận hơn.

Tự học chắt đến tết công gô cũng chưa hiểu đâu anh hai2hai ạ. Nhưng không học sợ bị tục hậu bởi quy luật đào thải.

Các bác có tác phẩm nào giới thiệu dùm mình tên sách và nhà sách thôi vì ở cái tỉnh lẻ này đi tìm một cuốn SQL khó quá .

Tuy vất vã nhưng vui cảm ơn anh hai2hai nhiều vì từ đầu chủ đề đến giờ chỉ mỗi anh trả lời ước gì chủ đề này có nhiều người tham dự .
 
L

LoveBlue

Sơ cấp
31/3/08
23
1
3
TP.HCM
thuthuataccess.com
Mình thấy cái Book Online của SQL server khá đầy đủ, lại hỗ trợ sẵn. Nếu bạn đọc được tiếng Anh thì nên xem qua
 
L

lehongduc

Trung cấp
29/3/05
131
1
18
64
VietNam
Sử dụng Access hay SQL?

Table access của mình hiện đang lên đến khoảng 34000 records và đang ngày càng tăng dần. Với việc chia sẻ Database cho khoảng 5 người dùng nữa thì việc xử lý (Update, thêm...) các records sẽ rất chậm. Mọi người có cách nào không? Mình đã từng nghĩ đến SQL server nhưng chưa tìm hiểu được nó? Không biết khi dùng nó thì có nhanh hơn không nhỉ?

Xin chào các Bạn,
Theo tôi, Phương án tối ưu là: sử dụng Microsoft SQL Server với Microsoft Access.
Trong đó:
+ Toàn bộ việc tổ chức và xử lý dữ liệu sẽ do Microsoft SQL Server đảm nhiệm;
+ Microsoft Access (từ 2000 trở về sau): sẽ đảm nhiệm vai trò là cái vỏ bên ngoài của ứng dụng, với các công cụ: Forms, Reports, Pages (như trang web), modules.
Lúc này, file ứng dụng của bạn không phải là mdb mà là adp (Microsoft Developed Access projects)

Nếu muốn sử dụng công cụ này các Bạn cũng đừng ngại gì cả , bởi vì để bán được hàng nên Bác Bill đã chuẩn bị sẵn cho chúng ta 1 file ứng dụng mẫu (tương đối hoàn chỉnh cho việc quản lý bán hàng đơn giản) và toàn bộ đều là "mã mở", được tích hợp sẵn khi ta cài đặt Microsoft Access. Nó nằm ở vị trí sau:
Program Files\Microsoft Access\Office10\Samples\NorthwindCS.adp

Chú ý:
+ Bạn thấy đường dẫn trên có Office10 là tương ứng với MS. Access 2002 (Xp), với các Office khác sẽ là Office(n).
+ Trên máy tính, các bạn phải cài đặt và cho chạy Microsoft SQL Server, thường là version 2000 trở về sau. Ít nhất cũng phải là Engine của Microsoft SQL Server (MSDE, có sẵn trên cd cài MS. Access).
+ Ngay lần khởi động NorthwindCS.adp đầu tiên ứng dụng này sẽ tự động cho lập database tương ứng trong Microsoft SQL Server (nếu chưa có và Bạn đồng ý).
Tập lệnh nguồn để ứng dụng làm được việc này chính là file: NorthwindCS.SQL, cũng được lưu cùng vị trí nêu trên.

Vậy là: muốn "xơi" được cái của này các Bạn phải "xơi được" ở trình độ "thật ngọt" cả 2 vũ khí: Microsoft SQL Server và Microsoft Access.

Và đây là tài liệu đáng để bạn tham khảo về vấn đề này: eBook "Microsoft Access Projects and Microsoft SQL Server". Có thể tải về từ link sau:
http://www.mediafire.com/download.php?e2znmylmm2i

Bạn nào muốn tham khảo tài liệu tiếng Việt về việc truy xuất file data của Microsoft SQL Server: xin mời tham khảo tài liệu của Anh Lê Văn Duyệt tại link sau:
http://www.giaiphapexcel.com/forum/showthread.php?t=11669

Chúc sức khoẻ cả nhà.
Lê Hồng Đức
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Cảm ơn Loveblue, anh hai2hai và bác lehongduc.

Em hien đang làm việc resort 4 sao sắp đến mở rộng có thể 5 sao tại múi né phan thiết.
Gần như toàn bộ hệ thống em quản lý bằng access mới bèo chứ, có vài phần mềm em biết như : tourist soft, fedeleo(ten không rành ), smiller , netviet , asia soft . bravvo ....

Sau khi trình chu dau tu ho cung cho chay demo sau do im như hến, cac bac co kinh nghiem tu van giup nen chon phan mem nao tot cho quan ly resort .

Công việc khá vất vã tuy nhiên cũng có lúc em nghĩ tại sao không gộp hết dữ liệu về SQL 2000.Thay vì lưu từng file trên MS Access nhờ bác hai2hai em tiếp cận SQL nhưng khó " sơi " nay có thêm bác hongduc tu vấn huy vọng các bạn có chung cảnh ngộ như mình có hướng để mà tìm hiểu .

Mong chihienphuco va BiDIT và các anh chị khác cùng bàn luận chủ đề !

Nhờ anh hai2hai em tìm hiểu ADO trong giaiphapexcel của bác Levanduyet nhưng tải về lại không biết cách mở.
 
Sửa lần cuối:
Đ

ĐỖ SƠN HẢI

Guest
10/10/06
130
0
0
45
Phan Thiết
Trở lại vấn đề phần mềm tại sao chủ đầu tư lại không chọn một phần mềm quản lý trong khi ho tốn hàng triệu USD để đầu tư mở resort .

Vì mỗi một tập đoàn quản lý khách sạn lại có một phần mềm riêng như accord (khong ranh ten - he thong novotel and sofitel ) , life , hoang anh gia lai , victoria.

Không phải vì chủ đầu tư bên em tiết tiền đâu vì cón phụ thuộc vào cái hợp đồng quản lý còn dang dở.

Nếu đầu tư 10.000->15.000 USD là có một phần mềm rồi tuy nhiên còn phụ thuộc vào Group quản lý nữa .

Mong rằng các bác có kinh nghiệm tư vấn giúp tìm một phần mềm tốt không quá tây mà chuyên nghiệp .

Các phần mềm trên đều có những hạn chế : như smiller (linh động , nhưng hay mất phiếu ), tourist soft (thì không nâng cấp được - chỉ dùng được phần office ) , bravo nghiên về kế toán ( không chuyên về sesort ) Netviet ( mình dùng một phần , it mẫu biểu báo cáo và tính phân quyền còn đơn giản ), asia soft viet bang cong nghe .net chưa dùng chưa biết được ................. con fideleo thi tay nhieu qua va yeu cau thao tac du lieu cua nhan vien kha nhieu.

Vi mình là người làm kế toán nên đôi khi nhận xét phần mền chỉ nhìn trên một khía cạnh nếu có chạm đến ai xin được bỏ lỗi giúp !
 
Sửa lần cuối:
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Mong rằng các bác có kinh nghiệm tư vấn giúp tìm một phần mềm tốt không quá tây mà chuyên nghiệp
Thực ra box này ko cho phép quảng cáo, nhưng SP mà tôi từng quảng cáo trên WKT (Dĩ nhiên ko phải là VNUNI SIC rồi vì SIC chỉ thiên cho thương mại) có thể đảm nhiệm các công việc sau:

- Kế toán (chuyên sâu về sản xuất)
- Nhà hàng (cũng rất mạnh)
- Siêu thị
- Khách sạn
- Và có thể nâng cấp quản lý các resort theo yêu cầu (bài toán này chúng tôi nhiên cứu qua một số KH lớn và cũng tiếp cận viết nhiều phần rồi)

Nhưng mà...chỗ Đỗ Sơn Hải xa quá...

Đối với tôi, mấy ngôn ngữ lập trình không quan trọng, quan trọng là kiến trúc của ứng dụng, tư duy viết phần mềm, hiểu biết quy trình phần mềm và quan trọng nhất: Tính cẩn thận (hầu hết rất nhiều người ko thể pass qua được yếu tố này khi tôi nhận người đó làm PM cho tôi).
 
Sửa lần cuối:

Xem nhiều

Webketoan Zalo OA