Хатогиҳои умумӣ дар тарҳрезии базавӣ

Новобаста аз он ки шумо бо як базаи маълумоте, ки садҳо сабт ё миллионҳо сабт доштааст, дизайни дурусти пойгоҳи додаҳо ҳамеша муҳим аст. На танҳо он иттилоотро осонтар мекунад, балки инчунин ба минбаъд васеъ кардани пойгоҳи дода дар оянда хоҳад расид. Мутаассифона, ба осонӣ ба якчанд домҳои афтодан, ки метавонанд дар ояндаи душворӣ душвор бошанд.

Ҳамаи китобҳое, ки дар мавзӯи стандартизатсияи стандартизатсия навишта шудаанд, вале агар шумо танҳо аз хатогиҳои умумӣ канорагирӣ кунед, шумо дар роҳи дурусти дизайни хуби пойгоҳи додаҳо бошед.

Хатогии базаи маълумот # 1: такрор кардани майдонҳо дар ҷадвал

Қоидаи асосӣ аз тарроҳии хуби базаи маълумотҳо инъикоси маълумоти такрорӣ ва тасвири такрори сутунҳо дар мизи худ мебошад. Тағир додани майдонҳо дар ҷадвал барои онҳое, ки аз ҷабҳаҳои ҷадвалҳо омадаанд, маъмуланд, аммо дар ҳоле ки диаграммаҳо аз рӯи тарҳбандӣ тарҳрезӣ мешаванд, пойгоҳи додаҳо бояд ҳамоҳанг бошанд. Ин аз 2D то 3D меравад.

Хушбахтона, майдонҳои такрорӣ одатан ба осонӣ пайдо мешаванд. Танҳо ба ин ҷадвал нигаред:

OrderID Product1 Маҳсулот2 Маҳсулот3
1 Teddy Bears Jelly Beans
2 Jelly Beans

Вақте ки фармоиш дорои 4 маҳсулот мешавад, чӣ мешавад? Ба мо лозим аст, ки ба майдони дигар илова ба се ҷуфт кӯмак расонем. Ва агар мо дар аризаи мизоҷ дар гирди ҷадвал кор карда бошем, барои маълумоти иловагӣ ба мо ёрӣ диҳем, мо метавонем онро бо майдони нави маҳсулот тағйир диҳем. Ва чӣ гуна мо бо ҳамаи фармонҳои бо Ҷеллери ёфт мешавад? Мо маҷбур хоҳем шуд, ки ҳар як соҳаи маҳсулотро дар ҷадвал бо саволномаи SQL, ки метавонад ба назар гирад, пурсед: SELECT * FROM PRODUCTS WHERE Product1 = 'Jelly Beans' ё Product2 = 'Jelly Beans' OR Product3 = 'Jelly Beans'.

Ба ҷои он ки як мизи ягонае, ки ҳамаи маълумоти якҷояро доро бошад, мо бояд се ҷадвал дошта бошем, ки ҳар яки онҳо дорои қисмҳои алоҳидаи маълумот мебошанд. Дар ин намуна, мо мехоҳем, ки мизҳои пластикиро бо маълумот дар бораи фармоиш, худи мизҳои Маҳсулот бо тамоми маҳсулоти мо ва тиллоҳои ProductOrders, ки маҳсулотро бо фармоиш алоқаманд мекунанд, мехоҳанд.

OrderID Муштариёнаш Order Date Ҳамагӣ
1 7 1/24/17 19.99
2 9 1/25/17 24.99
ProductID Маҳсулот Ҳисоб кунед
1 Teddy Bears 1
2 Jelly Beans 100
ProductOrderID ProductID OrderID
101) 1 1
102) 2 1

Аҳамият диҳед, ки чӣ гуна ҳар як мизо дорои майдони ID-и худ мебошад. Ин калиди ибтидоӣ аст. Мо ба ҷадвалҳо бо истифода аз як калиди асосӣ ҳамчун калиди хориҷӣ дар дигар ҷадвал. Бештар дар бораи калидҳои асосӣ ва калидҳои хориҷӣ хонед.

Мафҳумҳои базаи маълумот # 2: Ҷамъ кардани ҷадвал дар ҷадвал

Ин хатои умуми умумӣ аст, аммо он ҳамеша ҳарчи бештар майдонҳои такроршавӣ аст. Ҳангоми таҳияи пойгоҳи дода, шумо мехоҳед боварӣ ҳосил кунед, ки ҳамаи маълумотҳо дар ҷадвал бо худ алоқаманданд. Ин бозиест, ки бозии кӯдакон дар бораи он ки чӣ гуна фарқият дорад. Агар шумо банан, тарбуз, шафтолу ва телевизор дошта бошед, маҷаллаи телевизион шояд дар ҷои дигар бошад.

