SlideShare una empresa de Scribd logo
1 de 35
УНСС - Катедра “Информационни технологии
и комуникации”

Тема 5
Бази данни
СУБД MS Access 2007
СУБД MS Access
Microsoft Office Access 2007 е СУБД, която
поддържа релационен модел на данните, т.е.
информацията е организирана в таблици
В повечето бази данни са необходими повече от
една таблици
Например в една база данни за бизнес
информация може да има таблици за
съхранение и обработка на информацията за:
1.
Продукти,
2.
Поръчки,
3.
Клиенти,
4.
Доставчици;
СУБД MS Access
Всеки ред се нарича още запис, а всяка колона се
нарича поле
Записът е последователен начин за обединяване
на информацията за обекта
Полето е един отделен елемент от
информацията – един тип елемент, който се
появява във всеки един запис
В таблицата "Продукти" например всеки ред или
запис съдържа информация за един продукт
Всяка колона или поле съдържа някакъв вид
информация за този продукт като названието
или цената му
СУБД MS Access
СУБД MS Access
Една база данни може да съдържа повече от
една таблица
Например една система за складово
стопанство, използваща три таблици, не
съдържа три бази данни, а представлява
една база данни, съдържаща три таблици
Една база данни на Access съхранява своите
таблици в един единствен файл, заедно с
други обекти, каквито са формулярите,
отчетите, макросите и модулите
Базите данни, създадени със СУБД Access
2007, имат файлово разширение .accdb
СУБД MS Access
Елементите на една база данни на Access са:

Таблици,

Формуляри,

Отчети,

Заявки,

Макроси,

Модули;
СУБД MS Access
СУБД Access поддържа:

Език за описание на данни,

Език за манипулиране на данни,
Езикът за описание на данни позволява:

Да описвате структурата на таблиците,
формулярите, заявките и отчетите,

Да променяте (актуализирате)
определена структура, например да
добавите нова колона на таблицата;
таблицата
СУБД MS Access
Езикът за манипулиране на данните, позволява:

Да добавяте нови записи в базата данни,
например данни за нови продукти,

Да редактирате съществуващи данни в
базата данни, например да променяте
единичните цени на продуктите,

Да изтривате информация, например когато
един продукт вече не се предлага или е
бракуван,

Да организирате и показвате данните по
различни начини,

Да споделяте данните с други потребители
чрез отчети, имейли, интранет или Интернет;
Интернет
Таблици
Всеки ред от таблица се нарича запис
Записите са мястото, където се съхранява информацията
за конкретен елемент на обекта
Всеки запис се състои от едно или повече полета
Полетата съответстват на колоните в таблицата
Например в таблица с име “Клиенти", всеки запис (ред)
ще съдържа информация за различен клиент, а всяко
поле (колона) ще съдържа конкретна информация за
клиента, например име на фирма, адрес, град,
пощенски код и т.н.
На полетата трябва да бъде присвоен определен тип на
данните, например за полето име на фирма - текст
(text), за полето дата на поръчка - дата (date), за
полето количество - число (number), за полето
единична цена - парична стойност (currency), както и
да използвате друг тип
Таблици
Създаване на таблица в Access 2007:

Избира се таб Create – натиска се бутон Table
Design, в полето Field Name се въвежда името
на полето, от списъчното поле Data Type се
избира тип на съхраняваната информация,
например AutoNumber, Number, Text, и т.н.,

Аналогично се описват останалите полета от
таблицата,

За дефиниране на първичен ключ се маркира
съответното поле или полета, ако ключът е
“съставен” и се натиска бутон Primary Key,

