நூற்றுக்கணக்கான பதிவுகள் அல்லது மில்லியன் கணக்கான பதிவுகள் வைத்திருக்கும் ஒரு தரவுத்தளத்துடன் நீங்கள் பணியாற்றுகிறார்களா, முறையான தகவல் வடிவமைப்பு எப்போதும் முக்கியமானது. தகவலை மிக எளிதாக மீட்டெடுப்பது மட்டுமல்லாமல் எதிர்காலத்தில் தரவுத்தளத்தை விரிவாக்குவதையும் எளிதாக்கும். துரதிருஷ்டவசமாக, அது எதிர்காலத்தில் கடினமான காரியங்களைச் செய்யக்கூடிய சில பொறிகளுக்குள் எளிதில் விழுகிறது.
ஒரு தரவுத்தளத்தை இயல்பாக்குவது குறித்த முழு புத்தகங்களும் உள்ளன, ஆனால் நீங்கள் சாதாரண பிழைகளை தவிர்க்கினால், நீங்கள் நல்ல தரவுத்தள வடிவமைப்புக்கு சரியான பாதையில் இருக்க வேண்டும்.
டேட்டாபேஸ் தவறு # 1: ஒரு அட்டவணையில் புலங்களைத் தொடங்குதல்
நல்ல தரவுத்தள வடிவமைப்பிற்கான கட்டைவிரல் அடிப்படை விதி மறுபடியும் தரவுகளை கண்டறிந்து, அவற்றின் சொந்த அட்டவணையில் மீண்டும் மீண்டும் பத்திகளை வைக்க வேண்டும். விரிதாள்களின் உலகிலிருந்து வந்தவர்களுக்காக ஒரு அட்டவணையில் மீண்டும் மீண்டும் வரும் துறைகள் பொதுவாக இருக்கும், ஆனால் விரிதாள்கள் வடிவமைப்பு மூலம் பிளாட் இருக்கும் போது, தரவுத்தளங்கள் தொடர்புடையதாக இருக்க வேண்டும். இது 2D முதல் 3D வரை செல்கிறது.
அதிர்ஷ்டவசமாக, மீண்டும் மீண்டும் வரும் புலங்கள் பொதுவாக கண்டுபிடிக்க எளிதானது. இந்த அட்டவணையை பாருங்கள்
| OrderID | தயாரிப்பு 1 | Product2 | Product3 |
| 1 | டெடி கரடிகள் | ஜெல்லி பீன்ஸ் | |
| 2 | ஜெல்லி பீன்ஸ் |
ஒரு வரிசையில் நான்கு பொருட்கள் இருக்கும்போது என்ன நடக்கிறது? மூன்று தயாரிப்புகளுக்கு மேலதிகமாக, மேலதிக களத்தை மேசைக்கு சேர்க்க வேண்டும். நாங்கள் உள்ளீடு தரவு உதவ மேசை ஒரு கிளையன் பயன்பாடு கட்டப்பட்டது என்றால், நாம் புதிய தயாரிப்பு துறையில் அதை மாற்ற வேண்டும். எப்படி வரிசையில் ஜல்லிபியன்களுடன் ஆர்டர்களைக் காணலாம்? எங்களின் தயாரிப்புகளை SELECT * PRODUCTS WHERE தயாரிப்பு 1 = 'ஜெல்லி பீன்ஸ்' OR தயாரிப்பு 2 = 'ஜெல்லி பீன்ஸ்' OR தயாரிப்பு 3 = 'ஜெல்லி பீன்ஸ்' என்ற அட்டவணையைப் பயன்படுத்தி அட்டவணையில் ஒவ்வொரு தயாரிப்பு களத்தையும் அட்டவணைப்படுத்த வேண்டும்.
ஒரே ஒரு அட்டவணையை வைத்திருப்பதற்குப் பதிலாக, எல்லா தகவல்களும் ஒன்றாக இணைக்கப்படுவதால், ஒவ்வொன்றும் ஒரு குறிப்பிட்ட தகவலை வைத்திருக்கும் மூன்று அட்டவணைகள் இருக்க வேண்டும். இந்த எடுத்துக்காட்டில், ஆர்டர்களைப் பற்றிய தகவலுடன் ஒரு ஆர்ட்டேஸ் அட்டவணை வேண்டும், எங்கள் தயாரிப்புகள் அனைத்தையும் உள்ளடக்கிய ஒரு தயாரிப்புகள் அட்டவணையும், பொருட்கள் தயாரிப்புடன் வரிசையிடப்பட்ட ProductOrders மாத்திரையும்.
| OrderID | CustomerID | ஆர்டர் தேதி | மொத்த |
| 1 | 7 | 1/24/17 | 19.99 |
| 2 | 9 | 1/25/17 | 24.99 |
| ProductID | தயாரிப்பு | கவுண்ட் |
| 1 | டெடி கரடிகள் | 1 |
| 2 | ஜெல்லி பீன்ஸ் | 100 |
| ProductOrderID | ProductID | OrderID |
| 101 | 1 | 1 |
| 102 | 2 | 1 |
ஒவ்வொரு அட்டவணைக்குமான தனித்துவமான ஐடி களத்தைக் கொண்டிருப்பதை கவனியுங்கள். இது முதன்மை விசை ஆகும். ஒரு அட்டவணையை மற்றொரு மேஜையில் ஒரு வெளிநாட்டு விசை என ஒரு முதன்மை விசை மதிப்பைப் பயன்படுத்தி அட்டவணையை இணைக்கிறோம். முதன்மை விசைகளையும் வெளிநாட்டு விசைகளையும் பற்றி மேலும் வாசிக்க.
டேட்டாபேஸ் தவறு # 2: ஒரு அட்டவணையில் அட்டவணையை உட்பொதித்தல்
இது மற்றொரு பொதுவான தவறாகும், ஆனால் அது எப்போதும் மீண்டும் மீண்டும் மீண்டும் துறைகள் போல் நிற்காது. ஒரு தரவுத்தள வடிவமைக்கும் போது, நீங்கள் ஒரு அட்டவணையில் உள்ள தரவு அனைத்தையும் தானாகவே தொடர்புபடுத்த வேண்டும் என்பதை உறுதி செய்ய வேண்டும். இது வித்தியாசமாக இருப்பதைக் கண்டறிவது பற்றி அந்த குழந்தையின் விளையாட்டைப் போல இருக்கிறது. நீங்கள் ஒரு வாழை, ஸ்ட்ராபெரி, பீச் மற்றும் தொலைக்காட்சித் தொகுப்பு ஆகியவற்றைக் கொண்டிருந்தால், தொலைக்காட்சித் தொகுப்பு ஒருவேளை வேறு எங்கும் உள்ளது.
அதே வழியில், நீங்கள் விற்பனை மக்கள் ஒரு அட்டவணை இருந்தால், அந்த அட்டவணையில் தகவல் அனைத்து அந்த விற்பனை நபர் குறிப்பாக தொடர்புபடுத்த வேண்டும். அந்த விற்பனை நபருக்கு தனிப்பட்டதாக இல்லாத எந்தவொரு கூடுதல் தகவலும் உங்கள் தரவுத்தளத்தில் வேறு எங்கோ இருக்கலாம்.
| SalesID | முதல் | கடந்த | முகவரி | தொலைபேசி எண் | அலுவலகம் | OfficeNumber |
| 1 | சாம் | எலியட் | 118 Main St, ஆஸ்டின், TX. முகவரி தொடர்புகொள்ள | (215) 555-5858 | ஆஸ்டின் டவுன்டவுன் | (212) 421-2412 |
| 2 | ஆலிஸ் | ஸ்மித் | 504 வது தெரு, நியூ யார்க், NY | (211) 122-1821 | நியூயார்க் (கிழக்கு) | (211) 855-4541 |
| 3 | ஜோ | பாரிஷ் | 428 Aker St, ஆஸ்டின், TX | (215) 545-5545 | ஆஸ்டின் டவுன்டவுன் | (212) 421-2412 |
இது தனிப்பட்ட விற்பனையாளருடன் தொடர்புடையதாக இருப்பதைப் போல இருக்கும் எனில், அது மேஜையில் உள்ள உட்பொதிக்கப்பட்ட அட்டவணையை கொண்டுள்ளது. அலுவலகம் மற்றும் அலுவலக எண் "ஆஸ்டின் டவுன்டவுன்" உடன் எப்படி மீண்டும் வருவதாக கவனிக்கவும். ஒரு அலுவலக தொலைபேசி எண் மாற்றினால் என்ன? ஒரு நல்ல தகவலை மாற்றியமைக்கும் ஒரு ஒற்றை துண்டு தகவலுக்கான தரவுகளின் முழு தொகுப்பை நீங்கள் புதுப்பிக்க வேண்டும். இந்த துறைகள் அவற்றின் சொந்த அட்டவணைக்கு நகர்த்தப்பட வேண்டும்.
| SalesID | முதல் | கடந்த | முகவரி | தொலைபேசி எண் | OfficeID |
| 1 | சாம் | எலியட் | 118 Main St, ஆஸ்டின், TX. முகவரி தொடர்புகொள்ள | (215) 555-5858 | 1 |
| 2 | ஆலிஸ் | ஸ்மித் | 504 வது தெரு, நியூ யார்க், NY | (211) 122-1821 | 2 |
| 3 | ஜோ | பாரிஷ் | 428 Aker St, ஆஸ்டின், TX | (215) 545-5545 | 1 |
| OfficeID | அலுவலகம் | OfficeNumber |
| 1 | ஆஸ்டின் டவுன்டவுன் | (212) 421-2412 |
| 2 | நியூயார்க் (கிழக்கு) | (211) 855-4541 |
இந்த வகை வடிவமைப்பு நீங்கள் விற்பனை மேசையில் அட்டவணையில் ஒரு ஒழுங்கீனம் ஒரு கனவு உருவாக்காமல் அலுவலக மேஜையில் கூடுதல் தகவல்களை சேர்க்கும் திறனை கொடுக்கிறது. அந்த தகவலானது விற்பனை நபர் அட்டவணையில் இருந்தால் தெரு முகவரி, நகரம், மாநில மற்றும் ஜிப் குறியீட்டை கண்காணிக்கும் வகையில் எவ்வளவு வேலை இருக்கும் என்பதை கற்பனை செய்து பாருங்கள்!
தரவுத்தள தவறு # 3: ஒன்று அல்லது அதற்கு மேற்பட்ட தகவல்களை ஒரு ஒற்றை புலத்தில் வைப்பது
விற்பனையாளர் நபர் அட்டவணையில் அலுவலக தகவலை உட்பொதித்தல் அந்த தரவுத்தளத்தில் ஒரே பிரச்சனை அல்ல. முகவரி துறையில் மூன்று பகுதிகளை உள்ளடக்கியது: தெரு முகவரி, நகரம் மற்றும் மாநிலம். தரவுத்தளத்தில் உள்ள ஒவ்வொன்றும் ஒரே ஒரு தகவலை மட்டுமே கொண்டிருக்கும். ஒரே ஒரு துறையில் பல தகவலைக் கொண்டிருக்கும் போது, தகவலுக்கான தரவுத்தளத்தை வினவ இது கடினமாகிவிடும்.
உதாரணமாக, நாங்கள் ஆஸ்டினில் இருந்து அனைத்து விற்பனையாளர்களிடமும் ஒரு வினவலைப் பயன்படுத்த விரும்பினால் என்ன செய்வது? நாம் முகவரி துறையில் உள்ள தேட வேண்டும், இது திறனற்றது மட்டுமல்ல, தவறான தகவல்களைத் தரும். எல்லாவற்றிற்கும் மேலாக, ஓரிகன் போர்ட்லேண்டில் உள்ள ஆஸ்டின் தெருவில் ஒருவர் வாழ்ந்தால் என்ன நடக்கும்?
இங்கு என்ன மாதிரி இருக்க வேண்டும்:
| SalesID | முதல் | கடந்த | முகவரி 1 | முகவரி 2 | பெருநகரம் | நிலை | zip | தொலைபேசி |
| 1 | சாம் | எலியட் | 118 பிரதான செயிண்ட் | ஆஸ்டின் | டெக்சாஸ் | 78720 | 2155555858 | |
| 2 | ஆலிஸ் | ஸ்மித் | 504 2nd St | நியூயார்க் | நியூயார்க் | 10022 | 2111221821 | |
| 3 | ஜோ | பாரிஷ் | 428 Aker St | Apt 304 | ஆஸ்டின் | டெக்சாஸ் | 78716 | 2155455545 |
இங்கே கவனிக்க வேண்டிய இரண்டு விஷயங்கள் உள்ளன. முதலாவதாக, "முகவரி 1" மற்றும் "முகவரி 2" ஆகியவை மீண்டும் மீண்டும் துண்டிக்கப்பட்ட தவறுகளின் கீழ் வருகின்றன.
இருப்பினும், இந்த வழக்கில், அதன் சொந்த அட்டவணையில் செல்ல வேண்டிய தரவின் மறுதொகுப்புக்கு மாறாக, விற்பனையாளரை நேரடியாக தொடர்புபடுத்தும் தரவுகளை தனித்தனியாக குறிப்பிடுகின்றன.
தவிர, தவிர்க்க ஒரு போனஸ் தவறு என, தொலைபேசி எண் வடிவமைத்தல் அட்டவணை வெளியே துடைக்கப்பட்டு எப்படி கவனிக்க. எல்லா இடங்களிலும் எப்போது வேண்டுமானாலும் துறைகள் வடிவமைப்பைத் தடுக்க வேண்டும். தொலைபேசி எண்களின் விஷயத்தில், மக்கள் பல தொலைபேசி எண்ணை எழுதுகின்றனர்: 215-555-5858 அல்லது (215) 555-5858. இது ஒரு விற்பனையாளரை தங்கள் ஃபோன் எண்ணை தேடும் அல்லது அதே பகுதியில் உள்ள விற்பனை நபர்களை தேடுவது மிகவும் கடினம்.
தரவுத்தள தவறு # 4: சரியான முதன்மை விசையை பயன்படுத்துவதில்லை
பெரும்பாலான சந்தர்ப்பங்களில், நீங்கள் தானாகவே அதிகரிக்கும் எண் அல்லது வேறு முதன்மை எண் அல்லது எண்ணெழுத்து உங்கள் முதன்மை விசைக்கு பயன்படுத்த வேண்டும். முதன்மை அடையாளத்திற்காக எந்த உண்மையான தகவலையும் ஒரு நல்ல அடையாளங்காட்டி உருவாக்கும் என நினைத்தால் கூட நீங்கள் தவிர்க்க வேண்டும்.
உதாரணமாக, ஒவ்வொருவருக்கும் எங்கள் சொந்த தனிப்பட்ட சமூகப் பாதுகாப்பு எண் உண்டு, எனவே ஒரு ஊழியர் தரவுத்தளத்திற்கான சமூகப் பாதுகாப்பு எண்ணைப் பயன்படுத்தி ஒரு நல்ல யோசனையைப் போன்று இருக்கலாம். அரிதாக இருந்தாலும், ஒரு சமூகப் பாதுகாப்பு எண்ணை மாற்றுவதற்கு இது சாத்தியம், மேலும் மாற்றுவதற்கு எங்களின் முதன்மை விசை எதையும் நாங்கள் விரும்பவில்லை.
இது ஒரு முக்கிய மதிப்பாக உண்மையான தகவலைப் பயன்படுத்துவதில் சிக்கல். அதை மாற்ற முடியும்.
தரவுத்தள தவறு # 5: பெயரிடும் மாநாட்டைப் பயன்படுத்தவில்லை
நீங்கள் முதலில் உங்கள் தரவுத்தளத்தை வடிவமைக்க ஆரம்பிக்கும்போது இது ஒரு பெரிய ஒப்பந்தம் போலத் தோன்றவில்லை, ஆனால் தகவலை மீட்டெடுக்க தரவுத்தளத்திற்கு எதிராக எழுதும் கேள்விகளைப் பெறுவதன் மூலம், பெயரிடப்பட்ட பெயர்களை நினைவில் கொண்டுவருவதற்கு பெயரிடும் மாநாடு உங்களுக்கு உதவும்.
பெயர்கள் முதல் பெயரில், LastName ஒரு அட்டவணையில் மற்றும் first_name, last_name என மற்றொரு அட்டவணையில் சேமிக்கப்பட்டால் அந்த செயல்முறை எவ்வளவு கடினமாக இருக்கும் என்பதை கற்பனை செய்து பாருங்கள்.
இரண்டு மிகவும் பிரபலமான பெயரிடும் மரபுகள் புலத்தில் உள்ள ஒவ்வொரு வார்த்தையின் முதல் எழுத்தையும் அல்லது அடிக்கோடிட்டு பயன்படுத்தி வார்த்தைகளை பிரிக்கும். முதல் வார்த்தையைத் தவிர, ஒவ்வொரு வார்த்தையின் முதல் எழுத்துக்கும் சில டெவெலப்பர்கள் நீங்கள் காணலாம்: firstName, lastName.
நீங்கள் ஒற்றை அட்டவணை பெயர்கள் அல்லது பன்மை அட்டவணை பெயர்களை பயன்படுத்தி முடிவு செய்ய வேண்டும். இது ஒரு ஆர்டர் அட்டவணை அல்லது ஒரு ஆணை அட்டவணையா? இது ஒரு வாடிக்கையாளர் அட்டவணை அல்லது வாடிக்கையாளர்கள் அட்டவணை? மீண்டும், நீங்கள் ஒரு ஆர்டர் அட்டவணை மற்றும் ஒரு வாடிக்கையாளர்கள் அட்டவணை சிக்கி வேண்டும்.
நீங்கள் தேர்ந்தெடுத்த பெயரிடும் மாநாட்டில் உண்மையில் பெயரிடும் மற்றும் பெயரிடும் மாநாட்டிற்கு ஒட்டிக்கொள்வது போலவே முக்கியம் இல்லை.
தரவுத்தள தவறு # 6: ஒழுங்கற்ற குறியீடாக்கம்
குறியீடாக்கம், குறிப்பாக தரவுத்தள வடிவமைப்பில் புதியவர்களுக்கு சரியானதை பெற கடினமான ஒன்றாகும். அனைத்து முதன்மை விசைகள் மற்றும் வெளிநாட்டு விசைகளை குறியிட வேண்டும். இவற்றில் ஒன்றாக இணை அட்டவணைகள் என்னவென்றால், குறியீட்டு இல்லாமல், நீங்கள் உங்கள் தரவுத்தளத்தில் மிக மோசமான செயல்திறன் காண்பீர்கள்.
ஆனால் மற்ற துறைகளே பெரும்பாலும் இழக்கப்படுகின்றன. இவை "WHERE" துறைகள். நீங்கள் எப்போது வேண்டுமானாலும் உங்கள் தேடலை ஒரு WHERE பிரிவில் பயன்படுத்தினால், அந்த துறையில் ஒரு குறியீட்டை வைப்பது பற்றி நீங்கள் சிந்திக்க வேண்டும். எனினும், மேலோட்டமாக குறியீட்டு அட்டவணையை நீங்கள் விரும்பவில்லை, இது செயல்திறன் பாதிக்கப்படலாம்.
எப்படி முடிவு செய்ய வேண்டும்? இது தரவுத்தள வடிவமைப்பின் கலையின் ஒரு பகுதியாகும். எத்தனை குறியீடுகளை நீங்கள் ஒரு மேஜையில் வைக்க வேண்டும் என்பதில் கடுமையான வரம்புகள் இல்லை. முதன்மையாக, நீங்கள் எப்போது வேண்டுமானாலும் ஒரு WHERE பிரிவில் பயன்படுத்தக்கூடிய எந்த புலத்தையும் சுட்டிக்காட்டும். சரியாக உங்கள் தரவுத்தளத்தை அட்டவணையிடுவதைப் பற்றி மேலும் வாசிக்க.