Дар баробари ин, агар шумо ҷадвали фурӯшандагони одамон дошта бошед, ҳамаи маълумот дар ин ҷадвал махсус бояд ба шахси фурӯшанда алоқаманд бошад. Маълумоти иловагии иловагӣ, ки ба он шахси фурӯшанда ғайриқонунӣ нест, метавонад дар ҷойҳои дигар дар пойгоҳи додаатон бошад.

SalesID Якум Охир Суроға Рақами мобилӣ Идораи OfficeNumber
1 Сам Эллиот 118 Мас. Сент, Остин, TX (215) 555-5858 Austin Downtown (212) 421-2412
2 Алиса Смит 504 Street, Ню-Йорк, ш (211) 122-1821 Ню-Йорк (Истаравшан) (211) 855-4541
3 Ҷо Париш 428 Акер Ст, Остин, TX (215) 545-5545 Austin Downtown (212) 421-2412

Дар ҳоле, ки ин миз ба назар мерасад, ки ҳамаи он ба савдои алоҳида алоқаманд аст, он воқеан як мизро дар дохили ҷадвал ҷойгир мекунад. Аҳамият диҳед, ки Office ва OfficeNumber бо "Austin Downtown" такрор мекунад. Чӣ бояд кард, агар рақами телефони хонагӣ тағйир ёбад? Ба шумо лозим аст, ки маҷмӯи маҷмӯи маълумотро барои як пораи як тағйироти иттилоотӣ навсозӣ кунед, ки ҳеҷ гоҳ ягон чизи хуб нест. Ин соҳаҳо бояд ба мизи худ ҳаракат кунанд.

SalesID Якум Охир Суроға Рақами мобилӣ OfficeID
1 Сам Эллиот 118 Мас. Сент, Остин, TX (215) 555-5858 1
2 Алиса Смит 504 Street, Ню-Йорк, ш (211) 122-1821 2
3 Ҷо Париш 428 Акер Ст, Остин, TX (215) 545-5545 1
OfficeID Идораи OfficeNumber
1 Austin Downtown (212) 421-2412
2 Ню-Йорк (Истаравшан) (211) 855-4541

Ин навъи тарҳрезӣ инчунин ба шумо имконият медиҳад, ки маълумоти иловагиро ба ҷадвалҳои Идора илова кунед, ки онро дар ҷадвалҳои фурӯшандаи шахсӣ ташкил накунед. Тасаввур кунед, ки то чӣ андоза кор кардан лозим аст, ки суроғаи суроға, шаҳр, давлат ва коди рамзро, агар ҳамаи ин маълумот дар ҷадвали фурӯш ҷой дошта бошад!

Хатогии базаи маълумот # 3: Гузаронидани ду ё зиёда иттилоот ба як майдони ягона

Иттилооти идораи корпоративиро ба ҷадвали фурӯш пешниҳод карда буд, танҳо як мушкилот бо ин пойгоҳи дода. Соҳаи суроға се қисм иборат аст: суроғаи кӯчаи, шаҳр ва давлат. Ҳар як соҳаи дар пойгоҳи дода бояд танҳо як қисмҳои иттилоотӣ мавҷуд бошад. Вақте, ки шумо дар як саҳифа якчанд қисмҳои иттилоот дошта бошед, он метавонад ба пурсиши базаи маълумотҳо барои маълумот муроҷиат кунад.

Масалан, агар мо мехостем, ки дар бораи ҳамаи фурӯшандагон аз Остин пурсишнома пурсем? Мо бояд дар майдони суроға ҷустуҷӯ кунем, ки ин на танҳо ба фоидаовар аст, балки маълумоти бадро бармегардонад. Баъд аз ҳама, агар касе дар кӯчаи Остин дар Портланд, Орегон зиндагӣ кунад, чӣ мешавад?

Ин дар он аст, ки ҷадвал бояд ба монанди:

SalesID Якум Охир Суроға 1 Суроға2 Шаҳр Давлат Зип Телефон
1 Сам Эллиот 118 Мас Остин TX 78720 2155555858
2 Алиса Смит 504 2nd st Нью-Йорк NY 10022 2111221821
3 Ҷо Париш 428 Акер Ст Апаи 304 Остин TX 78716 2155455545

Дар ин ҷо якчанд адад чизҳо ҳастанд. Аввал, "Адрес1" ва "Адрес2" ба хатогиҳои такрорӣ дохил мешаванд.

Бо вуҷуди ин, дар ин ҳолат онҳо ба қисмҳои алоҳидаи маълумот, ки ба бевосита ба фурӯшанда алоқамандӣ доранд, на гурӯҳи гурӯҳи такрорие, ки бояд дар ҷадвалҳои худ иштирок кунанд.

