Видео: Първи стъпки в базите данни
Applies To
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016Опитайте!
Базите данни и уеб приложенията могат да донесат големи бизнес предимства. Проектирането на базата данни е от решаващо значение за постигането на целите ви, независимо дали искате да управлявате информацията за служителите, да предоставяте седмични отчети за данните или да проследявате поръчките на клиентите. Инвестирането на време, за да разберете структурата на базата данни, ще ви помогне да създадете бази данни, които работят правилно първия път и които отговорят на променящите се нужди.
Важно: Уеб приложенията на Access са различни от настолните бази данни. Тази статия не обсъжда проектирането на уеб приложения.
Концепции и термини
Нека започнем, като научим някои основни термини и концепции. За да проектирате полезна база данни, трябва да създадете таблици, които се фокусират върху една тема. В таблиците си записвате всички данни, необходими за тази тема, в полета, които държат най-малката възможна единица данни.
Релационни бази данни |
База данни, в която данните са разделени в таблици, които са вид електронни таблици. Всяка таблица има само една тема, като например клиенти (една таблица) или продукти (друга таблица). |
Записи и полета |
Място за съхранение за отделните данни в таблица. Редовете (или записите) съхраняват всяка уникална точка от данни, като например името на клиента. Колоните (или полетата) изолират информацията, която се събира за всяка точка от данни, в най-малката възможна единица – собственото име може да е една колона, а фамилното име може да е друго. |
Първичен ключ |
Стойност, която гарантира, че всеки запис е уникален. Например може да има двама клиенти с едно и също име– Елизабет Андерсен. Но един от записите на Елизабет Андерсен има числото 12 като първичен ключ, а другият има първичен ключ 58. |
Релации родител-наследен |
Често срещани релации между таблици. Например един клиент може да има множество поръчки. Родителските таблици имат първични ключове. Дъщерните таблици имат външни ключове, които представляват стойности от първичния ключ, които показват как дъщерните записи на таблицата са свързани с родителската таблица. Тези клавиши са свързани от релация. |
Какво представлява добрият проект на база данни?
Двата принципа са от основно значение за доброто проектиране на бази данни:
-
Избягвайте дублиране на информация (наричани още излишни данни). Тя заема място и увеличава вероятността от грешки.
-
Уверете се, че данните са правилни и пълни. Непълната или погрешна информация протича през заявки и отчети и в крайна сметка може да доведе до неправилни решения.
За да ви помогнем с тези проблеми:
-
Разделете информацията от базата данни на базирани на обекти таблици с тесен фокус. Избягвайте дублирането на информация в множество таблици. (Например имената на клиентите трябва да са само в една таблица.)
-
Съединявайте таблиците с помощта на клавиши, вместо да дублирате данни.
-
Включете процеси, които поддържат и гарантират точността и целостта на информацията в базата данни.
-
Проектирайте вашата база данни, като имате предвид нуждите от обработка и отчитане на данните.
За да подобрите дългосрочната полезност на вашите бази данни, изпълнете следните пет стъпки за проектиране:
Стъпка 1: Определяне на предназначението на вашата база данни
Преди да започнете, имате цел за вашата база данни.
За да запазите фокуса на проекта си, обобщете предназначението на базата данни и често препращайте към резюмето. Ако искате например малка база данни за домашен бизнес, можете да напишете нещо просто, например "Базата данни на клиентите пази списък с информация за клиентите с цел създаване на пощенски съобщения и отчети". За корпоративна база данни може да ви трябват няколко абзаца, за да опишете кога и как хората с различни роли ще използват базата данни и нейните данни. Създаване на съдържание конкретно и подробно изявление за мисията, което да се отнася за целия процес на проектиране.
Стъпка 2: Намиране и организиране на необходимата информация
Съберете всички типове информация, които искате да запишете, като например вашите имена на продукти и номера на поръчки.
Започнете със съществуващата информация и методите за проследяване. Може например в момента да записвате поръчките за покупка в главна книга или да съхранявате информацията за клиентите на хартиени формуляри. Използвайте тези източници, за да изброите информацията, която сте заснели в момента (например всички полета във вашите формуляри). Където в момента не събирате важна информация, помислете каква дискретна информация ви трябва. Всеки отделен тип данни става поле във вашата база данни.
Не се притеснявайте, за да направите първия си списък идеален – можете да го настроите фино с течение на времето. Но помислете за всички хора, които използват тази информация, и помолете за идеите си.
След това помислете какво искате да излезе от базата данни и какви типове отчети или пощенски съобщения искате да създадете. След това се уверете, че сте заснели информацията, необходима за постигането на тези цели. Ако например искате отчет, който показва продажбите по регион, трябва да съберете данните за продажбите на регионално ниво. Опитайте да нахвърляте отчета с действителната информация, както искате да го видите. След това избройте данните, които ви трябват, за да създадете отчета. Направете същото за пощенски съобщения или други резултати, които искате от базата данни.
Пример
Да предположим, че предоставяте на клиентите възможността да се включат (или да се откажат от) периодични имейл актуализации и искате да отпечатате списък с тези, които са се включили. Трябва ви колона "Изпращане на имейл" в таблицата "Клиент" с допустими стойности "Да" и "Не".
За тези, които желаят да получават имейли, ви трябва имейл адрес, който също изисква поле. Ако искате да включите подходящо приветствие (например г-н, г-жа или г-жа), включете поле "Приветствие". Ако искате да се обръщате към клиентите по собствено име в имейли, добавете поле "Собствено име".
Съвет: Не забравяйте да разделите всяка информация на най-малката си полезна част, като например собствено име и фамилно име за таблица с клиенти. По принцип, ако искате да сортирате, търсите, изчислявате или отчет на базата на елемент от информация (например фамилно име на клиент), трябва да поставите този елемент в неговото собствено поле.
Стъпка 3: Разделете информацията в таблици
Разделете информационните елементи на основни обекти или теми, като например продукти, клиенти и поръчки. Всеки обект става таблица.
След като имате вашия списък с необходимата информация, определете основните обекти (или теми), които трябва да организирате вашите данни. Избягвайте дублирането на данни между обекти. Например предварителният списък за база данни за продажби на продукти може да изглежда така:
Основните юридически лица са: клиенти, доставчици, продукти и поръчки. Така че започнете с тези четири таблици: таблица с данни за клиентите, таблица с данни за доставчиците и т.н. Това може да не е вашият окончателен дизайн, но това е добра отправна точка.
Забележка: Най-добрите бази данни съдържат множество таблици. Избягвайте изкушението да поставите цялата си информация в една таблица. Това води до дублирана информация, по-голям размер на базата данни и увеличени грешки. Проектирайте го, за да запишете всеки факт само веднъж. Ако откриете, че повтаряте информация, като например адрес на доставчик, преструктурирате вашата база данни, за да поставите тази информация в отделна таблица.
За да разберете защо повече таблици са по-добри от по-малко, разгледайте таблицата, показана тук:
Всеки ред съдържа информация както за продукта, така и за доставчика му. Тъй като може да имате много продукти от един и същ доставчик, информацията за името и адреса на доставчика трябва да се повтаря много пъти. Това ненужно заема дисково пространство. Вместо това запишете информацията за доставчика само веднъж в отделна таблица "Доставчици" и след това свържете тази таблица към таблицата "Продукти".
Втори проблем с този проект е очевиден, когато трябва да промените информацията за доставчика. Да предположим, че трябва да промените адреса на доставчик. Тъй като адресът се показва на много места, е възможно да го промените на едно място, но да забравите да го промените на останалите. Записването на адреса на доставчика само на едно място решава този проблем.
И накрая, да предположим, че има само един продукт, доставен от Coho Winery, и искате да изтриете продукта, но да запазите информацията за името и адреса на доставчика. С този проект как бихте изтрили записа за продукта, без да загубите и информацията за доставчика? Не можете. Тъй като всеки запис съдържа данни за даден продукт в допълнение към фактите за доставчика, е невъзможно да изтриете единия, без да изтривате другия. За да запазите тези факти отделни, разделете тази таблица на две: първата – за информация за продукта, а втората – за информация за доставчика. След това, когато изтриете запис за продукт, изтривате само фактите за продукта, а не фактите за доставчика.
Стъпка 4: Превръщане на информационните елементи в колони
Решете каква информация трябва да съхранявате във всяка таблица. Тези отделни части от данните стават полета в таблицата. Например таблицата "Служители" може да включва полета, като фамилно име, собствено име и дата на наемане.
След като сте избрали темата за таблица на база данни, колоните в тази таблица би трябвало да съхраняват само данни за тази тема. Например таблицата за продукти трябва да съхранява данни само за продукти, а не за техните доставчици.
За да решите каква информация да проследявате в таблицата, използвайте списъка, който създадохте по-рано. Например таблицата "Клиенти" може да включва: "Собствено име", "Фамилно име", "Адрес", "Изпращане на имейл", "Обръщение" и "Имейл адрес". Всеки запис (клиент) в таблицата съдържа един и същ набор от колони, така че съхранявате точно една и съща информация за всеки клиент.
Създаване на съдържание първия си списък и след това го прегледайте и прецизирайте. Не забравяйте да разделите информацията на най-малките възможни полета. Ако например вашият първоначален списък има Адрес като поле, разбийте го на Адрес, Град, Щат и Пощенски код или, ако клиентите ви са глобални, на още повече полета. По този начин например можете да правите пощенски съобщения в правилния формат или отчет за поръчките по щат.
След като сте прецизирали колоните с данни във всяка таблица, сте готови да изберете първичния ключ на всяка таблица.
Стъпка 5: Задаване на първични ключове
Изберете първичен ключ за всяка таблица. Първичният ключ, като например ИД на продукт или ИД на поръчка, еднозначно идентифицира всеки запис. Ако нямате очевиден, уникален идентификатор, използвайте Access, за да създадете такъв вместо вас.
Трябва ви начин за еднозначно идентифициране на всеки ред във всяка таблица. Помните ли предишния пример, където двама клиенти имат едно и също име? Тъй като те споделят име, трябва да имате начин отделно да идентифицирате всяко едно от тях.
Така че всяка таблица трябва да включва колона (или набор от колони), която еднозначно идентифицира всеки ред. Това се нарича първичен ключ и често е уникален номер, като например ИД номер на служител или сериен номер. Access използва първични ключове за бързо свързване на данни от множество таблици и за обединяване на данните вместо вас.
Понякога първичният ключ се състои от две или повече полета. Например таблицата "Подробни данни за поръчки", която съхранява елементи от редове за поръчки, може да използва две колони в своя първичен ключ: "ИД на поръчка" и "ИД на продукт". Когато първичен ключ използва повече от една колона, той се нарича комбиниран ключ.
Ако вече имате уникален идентификатор за информацията в таблицата, като например номера на продукти, които еднозначно идентифицират всеки продукт в каталога ви, използвайте го, но само ако стойностите отговарят на тези правила за първични ключове:
-
Идентификаторът винаги ще бъде различен за всеки запис. В първичния ключ не са позволени дублирани стойности.
-
Винаги има стойност за елемента. Всеки запис в таблицата ви трябва да има първичен ключ. Ако използвате няколко колони, за да създадете ключа (например Семейство части и Номер на част), и двете стойности трябва винаги да присъстват.
-
Първичният ключ е стойност, която не се променя. Тъй като ключовете са адресирани от други таблици, всяка промяна в първичния ключ в една таблица означава промяна в него навсякъде, където се посочва. Честите промени увеличават риска от грешки.
Ако нямате очевиден идентификатор, използвайте произволен, уникален номер като първичен ключ. Например можете да зададете уникален номер на поръчка за всяка поръчка с единствената цел да идентифицирате поръчката.
Съвет: За да създадете уникално число като първичен ключ, добавете колона с помощта на типа данни "Автономериране". Типът данни "Автономериране" автоматично присвоява уникална числова стойност за всеки запис. Този тип идентификатор не съдържа действителна информация, описваща реда, който представя. Той е идеален за използване като първичен ключ, защото числата не се променят – за разлика от първичния ключ, който съдържа данни за ред, като например телефонен номер или име на клиент.