Натиска се бутон Close, бутон Yes, въвежда се
име на таблицата и се натиска OK;
Релации между таблици
В Access се използват връзки (релации) между
таблиците, за да се обедини информацията, която
ни е необходима за формуляри, заявки и отчети
Връзките биват (1:М), (М:1), (М:М), (1:1)
Създаване на връзка "един към много“ (1:M)
Например, какъв е типът на връзката между
таблиците "Доставчици" и "Продукти" в базата
данни за поръчки?
Един доставчик може да ни снабдява с всякакъв вид
продукти. Следователно за всеки доставчик
представен в таблицата "Доставчици" може да
има много продукти, представени в таблицата
"Продукти“
Поради това връзката между таблицата
"Доставчици" и таблицата "Продукти" е от типа
"един към много“ (1:М)
Релации между таблици
За да представите връзката "един към много" в проекта
на базата данни, вземете първичния ключ от
страната "един" на връзката и го добавете като
допълнителна колона или колони към таблицата от
страната "много" на връзката
В този случай, например, вие добавяте колоната за ИД на
доставчик от таблицата "Доставчици" към
таблицата "Продукти". След това Access може да
използва ИД номера на доставчика в таблицата
"Продукти", за да намери подходящия доставчик за
всеки продукт
Колоната с ИД на доставчика в таблицата "Продукти" се
нарича “външен” ключ. Един външен ключ
представлява първичен ключ на друга таблица
Колоната с ИД на доставчика в таблицата "Продукти" е
външен ключ, защото той също така е първичен
ключ на таблицата "Доставчици"
Релации между таблици
Чрез обединяване на първични и външни ключове се
осигурява релацията на свързаните таблици
Ако не сте сигурни кои от таблиците трябва да
“споделят” обща колона, определянето на връзка
"един към много" обезпечава споделянето на една
колона от двете участващи таблици
Релации между таблици
Създаване на връзка "много към много“ (М:М)
Да разгледаме връзката между таблицата "Продукти" и
таблицата "Поръчки"
Една поръчка може да включва повече от един продукт
От друга страна един продукт може да се участва в много
поръчки
Следователно за всеки запис в таблицата "Поръчки"
може да има много записи в таблицата "Продукти“
И за всеки запис в таблицата "Продукти" може да има
много записи в таблицата "Поръчки“
Този тип отношение се нарича връзка "много към много“
(М:М), защото за всеки продукт може да има много
поръчки, както и за всяка поръчка може да има
много продукти
Релации между таблици
В момента двете таблици, на Поръчките и Продуктите би
трябвало да имат връзка "Много към много“
Това представлява проблем. За да разберете този проблем,
си представете какво би се случило, ако се опитате да
създадете връзката между двете таблици чрез добавяне
на полето "ИД на продукт" към таблицата "Поръчки“
За да имате повече от един продукт на поръчка, ви е
необходим повече от един запис за тази поръчка в
таблицата "Поръчки". Т.е. ще се повтаря информация
за поръчката на всеки ред, отнасящ се за даден
продукт от поръчката. Резултатът ще бъде
неефективно проектиране и може да доведе до неточни
данни
Ще срещнете същия проблем, ако поставите полето "ИД на
поръчка" в таблицата "Продукти“, т.е. ще ви е
необходим повече от един запис в таблицата
"Продукти" за всеки един продукт от поръчката
Как се решава този проблем?
Релации между таблици
Отговорът се състои в създаването на трета таблица,
наричана съединителна таблица, която разбива
връзката "много към много" на две връзки "един
към много". За тази цел вмъкваме първичния ключ
на всяка от тези две таблици в третата таблица
В резултат в третата таблица “Детайли на поръчката” ще
се записва всяко появяване или случай на връзката
Релации между таблици
Всеки запис в таблицата “Детайли на поръчката"
представлява един елемент на ред от поръчката
Първичният ключ на таблицата “Детайли на поръчката"
се състои от две полета – външните ключове от
таблиците за Поръчки и Продукти
Използването само на полето "ИД на поръчка" като
първичен ключ на тази таблица не е възможно,
защото в една поръчка може да има много продукти
и "ИД на поръчка" ще се повтаря за всеки продукт в
поръчката, т.е. полето няма да съдържа уникални
стойности, каквото е изискването за ключово поле
Използването само на полето "ИД на продукт" също не е
възможно, защото един продукт може да се появи в
много различни поръчки
Но когато са зададени като съставен ключ, двете полета
винаги дават уникална стойност за всеки запис
Релации между таблици
В базата данни за продажба на продуктите, таблицата
"Поръчки" и таблицата "Продукти" не са свързани
пряко една с друга
Вместо това те са свързани непряко чрез таблицата
“Детайли на поръчката“
Отношението "много към много" между поръчките и
продуктите е представено в базата данни чрез
използване на две връзки "един към много":

Таблиците "Поръчки" и "Детайли на поръчката"
имат връзка “1:М". Всяка поръчка може да има
повече от един продукт, но всеки продукт е свързан
само с една конкретна поръчка,

Таблиците "Продукти" и "Детайли на поръчката "
имат връзка “1:М". Всеки продукт може да е свързан
с много поръчки, но всяка поръчка се отнася само за
един конкретен продукт;
продукт
Релации между таблици
Всички продукти от една конкретна поръчка може да се
определят от таблицата "Детайли на поръчката“
Може също така да се определят всичките поръчки за
конкретен продукт
След включването на таблицата "Детайли на
поръчката" списъкът на таблиците и полетата може
да има следния вид:
Релации между таблици
Създаване на връзка "един към един“ (1:1)
Да предположим, че трябва да запишете някаква
допълнителна информация за продукта, която ще ви
е необходима по-рядко или се отнася само за няколко
продукта
Понеже информацията не ви трябва често и
съхранението й в таблицата "Продукти" ще има за
резултат празно място за всеки продукт, за който не
се отнася, можете да я поставите в отделна таблица
Както при таблицата "Продукти", като първичен ключ
ще се използва ИД на продукта. Връзката между тази
допълнителна таблица и таблицата "Продукти" е от
типа "един към един“
За всеки запис в таблицата "Продукти" съществува един
съответстващ запис в допълнителната таблица. След
като е определена такава връзка, и двете таблици
трябва да споделят общо поле
Релации между таблици
Когато откриете необходимост от връзка "един към
един" за базата данни, обмислете дали не може да
сложите информация от двете таблици заедно в една
таблица
Ако не искате да правите това поради някаква причина,
вероятно поради получаването на много празно
място, следващият списък показва как би трябвало
да представите връзката в проекта си:

Ако двете таблици имат един и същ обект, вероятно
можете да зададете връзката като използвате един и
същ първичен ключ за двете таблици,

