Мазмұны:

Шетелдік кілт бағанына нөл мәнді енгізе аламыз ба?
Шетелдік кілт бағанына нөл мәнді енгізе аламыз ба?

Бейне: Шетелдік кілт бағанына нөл мәнді енгізе аламыз ба?

Бейне: Шетелдік кілт бағанына нөл мәнді енгізе аламыз ба?
Бейне: SQL для тестировщика —CREATE TABLE, INSERT, UPDATE и др. 2024, Мамыр
Anonim

Сыртқы кілттегі NULL мәндері

А шетелдік кілт бұл кімдікі бағандар ЕМЕС NULL мүмкін қамтиды NULL мәндері , тіпті бастапқы болса да кілт жоқ NULL мәндері . Осылайша, енгізуге болады кестеге жолдар, тіпті олардың шетелдік кілт әлі белгісіз.

Сол сияқты біреу сұрауы мүмкін, біз шетелдік кілт бағанына нөлді енгізе аламыз ба?

А шетелдік кілт қамтитын null мәндер басты мәндерге сәйкес келмейді кілт , ата-анасынан бері кілт анықтамасы бойынша алады жоқ null құндылықтар. Алайда, а null сыртқы кілт мән әрқашан жарамды, оның кез келген мәніне қарамастан null бөліктері. Үстел алады көп бар шетелдік кілттер.

Сонымен қатар, Oracle бағдарламасында сыртқы кілт нөл болуы мүмкін бе? Нөлдер және Шетелдік кілттер Реляциялық модель мәніне рұқсат береді шетелдік кілттер сілтеме жасалған негізгі немесе бірегейге сәйкес келеді кілт мән, немесе болуы null . Композиттің кез келген бағанасы болса шетелдік кілт болып табылады null , содан кейін емес null бөліктері кілт ата-ананың кез келген сәйкес бөлігіне сәйкес келудің қажеті жоқ кілт.

Адамдар сонымен қатар шетелдік кілт нөлдік MySQL болуы мүмкін бе?

5 Жауаптар. NULL мәндері шетелдік кілттер толығымен қабылданады. NULL мәндерімен жұмыс істеу шетелдік кілттер қиын, бірақ бұл сіз мұндай бағандарды ЕМЕС деп өзгертесіз дегенді білдірмейді NULL және анықтамалық кестелеріңізге жалған жазбаларды («Жоқ», «Белгісіз», «Мән жоқ» т.б.) енгізіңіз.

Бағанда бірнеше сыртқы кілт болуы мүмкін бе?

Теориялық тұрғыдан сіз алады орындамау бірнеше шетелдік кілт жалғызда баған . Немесе сіз алады бар енгізуді растайтын процедураларды қолдану арқылы оны орындаңыз бірнеше кесте және қажетті операцияны орындаңыз.

Ұсынылған: