-
08-16-2010, 01:47 AM #1Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
1 bài tập cơ bản của Access mà mình ko hiểu...
Mình mới học access được 3 ngày. ban đầu thầy có giảng phần khoá chính nhưng mình không hiểu lắm:roile:....
Chẳng hạn như để quản lý sinh viên trong trường học thì cần có Mssv và mssv là khoá chính vì không được trùng lặp. nhưng khi thi cử thì mssv lại không là khoá chính vì không phải sinh viên chỉ thi 1 môn . đó là lời thầy mình giảng nhưng mình chả hiểu gì cả. Trường hợp đó cũng như trường hợp của bảng chấm công sau đây: Để quản lý nhân viên trong công ty thì mã nhân viên cần phải thiết lập khoá chính, nhưng khi chấm công thì lại không thiết lập khoá chính cho mã nhân viên. Mình ko hiểu sao lại thế nữa. Bạn nào rành rọt dìa access cũng như khoá chính của nó thì giải đáp thắc mắc dùm mình nha.
Đây là bài tập về bảng chấm công của mình. Nó còn bảng hồ sơ nhân viên nữa nhưng trường hợp này mình hiểu vì khoá chính là mã nhân viên. Còn trường hợp bảng cấm công thì mình hỏng hiểu. Đề cho sẵn là cái bảng đó không hề có khoá chính :roile:
Chỉ mình nha mấy bạn . Cảm ơn các bạn:kissanh:View more random threads:
- Khi thay đổi Back End thì LINK Table làm sao nó cập nhật đúng
- Giúp câu lệnh "Between...and..."
- Cần Giúp đỡ về giải thuật Xuất-Nhập-Tồn từ ngày này đến ngày kia
- Một hàm tự viết thay thế cho DLOOKUP của Access
- [Help] Về refresh dữ liệu trong access 2007
- cần giúp đỡ về bài này
- Lấy dữ liệu từ một form sang form khác
- tạo nút lọc và đánh số tự động
- Kiểm tra dùm mình hàm DLookup() nhe
- Requery đối tượng trong Subform
-
08-16-2010, 02:49 AM #2Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 6
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
Khoá chính : có thể hiểu nó là một bí danh của dòng dữ liệu đó. Đã là bí danh thì không được trùng. Một bảng có thể có nhiều khoá chính hoặc không có khoá chính nào. Nếu như có nhiều khoá chính thì tất cả các dữ liệu của các khoá chính trên dòng này không được trùng với tất cả các dữ liệu của khoá chính trên dòng khác. Hay nói một cách nôn na cho dễ hiểu, trên bảng có bao nhiêu khoá chính thì kệ nó, ta cứ tưởng tượng rằng tất cả các khoá chính đó nối lại với nhau thành một khoá chính và cái này là cái "bí danh" để phân biệt dòng này với dòng khác.
Trong bảng chấm công vì có thể trùng lặp ngày công,có nhiều người 24 công trong tháng chẳng hạn,nên nếu bạn đặt khoá chính thì gây ra trùng lắp.Không nhất thiết!
-
08-16-2010, 03:51 AM #3Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
Gửi bởi trung87
Àh và cái bảng của mình đưa ra là ko có 1 cái khoá chính nào cả..hì
-
08-16-2010, 05:47 AM #4Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
sao lại không?bạn ko hiểu bản chất của khoá chính rùi.Bạn đọc sách và hỏi thầy thêm nha.
-
08-16-2010, 06:07 AM #5Silver member
- Ngày tham gia
- Sep 2015
- Bài viết
- 16
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
Gửi bởi trung87
À mà đặt nhiều khoá chính có phải ở phần nâng cao ko bạn :xinloinhe:
-
08-16-2010, 04:32 PM #6Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
Gửi bởi hotmit***
Ví dụ, nếu bạn có 3 người bạn có cùng họ Phạm, bạn không thể sử dụng tên họ là khóa chính. Tương tự như vậy, nếu tất cả đều sống ở Hồ Chí Minh, bạn không thể sử dụng thành phố là một khóa chính. Tuy nhiên, họ có các số điện thoại riêng cố định nên có thể sử dụng trường điện thoại làm khóa chính.
Khi chọn một trường làm khóa chính, bạn nên lựa chọn trường gần như là duy nhất thì tốt hơn, bất chấp việc bạn cho phép lặp lại hay không.
Ngoài ra, có thể sử dụng nhiều trường để xác định khóa. Tuy nhiên, bạn không thể sử dụng Table Wizard để làm việc đó. Thay vì vậy, bạn phải tạo bảng bằng tay.
Một khóa chính được xác định để Access sắp xếp thông tin trong bảng. Mặc dù bạn không cần định nghĩa khóa chính, Access sẽ thực hiện chức năng này có hiệu quả hơn nếu bạn định nghĩa khóa chính đó. Sử dụng một khóa chính, Access có thể định vị và hiển thị bản ghi rất nhanh. Thực hiện sự cải tiến này sẽ rất quan trọng khi bạn thêm nhiều bản ghi vào cơ sở dữ liệu.
Access cho phép xác định cả khóa duy nhất lẫn khóa không phải duy nhất. Sử dụng khóa duy nhất tốt hơn vì nó cải thiện được thời gian tìm kiếm. Tuy nhiên, có thể có tình huống khóa duy nhất là không được. Ví dụ, bạn muốn dùng tên thành phố làm khóa. Một khi có nhiều thành phố cùng tên đó, bạn muốn chỉ rõ khóa đó không phải là duy nhất
-----------------------------------------------------------------------------------------
Gửi bởi hotmit***
http://baigiang.violet.vn/present/show?entry_id=3290420
Thân
-
08-16-2010, 11:20 PM #7Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
Nếu theo định nghĩa một cách chính quy thì các bạn sẽ phải "học chính quy" mới có thể hiểu một cách chính quy. :xinloinhe:
Nhưng nếu hiểu theo kiểu giang hồ thì như thế này:
Khóa chính (Primary Key) là một thiết lập dùng để phân biệt sự khác nhau giữa 2 record. Nó giống như "đặc điểm nhận dạng" vậy đó.
VD: Để quản lý nhân khẩu, mỗi người có một số CMND. Để quản lý thuế thu nhập cá nhân, mỗi người có một mã số thuế vậy.
Ngoài chức năng đó, trong CSDL quan hệ, khóa chính còn được sử dụng để làm khóa quan hệ giữa table đó với một hay nhiều table khác.
Đặc tính của khóa chính là:
Có thể lấy giá trị của một hay nhiều field của table để làm khóa quan hệ
Giá trị của field làm khóa chính (hoặc giá trị ghép nếu khóa chính nhiều field) không được Null và không được trùng lặp ở những record khác nhau.
Tùy theo tính chất của table mà chúng ta thiết lập khóa chính. VD:
Quản lý nhân viên: dùng mã số nhân viên làm khóa chính trong table hồ sơ nhân viên
Quản lý học sinh: dùng mã số học sinh làm khóa chính trong table hồ sơ học sinh
...
-
08-18-2010, 12:02 AM #8Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 1
Ðề: 1 bài tập cơ bản của Access mà mình ko hiểu...
Vấn đề để bạn xác định đâu là khoá chính và tại sao phải đặt khoá chính la như thế này. Khi bạn bắt đầu xây dựng 1 CSDL, bạn phải tự trả lời cho mình CSDL của mình phải có mấy thực thể ( Entity ) và mỗi thực thể phải có những thuộc tính gì (attribute ).
Vi dụ : CSDL bán hàng chẳng hạn có 2 thực thể Mặt hàng và Giao dịch
Thực thể Mặt hàng có thuộc tính mã item, tên items, giá nhập, giá bán, ngày mua...
Thực thể Giao dịch có thuộc tính mã giao dịch, ngày giao dịch, người bán,tổng tiền...
Và 2 thực thể này quan hệ với nhau theo kiểu nhiều - nhiều .Vì 1 giao dịch có thể bán nhiều mặt hàng, và 1 mặt hàng có thể được bán bởi nhiều giao dịch. Và giữa chúng sẽ phát sinh mối quan hệ gọi là Chi tiết giao dịch.
Chi tiết giao dịch có mã item, mã giao dịch, ten mặt hàng,giá bán...
Và tại sao phải đặt khóa chính cho 2 thực thể Mặt hàng và Giao dịch, vì để phân biệt tính duy nhất cho mỗi đối tượng, mỗi mặt hàng.
Nguyên tắc đặt khóa chính bạn sẽ dựa vào trường nào có giá trị là duy nhất, như mã sản phẩm chẳng hạn. Những thực thể nào có từ 2 khóa chính người ta gọi là Khóa tổ hợp ( Composite key ) , còn những khóa có thể làm khóa chính gọi là khóa Ứng viên ( Candidate key).
Sau khi đặt khóa chính cho 2 thực thể trên, tiếp đó bạn phải đặt khóa cho mối quan hệ Chi tiết giao dịch, với mối quan hệ bạn hoặc là để cả 2 khóa chính(khóa tổ hợp) hoặc không. Lý do đơn giản thế này nếu bạn lại đặt mã item trong Chi tiết giao dịch là khóa chính thì mối quan hệ của Chi tiết giao dịch và Mặt hàng sẽ là quan hệ 1 - 1 và như thế xuất hiện lỗi vì bạn chỉ có thể bán 1 mặt hàng 1 lần duy nhất, rồi đóng cửa hàng nghỉ hưu. Vì nó là bản ghi chính thì nó sẽ không cho trùng lặp.
Địa chỉ cung cấp mẫu lăng mộ đá khu lăng mộ uy tín chất lượng Đá mỹ nghệ Tài Tuệ là đơn vị hàng đầu trong lĩnh vực điêu khắc chế tác các sản phẩm, công trình tâm linh bằng đá tại làng đá truyền...
Địa chỉ cung cấp mẫu lăng mộ đá khu lăng mộ uy tín chất lượng năm 2024