SlideShare a Scribd company logo
1 of 42
Relational
database
testing
Ed Izotov
ed.izotov@gmail.com
skype: corneliusseo
Agenda
1. Introduction
2. Object-oriented testing
3. XXX
4. Вопросы с собеседований
5. Web-сервисы
6. Зачем тестировать?
7. Tools
Introduction
PHP joke is here
Object-oriented testing
SQL VS NoSQL
SQL VS NoSQL
- Запросы
- Схема данных
- Структура хранения данных и типы данных
- Надежность
- Масштабируемость
- ACID (Atomicity, Consistency, Isolation, Durability)
VS CAP (Consistency, Availability, Partition tolerance)
Relational DMS objects
Relational DMS objects
- Users
- Permissions
- Databases
- Tables
- Rows
Relations in RDMS
Relations in RDMS
- One-To-Many
- Many-To-Many
- One-To-One
Primary/Foreign keys, indexes
Primary/Foreign keys
Indexes
Database normalization
Database normalization
- First normal form (1NF)
- Second normal form includes 1NF (2NF)
- Third normal form includes 2NF (3NF)
- Boyce–Codd normal form is strong 3NF (BCNF)
- Fourth normal form includes BCNF (4NF)
- Fifth normal form includes 4NF (5NF)
1NF
В любом допустимом значении этой
переменной каждый кортеж отношения
содержит только одно значение для каждого
из атрибутов
1NF
1NF
2NF
Находится в первой нормальной форме и
каждый неключевой атрибут неприводимо
зависит от (каждого) её потенциального
ключа
2NF
2NF
3NF
Каждый неключевой атрибут «должен
предоставлять информацию о ключе, полном
ключе и ни о чём, кроме ключа»
3NF
3NF
BCNF
BCNF
PHP joke is here
4NF
4NF
5NF
5NF
Testing
Testing
- Проверяем атрибуты на соответствие типам
- Ключи и индексы в таблицах, отношения
- Нормальные формы
Tools
HeidiSQL
DbVisualizer
Interview questions
PHP joke is here
Ed Izotov
Skype: corneliusseo
Email: ed.izotov@gmail.com

More Related Content

Similar to Relational database testing

Стажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данныхСтажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данных7bits
 
презентация семинар по бд
презентация семинар по бдпрезентация семинар по бд
презентация семинар по бдanna_pal
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 087bits
 
NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...Ontico
 
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...Marcus Akoev
 
Oracle NoSQL Database
Oracle NoSQL DatabaseOracle NoSQL Database
Oracle NoSQL DatabaseAndrey Akulov
 
Стажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данныхСтажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данных7bits
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутSkillFactory
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БДAndrew Sovtsov
 
О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"Yandex
 
Дмитрий Долгов
Дмитрий ДолговДмитрий Долгов
Дмитрий ДолговCodeFest
 
Где и как хранить данные в процессе их анализа:  SQL и не только…
Где и как хранить данные в процессе их анализа: SQL и не только… Где и как хранить данные в процессе их анализа: SQL и не только…
Где и как хранить данные в процессе их анализа:  SQL и не только… Alexey Neznanov
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RUcDima
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхСергей Макрушин
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхSergey Makrushin
 

Similar to Relational database testing (20)

Стажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данныхСтажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данных
 
презентация семинар по бд
презентация семинар по бдпрезентация семинар по бд
презентация семинар по бд
 
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
Спецкурс "Современные практики разработки ПО", 2013-2014 уч. год, занятие 08
 
базы данных
базы данныхбазы данных
базы данных
 
Sails js intro
Sails js introSails js intro
Sails js intro
 
NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...NoSQL внутри SQL: приземленные вопросы практического применения /  Дмитрий До...
NoSQL внутри SQL: приземленные вопросы практического применения / Дмитрий До...
 
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
Масштабирование от клиента к серверу. От РМД к хранилищам и от хранилищ к sem...
 
Oracle NoSQL Database
Oracle NoSQL DatabaseOracle NoSQL Database
Oracle NoSQL Database
 
Стажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данныхСтажировка-2014, занятие 5. Базы данных
Стажировка-2014, занятие 5. Базы данных
 
Все самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минутВсе самые важные команды SQL за 60 минут
Все самые важные команды SQL за 60 минут
 
Моделирование для NoSQL БД
Моделирование для NoSQL БДМоделирование для NoSQL БД
Моделирование для NoSQL БД
 
О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"О.В. Сухорослов "Распределенные хранилища данных"
О.В. Сухорослов "Распределенные хранилища данных"
 
Дмитрий Долгов
Дмитрий ДолговДмитрий Долгов
Дмитрий Долгов
 
Ruwikt
RuwiktRuwikt
Ruwikt
 
