எப்படி மைக்ரோசாப்ட் SQL சர்வரில் வெளிநாட்டு விசைகள் உருவாக்க

தரவுத்தளங்களில் உள்ள மிக முக்கியமான கருத்துக்களில் ஒன்று தரவுத்தள அட்டவணைகளுக்கு இடையில் உறவுகளை உருவாக்குகிறது. இந்த உறவுகள் பல அட்டவணையில் சேமிக்கப்பட்ட தரவை இணைக்கும் மற்றும் திறமையான பாணியில் அதை மீட்டெடுப்பதற்கான ஒரு வழிமுறையை வழங்குகிறது. இரண்டு அட்டவணைகள் இடையே ஒரு இணைப்பை உருவாக்க, நீங்கள் மற்றொரு அட்டவணையில் ஒரு பத்தியில் குறிப்பிடும் ஒரு அட்டவணை ஒரு வெளிநாட்டு விசை குறிப்பிட வேண்டும்.

தரவுத்தள அட்டவணைகள் மற்றும் உறவுகள்

தரவுத்தளங்கள் வெறுமனே அட்டவணை அட்டவணைகள் என்று நீங்கள் ஏற்கனவே அறிந்திருக்கலாம், மைக்ரோசாஃப்ட் எக்ஸ்செல் போன்ற ஒரு விரிதாள் நிரலில் ஏற்கனவே நீங்கள் பயன்படுத்தக்கூடியதைப் போலவே. உண்மையில், நீங்கள் கூட ஒரு எக்செல் விரிதாள் ஒரு தரவுத்தள மாற்ற முடியும். தரவுத்தளங்கள் விரிதாள்களிலிருந்து வேறுபடுகின்றன, எனினும், அட்டவணைகளுக்கு இடையே சக்திவாய்ந்த உறவுகளை உருவாக்குவதே அது.

உதாரணமாக, மனித வள ஆதாரங்களைக் கண்காணிக்க ஒரு நிறுவனம் பயன்படுத்தும் ஒரு தரவுத்தளத்தை கவனியுங்கள். அந்த தரவுத்தள ஊழியர்களின் ஒரு அட்டவணையைக் கொண்டிருக்கலாம், அந்த நிறுவனத்தின் ஊழியர்களின் ஒவ்வொரு உறுப்பினருக்கும் கீழ்க்கண்ட தகவல்கள் உள்ளன:

இந்த எடுத்துக்காட்டில், பணியாளர் ஐடி ஒரு தனித்துவமாக உருவாக்கப்படும் முழுமையானது ஒவ்வொரு பணியாளருக்கும் தரவுத்தளத்தில் சேர்க்கப்படும் போது ஒதுக்கப்படும். நிலை ஐடி நிறுவனத்தில் பணியாளரின் நிலைப்பாட்டைக் குறிக்கும் ஒரு வேலை குறியீடாகும். இந்தத் திட்டத்தில், ஒரு ஊழியர் ஒரு நிலையை மட்டுமே வைத்திருக்க முடியும், ஆனால் பல (அல்லது இல்லை) ஊழியர்கள் ஒவ்வொரு நிலையையும் நிரப்பலாம். எடுத்துக்காட்டாக, நீங்கள் ஒரு "காசாளர்" நிலையில் நூற்றுக்கணக்கான ஊழியர்களைக் கொண்டிருக்கலாம்.

தரவுத்தளமானது ஒவ்வொரு நிலைப்பாட்டிற்கும் பின்வரும் கூடுதல் தகவல்களைக் கொண்டிருக்கும் அட்டவணைகளை உள்ளடக்கியது:

இந்த அட்டவணையில் நிலை ஐடி புலம் ஊழியர்களின் அட்டவணையில் பணியாளர் ஐடி புலத்தைப் போலவே உள்ளது - இது தரவுத்தளத்தில் ஒரு நிலை சேர்க்கப்பட்டபோது உருவாக்கப்பட்ட ஒரு தனித்துவமாக உருவாக்கப்படும் முழுமையானது.