Ако двете таблици имат различен обект, с различни
първични ключове, изберете една от таблиците (без
значение коя) и вмъкнете първичния й ключ в
другата таблица като външен ключ;
Релации между таблици
Определянето на връзките между таблиците ще
ви помогне да се уверите, че имате правилно
проектирани таблици и колони
Когато съществува връзка от типа "един към
един" или "един към много", участващите
таблици трябва да “споделят” обща колона
или колони
Когато съществува връзка от типа "много към
много", за представяне на връзката е
необходима трета таблица
Формуляри
Формуляри понякога се наричат "екрани за
въвеждане на данни“ или “входни” форми
Те са интерфейсите, използвани за работа с вашите
данни, и често съдържат командни бутони, които
изпълняват различни команди
Можете да създадете база данни, без да използвате
формуляри, като просто редактирате данните в
листа с данни на таблицата
Повечето потребители на базите данни обаче
предпочитат да използват формуляри, за да
преглеждат, въвеждат и редактират данните в
таблиците
Формуляри
Формулярите предоставят лесен за използване формат за
работа с данните, а вие можете да добавяте към тях
функционални елементи, като командни бутони
Можете да програмирате бутоните, за да задавате кои данни да
се показват във формуляра, да отваряте други формуляри
или отчети или да изпълнявате различни други задачи
Например, във формуляра "Формуляр за клиенти", в който
работите с данни за клиентите, може да има бутон, който
отваря формуляр за поръчки, в който можете да въведете
нова поръчка за този клиент
Формулярите Ви позволяват също да управлявате
взаимодействието на потребителите с данните в базата
данни
Например можете да създадете формуляр, който показва само
определени полета и разрешава да се извършват само
определени операции, което помага за защитата на
данните и за правилното им въвеждане
Формуляри
Създаване на формуляри за въвеждане на данни в
таблиците (Form):
Form

От панела в ляво се избира съответната таблица,
например Клиенти,

Избира се таб Create,

Натиска се бутон Form,

Натискат се бутоните Close, Yes, OK,
Отварянето на формуляра:

От панела в ляво се избира формуляр Клиенти и се
изпълнява функцията Open от контекстното меню,

Въвеждат се данни в таблицата Клиенти,

Нов запис се въвежда с бутон New или CTRL + + ;
Отчети
Отчетите се използват за обобщаване и представяне на
данните от таблиците
Отчетите обикновено отговарят на определен въпрос,
например "Колко пари получихме от всеки клиент
тази година?" или "От кои градове са нашите
клиенти?“
Всеки отчет може да бъде форматиран, за да представя
информацията по възможно най-удобния за четене и
анализ на информацията в него начин
Един отчет може да бъде изпълнен по всяко време и
винаги ще отразява текущите данни в базата данни
Отчетите обикновено са форматирани за отпечатване, но
те може също да бъдат разглеждани на екрана,
експортирани в друга програма или изпращани като
имейли на един или повече получатели
Отчети
Създаване на отчети (Reports):

Избира се таб Create и се натиска бутон
Report Wizard,

От списъчното поле Tables/Queries се избира
например Table: Клиенти,

Натискат се последователно бутоните > >,
Next, Next, Next, Next, Next,

Името на отчета може да остане по
подразбиране Клиенти,

Натиска се бутон Finish;
Заявки
Заявките могат да изпълняват много различни функции,
но основната им функция е да извличат определени
данни от таблиците
Данните, които искате да видите, обикновено са
разпръснати в няколко таблици и заявките Ви
позволяват да ги покажете в един единствен лист с
данни. Освен това, тъй като обикновено не искате да
видите всички записи наведнъж, заявките ви
позволяват да добавяте критерии, за да
"филтрирате" данните само до желаните записи
Заявките често служат като източник на записи за
формулярите и отчетите
Някои заявки са "обновяеми", което означава, че можете
да редактирате данните в лежащите в основата им
таблици чрез листа с данни на заявката, като имайте
предвид, че вашите промени всъщност се извършват
в таблиците, а не само в листа с данни на заявката
Заявки
Заявките имат две основни разновидности:

Заявки за селектиране - заявката за селектиране
само извлича данните и ги прави достъпни за
използване
Резултатите от заявката могат да се разглеждат на
екрана, да се отпечатват и да се копират в
клипборда
Можете също да използвате изхода от заявката като
източник на записи за формуляр или отчет,

Заявки за действия - заявката за действие
извършва действия с данните
Заявките за действия могат да се използват за
създаване на нови таблици, за добавяне на данни
в съществуващи таблици, за модифициране на
данни или за изтриване на данни;
Заявки
Създаване на заявки (Queries):

Избира се таб Create и се натиска бутон Query Design,

Избира се първата таблица Клиенти и се натиска
бутон Add, последователно се избират следващите
таблици и се добавят с Add, натиска се бутон Close,

От таблицата Клиенти, с двукратно натискане на
Номер клиент, полето се прехвърля в полето Field,
аналогично се прехвърлят и останалите полета от
съответните таблици, от които се създава заявката,

Натискат се бутоните Close, Yes, в полето Query Name
се въвежда име на заявката, натиска се бутон OK,

