Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Tại sao lại có sự phân biệt giữa primary key và constrain primary key?

  1. #1
    Ngày gia nhập
    11 2010
    Bài viết
    35

    Mặc định Tại sao lại có sự phân biệt giữa primary key và constrain primary key?

    Mình đã hiểu về primary key nhưng mình thắc mắc tại sao lại có thêm constraint primary key? 2 loại khóa chính này có điểm gì giống nhau, điểm gì khác nhau?
    Cú pháp của 2 khóa này cũng khác nhau:
    1) Đối với constraint:
    Code:
    constraint [tên khóa chính] primary key [(danh sách các thuộc tính làm khóa chính)]
    2) Đối với primary key:
    Code:
    primary key [(danh sách các thuộc tính làm khóa chính)]

  2. #2
    Ngày gia nhập
    03 2011
    Bài viết
    464

    Ý là thế này nhé. Bạn có một bảng có 3 cột. Mã Sản phẩm, tên sp, giá.
    Tất nhiên là cái Mã sản phẩm phải là duy nhất vì nó là khóa chính rồi đúng không. Nhưng nếu mình Insert 1 sản phẩm thành 2 dòng thì bạn nghĩ sao. Ví dụ: SP0001,Máy Tính,1000000 và SP0002 , Máy Tính, 100000 . Đó là suy nghĩ của mình
    bongda24h.tv

  3. #3
    Ngày gia nhập
    11 2010
    Bài viết
    35

    Trích dẫn Nguyên bản được gửi bởi elkidvnn1 Xem bài viết
    Ý là thế này nhé. Bạn có một bảng có 3 cột. Mã Sản phẩm, tên sp, giá.
    Tất nhiên là cái Mã sản phẩm phải là duy nhất vì nó là khóa chính rồi đúng không. Nhưng nếu mình Insert 1 sản phẩm thành 2 dòng thì bạn nghĩ sao. Ví dụ: SP0001,Máy Tính,1000000 và SP0002 , Máy Tính, 100000 . Đó là suy nghĩ của mình
    Nghĩa là sao? mình chẳng hiểu gì cả, bạn có thể giải thích rõ hơn được không?

  4. #4
    Ngày gia nhập
    03 2011
    Bài viết
    464

    Có nghĩa là một hoặc 2 thuộc tính không là nên sự duy nhất của một đối tượng. Vì vậy mà người ta cần nhiều thuộc tính để quy định sự duy nhất của đối tượng.
    bongda24h.tv

  5. #5
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    @ntbao : Primary key và constrainst primary key là 2 khái niệm khác nhau dùng để đề cập 2 vấn đề khác nhau. PK dùng để cho biết cột nào chính, vì trong bảng có n cột, đâu biết những cột nào là khóa, cột nào là data ? Còn Constrainst PK thì cho biết ràng buộc đi chung với khóa. PK và Constrainst PK tuy khác nhau nhưng chúng phải có nhau thì mới tồn tại được. Giống như con mèo và tiếng kêu của nó là "meo meo" vậy đó. Con mèo nói về con vật, "meo meo" là nói về tiếng kêu. 2 Khái niệm hoàn toàn khác nhau. Nhưng hễ là con mèo thì phải có tiếng kêu là "meo meo" mới được. Tương tự như vậy, PK và CPK nói về 2 khái niệm khác nhau. Nhưng đã là PK thì phải có mang ràng buộc CPK. Vấn đề là như thế đó bạn.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  6. #6
    Ngày gia nhập
    03 2009
    Bài viết
    149

    Mặc định Tại sao lại có sự phân biệt giữa primary key và constrain primary key?

    Tôi xin trả lời bạn thế này

    constraint: nghĩa đen là hạn chế. Có nghĩa là tạo ra các ràng buộc sau từ khóa này nó rất rộng và dùng đa dạng trong đó có khống chế cho khóa ngoại, nếu bạn dùng primary key thì cũng là một trường hợp con của constraint (constraint [tên khóa chính] primary key [(danh sách các thuộc tính làm khóa chính)])

    Theo kiến thức cá nhân!
    Sharing for success!

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

  1. Phân việt PRIMARY KEY, IDENTITY, Unique
    Gửi bởi vnrovio trong diễn đàn Thắc mắc MySQL và SQLite
    Trả lời: 4
    Bài viết cuối: 26-03-2014, 11:11 AM
  2. Lấy primary key tự động tăng vừa mới Insert của 1 Table bằng LinQ
    Gửi bởi namnguyen1251 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 12
    Bài viết cuối: 26-06-2013, 11:14 PM
  3. MySQL Error Violation of PRIMARY KEY constraint. Cannot insert duplicate key in object
    Gửi bởi tran_thom trong diễn đàn Thắc mắc MySQL và SQLite
    Trả lời: 3
    Bài viết cuối: 26-11-2011, 11:44 AM
  4. MS SQL với C# K tạo được primary key trong SQL 2010
    Gửi bởi ten_truycap trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 4
    Bài viết cuối: 17-08-2011, 06:31 PM
  5. Xử lý hai primary key trong 1 Table như thế nào?
    Gửi bởi goder2910 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 10-04-2011, 09:51 PM

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