คำถามติดแท็ก composite-key

13
ฉันจะระบุข้อ จำกัด เฉพาะสำหรับหลายคอลัมน์ใน MySQL ได้อย่างไร
ฉันมีโต๊ะ: table votes ( id, user, email, address, primary key(id), ); ตอนนี้ฉันต้องการทำให้คอลัมน์ผู้ใช้อีเมลที่อยู่ไม่ซ้ำกัน (รวมกัน) ฉันจะทำสิ่งนี้ใน MySql ได้อย่างไร แน่นอนตัวอย่างเป็นเพียง ... ตัวอย่าง ดังนั้นโปรดอย่ากังวลเกี่ยวกับความหมาย

8
วิธีแมปคีย์ผสมกับ JPA และไฮเบอร์เนต
ในรหัสนี้วิธีสร้างคลาส Java สำหรับคอมโพสิตคีย์ (วิธีผสมคีย์ในไฮเบอร์เนต): create table Time ( levelStation int(15) not null, src varchar(100) not null, dst varchar(100) not null, distance int(15) not null, price int(15) not null, confPathID int(15) not null, constraint ConfPath_fk foreign key(confPathID) references ConfPath(confPathID), primary key (levelStation, confPathID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

8
วิธีการสร้างคีย์หลักคอมโพสิตอย่างเหมาะสม - MYSQL
นี่คือตัวอย่างที่ชัดเจนของการตั้งค่าที่เข้มข้นที่ฉันกำลังทำงานด้วย table_1และtable_2ทั้งคู่มีคีย์หลักตัวแทนเพิ่มขึ้นอัตโนมัติเป็น ID infoเป็นตารางที่มีข้อมูลเกี่ยวกับทั้งสองและtable_1table_2 table_1 (id, field) table_2 (id, field, field) info ( ???, field) ฉันพยายามที่จะตัดสินใจว่าผมควรจะทำให้คีย์หลักของinfoคอมโพสิตของรหัสจากและtable_1 table_2ถ้าฉันจะทำสิ่งนี้สิ่งใดที่เหมาะสมที่สุด? (ในตัวอย่างนี้ฉันรวม ID 11209 กับ ID 437) INT(9)11209437 (ฉันจินตนาการได้ว่าทำไมสิ่งนี้ถึงไม่ดี) VARCHAR (10) 11209-437 DECIMAL (10,4)11209.437 หรืออย่างอื่น? นี่จะเป็นการดีถ้าใช้นี่เป็นคีย์หลักในฐานข้อมูล MySQL MYISAM?

2
Postgres: คีย์คอมโพสิตทำอย่างไร?
ฉันไม่เข้าใจข้อผิดพลาดทางไวยากรณ์ในการสร้างคีย์ผสม อาจเป็นข้อผิดพลาดทางตรรกะเนื่องจากฉันได้ทดสอบหลายพันธุ์ คุณสร้างคีย์ผสมใน Postgres ได้อย่างไร? CREATE TABLE tags ( (question_id, tag_id) NOT NULL, question_id INTEGER NOT NULL, tag_id SERIAL NOT NULL, tag1 VARCHAR(20), tag2 VARCHAR(20), tag3 VARCHAR(20), PRIMARY KEY(question_id, tag_id), CONSTRAINT no_duplicate_tag UNIQUE (question_id, tag_id) ); ERROR: syntax error at or near "(" LINE 3: (question_id, tag_id) NOT NULL, ^

2
คีย์คอมโพสิตพร้อมรหัส EF 4.1 ก่อน
ฉันกำลังพยายามหาวิธีการมีคีย์ผสมโดยใช้รหัส EF First 4.1 RC ขณะนี้ฉันใช้คำอธิบายประกอบข้อมูล [คีย์] แต่ฉันไม่สามารถระบุได้มากกว่าหนึ่งคีย์ จะระบุคีย์ผสมได้อย่างไร นี่คือตัวอย่างของฉัน: public class ActivityType { [Key] public int ActivityID { get; set; } [Required(ErrorMessage = "A ActivityName is required")] [StringLength(50, ErrorMessage = "Activity Name must not exceed 50 characters")] public string ActivityName { get; set; } } ฉันต้องการ "ชื่อกิจกรรม" เพื่อเป็นกุญแจด้วย แน่นอนว่าฉันสามารถเขียนโค้ดได้ …

2
คีย์คอมโพสิตเป็นคีย์ต่างประเทศ
ฉันใช้ Entity framework 4.1 ในแอปพลิเคชัน MVC 3 ฉันมีเอนทิตีที่ฉันมีคีย์หลักประกอบด้วยสองคอลัมน์ (คีย์ผสม) และกำลังใช้ในเอนทิตีอื่นเป็นคีย์ต่างประเทศ จะสร้างความสัมพันธ์ได้อย่างไร? ใน scnerios ปกติเราใช้: public class Category { public string CategoryId { get; set; } public string Name { get; set; } public virtual ICollection<Product> Products { get; set; } } public class Product { public int ProductId { get; …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.