Ҳамчунин, ҳамчун хатогиҳои иловагӣ барои пешгирӣ кардан, ба назар гиред, ки чӣ тавр формати рақами телефониро аз ҷадвал баровардааст. Ҳангоми имконпазир сохтани формати майдонҳо шумо бояд пешгирӣ кунед. Дар сурати рақамҳои телефон, роҳҳои гуногун вуҷуд доранд, ки одамон рақами телефонро нависанд: 215-555-5858 ё (215) 555-5858. Ин ба ҷустуҷӯи як фурӯшанда тавассути рақами телефони худ ё ҷустуҷӯи одамони фурӯш дар коди яккасардаро мушкилтар месозад.

Хатогии базаи маълумот # 4: Истифодаи калиди аввалияи дуруст

Дар аксари мавридҳо, шумо мехоҳед, ки рақами ба таври автоматӣ ё дигар рақамҳои оммавӣ ё алифбои рақамиро барои калиди ибтидоӣ истифода баред. Шумо бояд аз истифодаи маълумоти воқеӣ барои калиди ибтидоӣ даст кашед, ҳатто агар он гӯяд, ки ин нишондиҳанда хуб аст.

Масалан, мо ҳар як рақами шахсии иҷтимоии худ дорем, бинобар ин, истифодаи рақами ҳифзи иҷтимоӣ барои махзани маълумот метавонад як фикри хуб бошад. Аммо дар ҳоле ки нодир, ҳатто барои рақами амнияти иҷтимоӣ имкон дорад, ки тағйир ёбад ва мо ҳеҷ гоҳ мехоҳем, ки калиди аввалини мо тағйир ёбад.

Ва ин мушкилот бо истифодаи иттилооти воқеӣ ҳамчун арзиши асосӣ мебошад. Он метавонад тағйир ёбад.

Мафҳумҳои додаҳо № 5: Истифодаи Конвенсияи номнависӣ

Ин метавонад ба мисли пеш аз оғози сохтани пойгоҳи додаи шумо оғоз нашавад, аммо вақте ки шумо ба нусхаи чопи маълумотҳо барои гирифтани маълумот ба даст меоред, конвенсияро номбар кунед, вақте ки шумо номҳои майдонро ба ёд меоред.

Танҳо тасаввур кунед, ки чӣ қадаре, ки раванди номуайянӣ бошад, агар номҳо ҳамчун Номи Номи, LastName дар як ҷадвал ва first_name, last_name дар дигар ҷадвали захира карда шаванд.

Конвенсияҳои машҳури маъруфтарини маъруф ба ҳарфи ҳар як калима дар майдон ё ҷудо кардани калимаҳо бо истифода аз сақфҳо сарф мешаванд. Шумо ҳамчунин метавонед баъзе таҳиягаронро аз ҳарфи ҳар як калимаи калидӣ сар кунед, ғайр аз калимаи якум: firstName, lastName.

Шумо инчунин мехоҳед, ки дар бораи истифодаи номҳои мушаххаси ҷадвал ё номҳои мизи мизоҷ қарор қабул кунед. Оё ин мизи фармоиш ё мизҳои ҷадвал аст? Оё ин мизҳои муштарак ё мизоҷони миз аст? Боз, шумо намехоҳед, ки бо мизи фармоиш ва мизоҷони Мизробкардаро давом диҳед.

Конвенсияи номнавискунӣ, ки шумо интихоб мекунед, ҳамчун раванди воқеан интихоби ва ба истиснои анҷумани номзадҳо муҳим нест.

Омодагии базаи маълумот # 6: Indexing нодуруст

Нишондиҳанда яке аз чизҳои сахттарин ба даст овардан, хусусан барои онҳое, ки дар тарҳрезии базаи маълумотҳо наванд. Ҳамаи калидҳои ибтидоӣ ва калидҳои беруна бояд нишон дода шаванд. Инҳо дар якҷоягӣ ҷадвалҳои пайвасткунӣ ҳастанд, аз ин рӯ, бе нишондиҳанда, шумо аз базаи хеле базаи маълумотии шумо мебинед.

Аммо соҳаҳои дигар, ки дар аксар мавридҳо аз даст медиҳанд, инҳоянд. Инҳо соҳаҳои "WHERE" мебошанд. Агар шумо аксар вақт ба ҷустуҷӯи худ тавассути истифодаи майдон дар матн дар куҷо, шумо мехоҳед дар бораи нишон додани нишондиҳанда дар ин соҳа фикр кунед. Бо вуҷуди ин, шумо намехоҳед, ки ҷадвалро дар ҷадвал нишон диҳед, ки ин метавонад ба кори осеб расонад.

Чӣ тавр қарор қабул кардан мумкин аст? Ин қисм аз тарҳи дизайни маълумот мебошад. Ҳеҷ гуна нишондиҳандаҳоро шумо бояд дар ҷадвал ҷойгир кунед. Пеш аз ҳама, шумо мехоҳед нишон диҳед, ки ҳар як соҳа, ки дар матн истифода мешавад. Муфассалтар дар бораи даромадан ба пойгоҳи додаи худ.