Заявката се отваря с функцията Open от контекстното
меню на заявката;
Макроси
Макросите в Access може да се разглеждат като
опростен език за програмиране, който можете да
използвате, за да добавяте функционалност към
вашата база данни
Например можете да прикачите макрос към бутон във
формуляр, така че макросът да се изпълнява
винаги, когато бутонът се натисне
Макросите съдържат действия, които изпълняват
определени задачи, например отваряне на отчет,
изпълнение на заявка или затваряне на базата
данни
Повечето операции в базата данни, които извършвате
ръчно, могат да бъдат автоматизирани с помощта
на макроси и това да ви позволи да спестите много
време
Модули
Модулите, подобно на макросите, са обекти, които
можете да използвате, за да добавите
функционалност към вашата база данни
За разлика от създаването на макроси в Access чрез
избиране от списък с макродействия, модулите се
записват на езика за програмиране Visual Basic for
Applications (VBA)
Модулът е набор от декларации, команди и процедури,
които се съхраняват заедно като блок. Модулът може
да бъде или модул на клас, или стандартен модул
Модулите на класове се прикачват към формуляри или
отчети и обикновено съдържат процедури, които са
специфични за съответния формуляр или отчет
Стандартните модули съдържат общи процедури, които
не са асоциирани с друг обект. Стандартните модули
са изброени под Модули в навигационния екран,
докато модулите на класове не са
Резюме
Microsoft Access 2007 е СУБД, която
управлява база данни с релационен
модел на данните
Включва елементите:
Таблици, Формуляри, Заявки, Отчети,
Макроси, Модули;
Въпроси
1.

2.

3.

4.

5.

6.

В колко файла се съхранява информацията за
елементите на една база данни на СУБД Access?
Kакво e файловото разширение на БД, създадени
със СУБД Access?
Какви операции можете да извършвате с помощта на
СУБД Access?
От какви елементи се състои всяка една БД,
създадена със СУБД Access?
От какъв тип са връзките между таблиците
"Доставчици" и "Продукти"?
Какво трябва да направите, ако връзката между
таблиците е от тип “много към много” (М:М)?
Въпроси
9.

10.
11.
12.
13.
14.
15.
16.

Кога връзката между таблиците е от тип "един
към един“ (1:1)?
Какво е предназначението на формуляра?
Къде се извеждат отчетите?
Какво е “обновяема” заявка?
Какви са основните два типа заявки?
За какво се използва макроса?
За какво се използва модула?
Какво е общото и различното между макрос и
модул?

Más contenido relacionado

Destacado

Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...DAVID Academy
 
Курс по програмиране за напреднали (2012) - 6. Web приложения
Курс по програмиране за напреднали (2012) - 6. Web приложенияКурс по програмиране за напреднали (2012) - 6. Web приложения
Курс по програмиране за напреднали (2012) - 6. Web приложенияDAVID Academy
 
Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...
Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...
Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...DAVID Academy
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroSvetlin Nakov
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)DAVID Academy
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...DAVID Academy
 
Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7DAVID Academy
 
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...DAVID Academy
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...DAVID Academy
 
Introducere in Seismologie
Introducere in SeismologieIntroducere in Seismologie
Introducere in SeismologieRaluca
 
Application of IT in engineering
Application of IT in engineeringApplication of IT in engineering
Application of IT in engineeringSuman Shrestha
 
IMPACT OF IT IN CIVIL ENGINEERING
IMPACT OF IT IN CIVIL ENGINEERINGIMPACT OF IT IN CIVIL ENGINEERING
IMPACT OF IT IN CIVIL ENGINEERINGKulbir Singh gill
 
Application of information technology in different areas
Application of information technology in different areasApplication of information technology in different areas
Application of information technology in different areasRobiul Awal
 
създаване на презентация чрез Power Point
създаване на презентация чрез Power Pointсъздаване на презентация чрез Power Point
създаване на презентация чрез Power Pointmtrad
 
Software And Computer Applications for civil engineering
Software And Computer Applications for civil engineeringSoftware And Computer Applications for civil engineering
Software And Computer Applications for civil engineeringSameer Nawab
 
Advanced softwares used in civil engineering
Advanced softwares used in civil  engineeringAdvanced softwares used in civil  engineering
Advanced softwares used in civil engineeringVinaykumar Koli
 

Destacado (20)

Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
 
Курс по програмиране за напреднали (2012) - 6. Web приложения
Курс по програмиране за напреднали (2012) - 6. Web приложенияКурс по програмиране за напреднали (2012) - 6. Web приложения
Курс по програмиране за напреднали (2012) - 6. Web приложения
 
Access
AccessAccess
Access
 
Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...
Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...
Курс по програмиране за напреднали (2012) - 9. Добър и лош код. Преработка и ...
 
Nakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - IntroNakov - RDBMS Systems - Intro
Nakov - RDBMS Systems - Intro
 
Introduction to-RDBMS-systems
Introduction to-RDBMS-systemsIntroduction to-RDBMS-systems
Introduction to-RDBMS-systems
 
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
Курс по уеб програмиране (2015), занятие №3 - JavaScript (част 1/2)
 
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
Курс по информационни технологии (2013) - 1. Desktop приложения. Windows Form...
 
Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7Училищен курс по програмиране на C# (2013/2014), занятие №7
Училищен курс по програмиране на C# (2013/2014), занятие №7
 
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
Курс по програмиране за напреднали (2012) - 3. Бази данни. Системи за управле...
 
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
Курс по програмиране на C# 2013 - 8. Полиморфизъм. Абстракция. Шаблони. Вград...
 
Introducere in Seismologie
Introducere in SeismologieIntroducere in Seismologie
Introducere in Seismologie
 
1.2 the application of it
1.2 the application of it1.2 the application of it
1.2 the application of it
 
Introduction to Finite Elements
Introduction to Finite ElementsIntroduction to Finite Elements
Introduction to Finite Elements
 
