மூன்றாம் இயல்பு வடிவம் (3NF) என்பது தரவுத்தளக் கொள்கையாகும், இது தரவுத்தள இயல்புநிலைத் தரநிலைகள் (1NF) மற்றும் இரண்டாம் இயல்பான படிவம் (2NF) வழங்கிய தரவுத்தள இயல்புக் கொள்கைகள் மீது கட்டமைப்பதன் மூலம் தரவரிசைப்படுத்துகிறது.
மூன்றாம் இயல்பான படிவம் தேவைகள்
தரவுத்தளத்தின் மூன்றாம் இயல்பு வடிவத்தில் இரு அடிப்படை தேவைகள் உள்ளன:
- தரவுத்தளம் ஏற்கனவே 1NF மற்றும் 2NF இரண்டின் தேவைகளை பூர்த்தி செய்ய வேண்டும்.
- அனைத்து தரவுத்தள நெடுவரிசைகளும் முக்கிய குறியீட்டை சார்ந்து இருக்க வேண்டும், இதன் பொருள் எந்தவொரு நெடுவரிசையின் மதிப்பையும் முதன்மை விசைக்கு மட்டுமே பெற முடியும்.
முதன்மை விசை சார்ந்து பற்றி
அனைத்து நெடுவரிசைகள் முதன்மை விசை சார்ந்ததாக இருக்க வேண்டும் என்பதன் மூலம் நாம் என்னவென்பதை மேலும் ஆராய்வோம்.
ஒரு பத்தியின் மதிப்பு முதன்மை முதன்மை மற்றும் அட்டவணையில் உள்ள மற்றொரு நெடுவரிசையிலிருந்து பெறப்பட்டால், அது 3NF ஐ மீறுகிறது. இந்த நெடுவரிசைகளோடு ஊழியர்களின் அட்டவணை ஒன்றைக் கவனியுங்கள்:
- EmployeeID
- FirstName
- LASTNAME
LastName மற்றும் FirstName இருவரும் EmployeeID இன் மதிப்பை மட்டும் சார்ந்தது? சரி, LastName ஐ FirstName இல் சார்ந்தது? இல்லை, ஏனென்றால் LastName இன் உள்ளார்ந்த எதுவும் ஒன்று FirstName இன் மதிப்பை பரிந்துரைக்கும். FirstName கடந்த பெயரை சார்ந்தது? இல்லை, ஏனென்றால் இது உண்மைதான்: கடைசி பெயர் என்னவாக இருந்தாலும், அது முதல் பெயரின் மதிப்பைப் போல ஒரு குறிப்பை வழங்க முடியாது. எனவே, இந்த அட்டவணை 3NF இணக்கமானது.
ஆனால்,
- VehicleID
- உற்பத்தியாளர்
- மாதிரி
உற்பத்தியாளர் மற்றும் மாடல் வாகீலிட் இருந்து பெற முடியும் - ஆனால் மாடல் உற்பத்தியாளர் இருந்து பெற முடியும், ஏனெனில் ஒரு வாகன மாடல் ஒரு குறிப்பிட்ட உற்பத்தியாளர் மட்டுமே செய்யப்படுகிறது. இந்த அட்டவணை வடிவமைப்பு 3NF இணக்கமற்றது, எனவே, தரவு முரண்பாடுகள் விளைவிக்கும். எடுத்துக்காட்டாக, மாடலை புதுப்பித்து, உற்பத்தியைத் தவறாக அறிமுகப்படுத்தாமல் உற்பத்தியை மேம்படுத்தலாம்.
இது இணக்கமாக செய்ய, நாம் மற்றொரு அட்டவணைக்கு கூடுதல் சார்ந்து நெடுவரிசையை நகர்த்த வேண்டும் மற்றும் அது ஒரு வெளிநாட்டு விசையைப் பயன்படுத்துவதைக் குறிக்க வேண்டும். இது இரண்டு அட்டவணையில் விளைகிறது:
வாகனங்கள் அட்டவணை
கீழே உள்ள அட்டவணையில், மாதிரிஐடி மாதிரிகள் அட்டவணைக்கு வெளிநாட்டு விசை ஆகும்:
- VehicleID
- உற்பத்தியாளர்
- ModelID
மாதிரிகள் அட்டவணை
உற்பத்தியாளர்களுக்கான இந்த புதிய அட்டவணை வரைபட மாதிரிகள். ஒரு மாதிரியை குறிப்பிட்ட எந்த வாகனத் தகவலையும் நீங்கள் புதுப்பிக்க விரும்பினால், இதை அட்டவணையில் செய்வோம், அதற்கு பதிலாக வாகன அட்டவணை.
- ModelID
- உற்பத்தியாளர்
- மாதிரி
3NF மாடலில் பெறப்பட்ட புலங்கள்
அட்டவணையில் உள்ள பிற நெடுவரிசைகளின் அடிப்படையில் கணக்கிடப்பட்ட ஒரு அட்டவணையை ஒரு அட்டவணையை கொண்டிருக்கலாம். உதாரணமாக, இந்த விட்ஜெட்டை கட்டளைகளின் அட்டவணையை கவனியுங்கள்:
- ஆர்டர் எண்
- வாடிக்கையாளர் எண்
- அலகு விலை
- அளவு
- மொத்த
மொத்த இடைவெளியை 3NF இணக்கமானது ஏனெனில் அது முதன்மை விசையை முழுமையாக சார்ந்து இருப்பதை விட, அலகு விலையை அளவு மூலம் பெருக்குவதன் மூலம் பெறப்படுகிறது. மூன்றாவது சாதாரண படிவத்துடன் இணங்க, அட்டவணையில் இருந்து அதை அகற்ற வேண்டும்.
உண்மையில், அது பெறப்பட்டது என்பதால், அதை தரவுத்தளத்தில் சேமித்து வைக்க நல்லது.
தரவுத்தள வினவல்களை நிகழ்த்தும்போது நாம் "பறக்க" அதை கணக்கிடலாம். எடுத்துக்காட்டாக, ஆர்டர் இலக்கங்கள் மற்றும் மொத்த எண்ணிக்கையை மீட்டெடுப்பதற்கு முன்னர் நாம் இந்த வினவலைப் பயன்படுத்தியிருக்கலாம்:
SELECT OrderNumber, WidgetOrders இலிருந்து மொத்தம்இப்போது நாம் பின்வரும் வினவலைப் பயன்படுத்தலாம்:
SELECT OrderNumber, UnitPrice * மொத்தம் WidgetOrders இலிருந்து மொத்தம்சாதாரண விதிகள் மீறாமல் அதே முடிவுகளை அடைய.