2010-01-06 27 views
13

Ví dụ: Tôi có hai bảng trong cơ sở dữ liệu của tôi được gọi là classAlớpB và một bảng được gọi là classA_classB. Cái cuối cùng chỉ định nghĩa hai trường int với khóa ngoài để liên kết giữa classA và classB. Vì vậy, một classA có thể có nhiều classB và nhiều classA có thể liên kết với cùng một classB. Công cụ đơn giản, cho đến nay.Thay thế cho "chính" và "nô lệ" trong mối quan hệ thực thể?

Vấn đề là, trong trường hợp đặc biệt của tôi, tôi có một classA muốn liên kết với một lớp khác. I E. một sinh viên liên kết với bạn bè của mình, là sinh viên là tốt.

So với kỹ thuật trên, tôi có: sinh viênstudent_student. student_student có hai trường: student_id, student_id. Vấn đề: Không thể có hai trường có cùng tên!

Vì vậy, tôi phải gọi cho họ như: master_student_id, slave_student_id.

Nhưng tôi không thích các cụm từ "Chính" và "Slave", bởi vì đây là những lời nhắc đến thời điểm xấu trong thời gian diễn ra của chúng tôi. Nghe có vẻ ngớ ngẩn nhưng tôi nghĩ việc giữ những thứ này không đúng, ít nhất là từ góc độ đạo đức. Tôi biết nó chỉ là một phần của khoa học máy tính hiện đại, ... nhưng ....

làm cách nào khác tôi có thể gọi cho họ?

cha mẹ và con có thể? Ngoài ra tôi không chắc chắn nếu có thực sự một thực thể "trưởng" trong khi khác là "nhân viên" ... Sinh viên và học sinh không phải là phân cấp. Nhưng sau đó, một lần nữa, hãy tưởng tượng chúng tôi có hai lớp "Giáo viên" và "Sinh viên". Đó sẽ là một hệ thống phân cấp rõ ràng. Tuy nhiên, tôi cần một giải pháp trung lập bởi vì khung của tôi đề các mối quan hệ 1: n này theo cùng một cách.

+1

Ổ đĩa cứng kém của tôi trong chế độ nô lệ ... –

+5

Dom và sub? :) hoặc, cho một phiên bản sạch hơn, ăn cắp từ di truyền: chiếm ưu thế và lặn – BobMcGee

+2

@BobMcGee: chiếm ưu thế và lặn có một ý nghĩa hoàn toàn khác. Bạn có thể có lặn mà không có một gen chi phối, bạn không thể có nô lệ mà không có một bậc thầy. – Jimmy

Trả lời

6

Cha mẹ và con hoặc chủ sở hữu và trẻ em là giải pháp được chấp nhận chung.

3

Còn student_id và friend_id thì sao? Không có quy tắc nào nói rằng khóa ngoại của bạn cần phải có cùng tên cột làm khóa chính.

+0

Hãy tưởng tượng một khuôn khổ, nơi bạn tạo Thực thể trong một chương trình phụ trợ trên web. Nó tự động tạo ra mọi thứ và khung công tác không thể biết được bối cảnh chi tiết;) ... đó là lý do tại sao tôi cần một giải pháp "chung chung". – openfrog

1

Vai trò của hai sinh viên trong mối quan hệ là gì? Bạn bè? Mentors? Người quen? Có rất nhiều vai trò có thể họ điền vào.

Bạn có thể liệt kê rất nhiều vai trò có tên không đối xứng.

người bạn, friend_of

cố vấn, mentored_by

giới thiệu, referred_by

2

related_id hoặc associated_student_id sẽ là sở thích của tôi.

1

Phụ thuộc vào mối quan hệ có hay không (cho phép gọi là R) là đối xứng. Nếu vậy thì person1, person2 là tốt vì R (person1, person2) = R (person2, person1). Nếu chúng không đối xứng thì tên có thể phản ánh mối quan hệ "đại lý và bệnh nhân". Vì vậy, hãy sử dụng một từ để biểu thị tác nhân và một để biểu thị bệnh nhân, ví dụ: Befriender, bạn bè.

1

{master-đi theo} thay vì {master-slave}

7

tiêu chuẩn công nghiệp hiện nay có vẻ là {master-đi theo}

thấy tài liệu tham khảo sau đây:

[01]
www.mchotline.com/Reference/MN20B302.pdf

[02]
www.ab.com/linked/drives/drvappsw/files/AppSets_PF700S/AS_PF700S_VirtEncdr_PositMaster_ SL.pdf

[03]
www05.abb.com/global/scot/scot201.nsf/veritydisplay/bd987cd590c931fcc1257249003d8f4f/$file/factfile_master_follower_pd11_lowres.pdf

[04] www05.abb.com/ toàn cầu/Scot/scot201.nsf/veritydisplay/a11e30d538ab1b49c2256def00493279/$ file/en_800stdprg_mfguide_a.pdf

[05] www.danfoss.com/BusinessAreas/DrivesSolutions/MUSEC/

[06] forums.ni. com/t5/Chuyển động-C ontrol-and-Motor-Drives/Chuyển đổi-a-master-follower-type-Cam-Mài-Máy-tới-CNC/td-p/1469070

[07] www.burhansresearch.com/mrcwfdbk1.htm

[08] www.eurekamagazine.co.uk/article/28893/Master-follower-communication-in-ABB-industrial-drives.aspx

[09] www.lockmasters.com/index .asp? PageAction = VIEWPROD & ProdID = 49879

[10] www.perfusion.com/cgi-bin/forum/ TID = 500

điều này cũng có ý nghĩa hơn - không cần phải sử dụng thuật ngữ đáng trách về mặt đạo đức cho sắp xếp điều khiển máy tính/công nghệ ... ví dụ, chúng tôi sẽ chỉ định trình kết nối là "nam" và "nữ ", không phải" nam "và" con điếm ".... cả hai trường hợp" làm cho điểm "theo nghĩa có phần mô tả, tuy nhiên tốt nhất là làm cho điểm sử dụng các thuật ngữ không thể hiểu được về mặt đạo đức hoặc viêm

câu hỏi xuất sắc, btw !

1

dường như có 3 giải pháp thay thế ngành công nghiệp cạnh tranh để làm chủ/nô lệ. đó là:

  • Master/người theo dõi
  • Phụ huynh/trẻ em
  • Primary/Secondary

Tôi nghĩ rằng chính/thứ cấp là lạ bởi vì chúng ta có thể có nhiều thứ. Tôi cảm thấy như sau trung học sẽ là đại học, bậc bốn, vv Quá nhiều đau đớn.

Chủ nhân/Người theo dõi vẫn có ý nghĩa nô lệ/phong kiến ​​mơ hồ.

Điều đó để lại cho chúng tôi chỉ với cha mẹ/con ...nhưng tôi không thực sự thích điều đó bởi vì trẻ em không có khả năng, nhưng có một số trường hợp chúng tôi sẽ phụ thuộc vào trẻ em, không phải là phụ huynh ....

SO, tôi sẽ đề xuất thêm một kết hợp ở đây :

  • Primary/thay thế

Đó đặt tên nên tránh bất kỳ vấn đề nô lệ, giới tính, và đa số.

Các vấn đề liên quan