Application of IT in engineering
Application of IT in engineeringApplication of IT in engineering
Application of IT in engineering
 
IMPACT OF IT IN CIVIL ENGINEERING
IMPACT OF IT IN CIVIL ENGINEERINGIMPACT OF IT IN CIVIL ENGINEERING
IMPACT OF IT IN CIVIL ENGINEERING
 
Application of information technology in different areas
Application of information technology in different areasApplication of information technology in different areas
Application of information technology in different areas
 
създаване на презентация чрез Power Point
създаване на презентация чрез Power Pointсъздаване на презентация чрез Power Point
създаване на презентация чрез Power Point
 
Software And Computer Applications for civil engineering
Software And Computer Applications for civil engineeringSoftware And Computer Applications for civil engineering
Software And Computer Applications for civil engineering
 
Advanced softwares used in civil engineering
Advanced softwares used in civil  engineeringAdvanced softwares used in civil  engineering
Advanced softwares used in civil engineering
 

Más de club23

Ms office word 2007
Ms office word 2007Ms office word 2007
Ms office word 2007club23
 
кои сме ние
кои сме ниекои сме ние
кои сме ниеclub23
 
компания2
компания2компания2
компания2club23
 
използване на специализирани програми за получаване и изпращане на файлове в ...
използване на специализирани програми за получаване и изпращане на файлове в ...използване на специализирани програми за получаване и изпращане на файлове в ...
използване на специализирани програми за получаване и изпращане на файлове в ...club23
 
Html 5-tables-forms-frames (1)
Html 5-tables-forms-frames (1)Html 5-tables-forms-frames (1)
Html 5-tables-forms-frames (1)club23
 
Project 1 challenge
Project 1   challenge Project 1   challenge
Project 1 challenge club23
 
Project 1 module 3 -9kl
Project 1   module 3 -9klProject 1   module 3 -9kl
Project 1 module 3 -9klclub23
 
Project 1 module 2-9kl
Project 1   module 2-9klProject 1   module 2-9kl
Project 1 module 2-9klclub23
 
Project 1 module 1-9kl
Project 1   module 1-9klProject 1   module 1-9kl
Project 1 module 1-9klclub23
 
Kolelo
KoleloKolelo
Koleloclub23
 
Proekt
ProektProekt
Proektclub23
 
Prolet
ProletProlet
Proletclub23
 
езици за програмиране. Php
езици за програмиране. Phpезици за програмиране. Php
езици за програмиране. Phpclub23
 
Css layout
Css layoutCss layout
Css layoutclub23
 

Más de club23 (15)

Ms office word 2007
Ms office word 2007Ms office word 2007
Ms office word 2007
 
кои сме ние
кои сме ниекои сме ние
кои сме ние
 
Karma
KarmaKarma
Karma
 
компания2
компания2компания2
компания2
 
използване на специализирани програми за получаване и изпращане на файлове в ...
използване на специализирани програми за получаване и изпращане на файлове в ...използване на специализирани програми за получаване и изпращане на файлове в ...
използване на специализирани програми за получаване и изпращане на файлове в ...
 
Html 5-tables-forms-frames (1)
Html 5-tables-forms-frames (1)Html 5-tables-forms-frames (1)
Html 5-tables-forms-frames (1)
 
Project 1 challenge
Project 1   challenge Project 1   challenge
Project 1 challenge
 
Project 1 module 3 -9kl
Project 1   module 3 -9klProject 1   module 3 -9kl
Project 1 module 3 -9kl
 
Project 1 module 2-9kl
Project 1   module 2-9klProject 1   module 2-9kl
Project 1 module 2-9kl
 
Project 1 module 1-9kl
Project 1   module 1-9klProject 1   module 1-9kl
Project 1 module 1-9kl
 
Kolelo
KoleloKolelo
Kolelo
 
Proekt
ProektProekt
Proekt
 
Prolet
ProletProlet
Prolet
 
езици за програмиране. Php
езици за програмиране. Phpезици за програмиране. Php
езици за програмиране. Php
 
Css layout
Css layoutCss layout
Css layout
 

