Помогни ни да направим Uroci.net по - богат! Добави урок

Основи на проектирането на бази данни

kubala   трудност:    видян: 101032


Разделяне на информацията в таблици

За да разделите информацията в таблици, изберете главните единици или предмети. Например, след намирането и организирането на информацията за базата данни за продажба на продукти, предварителният списък може да изглежда така:

Информационни елементи, написани на ръка и групирани по предмет

Главните единици, показани тук, представляват продуктите, доставчиците, клиентите и поръчките. Поради това има смисъл да се започне с тези четири таблици, съдържащи факти съответно за: продуктите, доставчиците, клиентите и поръчките. Въпреки че това не завършва списъка, все пак е едно добро начало. Може да продължите да прецизирате този списък, докато не получите проект, който работи добре.

Когато най-напред разглеждате предварителния списък с елементи, може да се изкушите да ги поставите всичките в една таблица, вместо в четирите таблици, показани в предишната илюстрация. Тук ще разберете защо това е лоша идея. Да обсъдим показаната тук таблица:

Изображение, което показва таблица, съдържаща както продукти, така и доставчици

В този случай всеки ред съдържа информация и за продукта, и за доставчика му. Тъй като може да имате много продукти от един и същ доставчик, информацията за името и адреса на доставчика трябва да бъде повторена много пъти. Това заема излишно място на диска. Еднократното записване на информацията за доставчика в отделна таблица за доставчиците и свързването й с таблицата "Продукти" е много по-добро решение.

При проектирането се появява и втори проблем, когато трябва да се промени информацията за доставчика. Например да предположим, че трябва да се промени адресът на доставчика. Тъй като той се появява на много места, може случайно да го промените на едно място, а да забравите да го промените на останалите. Записването на адреса на доставчика само на едно място разрешава този проблем.

При проектирането на базата данни винаги се опитвайте да запишете един факт само веднъж. Ако установите, че повтаряте една и съща информация (напр. адреса на конкретен доставчик) повече от един път, поставете я в отделна таблица.

И накрая, да предположим, че има само един продукт, доставен от Coho Winery и искате да изтриете продукта, но да запазите информацията за името и адреса на доставчика. Как бихте изтрили записа за продукта без да загубите информацията за доставчика? Това е невъзможно. Тъй като всеки запис съдържа факти както за продукт, така и за доставчика му, не може да изтриете едното, без да изтриете другото. За да съхранявате тези факти поотделно, трябва да разделите таблицата на две: една таблица с информация за продуктите и друга таблица с информация за доставчиците. При изтриването на записа за един продукт ще бъдат изтрити само фактите за продукта, но не и за доставчика му.

След като вече е избран предметът за представяне в една таблица, колоните в нея трябва да съхраняват факти само за този предмет. Например таблицата за продукти трябва да съхранява факти за продукти. Тъй като адресът на доставчика е факт за доставчика, а не за продукта, той ще принадлежи на таблицата за доставчици.


Превръщане на информационните елементи в колони

За да определите колоните в една таблица, трябва да решите каква информация е необходимо да се проследява за предмета, записан в таблицата. Например един добър начален списък на колони за таблицата "Клиенти" съдържа информация за име, адрес, град-държава-код, изпращане на имейл, обръщение и имейл адрес. Всеки запис в таблицата съдържа същия набор от колони, така че може да съхранявате информацията за име, адрес, град-държава-код, изпращане на имейл, обръщение и имейл адрес за всеки запис. Например, колоната за адреси съдържа адресите на клиентите. Всеки запис съдържа данни за един клиент и полето за адрес съдържа адреса на този клиент.

След като сте определили първоначалния набор от колони за всяка таблица, можете да продължите с по-нататъшното прецизиране на колоните. Например, има смисъл името на клиента да се съхранява като две отделни колони – собствено и фамилно име, така че да можете да сортирате, търсите и индексирате само в тези колони. По подобен начин, адресът всъщност се състои от пет отделни компонента – адрес, град, област, пощенски код и държава/регион, и също има смисъл те да се съхраняват в отделни колони. Ако искате да извършите операции за търсене, филтриране или сортиране по област например, ще е необходимо тази информация да се съхранява в отделна колона.

Ще трябва също да обмислите дали базата данни ще съдържа информация само от местен, или и от международен характер. Например ако възнамерявате да съхранявате международни адреси, ще бъде по-добре да имате колона за регион вместо за област, защото в такава колона може да се вместят както местните области, така и регионите на други държави/региони. По подобен начин, при съхранението на международни адреси е по-добре да се използва пощенският код вместо Zip кодът.

Следващият списък показва няколко съвета за определянето на колоните.

  • Не включвайте изчислени данни  

    В повечето случаи резултатите от изчисления не трябва да се съхраняват в таблици. Вместо това накарайте Access да извърши изчисленията, когато искате да видите резултата. Например да предположим, че един отчет за заявени продукти показва междинната сума на заявените единици за всяка категория продукти в базата данни. В никоя таблица обаче няма колона за междинни суми на заявените единици. Вместо това таблицата "Продукти" включва колона "Заявени единици", която съхранява заявените единици за всеки продукт. Използвайки тези данни, Access изчислява междинните суми всеки път, когато отпечатвате отчета. Самата междинна сума не трябва да се съхранява в таблицата.

  • Информацията се съхранява разделена на най-малките си логически части  

    Може да се изкушите да направите едно поле за пълните имена или за названията на продуктите заедно с описанията им. Ако се обедини повече от един тип информация в едно поле, по-късно ще бъде трудно да се извлекат отделните факти. Опитайте да разбиете информацията на логически части; например, да създадете отделни полета за собственото и фамилното име, или за названието, категорията и описанието на продукта.

Списък на информационните елементи при процеса на проектиране

След като сте прецизирали колоните с данни във всяка таблица, можете вече да изберете първичните ключове за всяка таблица.


Страници: «1 2 3 4 5 6 »

Коментари (1)

Tarat0rcho95 на 06.02 2010 в 16:44ч.
Работенето с микрософт повер поинт 2007 е доста лесно.. Който иска помощ да пише на скупе (скайп) ediinstwen8!!

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com