SlideShare a Scribd company logo
Бази от данни
Урок 2: Работа с обекта
„таблица“
Юлиана Пенева
Департамент “Информатика”,НБУ
july_peneva@abv.bg
Съдържание
1. Първичен ключ
2. Свързване на таблици в базата.
Практическо занятие №1.
3. Проектиране на базата.
4. Процесът „нормализация“ на базата.
5. Анализ и нормализация на данните в СУБД
Access. Практическо занятие №2.
6. Самостоятелна работа
Юлиана Пенева Бази от данни - урок 2 2
Първичен ключ
• Всички бази в Access
се състоят от поне
една таблица (table).
• В таблиците се
съхраняват данните 
те са основен
изграждащ блок на
всяка база.
Юлиана Пенева Бази от данни - урок 2 3
Таблиците организират
данните
Първичен ключ
• В базата от данни се
предвижда по една
таблица за всеки основен
обект – доставчик,
служител...
• Няма дублиране на данни
в отделните таблици
• Всяка таблица е изградена
от редове, наречени
записи (records) и колони,
наречени полета (fields).
Юлиана Пенева Бази от данни - урок 2 4
Базата се изгражда от
отделни таблици.
Първичен ключ
• Записът е съвкупност от
факти за определен обект, за
който се пазят данни в
базата
• Например данните за
доставчик Speedy Express се
съхраняват в таблицата
Доставчик
Юлиана Пенева Бази от данни - урок 2 5
Всеки ред изгражда
запис.
Първичен ключ
• Полето може да се
разглежда като единичен
факт, приложим за даден
обект
• Например полето Phone е
смислено за отделните
доставчици
Юлиана Пенева Бази от данни - урок 2 6
Phone и другите
колони са полета
(fields)
Първичен ключ
• Полетата в базата
притежават определени
характеристики, които
определят типа на
съхраняваните в тях
данни, извеждането на
данните и възможните
операции върху тях.
Юлиана Пенева Бази от данни - урок 2 7
Всяко поле притежава
характеристики: име,
тип на данните, дали е
главен ключ, свойства.
Първичен ключ
1. Име на полето – задавайте
говорещи имена, които да
показват какви данни
съдържа поелта
2. Тип на данните (12
различни типа):
• ограничава и описва вида
на данните, които се
въвеждат в полето -
цифрови, символни, дата...
• определя операциите и
колко памет се заделя за
полето
Юлиана Пенева Бази от данни - урок 2 8
Всяко поле притежава
характеристики: име,
тип на данните, главен
ключ, свойства.
Първичен ключ
3. Главен (първичен) ключ –
единствен идентификатор
на отделния ред в дадена
таблица.
4. Свойства на полето -
служат за допълнителен
контрол върху данните в
полето. По този начин се
улеснява въвеждането и
контрола (формален и
логически) върху данните.
Юлиана Пенева Бази от данни - урок 2 9
Всяко поле притежава
характеристики: име,
тип на данните, главен
ключ, свойства.
Първичен ключ
Свойства на полето (Field properties)
1. Field Size - размер на полето, определен в зависимост от типа на данните.
2. Format – начин на показване на данните – 17 формата.
3. Input mask - маска или шаблон за въвеждане на данни. Показва какъв символ може
да бъде въведен на всяка позиция в полето. Символ 0 от шаблона - на съответната
позиция може да се въведе само цифра, символ # - въвежда се цифра или на
интервал, символ ? - незадължително въвеждане на символ..... Ако не е зададен,
стойността на полето се определя от типа.
4. Caption - етикет, извеждан пред полето при генериране на форми за въвеждане на
данни. Ако не е зададен, извежда се името на колоната.
5. Default value – стойност по подразбиране, попълва се автоматично при добавяне на
записи, може да се редактира от потребителя.
6. Validation Rule - правило за валидност на данните в колоната, представлява
логически израз, истинността на който означава, че въведената в полето стойност е
валидна. Ограничения за цялостност!!
7. Validation text - съобщение за грешка при опит за въвеждане на данни, които не
отговарят на правилото за валидност.
8. Required – задължително въвеждане на стойност в полето.
9. …………………………………………………………………
Юлиана Пенева Бази от данни - урок 2 10
Първичен ключ
Как се създава ключ?
1. Избира се една от колоните, за която е сигурно че няма
да има повтарящи се стойности за различни редове –
например подобна колона може да бъде ЕГН или
факултетен номер на студента.
2. Ако една от колоните в таблицата е недостатъчна, за
да образува първичен ключ тогава се избират две или
повече колони – съставен първичен ключ.
3. В случаите когато в таблицата няма подходящи за
първичен ключ колони, тогава Access се грижи да
номерира отделните редове в таблицата.
Юлиана Пенева Бази от данни - урок 2 11
Първичен ключ
• Добре структурираната база
не притежава два напълно
идентични записа.
• Всеки запис в дадена
таблица е уникален.
• Например не може за
съществуват два записа с
данни за Nancy Davolio.
Юлиана Пенева Бази от данни - урок 2 12
Данните за всеки
служител трябва да
образуват уникален
запис.
Първичен ключ
• За да се различават записите в
таблицата едно от полетата в се
избира за главен ключ.
• Главният ключ представлява
идентификатор. Неговите стойности
са различни на всеки запис.
• Изборът на главен ключ зависи от
значението на колоните.
• Спазва се правилото: независимо от
обработките отделните записи да се
различават един от друг.
• Например изборът на полето
Фамилия за ключ на СЛУЖИТЕЛ e
неудачен - в предприятието може да
работят двама служители с еднакви
фамилни имена.
Юлиана Пенева Бази от данни - урок 2 13
Данните за всеки
служител трябва да
образуват уникален
запис.
Първичен ключ
Ако няма подходящо за главен
ключ поле?
• Access присвоява числов главен
ключ, който се увеличава с 1
при всяко въвеждане на запис в
таблицата.
• По този начин на всеки запис се
присвоява число.
• Присвоеният от Access главен
ключ остава свързан с дадения
запис, независимо от
добавянето или изтриването на
записи, въведени преди
дадения запис в базата.
Юлиана Пенева Бази от данни - урок 2 14
Данните за всеки
служител трябва да
образуват уникален
запис.
Първичен ключ
• Правило: всяка таблица
трябва да притежава главен
ключ.
ЗАЩО?
• Главният ключ разделя
подобни данни и прави всеки
запис уникален.
• Главният ключ служи за
свързване на информацията
в базата.
Юлиана Пенева Бази от данни - урок 2 15
Данните за всеки
служител трябва да
образуват уникален
запис.
Свързване на две таблици
• Главният ключ служи за
свързване на таблиците.
• Таблиците се свързват, за да
се избегне повторението на
едни и същи данни.
• Когато две таблици са
свързани главният ключ на
едната таблица става чужд
ключ на другата.
Например:
Employee ID е главен ключ на
таблицата Employees.......
…и чужд (външен) ключ на
таблицата Orders.
Юлиана Пенева Бази от данни - урок 2 16
Главен и чужд ключ
Свързване на две таблици
1. Две таблици се свързват чрез създаване на двойки
„главен ключ-външен ключ“.
2. Необходимо е да се открият всички подобни двойки и да
се отбележат в съответните им таблици.
Юлиана Пенева Бази от данни - урок 2 17
Свързване на две таблици
Юлиана Пенева Бази от данни - урок 2 18
Видове връзки между таблиците в базата
1. Едно-към-едно (1:1) – на всеки запис от таблица
А съответства точно един запис от таблица В.
2. Едно-към-много(1:N) – с един запис от таблица А
са свързани няколко записа от таблицата В.
3. Много-към-много – с един запис от таблица А са
свързани няколко записа от таблица В и на един
запис от таблица В съответстват няколко записа
от таблица А.
Свързване на две таблици
Юлиана Пенева Бази от данни - урок 2 19
Практическо занятие №1
Задача: свържете таблиците DEPARTMENT и EMPLOYEE.
Стъпка 1. Избира Database Tools и след това Relationships
Стъпка 2. От контекстното меню с щракане върху Show Table се извежда
списък на таблиците. Избират се таблиците, които участват във
връзката.
Стъпка 3. Като се използва съответствието „главен ключ-външен ключ“
се избира главната таблица – тази, в която полето е първичен ключ с
уникални стойности – DEPARTMENT. Щраква се върху полето и при
натиснат ляв бутон се мести и пуска върху съответстващото му поле – в
нашия пример това е DepartmentId от EMPLOYEE. В прозореца Edit
Relationship се указват на СУБД да проверява автоматично коректността
на въвежданите данни.
Стъпка 4. Щраква се върху Create и връзката е създадена.
Проектиране на базата
Юлиана Пенева Бази от данни - урок 2 20
1. Етап 1: Събиране и анализ на изискванията
2. Етап 2: Концептуално проектиране – създава се абстрактен модел
на базата от данни като се използват събраните изисквания.
3. Етап 3: Логическо проектиране – създава се структурата на базата
от данни с избрания за реализация софтуер от тип СУБД.
Дейности:
Стъпка 1 Планиране на таблици – за всеки обект се предвижда по
една таблица.
Стъпка 2 Избор на типове данни – това е формат, който дефинира
вида на данните във всяко поле.
Стъпка 3 Посочване на първичен ключ – не е задължително, но е
препоръчително, за да няма дублиране на данните.
Стъпка 4 Посочване на общите полета - първичен и външен ключ.
Стъпка 5 Свързване на таблиците.
Нормализация на базата
Юлиана Пенева Бази от данни - урок 2 21
1. Нормализацията на данните - процес, при който
таблиците с неподходяща структура (много на брой
колони) се разлагат на по-малки таблици.
2. Цел - е да се осигури добър проект на таблиците и
да няма повторение на едни и същи данни в няколко
от тях.
3. На всеки етап от нормализацията таблиците се
привеждат в определен вид, наречен нормална
форма - в практиката се прилагат първа, втора и
трета нормални форми.
4. Всяка нормална форма представлява правило и
таблицата се подлага на проверка дали го
удовлетворява.
5. Добър проект на базата от данни означава, че всяка
таблица е в трета нормална форма.
Нормализация на базата
Пример
Еmployee
Юлиана Пенева Бази от данни - урок 2 22
Emplo
yeeID
FullName Position Salary Depar
tment
Phone
1 Нина Табакова програмист 2600 11 111111111
2 Ана Попова проектант 3000 22 222222222
3 Георги Коцев проектант 3400 22 222222222
4 Иван Петров програмист 4000 11 111111111
5 Иван Петров администратор 4000 11 111111111
Анализ:
1. Има дублиране на данните за длъжности и отдели.
2. Ако се смени телефонния номер на даден отдел се
налага промяната да бъде отразена коректно във
всички записи.
3. Не възможно да се въведат данните за нов отдел, ако
към него не е назначен поне един служител (ключът
не може да е с невъведена стойност!
Нормализация на базата
Юлиана Пенева Бази от данни - урок 2 23
1. Съгласно правилата за нормализация таблицата трябва да се
раздели на таблици с по-малък брой колони като всяка от тях се
проверява последователно дали изпълнява изискванията на
нормалните форми.
2. Започва се от първа нормална форма.
3. Тя изисква във всяка клетка на таблицата да има неделима,
неразложима стойност.
4. С други думи първа нормална форма забранява полето да
съдържа няколко стойности или групи от стойности (това е
основното различие с Excel).
Employ
eeID
FName Lname Position Salary Depar
tment
Phone
1 Нина Табакова програмист 2600 11 111111111
2 Ана Попова проектант 3000 22 222222222
3 Георги Коцев проектант 3400 22 222222222
4 Иван Петров програмист 4000 11 111111111
5 Иван Петров администратор 4000 11 111111111
Нормализация на базата
Проверки за втора нормална форма
За целта се анализират стойностите в полетата.
При наличието на много еднакви стойности таблицата трябва
да се разложи на подходящи по-малки таблици.
Правилото за привеждане на дадена таблица във втора
нормална форма е следното:
1. Таблицата е в първа нормална форма.
2. Таблицата съдържа данни за единствена
информационна единица.
3. Таблицата има ключ.
Юлиана Пенева Бази от данни - урок 2 24
Нормализация на базата
Проверки за втора нормална форма
Юлиана Пенева Бази от данни - урок 2 25
EMPLOYEE
EmployeeID FName Lname Salary
1 Нина Табакова 2600
2 Ана Попова 3000
3 Георги Коцев 3400
4 Иван Петров 4000
POSITION
PositionID PositionName
1 програмист
2 проектант
3 администратор
DEPARTMENT
DepartmentID DepartmentN Phone
1 11 111111111
2 22 222222222
Нормализация на базата
Проверки за трета нормална форма
1. Трета нормална форма налага правилото: колоните в
таблицата да се определят еднозначно от ключа. Това
означава в таблицата да няма колони, които не участват
в ключа и от тях да зависят други колони.
2. На практика това означава таблицата да е приведена във
втора нормална форма и да се определят връзките
между таблиците. За целта може да се наложи
въвеждането на външни ключове в таблиците и
изграждането на свързваща таблица при наличието на
връзка от вида „много-към много“.
Юлиана Пенева Бази от данни - урок 2 26
Нормализация на базата
Проверки за трета нормална форма
1. Въвеждане на външен ключ DepartmentID в таблицата
EMPLOYEE за да се свържат таблиците EMPLOYEE и
DEPARTMENT.
Юлиана Пенева Бази от данни - урок 2 27
EmployeeID FName Lname Salary DepartmentID
1 Нина Табакова 2600 1
2 Ана Попова 3000 2
3 Георги Коцев 3400 2
4 Иван Петров 4000 1
DepartmentID DepartmentN Phone
1 11 111111111
2 22 222222222
Нормализация на базата
Проверки за трета нормална форма
2. Създаване на свързваща таблица за обработване на
връзката „много-към-много“. В нея участват като полета
ключовете на двете таблици, за които тя се явява
свързваща таблица.
Юлиана Пенева Бази от данни - урок 2 28
ID PositionID EmployeeID
1 1 1
2 2 2
3 2 3
4 3 4
Нормализация на базата
Проверки за трета нормална форма
1. Таблиците да съдържат само атомарни данни (изискване
на първа нормална форма).
2. В таблиците няма дублиране на данните.
3. Таблиците съдържат външни ключове и могат да се
свържат правилно помежду си.
В Access се предлага Съветник за анализ на таблиците – Table
Analyzer Wizard, който се стартира от лентата с инструменти
като се избира Database Tools и след това Analyze Table.
Юлиана Пенева Бази от данни - урок 2 29

More Related Content

What's hot

модели на данни
модели на даннимодели на данни
модели на данниAni Yolowa
 
Marko Kraljević - Marija Kostić
Marko Kraljević - Marija KostićMarko Kraljević - Marija Kostić
Marko Kraljević - Marija Kostić
Miroslav
 
Ujka Vanja
Ujka VanjaUjka Vanja
Ujka Vanja
Mirjana Krunić
 
Игра асоцијације - школа
Игра асоцијације - школаИгра асоцијације - школа
Игра асоцијације - школа
Nataša Duvnjak
 
Михајло Пупин 2
Михајло Пупин 2Михајло Пупин 2
Михајло Пупин 2
TimZainformisanje
 
Prezentacija Bora Stanković
Prezentacija Bora StankovićPrezentacija Bora Stanković
Prezentacija Bora Stanković
JelenaMitic15
 
изречение
изречениеизречение
изречение
Galina Naidenova
 
представяне на алгоритми
представяне на алгоритмипредставяне на алгоритми
представяне на алгоритмиmtrad
 
Zbirka primera inkluzivne prakse
Zbirka primera inkluzivne prakseZbirka primera inkluzivne prakse
Zbirka primera inkluzivne prakse
Zorana Galic
 
0тчет за дейността на методическо обединение,,природни науки 51 СОУ
0тчет за дейността на методическо обединение,,природни науки 51 СОУ0тчет за дейността на методическо обединение,,природни науки 51 СОУ
0тчет за дейността на методическо обединение,,природни науки 51 СОУ
асен александров
 
видове алгоритми
видове алгоритмивидове алгоритми
видове алгоритмиmtrad
 
Немањићи - 4. разред
Немањићи - 4. разредНемањићи - 4. разред
Немањићи - 4. разред
Снежана Жана Ђорђевић
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
Dimitris Psounis
 
Рисуване по приказка
Рисуване по приказкаРисуване по приказка
Рисуване по приказкаDani Parvanova
 
Живот и обичаји народа српског
Живот и обичаји народа српскогЖивот и обичаји народа српског
Живот и обичаји народа српског
srpskisajelenom
 

What's hot (20)

модели на данни
модели на даннимодели на данни
модели на данни
 
Marko Kraljević - Marija Kostić
Marko Kraljević - Marija KostićMarko Kraljević - Marija Kostić
Marko Kraljević - Marija Kostić
 
Ujka Vanja
Ujka VanjaUjka Vanja
Ujka Vanja
 
Игра асоцијације - школа
Игра асоцијације - школаИгра асоцијације - школа
Игра асоцијације - школа
 
Михајло Пупин 2
Михајло Пупин 2Михајло Пупин 2
Михајло Пупин 2
 
Prezentacija Bora Stanković
Prezentacija Bora StankovićPrezentacija Bora Stanković
Prezentacija Bora Stanković
 
изречение
изречениеизречение
изречение
 
Putovanje u putopis,vida ognjenović pitanja
Putovanje u putopis,vida ognjenović pitanjaPutovanje u putopis,vida ognjenović pitanja
Putovanje u putopis,vida ognjenović pitanja
 
представяне на алгоритми
представяне на алгоритмипредставяне на алгоритми
представяне на алгоритми
 
Zbirka primera inkluzivne prakse
Zbirka primera inkluzivne prakseZbirka primera inkluzivne prakse
Zbirka primera inkluzivne prakse
 
0тчет за дейността на методическо обединение,,природни науки 51 СОУ
0тчет за дейността на методическо обединение,,природни науки 51 СОУ0тчет за дейността на методическо обединение,,природни науки 51 СОУ
0тчет за дейността на методическо обединение,,природни науки 51 СОУ
 
Заменице
Заменице Заменице
Заменице
 
видове алгоритми
видове алгоритмивидове алгоритми
видове алгоритми
 
Немањићи - 4. разред
Немањићи - 4. разредНемањићи - 4. разред
Немањићи - 4. разред
 
подлог
подлогподлог
подлог
 
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4ΠΛΗ20 ΜΑΘΗΜΑ 1.4
ΠΛΗ20 ΜΑΘΗΜΑ 1.4
 
Най-скъпоценният плод
Най-скъпоценният плодНай-скъпоценният плод
Най-скъпоценният плод
 
Рисуване по приказка
Рисуване по приказкаРисуване по приказка
Рисуване по приказка
 
Kviz za vi razred original
Kviz za vi razred originalKviz za vi razred original
Kviz za vi razred original
 
Живот и обичаји народа српског
Живот и обичаји народа српскогЖивот и обичаји народа српског
Живот и обичаји народа српског
 

More from RaynaITSTEP

Project management professional
Project management professionalProject management professional
Project management professional
RaynaITSTEP
 
Project management it step
Project management it stepProject management it step
Project management it step
RaynaITSTEP
 
Lean startup
Lean startupLean startup
Lean startup
RaynaITSTEP
 
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
RaynaITSTEP
 
DBT_3
DBT_3DBT_3
monitoring and diagnostics
monitoring and diagnosticsmonitoring and diagnostics
monitoring and diagnostics
RaynaITSTEP
 
network security
network securitynetwork security
network security
RaynaITSTEP
 
networking
networkingnetworking
networking
RaynaITSTEP
 
data security
data securitydata security
data security
RaynaITSTEP
 
configuring disk sand drivers
configuring disk sand driversconfiguring disk sand drivers
configuring disk sand drivers
RaynaITSTEP
 
boot process
boot process  boot process
boot process
RaynaITSTEP
 
install update and migration to windows 10
install update and migration to windows 10install update and migration to windows 10
install update and migration to windows 10
RaynaITSTEP
 
virtualization
virtualizationvirtualization
virtualization
RaynaITSTEP
 
Фотошоп за деца_4
Фотошоп за деца_4Фотошоп за деца_4
Фотошоп за деца_4
RaynaITSTEP
 
Структурни кабелни системи
Структурни кабелни системиСтруктурни кабелни системи
Структурни кабелни системи
RaynaITSTEP
 
Android introduction
Android introductionAndroid introduction
Android introduction
RaynaITSTEP
 
Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2
RaynaITSTEP
 
Adobe Illustrator - Обобщение
Adobe Illustrator - ОбобщениеAdobe Illustrator - Обобщение
Adobe Illustrator - Обобщение
RaynaITSTEP
 
Урок 1_Прозрачност
Урок 1_ПрозрачностУрок 1_Прозрачност
Урок 1_Прозрачност
RaynaITSTEP
 
Урок 3 4 - layer blend modes and effects
Урок 3 4 - layer blend modes and effectsУрок 3 4 - layer blend modes and effects
Урок 3 4 - layer blend modes and effects
RaynaITSTEP
 

More from RaynaITSTEP (20)

Project management professional
Project management professionalProject management professional
Project management professional
 
Project management it step
Project management it stepProject management it step
Project management it step
 
Lean startup
Lean startupLean startup
Lean startup
 
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
 
DBT_3
DBT_3DBT_3
DBT_3
 
monitoring and diagnostics
monitoring and diagnosticsmonitoring and diagnostics
monitoring and diagnostics
 
network security
network securitynetwork security
network security
 
networking
networkingnetworking
networking
 
data security
data securitydata security
data security
 
configuring disk sand drivers
configuring disk sand driversconfiguring disk sand drivers
configuring disk sand drivers
 
boot process
boot process  boot process
boot process
 
install update and migration to windows 10
install update and migration to windows 10install update and migration to windows 10
install update and migration to windows 10
 
virtualization
virtualizationvirtualization
virtualization
 
Фотошоп за деца_4
Фотошоп за деца_4Фотошоп за деца_4
Фотошоп за деца_4
 
Структурни кабелни системи
Структурни кабелни системиСтруктурни кабелни системи
Структурни кабелни системи
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2
 
Adobe Illustrator - Обобщение
Adobe Illustrator - ОбобщениеAdobe Illustrator - Обобщение
Adobe Illustrator - Обобщение
 
Урок 1_Прозрачност
Урок 1_ПрозрачностУрок 1_Прозрачност
Урок 1_Прозрачност
 
Урок 3 4 - layer blend modes and effects
Урок 3 4 - layer blend modes and effectsУрок 3 4 - layer blend modes and effects
Урок 3 4 - layer blend modes and effects
 

DBT_2

  • 1. Бази от данни Урок 2: Работа с обекта „таблица“ Юлиана Пенева Департамент “Информатика”,НБУ july_peneva@abv.bg
  • 2. Съдържание 1. Първичен ключ 2. Свързване на таблици в базата. Практическо занятие №1. 3. Проектиране на базата. 4. Процесът „нормализация“ на базата. 5. Анализ и нормализация на данните в СУБД Access. Практическо занятие №2. 6. Самостоятелна работа Юлиана Пенева Бази от данни - урок 2 2
  • 3. Първичен ключ • Всички бази в Access се състоят от поне една таблица (table). • В таблиците се съхраняват данните  те са основен изграждащ блок на всяка база. Юлиана Пенева Бази от данни - урок 2 3 Таблиците организират данните
  • 4. Първичен ключ • В базата от данни се предвижда по една таблица за всеки основен обект – доставчик, служител... • Няма дублиране на данни в отделните таблици • Всяка таблица е изградена от редове, наречени записи (records) и колони, наречени полета (fields). Юлиана Пенева Бази от данни - урок 2 4 Базата се изгражда от отделни таблици.
  • 5. Първичен ключ • Записът е съвкупност от факти за определен обект, за който се пазят данни в базата • Например данните за доставчик Speedy Express се съхраняват в таблицата Доставчик Юлиана Пенева Бази от данни - урок 2 5 Всеки ред изгражда запис.
  • 6. Първичен ключ • Полето може да се разглежда като единичен факт, приложим за даден обект • Например полето Phone е смислено за отделните доставчици Юлиана Пенева Бази от данни - урок 2 6 Phone и другите колони са полета (fields)
  • 7. Първичен ключ • Полетата в базата притежават определени характеристики, които определят типа на съхраняваните в тях данни, извеждането на данните и възможните операции върху тях. Юлиана Пенева Бази от данни - урок 2 7 Всяко поле притежава характеристики: име, тип на данните, дали е главен ключ, свойства.
  • 8. Първичен ключ 1. Име на полето – задавайте говорещи имена, които да показват какви данни съдържа поелта 2. Тип на данните (12 различни типа): • ограничава и описва вида на данните, които се въвеждат в полето - цифрови, символни, дата... • определя операциите и колко памет се заделя за полето Юлиана Пенева Бази от данни - урок 2 8 Всяко поле притежава характеристики: име, тип на данните, главен ключ, свойства.
  • 9. Първичен ключ 3. Главен (първичен) ключ – единствен идентификатор на отделния ред в дадена таблица. 4. Свойства на полето - служат за допълнителен контрол върху данните в полето. По този начин се улеснява въвеждането и контрола (формален и логически) върху данните. Юлиана Пенева Бази от данни - урок 2 9 Всяко поле притежава характеристики: име, тип на данните, главен ключ, свойства.
  • 10. Първичен ключ Свойства на полето (Field properties) 1. Field Size - размер на полето, определен в зависимост от типа на данните. 2. Format – начин на показване на данните – 17 формата. 3. Input mask - маска или шаблон за въвеждане на данни. Показва какъв символ може да бъде въведен на всяка позиция в полето. Символ 0 от шаблона - на съответната позиция може да се въведе само цифра, символ # - въвежда се цифра или на интервал, символ ? - незадължително въвеждане на символ..... Ако не е зададен, стойността на полето се определя от типа. 4. Caption - етикет, извеждан пред полето при генериране на форми за въвеждане на данни. Ако не е зададен, извежда се името на колоната. 5. Default value – стойност по подразбиране, попълва се автоматично при добавяне на записи, може да се редактира от потребителя. 6. Validation Rule - правило за валидност на данните в колоната, представлява логически израз, истинността на който означава, че въведената в полето стойност е валидна. Ограничения за цялостност!! 7. Validation text - съобщение за грешка при опит за въвеждане на данни, които не отговарят на правилото за валидност. 8. Required – задължително въвеждане на стойност в полето. 9. ………………………………………………………………… Юлиана Пенева Бази от данни - урок 2 10
  • 11. Първичен ключ Как се създава ключ? 1. Избира се една от колоните, за която е сигурно че няма да има повтарящи се стойности за различни редове – например подобна колона може да бъде ЕГН или факултетен номер на студента. 2. Ако една от колоните в таблицата е недостатъчна, за да образува първичен ключ тогава се избират две или повече колони – съставен първичен ключ. 3. В случаите когато в таблицата няма подходящи за първичен ключ колони, тогава Access се грижи да номерира отделните редове в таблицата. Юлиана Пенева Бази от данни - урок 2 11
  • 12. Първичен ключ • Добре структурираната база не притежава два напълно идентични записа. • Всеки запис в дадена таблица е уникален. • Например не може за съществуват два записа с данни за Nancy Davolio. Юлиана Пенева Бази от данни - урок 2 12 Данните за всеки служител трябва да образуват уникален запис.
  • 13. Първичен ключ • За да се различават записите в таблицата едно от полетата в се избира за главен ключ. • Главният ключ представлява идентификатор. Неговите стойности са различни на всеки запис. • Изборът на главен ключ зависи от значението на колоните. • Спазва се правилото: независимо от обработките отделните записи да се различават един от друг. • Например изборът на полето Фамилия за ключ на СЛУЖИТЕЛ e неудачен - в предприятието може да работят двама служители с еднакви фамилни имена. Юлиана Пенева Бази от данни - урок 2 13 Данните за всеки служител трябва да образуват уникален запис.
  • 14. Първичен ключ Ако няма подходящо за главен ключ поле? • Access присвоява числов главен ключ, който се увеличава с 1 при всяко въвеждане на запис в таблицата. • По този начин на всеки запис се присвоява число. • Присвоеният от Access главен ключ остава свързан с дадения запис, независимо от добавянето или изтриването на записи, въведени преди дадения запис в базата. Юлиана Пенева Бази от данни - урок 2 14 Данните за всеки служител трябва да образуват уникален запис.
  • 15. Първичен ключ • Правило: всяка таблица трябва да притежава главен ключ. ЗАЩО? • Главният ключ разделя подобни данни и прави всеки запис уникален. • Главният ключ служи за свързване на информацията в базата. Юлиана Пенева Бази от данни - урок 2 15 Данните за всеки служител трябва да образуват уникален запис.
  • 16. Свързване на две таблици • Главният ключ служи за свързване на таблиците. • Таблиците се свързват, за да се избегне повторението на едни и същи данни. • Когато две таблици са свързани главният ключ на едната таблица става чужд ключ на другата. Например: Employee ID е главен ключ на таблицата Employees....... …и чужд (външен) ключ на таблицата Orders. Юлиана Пенева Бази от данни - урок 2 16 Главен и чужд ключ
  • 17. Свързване на две таблици 1. Две таблици се свързват чрез създаване на двойки „главен ключ-външен ключ“. 2. Необходимо е да се открият всички подобни двойки и да се отбележат в съответните им таблици. Юлиана Пенева Бази от данни - урок 2 17
  • 18. Свързване на две таблици Юлиана Пенева Бази от данни - урок 2 18 Видове връзки между таблиците в базата 1. Едно-към-едно (1:1) – на всеки запис от таблица А съответства точно един запис от таблица В. 2. Едно-към-много(1:N) – с един запис от таблица А са свързани няколко записа от таблицата В. 3. Много-към-много – с един запис от таблица А са свързани няколко записа от таблица В и на един запис от таблица В съответстват няколко записа от таблица А.
  • 19. Свързване на две таблици Юлиана Пенева Бази от данни - урок 2 19 Практическо занятие №1 Задача: свържете таблиците DEPARTMENT и EMPLOYEE. Стъпка 1. Избира Database Tools и след това Relationships Стъпка 2. От контекстното меню с щракане върху Show Table се извежда списък на таблиците. Избират се таблиците, които участват във връзката. Стъпка 3. Като се използва съответствието „главен ключ-външен ключ“ се избира главната таблица – тази, в която полето е първичен ключ с уникални стойности – DEPARTMENT. Щраква се върху полето и при натиснат ляв бутон се мести и пуска върху съответстващото му поле – в нашия пример това е DepartmentId от EMPLOYEE. В прозореца Edit Relationship се указват на СУБД да проверява автоматично коректността на въвежданите данни. Стъпка 4. Щраква се върху Create и връзката е създадена.
  • 20. Проектиране на базата Юлиана Пенева Бази от данни - урок 2 20 1. Етап 1: Събиране и анализ на изискванията 2. Етап 2: Концептуално проектиране – създава се абстрактен модел на базата от данни като се използват събраните изисквания. 3. Етап 3: Логическо проектиране – създава се структурата на базата от данни с избрания за реализация софтуер от тип СУБД. Дейности: Стъпка 1 Планиране на таблици – за всеки обект се предвижда по една таблица. Стъпка 2 Избор на типове данни – това е формат, който дефинира вида на данните във всяко поле. Стъпка 3 Посочване на първичен ключ – не е задължително, но е препоръчително, за да няма дублиране на данните. Стъпка 4 Посочване на общите полета - първичен и външен ключ. Стъпка 5 Свързване на таблиците.
  • 21. Нормализация на базата Юлиана Пенева Бази от данни - урок 2 21 1. Нормализацията на данните - процес, при който таблиците с неподходяща структура (много на брой колони) се разлагат на по-малки таблици. 2. Цел - е да се осигури добър проект на таблиците и да няма повторение на едни и същи данни в няколко от тях. 3. На всеки етап от нормализацията таблиците се привеждат в определен вид, наречен нормална форма - в практиката се прилагат първа, втора и трета нормални форми. 4. Всяка нормална форма представлява правило и таблицата се подлага на проверка дали го удовлетворява. 5. Добър проект на базата от данни означава, че всяка таблица е в трета нормална форма.
  • 22. Нормализация на базата Пример Еmployee Юлиана Пенева Бази от данни - урок 2 22 Emplo yeeID FullName Position Salary Depar tment Phone 1 Нина Табакова програмист 2600 11 111111111 2 Ана Попова проектант 3000 22 222222222 3 Георги Коцев проектант 3400 22 222222222 4 Иван Петров програмист 4000 11 111111111 5 Иван Петров администратор 4000 11 111111111 Анализ: 1. Има дублиране на данните за длъжности и отдели. 2. Ако се смени телефонния номер на даден отдел се налага промяната да бъде отразена коректно във всички записи. 3. Не възможно да се въведат данните за нов отдел, ако към него не е назначен поне един служител (ключът не може да е с невъведена стойност!
  • 23. Нормализация на базата Юлиана Пенева Бази от данни - урок 2 23 1. Съгласно правилата за нормализация таблицата трябва да се раздели на таблици с по-малък брой колони като всяка от тях се проверява последователно дали изпълнява изискванията на нормалните форми. 2. Започва се от първа нормална форма. 3. Тя изисква във всяка клетка на таблицата да има неделима, неразложима стойност. 4. С други думи първа нормална форма забранява полето да съдържа няколко стойности или групи от стойности (това е основното различие с Excel). Employ eeID FName Lname Position Salary Depar tment Phone 1 Нина Табакова програмист 2600 11 111111111 2 Ана Попова проектант 3000 22 222222222 3 Георги Коцев проектант 3400 22 222222222 4 Иван Петров програмист 4000 11 111111111 5 Иван Петров администратор 4000 11 111111111
  • 24. Нормализация на базата Проверки за втора нормална форма За целта се анализират стойностите в полетата. При наличието на много еднакви стойности таблицата трябва да се разложи на подходящи по-малки таблици. Правилото за привеждане на дадена таблица във втора нормална форма е следното: 1. Таблицата е в първа нормална форма. 2. Таблицата съдържа данни за единствена информационна единица. 3. Таблицата има ключ. Юлиана Пенева Бази от данни - урок 2 24
  • 25. Нормализация на базата Проверки за втора нормална форма Юлиана Пенева Бази от данни - урок 2 25 EMPLOYEE EmployeeID FName Lname Salary 1 Нина Табакова 2600 2 Ана Попова 3000 3 Георги Коцев 3400 4 Иван Петров 4000 POSITION PositionID PositionName 1 програмист 2 проектант 3 администратор DEPARTMENT DepartmentID DepartmentN Phone 1 11 111111111 2 22 222222222
  • 26. Нормализация на базата Проверки за трета нормална форма 1. Трета нормална форма налага правилото: колоните в таблицата да се определят еднозначно от ключа. Това означава в таблицата да няма колони, които не участват в ключа и от тях да зависят други колони. 2. На практика това означава таблицата да е приведена във втора нормална форма и да се определят връзките между таблиците. За целта може да се наложи въвеждането на външни ключове в таблиците и изграждането на свързваща таблица при наличието на връзка от вида „много-към много“. Юлиана Пенева Бази от данни - урок 2 26
  • 27. Нормализация на базата Проверки за трета нормална форма 1. Въвеждане на външен ключ DepartmentID в таблицата EMPLOYEE за да се свържат таблиците EMPLOYEE и DEPARTMENT. Юлиана Пенева Бази от данни - урок 2 27 EmployeeID FName Lname Salary DepartmentID 1 Нина Табакова 2600 1 2 Ана Попова 3000 2 3 Георги Коцев 3400 2 4 Иван Петров 4000 1 DepartmentID DepartmentN Phone 1 11 111111111 2 22 222222222
  • 28. Нормализация на базата Проверки за трета нормална форма 2. Създаване на свързваща таблица за обработване на връзката „много-към-много“. В нея участват като полета ключовете на двете таблици, за които тя се явява свързваща таблица. Юлиана Пенева Бази от данни - урок 2 28 ID PositionID EmployeeID 1 1 1 2 2 2 3 2 3 4 3 4
  • 29. Нормализация на базата Проверки за трета нормална форма 1. Таблиците да съдържат само атомарни данни (изискване на първа нормална форма). 2. В таблиците няма дублиране на данните. 3. Таблиците съдържат външни ключове и могат да се свържат правилно помежду си. В Access се предлага Съветник за анализ на таблиците – Table Analyzer Wizard, който се стартира от лентата с инструменти като се избира Database Tools и след това Analyze Table. Юлиана Пенева Бази от данни - урок 2 29