20090510 unicheats.net 520_6094

  • 1. УНСС - Катедра “Информационни технологии и комуникации” Тема 5 Бази данни СУБД MS Access 2007
  • 2. СУБД MS Access Microsoft Office Access 2007 е СУБД, която поддържа релационен модел на данните, т.е. информацията е организирана в таблици В повечето бази данни са необходими повече от една таблици Например в една база данни за бизнес информация може да има таблици за съхранение и обработка на информацията за: 1. Продукти, 2. Поръчки, 3. Клиенти, 4. Доставчици;
  • 3. СУБД MS Access Всеки ред се нарича още запис, а всяка колона се нарича поле Записът е последователен начин за обединяване на информацията за обекта Полето е един отделен елемент от информацията – един тип елемент, който се появява във всеки един запис В таблицата "Продукти" например всеки ред или запис съдържа информация за един продукт Всяка колона или поле съдържа някакъв вид информация за този продукт като названието или цената му
  • 5. СУБД MS Access Една база данни може да съдържа повече от една таблица Например една система за складово стопанство, използваща три таблици, не съдържа три бази данни, а представлява една база данни, съдържаща три таблици Една база данни на Access съхранява своите таблици в един единствен файл, заедно с други обекти, каквито са формулярите, отчетите, макросите и модулите Базите данни, създадени със СУБД Access 2007, имат файлово разширение .accdb
  • 6. СУБД MS Access Елементите на една база данни на Access са:  Таблици,  Формуляри,  Отчети,  Заявки,  Макроси,  Модули;
  • 7. СУБД MS Access СУБД Access поддържа:  Език за описание на данни,  Език за манипулиране на данни, Езикът за описание на данни позволява:  Да описвате структурата на таблиците, формулярите, заявките и отчетите,  Да променяте (актуализирате) определена структура, например да добавите нова колона на таблицата; таблицата
  • 8. СУБД MS Access Езикът за манипулиране на данните, позволява:  Да добавяте нови записи в базата данни, например данни за нови продукти,  Да редактирате съществуващи данни в базата данни, например да променяте единичните цени на продуктите,  Да изтривате информация, например когато един продукт вече не се предлага или е бракуван,  Да организирате и показвате данните по различни начини,  Да споделяте данните с други потребители чрез отчети, имейли, интранет или Интернет; Интернет
  • 9. Таблици Всеки ред от таблица се нарича запис Записите са мястото, където се съхранява информацията за конкретен елемент на обекта Всеки запис се състои от едно или повече полета Полетата съответстват на колоните в таблицата Например в таблица с име “Клиенти", всеки запис (ред) ще съдържа информация за различен клиент, а всяко поле (колона) ще съдържа конкретна информация за клиента, например име на фирма, адрес, град, пощенски код и т.н. На полетата трябва да бъде присвоен определен тип на данните, например за полето име на фирма - текст (text), за полето дата на поръчка - дата (date), за полето количество - число (number), за полето единична цена - парична стойност (currency), както и да използвате друг тип
  • 10. Таблици Създаване на таблица в Access 2007:  Избира се таб Create – натиска се бутон Table Design, в полето Field Name се въвежда името на полето, от списъчното поле Data Type се избира тип на съхраняваната информация, например AutoNumber, Number, Text, и т.н.,  Аналогично се описват останалите полета от таблицата,  За дефиниране на първичен ключ се маркира съответното поле или полета, ако ключът е “съставен” и се натиска бутон Primary Key,  Натиска се бутон Close, бутон Yes, въвежда се име на таблицата и се натиска OK;
  • 11. Релации между таблици В Access се използват връзки (релации) между таблиците, за да се обедини информацията, която ни е необходима за формуляри, заявки и отчети Връзките биват (1:М), (М:1), (М:М), (1:1) Създаване на връзка "един към много“ (1:M) Например, какъв е типът на връзката между таблиците "Доставчици" и "Продукти" в базата данни за поръчки? Един доставчик може да ни снабдява с всякакъв вид продукти. Следователно за всеки доставчик представен в таблицата "Доставчици" може да има много продукти, представени в таблицата "Продукти“ Поради това връзката между таблицата "Доставчици" и таблицата "Продукти" е от типа "един към много“ (1:М)
  • 12. Релации между таблици За да представите връзката "един към много" в проекта на базата данни, вземете първичния ключ от страната "един" на връзката и го добавете като допълнителна колона или колони към таблицата от страната "много" на връзката В този случай, например, вие добавяте колоната за ИД на доставчик от таблицата "Доставчици" към таблицата "Продукти". След това Access може да използва ИД номера на доставчика в таблицата "Продукти", за да намери подходящия доставчик за всеки продукт Колоната с ИД на доставчика в таблицата "Продукти" се нарича “външен” ключ. Един външен ключ представлява първичен ключ на друга таблица Колоната с ИД на доставчика в таблицата "Продукти" е външен ключ, защото той също така е първичен ключ на таблицата "Доставчици"
  • 13. Релации между таблици Чрез обединяване на първични и външни ключове се осигурява релацията на свързаните таблици Ако не сте сигурни кои от таблиците трябва да “споделят” обща колона, определянето на връзка "един към много" обезпечава споделянето на една колона от двете участващи таблици
  • 14. Релации между таблици Създаване на връзка "много към много“ (М:М) Да разгледаме връзката между таблицата "Продукти" и таблицата "Поръчки" Една поръчка може да включва повече от един продукт От друга страна един продукт може да се участва в много поръчки Следователно за всеки запис в таблицата "Поръчки" може да има много записи в таблицата "Продукти“ И за всеки запис в таблицата "Продукти" може да има много записи в таблицата "Поръчки“ Този тип отношение се нарича връзка "много към много“ (М:М), защото за всеки продукт може да има много поръчки, както и за всяка поръчка може да има много продукти
  • 15. Релации между таблици В момента двете таблици, на Поръчките и Продуктите би трябвало да имат връзка "Много към много“ Това представлява проблем. За да разберете този проблем, си представете какво би се случило, ако се опитате да създадете връзката между двете таблици чрез добавяне на полето "ИД на продукт" към таблицата "Поръчки“ За да имате повече от един продукт на поръчка, ви е необходим повече от един запис за тази поръчка в таблицата "Поръчки". Т.е. ще се повтаря информация за поръчката на всеки ред, отнасящ се за даден продукт от поръчката. Резултатът ще бъде неефективно проектиране и може да доведе до неточни данни Ще срещнете същия проблем, ако поставите полето "ИД на поръчка" в таблицата "Продукти“, т.е. ще ви е необходим повече от един запис в таблицата "Продукти" за всеки един продукт от поръчката Как се решава този проблем?
  • 16. Релации между таблици Отговорът се състои в създаването на трета таблица, наричана съединителна таблица, която разбива връзката "много към много" на две връзки "един към много". За тази цел вмъкваме първичния ключ на всяка от тези две таблици в третата таблица В резултат в третата таблица “Детайли на поръчката” ще се записва всяко появяване или случай на връзката
  • 17. Релации между таблици Всеки запис в таблицата “Детайли на поръчката" представлява един елемент на ред от поръчката Първичният ключ на таблицата “Детайли на поръчката" се състои от две полета – външните ключове от таблиците за Поръчки и Продукти Използването само на полето "ИД на поръчка" като първичен ключ на тази таблица не е възможно, защото в една поръчка може да има много продукти и "ИД на поръчка" ще се повтаря за всеки продукт в поръчката, т.е. полето няма да съдържа уникални стойности, каквото е изискването за ключово поле Използването само на полето "ИД на продукт" също не е възможно, защото един продукт може да се появи в много различни поръчки Но когато са зададени като съставен ключ, двете полета винаги дават уникална стойност за всеки запис
  • 18. Релации между таблици В базата данни за продажба на продуктите, таблицата "Поръчки" и таблицата "Продукти" не са свързани пряко една с друга Вместо това те са свързани непряко чрез таблицата “Детайли на поръчката“ Отношението "много към много" между поръчките и продуктите е представено в базата данни чрез използване на две връзки "един към много":  Таблиците "Поръчки" и "Детайли на поръчката" имат връзка “1:М". Всяка поръчка може да има повече от един продукт, но всеки продукт е свързан само с една конкретна поръчка,  Таблиците "Продукти" и "Детайли на поръчката " имат връзка “1:М". Всеки продукт може да е свързан с много поръчки, но всяка поръчка се отнася само за един конкретен продукт; продукт
  • 19. Релации между таблици Всички продукти от една конкретна поръчка може да се определят от таблицата "Детайли на поръчката“ Може също така да се определят всичките поръчки за конкретен продукт След включването на таблицата "Детайли на поръчката" списъкът на таблиците и полетата може да има следния вид:
  • 20. Релации между таблици Създаване на връзка "един към един“ (1:1) Да предположим, че трябва да запишете някаква допълнителна информация за продукта, която ще ви е необходима по-рядко или се отнася само за няколко продукта Понеже информацията не ви трябва често и съхранението й в таблицата "Продукти" ще има за резултат празно място за всеки продукт, за който не се отнася, можете да я поставите в отделна таблица Както при таблицата "Продукти", като първичен ключ ще се използва ИД на продукта. Връзката между тази допълнителна таблица и таблицата "Продукти" е от типа "един към един“ За всеки запис в таблицата "Продукти" съществува един съответстващ запис в допълнителната таблица. След като е определена такава връзка, и двете таблици трябва да споделят общо поле
  • 21. Релации между таблици Когато откриете необходимост от връзка "един към един" за базата данни, обмислете дали не може да сложите информация от двете таблици заедно в една таблица Ако не искате да правите това поради някаква причина, вероятно поради получаването на много празно място, следващият списък показва как би трябвало да представите връзката в проекта си:  Ако двете таблици имат един и същ обект, вероятно можете да зададете връзката като използвате един и същ първичен ключ за двете таблици,  Ако двете таблици имат различен обект, с различни първични ключове, изберете една от таблиците (без значение коя) и вмъкнете първичния й ключ в другата таблица като външен ключ;
  • 22. Релации между таблици Определянето на връзките между таблиците ще ви помогне да се уверите, че имате правилно проектирани таблици и колони Когато съществува връзка от типа "един към един" или "един към много", участващите таблици трябва да “споделят” обща колона или колони Когато съществува връзка от типа "много към много", за представяне на връзката е необходима трета таблица
  • 23. Формуляри Формуляри понякога се наричат "екрани за въвеждане на данни“ или “входни” форми Те са интерфейсите, използвани за работа с вашите данни, и често съдържат командни бутони, които изпълняват различни команди Можете да създадете база данни, без да използвате формуляри, като просто редактирате данните в листа с данни на таблицата Повечето потребители на базите данни обаче предпочитат да използват формуляри, за да преглеждат, въвеждат и редактират данните в таблиците
  • 24. Формуляри Формулярите предоставят лесен за използване формат за работа с данните, а вие можете да добавяте към тях функционални елементи, като командни бутони Можете да програмирате бутоните, за да задавате кои данни да се показват във формуляра, да отваряте други формуляри или отчети или да изпълнявате различни други задачи Например, във формуляра "Формуляр за клиенти", в който работите с данни за клиентите, може да има бутон, който отваря формуляр за поръчки, в който можете да въведете нова поръчка за този клиент Формулярите Ви позволяват също да управлявате взаимодействието на потребителите с данните в базата данни Например можете да създадете формуляр, който показва само определени полета и разрешава да се извършват само определени операции, което помага за защитата на данните и за правилното им въвеждане
  • 25. Формуляри Създаване на формуляри за въвеждане на данни в таблиците (Form): Form  От панела в ляво се избира съответната таблица, например Клиенти,  Избира се таб Create,  Натиска се бутон Form,  Натискат се бутоните Close, Yes, OK, Отварянето на формуляра:  От панела в ляво се избира формуляр Клиенти и се изпълнява функцията Open от контекстното меню,  Въвеждат се данни в таблицата Клиенти,  Нов запис се въвежда с бутон New или CTRL + + ;
  • 26. Отчети Отчетите се използват за обобщаване и представяне на данните от таблиците Отчетите обикновено отговарят на определен въпрос, например "Колко пари получихме от всеки клиент тази година?" или "От кои градове са нашите клиенти?“ Всеки отчет може да бъде форматиран, за да представя информацията по възможно най-удобния за четене и анализ на информацията в него начин Един отчет може да бъде изпълнен по всяко време и винаги ще отразява текущите данни в базата данни Отчетите обикновено са форматирани за отпечатване, но те може също да бъдат разглеждани на екрана, експортирани в друга програма или изпращани като имейли на един или повече получатели
  • 27. Отчети Създаване на отчети (Reports):  Избира се таб Create и се натиска бутон Report Wizard,  От списъчното поле Tables/Queries се избира например Table: Клиенти,  Натискат се последователно бутоните > >, Next, Next, Next, Next, Next,  Името на отчета може да остане по подразбиране Клиенти,  Натиска се бутон Finish;
  • 28. Заявки Заявките могат да изпълняват много различни функции, но основната им функция е да извличат определени данни от таблиците Данните, които искате да видите, обикновено са разпръснати в няколко таблици и заявките Ви позволяват да ги покажете в един единствен лист с данни. Освен това, тъй като обикновено не искате да видите всички записи наведнъж, заявките ви позволяват да добавяте критерии, за да "филтрирате" данните само до желаните записи Заявките често служат като източник на записи за формулярите и отчетите Някои заявки са "обновяеми", което означава, че можете да редактирате данните в лежащите в основата им таблици чрез листа с данни на заявката, като имайте предвид, че вашите промени всъщност се извършват в таблиците, а не само в листа с данни на заявката
  • 29. Заявки Заявките имат две основни разновидности:  Заявки за селектиране - заявката за селектиране само извлича данните и ги прави достъпни за използване Резултатите от заявката могат да се разглеждат на екрана, да се отпечатват и да се копират в клипборда Можете също да използвате изхода от заявката като източник на записи за формуляр или отчет,  Заявки за действия - заявката за действие извършва действия с данните Заявките за действия могат да се използват за създаване на нови таблици, за добавяне на данни в съществуващи таблици, за модифициране на данни или за изтриване на данни;
  • 30. Заявки Създаване на заявки (Queries):  Избира се таб Create и се натиска бутон Query Design,  Избира се първата таблица Клиенти и се натиска бутон Add, последователно се избират следващите таблици и се добавят с Add, натиска се бутон Close,  От таблицата Клиенти, с двукратно натискане на Номер клиент, полето се прехвърля в полето Field, аналогично се прехвърлят и останалите полета от съответните таблици, от които се създава заявката,  Натискат се бутоните Close, Yes, в полето Query Name се въвежда име на заявката, натиска се бутон OK,  Заявката се отваря с функцията Open от контекстното меню на заявката;
  • 31. Макроси Макросите в Access може да се разглеждат като опростен език за програмиране, който можете да използвате, за да добавяте функционалност към вашата база данни Например можете да прикачите макрос към бутон във формуляр, така че макросът да се изпълнява винаги, когато бутонът се натисне Макросите съдържат действия, които изпълняват определени задачи, например отваряне на отчет, изпълнение на заявка или затваряне на базата данни Повечето операции в базата данни, които извършвате ръчно, могат да бъдат автоматизирани с помощта на макроси и това да ви позволи да спестите много време
  • 32. Модули Модулите, подобно на макросите, са обекти, които можете да използвате, за да добавите функционалност към вашата база данни За разлика от създаването на макроси в Access чрез избиране от списък с макродействия, модулите се записват на езика за програмиране Visual Basic for Applications (VBA) Модулът е набор от декларации, команди и процедури, които се съхраняват заедно като блок. Модулът може да бъде или модул на клас, или стандартен модул Модулите на класове се прикачват към формуляри или отчети и обикновено съдържат процедури, които са специфични за съответния формуляр или отчет Стандартните модули съдържат общи процедури, които не са асоциирани с друг обект. Стандартните модули са изброени под Модули в навигационния екран, докато модулите на класове не са
  • 33. Резюме Microsoft Access 2007 е СУБД, която управлява база данни с релационен модел на данните Включва елементите: Таблици, Формуляри, Заявки, Отчети, Макроси, Модули;
  • 34. Въпроси 1. 2. 3. 4. 5. 6. В колко файла се съхранява информацията за елементите на една база данни на СУБД Access? Kакво e файловото разширение на БД, създадени със СУБД Access? Какви операции можете да извършвате с помощта на СУБД Access? От какви елементи се състои всяка една БД, създадена със СУБД Access? От какъв тип са връзките между таблиците "Доставчици" и "Продукти"? Какво трябва да направите, ако връзката между таблиците е от тип “много към много” (М:М)?
  • 35. Въпроси 9. 10. 11. 12. 13. 14. 15. 16. Кога връзката между таблиците е от тип "един към един“ (1:1)? Какво е предназначението на формуляра? Къде се извеждат отчетите? Какво е “обновяема” заявка? Какви са основните два типа заявки? За какво се използва макроса? За какво се използва модула? Какво е общото и различното между макрос и модул?