SlideShare a Scribd company logo
1 of 29
Бази от данни
Урок 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

Key and its different types
Key and its different typesKey and its different types
Key and its different typesUmair Shakir
 
linked lists in data structures
linked lists in data structureslinked lists in data structures
linked lists in data structuresDurgaDeviCbit
 
Normalization
NormalizationNormalization
Normalizationmomo2187
 
Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]Muhammad Hammad Waseem
 
Logical database design and the relational model(database)
Logical database design and the relational model(database)Logical database design and the relational model(database)
Logical database design and the relational model(database)welcometofacebook
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationSatya Pal
 
Normalisation muzz
Normalisation muzzNormalisation muzz
Normalisation muzzmuzzii27
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...DAVID Academy
 
Fd & Normalization - Database Management System
Fd & Normalization - Database Management SystemFd & Normalization - Database Management System
Fd & Normalization - Database Management SystemDrishti Bhalla
 
Packages in PL/SQL
Packages in PL/SQLPackages in PL/SQL
Packages in PL/SQLPooja Dixit
 
Inner join and outer join
Inner join and outer joinInner join and outer join
Inner join and outer joinNargis Ehsan
 
Types Of Keys in DBMS
Types Of Keys in DBMSTypes Of Keys in DBMS
Types Of Keys in DBMSPadamNepal1
 
Date time function in Database
Date time function in DatabaseDate time function in Database
Date time function in DatabaseSarfaraz Ghanta
 

What's hot (20)

Baze podataka
Baze podatakaBaze podataka
Baze podataka
 
Key and its different types
Key and its different typesKey and its different types
Key and its different types
 
Baza podataka
Baza podatakaBaza podataka
Baza podataka
 
linked lists in data structures
linked lists in data structureslinked lists in data structures
linked lists in data structures
 
Stacks
StacksStacks
Stacks
 
Normalization
NormalizationNormalization
Normalization
 
Upiti u Access-u
Upiti u Access-uUpiti u Access-u
Upiti u Access-u
 
Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]Data Structures - Lecture 7 [Linked List]
Data Structures - Lecture 7 [Linked List]
 
Logical database design and the relational model(database)
Logical database design and the relational model(database)Logical database design and the relational model(database)
Logical database design and the relational model(database)
 
Welcome to bulgaria eng
Welcome to bulgaria engWelcome to bulgaria eng
Welcome to bulgaria eng
 
Oracle Index
Oracle IndexOracle Index
Oracle Index
 
Mentor Your Indexes
Mentor Your IndexesMentor Your Indexes
Mentor Your Indexes
 
Entity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalizationEntity relationship diagram - Concept on normalization
Entity relationship diagram - Concept on normalization
 
Normalisation muzz
Normalisation muzzNormalisation muzz
Normalisation muzz
 
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
Курс по информационни технологии (2013) - 2. Бази данни. Системи за управлени...
 
Fd & Normalization - Database Management System
Fd & Normalization - Database Management SystemFd & Normalization - Database Management System
Fd & Normalization - Database Management System
 
Packages in PL/SQL
Packages in PL/SQLPackages in PL/SQL
Packages in PL/SQL
 
Inner join and outer join
Inner join and outer joinInner join and outer join
Inner join and outer join
 
Types Of Keys in DBMS
Types Of Keys in DBMSTypes Of Keys in DBMS
Types Of Keys in DBMS
 
Date time function in Database
Date time function in DatabaseDate time function in Database
Date time function in Database
 

More from RaynaITSTEP

Project management professional
Project management professionalProject management professional
Project management professionalRaynaITSTEP
 
Project management it step
Project management it stepProject management it step
Project management it stepRaynaITSTEP
 
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)
РАБОТА С ОБЕКТА „ЗАЯВКА“ (2)RaynaITSTEP
 
monitoring and diagnostics
monitoring and diagnosticsmonitoring and diagnostics
monitoring and diagnosticsRaynaITSTEP
 
network security
network securitynetwork security
network securityRaynaITSTEP
 
configuring disk sand drivers
configuring disk sand driversconfiguring disk sand drivers
configuring disk sand driversRaynaITSTEP
 
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 10RaynaITSTEP
 
Фотошоп за деца_4
Фотошоп за деца_4Фотошоп за деца_4
Фотошоп за деца_4RaynaITSTEP
 
Структурни кабелни системи
Структурни кабелни системиСтруктурни кабелни системи
Структурни кабелни системиRaynaITSTEP
 
Android introduction
Android introductionAndroid introduction
Android introductionRaynaITSTEP
 
Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2Adobe Illustrator - Урок 2
Adobe Illustrator - Урок 2RaynaITSTEP
 
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 effectsRaynaITSTEP
 
inline block elements
inline block elementsinline block elements
inline block elementsRaynaITSTEP
 

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)
 
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
 
inline block elements
inline block elementsinline block elements
inline block elements
 

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