คำถามติดแท็ก constraints

ข้อ จำกัด คือเงื่อนไขที่ต้องปฏิบัติตามบริบทที่กำหนด โดยทั่วไปข้อ จำกัด จะใช้ในฐานข้อมูลและภาษาโปรแกรมเพื่อตรวจหาข้อผิดพลาดตรวจสอบความสอดคล้องของข้อมูลความถูกต้องและบังคับใช้ข้อกำหนดทางธุรกิจ

11
ฉันจะใช้ส่วนต่อประสานเป็นข้อ จำกัด ประเภท C # ทั่วไปได้อย่างไร
มีวิธีรับฟังก์ชั่นการประกาศต่อไปนี้หรือไม่? public bool Foo<T>() where T : interface; กล่าวคือ โดยที่ T เป็นประเภทอินเตอร์เฟส (คล้ายกับwhere T : classและstruct) ขณะนี้ฉันได้ตัดสิน: public bool Foo<T>() where T : IBase; ที่ IBase ถูกกำหนดให้เป็นอินเตอร์เฟสว่างที่สืบทอดโดยอินเตอร์เฟสแบบกำหนดเองทั้งหมดของฉัน ... ไม่เหมาะ แต่ควรใช้งานได้ ... ทำไมคุณไม่สามารถกำหนดประเภททั่วไปต้องเป็นส่วนติดต่อได้ สำหรับสิ่งที่คุ้มค่าฉันต้องการสิ่งนี้เพราะFooทำสิ่งที่ต้องการอินเทอร์เฟซชนิด ... ฉันสามารถส่งมันเป็นพารามิเตอร์ปกติและทำการตรวจสอบที่จำเป็นในฟังก์ชั่นของตัวเอง สมมติว่ามีประสิทธิภาพมากกว่านี้เล็กน้อยเนื่องจากการตรวจสอบทั้งหมดเสร็จสิ้นในเวลารวบรวม)

3
วิธีเพิ่มข้อ จำกัด “ เมื่อลบแบบเรียงซ้อน”?
ใน PostgreSQL 8 เป็นไปได้หรือไม่ที่จะเพิ่มON DELETE CASCADESไปยังคีย์ต่างประเทศทั้งสองในตารางต่อไปนี้ # \d scores Table "public.scores" Column | Type | Modifiers ---------+-----------------------+----------- id | character varying(32) | gid | integer | money | integer | not null quit | boolean | last_ip | inet | Foreign-key constraints: "scores_gid_fkey" FOREIGN KEY (gid) REFERENCES games(gid) "scores_id_fkey" FOREIGN …

4
ฉันสามารถสร้างข้อ จำกัด เริ่มต้นที่มีชื่อในคำสั่งเพิ่มคอลัมน์ใน SQL Server ได้หรือไม่
ใน SQL Server ฉันมีคอลัมน์ใหม่ในตาราง: ALTER TABLE t_tableName ADD newColumn NOT NULL สิ่งนี้ล้มเหลวเนื่องจากฉันระบุ NOT NULL โดยไม่ระบุข้อ จำกัด เริ่มต้น ตารางไม่ควรมีข้อ จำกัด เริ่มต้น ในการหลีกเลี่ยงปัญหานี้ฉันสามารถสร้างตารางด้วยข้อ จำกัด เริ่มต้นแล้วลบออก อย่างไรก็ตามไม่มีวิธีใดที่จะระบุว่าข้อ จำกัด เริ่มต้นควรตั้งชื่อเป็นส่วนหนึ่งของคำสั่งนี้ดังนั้นวิธีเดียวที่ฉันจะกำจัดมันคือการมีขั้นตอนการจัดเก็บที่ค้นหาใน sys.default_constraints ตาราง. นี่เป็นสิ่งที่ยุ่งเล็กน้อย / verbose สำหรับการดำเนินการที่มีแนวโน้มที่จะเกิดขึ้นมากมาย ไม่มีใครมีวิธีแก้ปัญหาที่ดีกว่านี้?