Где и как хранить данные в процессе их анализа:  SQL и не только…
Где и как хранить данные в процессе их анализа: SQL и не только… Где и как хранить данные в процессе их анализа: SQL и не только…
Где и как хранить данные в процессе их анализа:  SQL и не только…
 
Управление данными (Введение в СУБД)
Управление данными (Введение в СУБД)Управление данными (Введение в СУБД)
Управление данными (Введение в СУБД)
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RU
 
10 субд
10 субд10 субд
10 субд
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 
Информационные технологии в эру Больших данных
Информационные технологии в эру Больших данныхИнформационные технологии в эру Больших данных
Информационные технологии в эру Больших данных
 

More from HYS Enterprise

Magic of web components
Magic of web componentsMagic of web components
Magic of web componentsHYS Enterprise
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” HYS Enterprise
 
How to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interviewHow to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interviewHYS Enterprise
 
Top soft skills to get a job
Top soft skills to get a jobTop soft skills to get a job
Top soft skills to get a jobHYS Enterprise
 
Wild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsWild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsHYS Enterprise
 
Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.HYS Enterprise
 
Testing strategies in a microservices architecture. Independence vs integration
Testing strategies in a microservices architecture.  Independence vs integrationTesting strategies in a microservices architecture.  Independence vs integration
Testing strategies in a microservices architecture. Independence vs integrationHYS Enterprise
 
Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"HYS Enterprise
 
"Test Design Techniques"
"Test Design Techniques" "Test Design Techniques"
"Test Design Techniques" HYS Enterprise
 
Essentials soft skills for a developer
Essentials soft skills for a developerEssentials soft skills for a developer
Essentials soft skills for a developerHYS Enterprise
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”HYS Enterprise
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"HYS Enterprise
 
“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”HYS Enterprise
 
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”HYS Enterprise
 
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."HYS Enterprise
 
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."HYS Enterprise
 
Я твой Expected Result шатал
Я твой Expected Result шаталЯ твой Expected Result шатал
Я твой Expected Result шаталHYS Enterprise
 
“Elasticsearch for .NET developers”
“Elasticsearch for .NET developers”  “Elasticsearch for .NET developers”
“Elasticsearch for .NET developers” HYS Enterprise
 
“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”HYS Enterprise
 

More from HYS Enterprise (20)

Magic of web components
Magic of web componentsMagic of web components
Magic of web components
 
“ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture” “ASP.NET Core. Features and architecture”
“ASP.NET Core. Features and architecture”
 
How to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interviewHow to create a perfect CV and make a good impression at an interview
How to create a perfect CV and make a good impression at an interview
 
Top soft skills to get a job
Top soft skills to get a jobTop soft skills to get a job
Top soft skills to get a job
 
Saga pattern
Saga patternSaga pattern
Saga pattern
 
Wild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scoutsWild Async .NET world: AID Kit for boy-scouts
Wild Async .NET world: AID Kit for boy-scouts
 
Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.Contract testing. Getting started with Pact IO.
Contract testing. Getting started with Pact IO.
 
Testing strategies in a microservices architecture. Independence vs integration
Testing strategies in a microservices architecture.  Independence vs integrationTesting strategies in a microservices architecture.  Independence vs integration
Testing strategies in a microservices architecture. Independence vs integration
 
Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"Leonid Sushenko "Pro scrum"
Leonid Sushenko "Pro scrum"
 
"Test Design Techniques"
"Test Design Techniques" "Test Design Techniques"
"Test Design Techniques"
 
Essentials soft skills for a developer
Essentials soft skills for a developerEssentials soft skills for a developer
Essentials soft skills for a developer
 
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
“Tips&Tricks&Antitricks with .Net Core backend in GameDev”
 
"Dealing with legacy code"
"Dealing with legacy code""Dealing with legacy code"
"Dealing with legacy code"
 
“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”“QA job interview: life hacks and scripts for success”
“QA job interview: life hacks and scripts for success”
 
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
Evgeniy Burak (HYS Enterprise): “Spring Data REST or intellectual job VS manual”
 
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
Dmitriy Mustafin (HYS Enterprise) "Web UI for Back-end developer."
 
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
Nikolay Tsyb (HYS Enterprise) "Immortal system as a piece of cake."
 
Я твой Expected Result шатал
Я твой Expected Result шаталЯ твой Expected Result шатал
Я твой Expected Result шатал
 
“Elasticsearch for .NET developers”
“Elasticsearch for .NET developers”  “Elasticsearch for .NET developers”
“Elasticsearch for .NET developers”
 
“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”“Microservices: how to avoid making the same mistake twice.”
“Microservices: how to avoid making the same mistake twice.”
 

Relational database testing