4. Рабочее проектирование Базы данных
4.1 Структура реляционных таблиц Access
Таблица «Сотрудник»
Название поля |
Тип |
Размер |
Примечание |
Табельный номер |
текстовое |
6 символов |
ключевое |
Фамилия И О |
текстовое |
20 символов |
|
Должность |
текстовое |
20 символов |
|
Таблица «Прибор»
Название поля |
Тип |
Размер |
Примечание |
Инвентарный номер |
текстовое |
10 символов |
ключевое |
Тип |
текстовое |
20 символов |
|
Марка |
текстовое |
10 символов |
|
Таблица «Методика»
Название поля |
Тип |
Размер |
Примечание |
Номер |
текстовый |
10 символов |
ключевое |
Описание |
Поле МЕМО |
|
|
Инвентарный номер |
текстовый |
10 символов |
|
Элемент |
текстовый |
10 символов |
|
Длина волны |
числовой |
Одинарное с плавающей точкой (2 знаков после запятой) |
|
a |
числовой |
Одинарное с плавающей точкой (5 знаков после запятой) |
|
b |
числовой |
Одинарное с плавающей точкой (5 знаков после запятой) |
|
График |
Поле OLE |
|
|
Разработка |
гиперссылка |
|
|
Таблица «Проба»
Название поля |
Тип |
Размер |
Примечание |
Код |
счетчик |
длинное целое |
ключевое |
Табельный номер |
текстовое |
6 символов |
|
Номер |
текстовый |
10 символов |
|
Сигнал |
числовой |
одинарное с плавающей точкой (3 знака после запятой) |
|
Дата |
дата и время |
|
|
4.2 Схема данных
Выполнение запросов
Формулировка: Список методик..
SQL-cкрипт:
SELECT Методика.Номер, Методика.Описание, Методика.[Инвентарный номер], Методика.Элемент, Методика.[Длина волны], Методика.a, Методика.b, Методика.График, Методика.Разработка
FROM Методика;
Результат выполнения:
Список методик |
||||||||
Номер |
Описание |
Инвентарный номер |
Элемент |
Длина волны |
a |
b |
График |
Разработка |
1 |
Метод пламенного атомно- и молекулярно-эмиссионного анализа |
123456000 |
Хром |
284,325 |
0,891397 |
3,01662 |
|
Регрессия хром.xls |
2 |
Методы атомно-эмиссионного спектрального анализа |
123456780 |
Диспрозий |
338,503 |
0,89412 |
3,12532 |
|
Регрессия диспрозий.xls |
3 |
Метод атомно-абсорбционного анализа с атомизацией пробы в пламени |
123456700 |
Железо |
259,9396 |
0,78691 |
3,14785 |
|
Регрессия железо.xls |
Формулировка: Список сотрудников данной должности.
SQL-cкрипт:
SELECT Сотрудник.[Табельный номер], Сотрудник.ФИО, Сотрудник.Должность
FROM Сотрудник
WHERE (((Сотрудник.Должность)=[Введи должность]));
Результат выполнения:
-
Запрос 2
Табельный номер
ФИО
Должность
000001
Иванов И.И.
Инженер
Формулировка: Какие методики поставлены на данном приборе (соединение «Методика» и «Прибор»)?
SQL-cкрипт:
SELECT Прибор.[Инвентарный номер], Прибор.Тип, Прибор.Марка, Методика.Номер, Методика.Описание, Методика.[Инвентарный номер], Методика.Элемент, Методика.[Длина волны], Методика.a, Методика.b, Методика.График, Методика.Разработка
FROM Прибор INNER JOIN Методика ON Прибор.[Инвентарный номер] = Методика.[Инвентарный номер]
WHERE (((Прибор.Марка)=[Введи марку прибора]));
Результат выполнения:
Запрос 3 |
||||||||
Прибор.Инвентарный номер |
Тип |
Марка |
Номер |
Описание |
Методика.Инвентарный номер |
Элемент |
Длина волны |
a |
123456700 |
Квантометр |
ДФС-44 |
3 |
Метод атомно-абсорбционного анализа с атомизацией пробы в пламени |
123456700 |
Железо |
259,9396 |
0,78691 |
Формулировка: Кто и какие пробы анализировал за данный период (соединение «Сотрудник» и «Проба»)?
SQL-cкрипт:
SELECT Сотрудник.[Табельный номер], Сотрудник.ФИО, Сотрудник.Должность, Методика.Элемент, Проба.Дата
FROM (Прибор INNER JOIN Методика ON Прибор.[Инвентарный номер] = Методика.[Инвентарный номер]) INNER JOIN (Сотрудник INNER JOIN Проба ON Сотрудник.[Табельный номер] = Проба.[Табельный номер]) ON Методика.Номер = Проба.Номер
WHERE (((Методика.Элемент)=[Введи элемент]) AND ((Проба.Дата) Between [Введи начало периода] And [Введи окончание периода]));
Результат выполнения:
Запрос 4 |
||||
Табельный номер |
ФИО |
Должность |
Элемент |
Дата |
000002 |
Петров П.П. |
Лаборант |
Железо |
01.04.2012 |
000001 |
Иванов И.И. |
Инженер |
Железо |
01.04.2012 |
000003 |
Сидоров С.С. |
Лаборант |
Железо |
02.04.2012 |
000001 |
Иванов И.И. |
Инженер |
Железо |
03.04.2012 |
Формулировка: Рассортировать список проб по возрастанию дат анализа и убыванию интенсивности сигнала.
SQL-cкрипт:
SELECT Проба.Код, Проба.[Табельный номер], Проба.Номер, Проба.Сигнал, Проба.Дата
FROM Проба
ORDER BY Проба.Сигнал DESC , Проба.Дата;
Результат выполнения:
Запрос 5 |
||||
Код |
Табельный номер |
Номер |
Сигнал |
Дата |
4 |
000002 |
3 |
35,6 |
01.04.2012 |
19 |
000003 |
3 |
35,4 |
04.04.2012 |
23 |
000002 |
3 |
19 |
05.04.2012 |
5 |
000001 |
3 |
17 |
01.04.2012 |
18 |
000002 |
2 |
17 |
04.04.2012 |
2 |
000002 |
2 |
16 |
01.04.2012 |
31 |
000001 |
1 |
14,6 |
07.04.2012 |
36 |
000003 |
1 |
14 |
08.04.2012 |
24 |
000001 |
2 |
8,81 |
08.04.2012 |
7 |
000002 |
2 |
8,69 |
02.04.2012 |
37 |
000001 |
1 |
6,5 |
05.04.2012 |
6 |
000003 |
3 |
6,4 |
02.04.2012 |
27 |
000003 |
3 |
6,3 |
07.04.2012 |
32 |
000002 |
1 |
6,2 |
07.04.2012 |
25 |
000001 |
2 |
3,64 |
05.04.2012 |
9 |
000001 |
2 |
3,2 |
02.04.2012 |
38 |
000003 |
1 |
2,44 |
05.04.2012 |
33 |
000002 |
1 |
2,1 |
08.04.2012 |
29 |
000001 |
3 |
1,9 |
07.04.2012 |
10 |
000003 |
3 |
1,9 |
08.04.2012 |
26 |
000003 |
2 |
1,14 |
06.04.2012 |
12 |
000003 |
2 |
0,9 |
03.04.2012 |
13 |
000001 |
3 |
0,82 |
03.04.2012 |
39 |
000003 |
1 |
0,769 |
02.04.2012 |
30 |
000003 |
3 |
0,73 |
07.04.2012 |
34 |
000001 |
1 |
0,636 |
08.04.2012 |
40 |
000001 |
1 |
0,27 |
02.04.2012 |
28 |
000002 |
2 |
0,261 |
08.04.2012 |
35 |
000002 |
1 |
0,255 |
08.04.2012 |
17 |
000002 |
2 |
0,2 |
08.04.2012 |
Формулировка: Вывести количество анализов, выполненных по разным методикам (группирование).
SQL-cкрипт:
SELECT Методика.Номер, Методика.Описание, Count(Проба.Код) AS [Count-код]
FROM Методика INNER JOIN Проба ON Методика.Номер = Проба.Номер
GROUP BY Методика.Номер, Методика.Описание;
Результат выполнения:
Количество анализов |
|||||
Номер |
Описание |
Инвентарный номер |
Элемент |
Длина волны |
Количество анализов |
1 |
Метод пламенного атомно- и молекулярно-эмиссионного анализа |
123456000 |
Хром |
284,325 |
10 |
2 |
Методы атомно-эмиссионного спектрального анализа |
123456780 |
Диспрозий |
338,503 |
10 |
3 |
Метод атомно-абсорбционного анализа с атомизацией пробы в пламени |
123456700 |
Железо |
259,9396 |
10 |
Формулировка: Кто анализировал пробы с данным элементом за данный период (соединение «Сотрудник», «Проба», «Методика» и «Прибор»)?
SQL-cкрипт:
SELECT Сотрудник.[Табельный номер], Сотрудник.ФИО, Сотрудник.Должность, Проба.Код, Проба.[Табельный номер], Проба.Номер, Проба.Сигнал, Проба.Дата
FROM Сотрудник INNER JOIN Проба ON Сотрудник.[Табельный номер] = Проба.[Табельный номер]
WHERE (((Проба.Дата) Between [Введи начальную дату] And [Введи конечную дату]));
Результат выполнения:
Запрос 7 |
|||||||
Сотрудник.Табельный номер |
ФИО |
Должность |
Код |
Проба.Табельный номер |
Номер |
Сигнал |
Дата |
000001 |
Иванов И.И. |
Инженер |
5 |
000001 |
3 |
17 |
01.04.2012 |
000001 |
Иванов И.И. |
Инженер |
9 |
000001 |
2 |
3,2 |
02.04.2012 |
000001 |
Иванов И.И. |
Инженер |
40 |
000001 |
1 |
0,27 |
02.04.2012 |
000002 |
Петров П.П. |
Лаборант |
2 |
000002 |
2 |
16 |
01.04.2012 |
000002 |
Петров П.П. |
Лаборант |
4 |
000002 |
3 |
35,6 |
01.04.2012 |
000002 |
Петров П.П. |
Лаборант |
7 |
000002 |
2 |
8,69 |
02.04.2012 |
000003 |
Сидоров С.С. |
Лаборант |
6 |
000003 |
3 |
6,4 |
02.04.2012 |
000003 |
Сидоров С.С. |
Лаборант |
39 |
000003 |
1 |
0,769 |
02.04.2012 |
Формулировка: Вычислить концентрацию анализируемых элементов в пробах (вычисляемое поле).
SQL-cкрипт:
SELECT Проба.Код, Проба.Сигнал, 10^((Log(Проба!сигнал)/Log(10)-Методика!b)/Методика!a) AS Концентрация, Методика.Элемент
FROM Методика INNER JOIN Проба ON Методика.Номер = Проба.Номер
WHERE (((Методика.Элемент)=[Введите необходимый элемент]));
Результат выполнения:
Запрос 8 |
|||
Код |
Сигнал |
Концентрация |
Элемент |
4 |
35,6 |
9,36063706080456E-03 |
Железо |
5 |
17 |
3,65914309620437E-03 |
Железо |
6 |
6,4 |
1,05735601547114E-03 |
Железо |
10 |
1,9 |
2,25928642217017E-04 |
Железо |
13 |
0,82 |
7,76619489324241E-05 |
Железо |
19 |
35,4 |
9,29386069009019E-03 |
Железо |
23 |
19 |
4,21468051692314E-03 |
Железо |
27 |
6,3 |
1,03640560636387E-03 |
Железо |
29 |
1,9 |
2,25928642217017E-04 |
Железо |
30 |
0,73 |
6,69953540392691E-05 |
Железо |
Выводы
В данной курсовой работе была создана база данных для предметной области «Работа лаборатории спектрального анализа». В ходе выполнения курсовой работы были использованы различные пакеты программ Microsoft Office, в частности, Microsoft Excel и Microsoft Access. С помощью пакета анализа Microsoft Excel была проверена законность линейной аппроксимации при описании зависимости между интенсивностью излучения сигнала элемента и концентрацией элемента в растворе. В базе данных, созданной с помощью Microsoft Access, создано 8 запросов для проверки её работы, которые полностью отвечают ожидаемым результатам, из чего можно сделать вывод, что база данных построена корректно и, следовательно, выполнении поставленной задачи.
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|||
|
|
|
|
||
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|