14
SQL DROP ข้อ จำกัด คีย์ต่างประเทศของตาราง
ถ้าฉันต้องการลบตารางทั้งหมดในฐานข้อมูลของฉันเช่นนี้มันจะดูแลข้อ จำกัด foreign key หรือไม่? ถ้าไม่ฉันจะดูแลก่อนได้อย่างไร GO IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL DROP TABLE dbo.[Course] GO IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL DROP TABLE dbo.[Student]

4
คำสั่ง“ แทรกหากไม่มีอยู่” ใน SQLite
ฉันมีฐานข้อมูล SQLite ฉันกำลังพยายามแทรกค่า ( users_id, lessoninfo_id) ในตารางbookmarksเฉพาะในกรณีที่ไม่มีทั้งสองอยู่ก่อนในแถว INSERT INTO bookmarks(users_id,lessoninfo_id) VALUES( (SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"'), (SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+" AND cast(starttime AS int)="+Math.floor(result_set.rows.item(markerCount-1).starttime)+") WHERE NOT EXISTS ( SELECT users_id,lessoninfo_id from bookmarks WHERE users_id=(SELECT _id FROM Users WHERE User='"+$('#user_lesson').html()+"') AND lessoninfo_id=( SELECT _id FROM lessoninfo WHERE Lesson="+lesson_no+"))) …

4
Ruby on Rails: ฉันจะเพิ่มข้อ จำกัด ที่ไม่ใช่ null ในคอลัมน์ที่มีอยู่โดยใช้การย้ายข้อมูลได้อย่างไร
ในแอพ Rails (3.2) ของฉันฉันมีตารางมากมายในฐานข้อมูลของฉัน แต่ฉันลืมที่จะเพิ่มข้อ จำกัด ที่ไม่เป็นโมฆะ ฉัน googled ไปรอบ ๆ แต่ฉันไม่พบวิธีเขียนการย้ายข้อมูลที่เพิ่มค่าว่างในคอลัมน์ที่มีอยู่ TIA

3
ข้อ จำกัด เฉพาะที่อนุญาตให้มีค่าว่างใน MySQL
ฉันมีฟิลด์ที่เก็บรหัสผลิตภัณฑ์ รหัสไม่ซ้ำกัน แต่ผลิตภัณฑ์บางอย่างไม่มีรหัส ฉันประดิษฐ์รหัสไม่ได้เพราะเป็นรหัสผู้ให้บริการ ข้อ จำกัด แบบนี้เป็นไปได้ไหมใน MySQL ฉันเป็น noob ที่มีขั้นตอนการจัดเก็บและทริกเกอร์ดังนั้นหากการแก้ปัญหาเกี่ยวข้องกับข้อใดข้อหนึ่งโปรดอดใจรอ อัปเดต: คอลัมน์ไม่เป็นโมฆะ นั่นเป็นเหตุผลที่ฉันไม่สามารถทำสิ่งนี้ได้

4
สืบทอดมาจากคลาสพื้นฐานทั่วไปใช้ข้อ จำกัด และใช้อินเทอร์เฟซใน C #
นี่คือคำถามเกี่ยวกับไวยากรณ์ ฉันมีคลาสทั่วไปที่สืบทอดมาจากคลาสพื้นฐานทั่วไปและกำลังใช้ข้อ จำกัด กับพารามิเตอร์ชนิดหนึ่ง ฉันยังต้องการให้คลาสที่ได้รับมาใช้อินเทอร์เฟซ สำหรับชีวิตของฉันดูเหมือนว่าฉันไม่สามารถเข้าใจไวยากรณ์ที่ถูกต้องได้ นี่คือสิ่งที่ฉันมี: DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... } สิ่งแรกที่นึกถึงคือ: DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar, IFoo { ... } แต่นั่นไม่ถูกต้องเนื่องจากทำให้ T2 จำเป็นต้องใช้ทั้ง IBar และ IFoo ไม่ใช่ DerivedFoo เพื่อใช้ IFoo ฉันได้ลองใช้ Googling ใช้เครื่องหมายทวิภาคอัฒภาค ฯลฯ แล้ว แต่กลับสั้นลง ฉันแน่ใจว่าคำตอบนั้นง่ายมาก

2
Postgresql: ข้อ จำกัด ที่ไม่ซ้ำกันตามเงื่อนไข
ฉันต้องการเพิ่มข้อ จำกัด ที่บังคับใช้ความเป็นเอกลักษณ์ในคอลัมน์ในส่วนหนึ่งของตารางเท่านั้น ALTER TABLE stop ADD CONSTRAINT myc UNIQUE (col_a) WHERE (col_b is null); WHEREส่วนข้างต้นเป็นคิดนึก วิธีใดในการทำเช่นนี้ หรือฉันควรกลับไปที่กระดานวาดภาพเชิงสัมพันธ์?

6
แสดงชื่อของข้อ จำกัด ทั้งหมดสำหรับตารางใน Oracle SQL
ฉันได้กำหนดชื่อสำหรับแต่ละข้อ จำกัด สำหรับหลายตารางที่ฉันสร้างใน Oracle SQL ปัญหาคือการที่จะวางข้อ จำกัด สำหรับคอลัมน์ของตารางใดตารางหนึ่งฉันจำเป็นต้องรู้ชื่อที่ฉันให้ไว้สำหรับข้อ จำกัด แต่ละข้อซึ่งฉันลืมไปแล้ว ฉันจะแสดงชื่อของข้อ จำกัด ทั้งหมดที่ฉันระบุไว้สำหรับแต่ละคอลัมน์ของตารางได้อย่างไร มีคำสั่ง SQL สำหรับการทำเช่นนั้นหรือไม่?

4
จะสร้างดัชนีเฉพาะในคอลัมน์ NULL ได้อย่างไร?
ฉันใช้ SQL Server 2005 ฉันต้องการ จำกัด ค่าในคอลัมน์ให้ไม่ซ้ำกันในขณะที่อนุญาต NULLS โซลูชันปัจจุบันของฉันเกี่ยวข้องกับดัชนีเฉพาะในมุมมองดังนี้: CREATE VIEW vw_unq WITH SCHEMABINDING AS SELECT Column1 FROM MyTable WHERE Column1 IS NOT NULL CREATE UNIQUE CLUSTERED INDEX unq_idx ON vw_unq (Column1) มีความคิดที่ดีกว่านี้ไหม

1
การประกาศข้อ จำกัด เริ่มต้นเมื่อสร้างตาราง
ฉันกำลังสร้างตารางใหม่ใน Microsoft SQL Server 2000 โดยเขียนโค้ดแทนการใช้ GUI ฉันกำลังพยายามเรียนรู้วิธีการทำ "วิธีการด้วยตนเอง" นี่คือรหัสที่ฉันใช้จริงและใช้งานได้ดี: CREATE TABLE "attachments" ( "attachment_id" INT NOT NULL, "load_date" SMALLDATETIME NOT NULL, "user" VARCHAR(25) NOT NULL, "file_name" VARCHAR(50) NOT NULL, CONSTRAINT "pk_attachments" PRIMARY KEY ("attachment_id"), CONSTRAINT "fk_users" FOREIGN KEY ("user") REFERENCES "users" ("user"), CONSTRAINT "ch_load_date" CHECK ("load_date" < GETDATE()) ) …

3
อัปเดตชื่อข้อ จำกัด ใน PostgreSQL
เป็นไปได้ไหมที่จะเปลี่ยนชื่อข้อ จำกัด ใน Postgres ฉันมี PK เพิ่มด้วย: ALTER TABLE contractor_contractor ADD CONSTRAINT commerce_contractor_pkey PRIMARY KEY(id); และฉันต้องการใช้ชื่ออื่นเพื่อให้สอดคล้องกับส่วนที่เหลือของระบบ ฉันจะลบข้อ จำกัด PK ที่มีอยู่และสร้างใหม่ได้หรือไม่? หรือมีวิธีจัดการแบบ 'มั่วนิ่ม' หรือไม่? ขอบคุณ!

9
ข้อ จำกัด ของฐานข้อมูลคืออะไร? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ คำจำกัดความที่ชัดเจนของข้อ จำกัด ของฐานข้อมูลคืออะไร? เหตุใดข้อ จำกัด จึงมีความสำคัญสำหรับฐานข้อมูล ประเภทของข้อ จำกัด คืออะไร?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.