நாங்கள் தரவுத்தளத்திலிருந்து ஊழியர்களின் பட்டியலை இழுக்கும்போது, ​​ஒவ்வொரு நபரின் பெயரையும் அவற்றின் தலைப்பையும் கோர இயல்பானதாக இருக்கும். இருப்பினும், இந்த தகவல் பல தரவுத்தள அட்டவணைகளில் சேமித்து வைக்கப்படுகிறது, எனவே அட்டவணைகள் இடையே இருக்கும் உறவைக் கொண்டிருக்கும் ஒரு JOIN வினவலைப் பயன்படுத்தி மட்டுமே அதை மீட்டெடுக்க முடியும்.

அட்டவணையின் கட்டமைப்பை நீங்கள் பார்க்கும்போது, ​​உறவு வரையறுக்கப்படும் புலம் ஒருவேளை தெளிவானது - நிலை ID புலம். ஒவ்வொரு பணியாளருக்கும் ஒரே ஒரு நிலைப்பாட்டைக் கொண்டிருக்க முடியும், நிலைப்பாட்டின் அட்டவணையின் உள்ளீட்டு நுழைவுடனான பதவி ஐடி உட்பட அந்த நிலையை அடையாளம் காணலாம். நிலைப்பாடு அட்டவணையில் முதன்மை விசையாக இருப்பதுடன், இந்த எடுத்துக்காட்டில், நிலை ஐடி களமும் ஊழியர்களின் அட்டவணையில் இருந்து வெளிநாட்டு விசைக்கு வெளிப்புற விசையாகும். தரவுத்தளமானது இந்த அட்டவணையை பல அட்டவணைகள் மூலம் தொடர்புபடுத்தவும், தரவுத்தளத்தில் எந்த மாற்றங்களும் அல்லது சேர்த்தல்களும் தொடர்ச்சியான ஒருமைப்பாட்டை செயல்படுத்துவதை உறுதிப்படுத்தவும் பயன்படுத்தலாம் .

நீங்கள் வெளிநாட்டு விசைகளை அடையாளம் செய்தவுடன், பின்வரும் வினவலைப் பயன்படுத்தி தரவுத்தளத்தில் இருந்து தேவையான தகவலைத் தொடரலாம்.

முதலாவது பெயர், கடைசி பெயர், ஊழியர் இன்டர்நெர் என்ற தலைப்பில் Employees.PositionID = Positions.PositionID

SQL Server இல் வெளிநாட்டு விசைகளை உருவாக்குதல்

தொழில்நுட்ப ரீதியாக, நீங்கள் மேலே உள்ளதைப் போன்ற கேள்விகளைச் செய்யக்கூடிய வெளிப்படையான உறவை வரையறுக்க தேவையில்லை. இருப்பினும், ஒரு வெளிநாட்டு விசை கட்டுப்பாட்டுப் பயன்படுத்தி நீங்கள் வெளிப்படையாக வரையறுத்திருந்தால், தரவுத்தளமானது உங்களுக்கான சில பணியிடங்களைச் செய்ய முடியும்:

இங்கே நீங்கள் SQL சர்வரில் வெளிநாட்டு விசை உருவாக்க எப்படி:

ALTER TABLE ஊழியர்கள் வெளிநாட்டு விசை சேர்க்க (PositionID) குறிப்பிடுகின்ற நிலைகள் (PositionID)

நீங்கள் விதிமுறைகளை சேர்ப்பதன் மூலம் அட்டவணையை உருவாக்கும் போது வெளிநாட்டு விசையை உருவாக்கலாம்:

வெளிநாட்டு விசை குறிப்புகள் நிலைகள் (PositionID)

வெளிநாட்டு விசை நெடுவரிசையின் நெடுவரிசை வரையறையின் முடிவில்.