Учет неисправностей бурового оборудования ООО «КАТойл-Дриллинг»
Select personal. tabelniy_nomer, personal. famili, personal.name, personal. otchestvo, t. smeni from personal, (select tabelniy_nomer, count (tabelniy_nomer) as smeni from grafik_raboti group by tabelniy_nomer) t where personal. tabelniy_nomer=t.tabelniy_nomer. Select grafik_raboti.data, grafik_raboti.smena, personal. famili, personal.name, personal. otchestvo, personal. dolznost from… Читать ещё >
Учет неисправностей бурового оборудования ООО «КАТойл-Дриллинг» (реферат, курсовая, диплом, контрольная)
КУРСОВОЙ ПРОЕКТ по дисциплине: Информационное обеспечение систем управления Тема: Учет неисправностей бурового оборудования
ООО «КАТойл-Дриллинг»
Введение
Цель курсовой работы Курсовая работа предназначена для отработки практических навыков самостоятельного проектирования баз данных, работы с программным обеспечением баз данных, построения запросов на языке SQL, оформления документации.
Цель курсовой работы — закрепление и углубление знаний, полученных студентами в курсах «Информационное обеспечение систем управления», «Информатика», развитие профессиональных навыков в постановке и решении задач проектирования баз данных, работе с технической литературой, оформлении технической документации.
Задание
Спроектировать БД на тему «Учет неисправностей бурового оборудования ООО «КАТойл-Дриллинг»:
1. спроектировать логическую и физическую модель;
2. заполнить содержательную часть БД данными, которые соответствуют реальному положению вещей;
3. построить запросы на языке SQL.
Можно выделить следующие основные понятия: Оборудование, Журнал отказов, График работы, Персонал.
1. Схема и описание полученной логической модели
1) Блоки — содержит перечень названий блоков.
2) Должность — содержит перечень должностей.
3) Бригада — содержит перечень бригад
4) Оборудование — содержит информацию об оборудовании, расположенных в блоках.
5) Отказы — содержит перечень возможных отказов.
6) Журнал отказов — содержит сведения об отказах оборудования и их ликвидации.
7) График работы — содержит сведения о графике работы персонала.
8) Персонал — содержит сведения о персонале.
2. Физическая модель
3. Набор данных БД
информация буровой запрос неисправность
Таблица 1. Bloki.
BLOK | |
БПР | |
бур. станок | |
насосный | |
очиски | |
приемный | |
хранения | |
Таблица 2. Brigada.
N_BRIGADI | |
КАТ.1 | |
КАТ.2 | |
КАТ.3 | |
Таблица 3. Dolznost.
DOLZNOST | |
1пом.бурильщика | |
2пом.бурильщика | |
3пом.бурильщика | |
бурильщк | |
мастер | |
механик | |
слесарь | |
электоромонтер | |
Таблица 4. Grafik_raboti.
SMENA | TABELNIY_NOMER | DATA | |
дневная | 01.05.2012 0000 | ||
дневная | 01.07.2012 00:00 | ||
дневная | 01.05.2012 00:00 | ||
дневная | 01.07.2012 00:00 | ||
дневная | 0.05.2012 0000 | ||
дневная | 01.07.2012 00:00 | ||
ночная | 01.05.2012 00:00 | ||
ночная | 01.05.2012 00:00 | ||
ночная | 01.05.202 00:00 | ||
ночная | 01.05.2012 00:00 | ||
ночная | 01.05.2012 00:00 | ||
ночная | 01.05.2012 00:00 | ||
ночная | 1.07.2012 0:00 | ||
ночная | 02.07.2012 00:00 | ||
ночная | 01.07.2012 00:00 | ||
ночная | 02.07.2012 00:00 | ||
ночная | 01.07.202 00:00 | ||
ночная | 02.07.2012 00:00 | ||
ночная | 01.07.2012 00:00 | ||
ночная | 02.07.2012 00:00 | ||
ночная | 1.07.2012 0:00 | ||
ночная | 02.07.2012 00:00 | ||
Таблица 5. Otkazi.
OTKAZI | |
высокое давление | |
низкое давление | |
перегрев двигателя | |
промыв линии | |
сгорел двигатель | |
шум в подшипнике | |
Таблица 6 Oborudovanie
BLOK | OBORUDOVANIE | |
БПР | насос шламовый | |
бр. станок | грузовая лебёдка | |
насосный | ДВС | |
очиски | центрифуга | |
приемный | перемешиватель | |
хранения | перемешиватель | |
Таблица 7 Zurnal_otkazov.
BLOK | DATA | SMENA | TABELNIY_NOMER | OTKAZI | |
БПР | 01.05.2012 00:00 | дневная | сгорел двигатель | ||
бур. станок | 01.05.2012 00:00 | дневная | шум в подшипнике | ||
бур. станок | 02.07.2012 00:00 | ночная | высокое давление | ||
бур. станок | 02.07.2012 00:00 | ночная | низкое давление | ||
насосный | 01.07.2012 00:00 | дневная | сгорел двигатель | ||
очиски | 01.05.2012 00:00 | ночная | перегрев двигателя | ||
Таблица 8. Personal.
TABELNIY_NOMER | NAME | OTCHESTVO | N_BRIGADI | DOLZNOST | FAMILI | |
Виталий | Романович | КАТ.1 | мастер | Руц | ||
Сергей | Викторович | КАТ.3 | мастер | Васько | ||
Юрий | Викторович | КАТ.1 | механик | Егоренко | ||
Николай | Николаевич | КАТ.1 | бурильщик | Каберник | ||
Виктор | Николаевич | КАТ.1 | 1пом.бурильщика | Шалтеев | ||
Андрей | Павлович | КАТ.1 | 2пом.бурильщика | Шилин | ||
Александр | Викторович | КАТ.1 | 3пом.бурильщика | Куров | ||
Роман | Маликович | КАТ.3 | электоромонтер | Толок | ||
Владимир | Васильевич | КАТ.3 | слесарь | Хмелев | ||
Максим | Сергеевич | КАТ.2 | мастер | Самойленко | ||
Виталий | Викторович | КАТ.2 | 1пом.бурильщика | Разинов | ||
Марат | Эдуардович | КАТ.2 | 2пом.бурильщика | Халилов | ||
Станислав | Романович | КАТ.2 | 3пом.бурильщика | Махутов | ||
Петр | Иванович | КАТ.2 | бурильщик | Гордейко | ||
4. SQL-запросы к БД и их результаты
Select * from bloki
Таблица 9. Вывод всех блоков
BLOK | |
БПР | |
приемный | |
очиски | |
хранения | |
насосный | |
бур. станок | |
Insert into bloki values ('Раздаточный')
Таблица 10. Добавление нового блока
BLOK | |
БПР | |
Раздаточный | |
бур. станок | |
насосный | |
очиски | |
приемный | |
хранения | |
Update bloki set blok = 'распределительный' where blok = 'Раздаточный'
Таблица 11. Изменение названия блока с «Раздаточный» на «распределительный»
BLOK | |
БПР | |
бур. станок | |
насосный | |
очиски | |
приемный | |
распределительный | |
хранения | |
Delete from bloki where blok = 'распределительный'
Таблица 12. Удаление блока
BLOK | |
БПР | |
бур. станок | |
насосный | |
очиски | |
приемный | |
хранения | |
Select famili, name, otchestvo, dolznost from personal where dolznost in ('механик','мастер')
Таблица 13. Сотрудники, занимающие должность «слесарь» или «механик»
FAMILI | NAME | OTCHESTVO | DOLZNOST | |
Руц | Виталий | Романович | мастер | |
Васько | Сергей | Викторович | мастер | |
Егоренко | Юрий | Викторович | механик | |
Select distinct personal.* from personal, grafik_raboti where grafik_raboti.data>='01.07.2012' and grafik_raboti.data<='02.07.2012' and personal. tabelniy_nomer=grafik_raboti.tabelniy_nomer
Таблица 14. Персонал, работающий c 1 по 2 июня 2012 года
TABELNIY_NOMER | NAME | OTCHESTVO | N_BRIGADI | DOLZNOST | FAMILI | |
Сергей | Викторович | КАТ.3 | мастер | Васько | ||
Роман | Маликович | КАТ.3 | электоромонтер | Толок | ||
Владимир | Васильевич | КАТ.3 | слесарь | Хмелев | ||
Максим | Сергеевич | КАТ.2 | мастер | Самойленко | ||
Виталий | Викторович | КАТ.2 | 1пом.бурильщика | Разинов | ||
Марат | Эдуардович | КАТ.2 | 2пом.бурильщика | Халилов | ||
Станислав | Романович | КАТ.2 | 3пом.бурильщика | Махутов | ||
Петр | Иванович | КАТ.2 | бурильщик | Гордейко | ||
Select famili, name, otchestvo, dolznost, n_brigadi from personal where n_brigadi='КАТ.1' or n_brigadi='КАТ.3'
Таблица 15. Персонал бригады «КАТ.1» и «КАТ.3»
FAMILI | NAME | OTCHESTVO | DOLZNOST | N_BRIGADI | |
Руц | Виталий | Романович | мастер | КАТ.1 | |
Шилин | Андрей | Павлович | 2пом.бурильщика | КАТ.1 | |
Егоренко | Юрий | Викторович | механик | КАТ.1 | |
Каберник | Николай | Николаевич | бурильщик | КАТ.1 | |
Шалтеев | Виктор | Николаевич | 1пом.бурильщика | КАТ.1 | |
Куров | Александр | Викторович | 3пом.бурильщика | КАТ.1 | |
Васько | Сергей | Викторович | мастер | КАТ.3 | |
Толок | Роман | Маликович | электоромонтер | КАТ.3 | |
Хмелев | Владимир | Васильевич | слесарь | КАТ.3 | |
Select n_brigadi, count (n_brigadi) from personal group by n_brigadi having count (n_brigadi)>3
Таблица 16. Бригады, в которых более 3 человек
N_BRIGADI | COUNT | |
КАТ.1 | ||
КАТ.2 | ||
Select personal. tabelniy_nomer, personal. famili, personal.name, personal. otchestvo, t. smeni from personal, (select tabelniy_nomer, count (tabelniy_nomer) as smeni from grafik_raboti group by tabelniy_nomer) t where personal. tabelniy_nomer=t.tabelniy_nomer
Таблица 17. Количество отработанных смен каждым сотрудником
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | SMENI | |
Руц | Виталий | Романович | |||
Васько | Сергей | Викторович | |||
Егоренко | Юрий | Викторович | |||
Каберник | Николай | Николаевич | |||
Шалтеев | Виктор | Николаевич | |||
Шилин | Андрей | Павлович | |||
Куров | Александр | Викторович | |||
Толок | Роман | Маликович | |||
Хмелев | Владимир | Васильевич | |||
Самойленко | Максим | Сергеевич | |||
Разинов | Виталий | Викторович | |||
Халилов | Марат | Эдуардович | |||
Махутов | Станислав | Романович | |||
Гордейко | Петр | Иванович | |||
Select personal. tabelniy_nomer, personal. famili, personal.name, personal. otchestvo, t. smeni from personal, (select tabelniy_nomer, count (tabelniy_nomer) as smeni from grafik_raboti group by tabelniy_nomer) t where personal. tabelniy_nomer=t.tabelniy_nomer and t. smeni=(select min (smeni) from (select count (tabelniy_nomer) as smeni from grafik_raboti group by tabelniy_nomer))
Таблица 18. Сотрудники, отработавшие минимальное количество смен
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | SMENI | |
Руц | Виталий | Романович | |||
Егоренко | Юрий | Викторович | |||
Каберник | Николай | Николаевич | |||
Шалтеев | Виктор | Николаевич | |||
Шилин | Андрей | Павлович | |||
Куров | Александр | Викторович | |||
Select personal. tabelniy_nomer, personal. famili, personal.name, personal. otchestvo, t. smeni from personal, (select tabelniy_nomer, count (tabelniy_nomer) as smeni from grafik_raboti group by tabelniy_nomer) t where personal. tabelniy_nomer=t.tabelniy_nomer and t. smeni=(select max (smeni) from (select count (tabelniy_nomer) as smeni from grafik_raboti group by tabelniy_nomer))
Таблица 19. Сотрудники, отработавшие максимальное количество смен
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | SMENI | |
Васько | Сергей | Викторович | |||
Толок | Роман | Маликович | |||
Хмелев | Владимир | Васильевич | |||
Самойленко | Максим | Сергеевич | |||
Разинов | Виталий | Викторович | |||
Халилов | Марат | Эдуардович | |||
Махутов | Станислав | Романович | |||
Гордейко | Петр | Иванович | |||
Select famili, name, otchestvo, dolznost from personal order by famili
Таблица 20. Вывод персонала в алфавитном порядке
FAMILI | NAME | OTCHESTVO | DOLZNOST | |
Васько | Сергей | Викторович | мастер | |
Гордейко | Петр | Иванович | бурильщик | |
Егоренко | Юрий | Викторович | механик | |
Каберник | Николай | Николаевич | бурильщик | |
Куров | Александр | Викторович | 3пом.бурильщика | |
Махутов | Станислав | Романович | 3пом.бурильщика | |
Разинов | Виталий | Викторович | 1пом.бурильщика | |
Руц | Виталий | Романович | мастер | |
Самойленко | Максим | Сергеевич | мастер | |
Толок | Роман | Маликович | электоромонтер | |
Халилов | Марат | Эдуардович | 2пом.бурильщика | |
Хмелев | Владимир | Васильевич | слесарь | |
Шалтеев | Виктор | Николаевич | 1пом.бурильщика | |
Шилин | Андрей | Павлович | 2пом.бурильщика | |
Select tabelniy_nomer, famili, name, otchestvo from personal inner join (select distinct tabelniy_nomer from grafik_raboti where smena='дневная') t on personal. tabelniy_nomer=t.tabelniy_nomer
Таблица 21. Персонал, работавший в дневную смену
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | |
Васько | Сергей | Викторович | ||
Толок | Роман | Маликович | ||
Хмелев | Владимир | Васильевич | ||
Select personal. tabelniy_nomer, zurnal_otkazov.blok, zurnal_otkazov.data, zurnal_otkazov.otkazi from personal left outer join zurnal_otkazov on personal. tabelniy_nomer=zurnal_otkazov.tabelniy_nomer
Таблица 22. Сотрудники и связанные с ними записи в журнале отказов
TABELNIY_NOMER | BLOK | DATA | OTKAZI | |
бур. станок | 01.05.2012 | шум в подшипнике | ||
очиски | 01.05.2012 | перегрев двигателя | ||
БПР | 01.05.2012 | сгорел двигатель | ||
Select personal. tabelniy_nomer, zurnal_otkazov.blok, zurnal_otkazov.data, zurnal_otkazov.otkazi from personal right outer join zurnal_otkazov on personal. tabelniy_nomer=zurnal_otkazov.tabelniy_nomer
Таблица 23. Сотрудники и связанные с ними записи в журнале отказов
TABELNIY_NOMER | BLOK | DATA | OTKAZI | |
БПР | 01.05.2012 | сгорел двигатель | ||
бур. станок | 01.05.2012 | шум в подшипнике | ||
очиски | 01.05.2012 | перегрев двигателя | ||
Select distinct grafik_raboti.tabelniy_nomer, personal. famili, personal.name, personal. otchestvo from grafik_raboti, personal where grafik_raboti.data between '01.07.2012' and '31.07.2012' and grafik_raboti.tabelniy_nomer=personal.tabelniy_nomer
Таблица 24. Персонал, работавший в июле месяце
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | |
Васько | Сергей | Викторович | ||
Толок | Роман | Маликович | ||
Хмелев | Владимир | Васильевич | ||
Самойленко | Максим | Сергеевич | ||
Разинов | Виталий | Викторович | ||
Халилов | Марат | Эдуардович | ||
Махутов | Станислав | Романович | ||
Гордейко | Петр | Иванович | ||
Select tabelniy_nomer, famili, name, otchestvo, dolznost from personal where dolznost like '%бурильщик%'
Таблица 25. Сотрудники на должности бурильщика или помощника бурильщика
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | DOLZNOST | |
Каберник | Николай | Николаевич | бурильщик | ||
Шалтеев | Виктор | Николаевич | 1пом.бурильщика | ||
Шилин | Андрей | Павлович | 2пом.бурильщика | ||
Куров | Александр | Викторович | 3пом.бурильщика | ||
Разинов | Виталий | Викторович | 1пом.бурильщика | ||
Халилов | Марат | Эдуардович | 2пом.бурильщика | ||
Махутов | Станислав | Романович | 3пом.бурильщика | ||
Гордейко | Петр | Иванович | бурильщик | ||
Select tabelniy_nomer, famili, name, otchestvo, dolznost from personal where dolznost not like '%бурильщик%'
Таблица 26. Сотрудники, не занимающие должность бурильщика или помощника бурильщика
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | DOLZNOST | |
Руц | Виталий | Романович | мастер | ||
Васько | Сергей | Викторович | мастер | ||
Егоренко | Юрий | Викторович | механик | ||
Толок | Роман | Маликович | электоромонтер | ||
Хмелев | Владимир | Васильевич | слесарь | ||
Самойленко | Максим | Сергеевич | мастер | ||
Select 'работающие' as info, data, tabelniy_nomer from grafik_raboti where data='02.07.2012' union select 'устраняющие', data, tabelniy_nomer from zurnal_otkazov where data='02.07.2012'
Таблица 27. Персонал, работающий 2 июля 2012 года и устраняющие отказы оборудования
INFO | DATA | TABELNIY_NOMER | |
работающие | 02.07.2012 00:00 | ||
работающие | 02.07.2012 00:00 | ||
работающие | 02.07.2012 00:00 | ||
работающие | 02.07.2012 00:00 | ||
работающие | 02.07.2012 00:00 | ||
устраняющие | 02.07.2012 00:00 | ||
устраняющие | 02.07.2012 00:00 | ||
Select blok, count (*) from zurnal_otkazov group by blok
Таблица 28. Количество отказов по блокам
BLOK | COUNT | |
БПР | ||
бур. станок | ||
насосный | ||
очиски | ||
Select blok, count (*) from zurnal_otkazov group by blok having count (blok)=(select max (t) from (select count (*) as t from zurnal_otkazov group by blok))
Таблица 29. Блок с максимальным количеством отказов оборудования
BLOK | MAXI | |
бур. станок | ||
Select grafik_raboti.data, grafik_raboti.smena, personal. famili, personal.name, personal. otchestvo, personal. dolznost from grafik_raboti, personal where grafik_raboti.tabelniy_nomer=personal.tabelniy_nomer order by data desc, smena, famili asc
Таблица 30. Вывод смен в обратном временном порядке
DATA | SMENA | FAMILI | NAME | OTCHESTVO | DOLZNOST | |
02.07.2012 00:00 | ночная | Гордейко | Петр | Иванович | бурильщик | |
02.07.2012 00:00 | ночная | Махутов | Станислав | Романович | 3пом.бурильщика | |
02.07.2012 00:00 | ночная | Разинов | Виталий | Викторович | 1пом.бурильщика | |
02.07.2012 00:00 | ночная | Самойленко | Максим | Сергеевич | мастер | |
02.07.2012 00:00 | ночная | Халилов | Марат | Эдуардович | 2пом.бурильщика | |
01.07.2012 00:00 | дневная | Васько | Сергей | Викторович | мастер | |
01.07.2012 00:00 | дневная | Толок | Роман | Маликович | электоромонтер | |
01.07.2012 00:00 | дневная | Хмелев | Владимир | Васильевич | слесарь | |
01.07.2012 00:00 | ночная | Гордейко | Петр | Иванович | бурильщик | |
01.07.2012 00:00 | ночная | Махутов | Станислав | Романович | 3пом.бурильщика | |
01.07.2012 00:00 | ночная | Разинов | Виталий | Викторович | 1пом.бурильщика | |
01.07.2012 00:00 | ночная | Самойленко | Максим | Сергеевич | мастер | |
01.07.2012 00:00 | ночная | Халилов | Марат | Эдуардович | 2пом.бурильщика | |
01.05.2012 00:00 | дневная | Васько | Сергей | Викторович | мастер | |
01.05.2012 00:00 | дневная | Толок | Роман | Маликович | электоромонтер | |
01.05.2012 00:00 | дневная | Хмелев | Владимир | Васильевич | слесарь | |
01.05.2012 00:00 | ночная | Егоренко | Юрий | Викторович | механик | |
01.05.2012 00:00 | ночная | Каберник | Николай | Николаевич | бурильщик | |
01.05.2012 00:00 | ночная | Куров | Александр | Викторович | 3пом.бурильщика | |
01.05.2012 00:00 | ночная | Руц | Виталий | Романович | мастер | |
01.05.2012 00:00 | ночная | Шалтеев | Виктор | Николаевич | 1пом.бурильщика | |
01.05.2012 00:00 | ночная | Шилин | Андрей | Павлович | 2пом.бурильщика | |
Select tabelniy_nomer, famili, name, otchestvo from personal where dolznost='мастер'
Таблица 31. Сотрудники, занимающие должность мастера
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | |
Руц | Виталий | Романович | ||
Васько | Сергей | Викторович | ||
Самойленко | Максим | Сергеевич | ||
Select distinct tabelniy_nomer, famili, name, otchestvo from personal, grafik_raboti where personal. tabelniy_nomer=grafik_raboti.tabelniy_nomer and grafik_raboti.smena='ночная'
Таблица 32. Персонал, работавший в ночную смену
TABELNIY_NOMER | FAMILI | NAME | OTCHESTVO | |
Руц | Виталий | Романович | ||
Егоренко | Юрий | Викторович | ||
Каберник | Николай | Николаевич | ||
Шалтеев | Виктор | Николаевич | ||
Шилин | Андрей | Павлович | ||
Куров | Александр | Викторович | ||
Самойленко | Максим | Сергеевич | ||
Разинов | Виталий | Викторович | ||
Халилов | Марат | Эдуардович | ||
Махутов | Станислав | Романович | ||
Гордейко | Петр | Иванович | ||
Select blok, data, smena, otkazi from zurnal_otkazov where otkazi like '%двигател%'
Таблица 33. Произошедшие отказы, связанные с поломкой двигателя
BLOK | DATA | SMENA | OTKAZI | |
БПР | 01.05.2012 00:00 | дневная | сгорел двигатель | |
очиски | 01.05.2012 00:00 | ночная | перегрев двигателя | |
насосный | 01.07.2012 00:00 | дневная | сгорел двигатель | |
Select data, count (*) as otkazov from zurnal_otkazov group by data
Таблица 34. Количество произошедших отказов по дням
DATA | OTKAZOV | |
01.05.2012 00:00 | ||
01.07.2012 00:00 | ||
02.07.2012 00:00 | ||
Select data, count (data) as otkazov from zurnal_otkazov group by data having count (data)=(select max (t) from (select count (data) as t from zurnal_otkazov group by data))
Таблица 35. Дни, в которые произошло больше всего отказов
DATA | OTKAZOV | |
01.05.2012 00:00 | ||
Select count (*) from personal where dolznost like '%пом.бур%'
Таблица 37. Количество пом. бурильщика среди персонала
COUNT | |
Select oborudovanie, count (blok) from oborudovanie group by oborudovanie
Таблица 38. Количество каждого вида оборудования, установленного во всех блоках
OBORUDOVANIE | COUNT | |
ДВС | ||
грузовая лебёдка | ||
насос шламовый | ||
перемешиватель | ||
центрифуга | ||
Select smena, count (*) from (select distinct smena, data from grafik_raboti) group by smena
Таблица 39. Количество дневных и ночных смен
SMENA | COUNT | |
дневная | ||
ночная | ||
информация логический запрос
Заключение
За основу проектирования БД взята информация о ведении журнала «Непроизводительное рабочее время бригады», в котором ведется учет неисправностей бурового оборудования ООО «КАТойл-Дриллинг».
В нем указывается дата и неисправность, наименование оборудования, в каком блоке произошла поломка, а также, кто занимался устранением неисправности.
Работающий персонал распределен по бригадам. За каждым сотрудником закреплен свой, персональный табельный номер. Каждый из персонала занимает определенную должность.
Рабочие выполняют свои должностные функции согласно графику работ, в котором указывается смена, дата и табельный номер работника.
1. Курс лекций по дисциплине «Информационное обеспечение систем управления».
2. Граббер М.
Введение
в SQL.- M.: ЛОРИ, 2010. 380 с.
3. Корнеев В. В., Грачев А. Ф., Васютин С. В., Райх В. В. Базы данных. Интеллектуальная обработка информации. — М.: «Нолидж», 2011. — 325с., ил.
4. Малков С. В. BPWin и ERWin. CASE-средства разработки информационных систем. — М.: ДИАЛОГ-МИФИ, 2009. — 256с.