Реферат: Разработка автоматизированной информационной системы мониторинга продвижения студентов по предме
--PAGE_BREAK--<img width=«696» height=«1073» src=«ref-2_1510546517-7359.coolpic» v:shapes="_x0000_s1096 _x0000_s1097 _x0000_s1098 _x0000_s1099 _x0000_s1100 _x0000_s1101 _x0000_s1102 _x0000_s1103 _x0000_s1104 _x0000_s1105 _x0000_s1106 _x0000_s1107 _x0000_s1108 _x0000_s1109 _x0000_s1110 _x0000_s1111 _x0000_s1112 _x0000_s1113 _x0000_s1114 _x0000_s1115 _x0000_s1116 _x0000_s1117 _x0000_s1118 _x0000_s1119 _x0000_s1120 _x0000_s1121 _x0000_s1122 _x0000_s1123 _x0000_s1124 _x0000_s1125 _x0000_s1126 _x0000_s1127 _x0000_s1128 _x0000_s1129 _x0000_s1130 _x0000_s1131 _x0000_s1132 _x0000_s1133 _x0000_s1134 _x0000_s1135 _x0000_s1136 _x0000_s1137 _x0000_s1138 _x0000_s1139 _x0000_s1140 _x0000_s1141 _x0000_s1142 _x0000_s1143 _x0000_s1144 _x0000_s1145">ВВЕДЕНИЕСовременное учебное заведение высшего профессионального образование должно иметь эффективную систему управления. Эффективность управления определяется возможностями системы обработки информации. Система обработки информации должна обеспечивать информационную поддержку основных процессов вуза, таких как учебная, воспитательная и научно-исследовательская работа преподавателей и студентов. Функциями такой системы являются:
§ получение общих и/или детализированных отчетов по итогам работы;
§ определение тенденций изменения важнейших показателей;
§ получение информации без существенных задержек;
§ точный и полный анализ данных.
Современные системы обработки информации основываются на базах данных. Системы управления базами данных (СУБД) в учебных заведениях высшего профессионального образование в основном являются приложениями Windows, так как данная среда позволяет более полно использовать возможности персональных компьютеров (ПК). Снижение стоимости высокопроизводительных ПК способствует, во-первых, переходу к среде Windows, в которой разработчик программного обеспечения может в меньше степени заботиться о распределении ресурсов. Вторым преимуществом является то, что программное обеспечение ПК в целом и СУБД в частности стало менее чувствительным к аппаратным ресурсам ЭВМ.
Среди наиболее востребованных представителей систем управления базами данных можно отметить: LotusApproach, MicrosoftAccess, Borland
dBase, BorlandParadox, MicrosoftVisualFoxPro, MicrosoftVisualBasic, а<img width=«695» height=«1073» src=«ref-2_1510553876-4734.coolpic» v:shapes="_x0000_s1146 _x0000_s1147 _x0000_s1148 _x0000_s1149 _x0000_s1150 _x0000_s1151 _x0000_s1152 _x0000_s1153 _x0000_s1154 _x0000_s1155 _x0000_s1156 _x0000_s1157 _x0000_s1158 _x0000_s1159 _x0000_s1160 _x0000_s1161 _x0000_s1162 _x0000_s1163 _x0000_s1164 _x0000_s1165"> также баз данных MicrosoftSQLServerи Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически, у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т.п., и встроенные версии языков высокого уровня (чаще – диалекты SQLи/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. В связи с этим не имеет существенного значения на каком языке и на основе какого пакета написано конкретное приложение, а также используемый в нем формат данных. Кроме того, широкое распространение получила «быстрая разработка приложений» или RAD(от английского RapidApplicationDevelopment), использующая «открытый подход». Сущность его реализуется через необходимость и возможность интеграции различных прикладных программ и технологий для разработки более гибких и мощных систем обработки данных. Поэтому наряду с «классическими» СУБД часто используются языки программирования VisualBasicи VisualC++, которые позволяют быстро создавать необходимые компоненты приложений. Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».
Исходя из вышеизложенного, сформулируем цели и задачи дипломного проекта.
Выдвинем следующее гипотезу (предположение): для повышения качества и результативности научно-исследовательской работы студентов (НИРС), выявления студентов, способных к научно-исследовательской работе, участия студентов в пополнении информационных ресурсов вуза необходимо применять современные информационные технологии организации структурированных информационных ресурсов, основанные на использовании баз данных.
Целью дипломного проектаявляется разработка базы данных, обеспечивающей автоматизацию информационной деятельности и информационную поддержку НИРС, позволяющую вести мониторинг и объективно оценивать продвижение обучающегося по предметной области согласно специальности и соответствующую требованиям основных процессов вуза (учебной, научной и воспитательной работы).
Для достижения указанной цели необходимо решить следующие задачи.
1. Представить обзор научно-технических источников и необходимые теоретические основы проектирования баз данных.
2. Обосновать выбор СУБД.
3. Проанализировать состояние информатизации вуза, определить роль НИРС в этом процессе.
4. Выполнить проектирование БД НИРС (определить состав, функции, информационные потоки).
5. Осуществить разработку БД НИРС (разработать таблицы, схему данных, запросы, отчеты, формы).
6. Провести сбор, ввод, обработку данных, предоставить отчеты.
Объект изучения: автоматизация информационной деятельности студентов при выполнении научно-исследовательской работы.
Предмет изучения: база данных, позволяющая вести мониторинг и объективно оценивать продвижения обучающегося по предметной области согласно специальности, обеспечивающая информационную поддержку НИРС, соответствующая требованиям основных процессов вуза (учебной, научной и воспитательной работы).
<img width=«695» height=«1073» src=«ref-2_1510558610-4725.coolpic» v:shapes="_x0000_s1166 _x0000_s1167 _x0000_s1168 _x0000_s1169 _x0000_s1170 _x0000_s1171 _x0000_s1172 _x0000_s1173 _x0000_s1174 _x0000_s1175 _x0000_s1176 _x0000_s1177 _x0000_s1178 _x0000_s1179 _x0000_s1180 _x0000_s1181 _x0000_s1182 _x0000_s1183 _x0000_s1184 _x0000_s1185">Мониторинг продвижения обучающегося по предметной области
<img width=«696» height=«1073» src=«ref-2_1510563335-4735.coolpic» v:shapes="_x0000_s1186 _x0000_s1187 _x0000_s1188 _x0000_s1189 _x0000_s1190 _x0000_s1191 _x0000_s1192 _x0000_s1193 _x0000_s1194 _x0000_s1195 _x0000_s1196 _x0000_s1197 _x0000_s1198 _x0000_s1199 _x0000_s1200 _x0000_s1201 _x0000_s1202 _x0000_s1203 _x0000_s1204 _x0000_s1205">должен отражать информацию о мероприятиях информационной деятельности студентов, результаты и их оценку, соответствие календарным срокам. Результативность продвижения обучающегося по предметной области определяется главным образом научно-исследовательской работой. Информацию о ней наиболее рационально упорядочивать и обрабатывать в базе данных. Поэтому в качестве рабочего названия решаемой проблемы в дальнейшем будем использовать «разработка БД НИРС».
продолжение
--PAGE_BREAK--<img width=«695» height=«1073» src=«ref-2_1510568070-7410.coolpic» v:shapes="_x0000_s1206 _x0000_s1207 _x0000_s1208 _x0000_s1209 _x0000_s1210 _x0000_s1211 _x0000_s1212 _x0000_s1213 _x0000_s1214 _x0000_s1215 _x0000_s1216 _x0000_s1217 _x0000_s1218 _x0000_s1219 _x0000_s1220 _x0000_s1221 _x0000_s1222 _x0000_s1223 _x0000_s1224 _x0000_s1225 _x0000_s1226 _x0000_s1227 _x0000_s1228 _x0000_s1229 _x0000_s1230 _x0000_s1231 _x0000_s1232 _x0000_s1233 _x0000_s1234 _x0000_s1235 _x0000_s1236 _x0000_s1237 _x0000_s1238 _x0000_s1239 _x0000_s1240 _x0000_s1241 _x0000_s1242 _x0000_s1243 _x0000_s1244 _x0000_s1245 _x0000_s1246 _x0000_s1247 _x0000_s1248 _x0000_s1249 _x0000_s1250 _x0000_s1251 _x0000_s1252 _x0000_s1253 _x0000_s1254 _x0000_s1255">1. ХАРАКТЕРИСТИКА ПРОЦЕССА ИНФОРМАТИЗАЦИИ ВУЗА
ФГОУ ВПО «Орловский государственный аграрный университет» имеет статус научно-образовательного комплекса. В его состав входят учреждения среднего профессионального образования, научные и производственные организации. Системообразующим компонентом является аграрный университет. Общее количество сотрудников в организации 1070 человек. Общее количество обучающихся около 6000 человек.
В Орел ГАУ ведется разработка стратегии и концепции системной информатизации основных процессов вуза.
1.1 Краткая технико-экономическая характеристика информатизации вуза
В процессе информатизации вузу приходится преодолевать следующие трудности:
· технические проблемы, связанные с подключением к сети Интернет, ограниченным количеством пользовательских рабочих мест, администрированием локальной сети, отсутствием системы централизованного хранения данных;
· недостаточное количество кадров, подготовленных в области информатизации образовательной и профессиональной деятельности;
· недостаточная подготовка высшего руководства вуза в области информатизации, следствием которой является слишком медленная реализация проектов по информатизации и др.
Улучшение подготовки кадров в области информатизации планируется на базе лаборатории дистанционного обучения Орел ГАУ, регионального
Центра тестирования и развития, в других вузах Орла и РФ.
В Орел ГАУ планируется постоянное увеличение затрат на информатизацию, что позволит решить технические проблемы. В настоящее время затраты на информатизацию составляют 8 % расходов бюджета вуза. В <img width=«695» height=«1074» src=«ref-2_1510575480-4759.coolpic» v:shapes="_x0000_s1256 _x0000_s1257 _x0000_s1258 _x0000_s1259 _x0000_s1260 _x0000_s1261 _x0000_s1262 _x0000_s1263 _x0000_s1264 _x0000_s1265 _x0000_s1266 _x0000_s1267 _x0000_s1268 _x0000_s1269 _x0000_s1270 _x0000_s1271 _x0000_s1272 _x0000_s1273 _x0000_s1274 _x0000_s1275"><metricconverter productid=«2008 г» w:st=«on»>2008 г. использовано на информатизацию 10 % расходов годового бюджета. Распределение затрат осуществляется следующим образом.
Таблица 2.1 — Распределение расходов на обеспечение информатизации Орел ГАУ
№
Вид расходов
Процент от общих затрат на информатизацию
1
Приобретение аппаратных средств
40
2
Разработка и приобретение программного обеспечения
10
3
Эксплуатационные расходы
30
4
ИТ-обслуживание по договорам со сторонними специалистами
5
5
Телекоммуникационные расходы
10
6
Обучение персонала
5
7
Всего (общие затраты на информатизацию)
100
продолжение
--PAGE_BREAK-- 1.2 Состав технических средств
В вузе имеется около 700 персональных компьютеров. Из них 280 подключены к локальной вычислительной сети. Внутри корпусов для связи компьютеров используется витая пара. Для связи между корпусами используется оптоволокно и беспроводная связь. Пропускная способность сети между корпусами составляет 100 Мв/s. В вузе имеется доступ к сети Интернет. Связь с провайдером осуществляется через оптоволокно.
1.3 Характеристика обобщенных процессов сбора, передачи, обработки и выдачи информации
В Орел ГАУ планируется системная информатизация образовательного процесса. В связи с этим в ВУЗе начинается разработка автоматизированной информационной системы управления Орел ГАУ. В настоящее время автоматизированы следующие процессы:
· Бухгалтерский учёт.
· Кадровый учёт.
· <img width=«695» height=«1074» src=«ref-2_1510580239-4723.coolpic» v:shapes="_x0000_s1276 _x0000_s1277 _x0000_s1278 _x0000_s1279 _x0000_s1280 _x0000_s1281 _x0000_s1282 _x0000_s1283 _x0000_s1284 _x0000_s1285 _x0000_s1286 _x0000_s1287 _x0000_s1288 _x0000_s1289 _x0000_s1290 _x0000_s1291 _x0000_s1292 _x0000_s1293 _x0000_s1294 _x0000_s1295">Документооборот (частично применяется Лотус).
· Дистанционное обучение (eLearningServer3.0).
· Тестирование студентов.
Для решения проблем информатизация образовательного процесса избран интеграционный подход к автоматизации высшего учебного заведения на основе решений NAUMEN[7].
Цели автоматизации вуза.
Финансово-экономические:
l Расчет и контроль себестоимости.
l Бюджетирование, оптимизация затрат в масштабах вуза.
l Контроль доходов.
l Бизнес-планирование и оптимизация деятельности.
Организационно-юридические:
l Контроль качества учебного процесса.
l Отношения с клиентами.
l Персональный учет и контроль.
l Выявление нарушений и исследование инцидентов.
Маркетинговые:
l Повышение привлекательности для абитуриентов/студентов.
l Повышение привлекательности для профессорско-преподавательского состава.
l Оптимизация портфеля услуг/продуктов.
Для достижения целей необходимо решение следующих задач:
l Создать единое хранилище информации, полно описывающей деятельность вуза.
l <img width=«695» height=«1074» src=«ref-2_1510584962-4716.coolpic» v:shapes="_x0000_s1296 _x0000_s1297 _x0000_s1298 _x0000_s1299 _x0000_s1300 _x0000_s1301 _x0000_s1302 _x0000_s1303 _x0000_s1304 _x0000_s1305 _x0000_s1306 _x0000_s1307 _x0000_s1308 _x0000_s1309 _x0000_s1310 _x0000_s1311 _x0000_s1312 _x0000_s1313 _x0000_s1314 _x0000_s1315">Обеспечить все уровни управления вуза соответствующей информацией.
l Обеспечить достоверность и целостность информации.
l Сократить временные и материальные затраты на проведение процессов.
l Обеспечить гибкость и адаптируемость информационной системы к изменяющимся условиям.
Текущая ситуация в вузе:
l Есть команда для разработки информационной системы управления учебным процессом.
l Разработано и внедрено некоторое количество информационных систем.
l Интеграция этих систем отсутствует.
Подходы к автоматизации:
l Закупка и внедрение «готовой» интегрированной системы автоматизации с полной заменой существующих систем.
l Интеграция «снизу вверх».
l Интеграция «сверху вниз» (такой подход применяет NAUMEN).
Автоматизируемые процессы:
• Управление специальностями.
• Настройка сдаваемых дисциплин по специальностям.
• Настройка аудиторного фонда и периодов сдачи экзаменов.
• Самостоятельная регистрация абитуриента в системе.
• Регистрация абитуриентов приемной комиссией.
• Формирование расписания вступительных экзаменов.
• Ввод результатов сдачи экзаменов (в том числе ЦАТ I,II, ЕГЭ, олимпиады и т.д.).
• Работа с льготниками (медалистами и т.п.).
• <img width=«695» height=«1073» src=«ref-2_1510589678-4726.coolpic» v:shapes="_x0000_s1316 _x0000_s1317 _x0000_s1318 _x0000_s1319 _x0000_s1320 _x0000_s1321 _x0000_s1322 _x0000_s1323 _x0000_s1324 _x0000_s1325 _x0000_s1326 _x0000_s1327 _x0000_s1328 _x0000_s1329 _x0000_s1330 _x0000_s1331 _x0000_s1332 _x0000_s1333 _x0000_s1334 _x0000_s1335">Предварительное зачисление.
• Формирование и проведение приказов на зачисление.
• Формирование отчётов по ходу приёма и по его результатам.
Базовые модули Naumen University
l Контингент.
l Кадровая структура.
l Система прав доступа.
l Справочники.
l Администрирование.
В процессе информатизации Орел ГАУ планируется разработка модуля НИРС (научно-исследовательская работа студентов). В связи с тем, что адаптация в Орел ГАУ базовых модулей NaumenUniversityоказалась довольно дорогостоящей, следует предполагать, что разработка нового модуля НИРС может потребовать ещё более высоких затрат. В связи с этим целесообразно провести апробацию модели этого модуля в СУБД Access.
Вывод: Орел ГАУ нуждается в разработке АИС НИРС для автоматизации обработки данных НИРС. Изучение СУБД Accessпредусмотрено согласно ГОС ВПО в рамках курсов информатики и информационных технологий. Таким образом, используя БД НИРС, студенты будут углублять знания по разделу программы «Базы данных», получать опыт разработки структурированных информационных ресурсов по информатизации предметной области по специальности, иметь возможность получения сведений об успеваемости (Приложение 1). Собранная студентами научная информация будет использоваться для формирования информационных ресурсов электронной библиотеки вуза и его подразделений (кафедр, лабораторий, центров и др.).
продолжение
--PAGE_BREAK--<img width=«696» height=«1074» src=«ref-2_1510594404-7335.coolpic» v:shapes="_x0000_s1336 _x0000_s1337 _x0000_s1338 _x0000_s1339 _x0000_s1340 _x0000_s1341 _x0000_s1342 _x0000_s1343 _x0000_s1344 _x0000_s1345 _x0000_s1346 _x0000_s1347 _x0000_s1348 _x0000_s1349 _x0000_s1350 _x0000_s1351 _x0000_s1352 _x0000_s1353 _x0000_s1354 _x0000_s1355 _x0000_s1356 _x0000_s1357 _x0000_s1358 _x0000_s1359 _x0000_s1360 _x0000_s1361 _x0000_s1362 _x0000_s1363 _x0000_s1364 _x0000_s1365 _x0000_s1366 _x0000_s1367 _x0000_s1368 _x0000_s1369 _x0000_s1370 _x0000_s1371 _x0000_s1372 _x0000_s1373 _x0000_s1374 _x0000_s1375 _x0000_s1376 _x0000_s1377 _x0000_s1378 _x0000_s1379 _x0000_s1380 _x0000_s1381 _x0000_s1382 _x0000_s1383 _x0000_s1384 _x0000_s1385">2. ОБОСНОВАНИЕ ВЫБОРА СУБД 2.1. Классификация баз данных
База данных– это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств.
Программное обеспечение, предназначенное для работы с базами данных, называется система управления базами данных (СУБД). СУБД используются для упорядоченного хранения и обработки больших объемов информации.
СУБД организует хранение информации таким образом, чтобы ее было удобно:
· просматривать,
· пополнять,
· изменять,
· искать нужные сведения,
· делать любые выборки,
· осуществлять сортировку в любом порядке.
Классификация баз данных может выполняться по нескольким существенным признакам. Отметим наиболее важные из них.
По характеру хранимой информации:
· Фактографические (картотеки библиографических данных документов).
· Документальные (полнотекстовые архивы и библиотеки документов).
· Документально-фактографические (картотеки библиографических данных, полнотекстовые архивы и
библиотеки документов).
По способу хранения данных:
· Централизованные (хранятся на одном компьютере).
· <img width=«695» height=«1074» src=«ref-2_1510601739-4771.coolpic» v:shapes="_x0000_s1386 _x0000_s1387 _x0000_s1388 _x0000_s1389 _x0000_s1390 _x0000_s1391 _x0000_s1392 _x0000_s1393 _x0000_s1394 _x0000_s1395 _x0000_s1396 _x0000_s1397 _x0000_s1398 _x0000_s1399 _x0000_s1400 _x0000_s1401 _x0000_s1402 _x0000_s1403 _x0000_s1404 _x0000_s1405">Распределенные (используются в локальных и глобальных компьютерных сетях).
По структуре организации данных:
· Табличные (реляционные).
· Иерархические.
· Сетевые.
Информация в базах данных структурирована в отдельных записях, которыми называют группу связанных между собой элементов данных. Характер связи между записями определяет два основных типа организации баз данных: иерархический и реляционный.
В иерархической базе данных записи упорядочиваются в определенную последовательность, как ступеньки лестницы, и поиск данных может осуществляться последовательным переходом со ступени на ступень. Иерархическая база данных по своей структуре соответствует структуре иерархической файловой системы.
Реляционнаябаза данных представляет собой двумерную таблицу.
Столбцы таблицы называются полями: каждое поле характеризуется своим именем и типом данных. Поле БД – это столбец таблицы, содержащий конкретные значения определенного свойства.
В реляционной БД используются четыре основных типа полей:
· Числовой.
· Символьный (слова, тексты, коды и т.д.).
· Дата (календарные даты в форме «день/месяц/год»).
· Логический (принимает два значения: «да» — «нет» или «истина» — «ложь»).
Запись БД– это строка таблицы, содержащая набор конкретных значений определенных свойств, размещенных в полях (столбцах) базы данных.
Системы управления базами данных позволяют объединять большие объемы информации и обрабатывать их. Обработка данных включает <img width=«695» height=«1074» src=«ref-2_1510606510-4765.coolpic» v:shapes="_x0000_s1406 _x0000_s1407 _x0000_s1408 _x0000_s1409 _x0000_s1410 _x0000_s1411 _x0000_s1412 _x0000_s1413 _x0000_s1414 _x0000_s1415 _x0000_s1416 _x0000_s1417 _x0000_s1418 _x0000_s1419 _x0000_s1420 _x0000_s1421 _x0000_s1422 _x0000_s1423 _x0000_s1424 _x0000_s1425">следующие операции: сортировать, делать выборки по определенным критериям и т. п.
Современные СУБДдают возможность включать в них не только текстовую и графическую информацию, но и звуковые фрагменты, видеоклипы.
Простота использования СУБД позволяет создавать новые базы данных, не прибегая к программированию, а пользуясь только встроенными функциями. СУБД обеспечивают правильность, полноту и непротиворечивость данных, а также удобный доступ к ним.
Популярные СУБД -FoxPro, Access for Windows, Paradox. Для менее сложных применений вместо СУБД используются информационно-поисковые системы (ИПС), которые выполняют следующие функции:
· хранение большого объема информации;
· быстрый поиск требуемой информации;
· добавление, удаление и изменение хранимой информации;
· вывод ее в удобном для человека виде.
Основным компонентом многопользовательских информационных технологий является банк данных. Это информационная система коллективного пользования, обеспечивающая централизованное хранение данных, их обновление и выдачу по запросам пользователей. Банки данных хранят сведения из самых разных областей человеческой деятельности: библиотечное и банковское дело, образование и медицина, управление предприятием и государством, право, экология и т. д. Банк данных включает одну или несколько баз данных, систему управления базами данных (СУБД) и оболочку базы данных. Собственно данные, хранящиеся в запоминающих устройствах компьютеров, составляют базу данных (БД). По структуре представления данных БД делятся на сетевые, иерархические и реляционные. В настоящее время практически применяется преимущественно реляционная структура. Реляционная база данных состоит из одной или нескольких таблиц. Каждая таблица содержит информацию в виде набора записей. <img width=«695» height=«1074» src=«ref-2_1510611275-4765.coolpic» v:shapes="_x0000_s1426 _x0000_s1427 _x0000_s1428 _x0000_s1429 _x0000_s1430 _x0000_s1431 _x0000_s1432 _x0000_s1433 _x0000_s1434 _x0000_s1435 _x0000_s1436 _x0000_s1437 _x0000_s1438 _x0000_s1439 _x0000_s1440 _x0000_s1441 _x0000_s1442 _x0000_s1443 _x0000_s1444 _x0000_s1445">Каждая запись в базе данных разделена на поля по типам или смыслу содержащейся в них информации. Примером таблицы может служить список данных о студентах колледжа или вуза с полями фамилия, имя, отчество, дата рождения, адрес и т. д. Количество записей в этой таблице будет равно числу студентов колледжа или вуза. Другая таблица этой БД может содержать, например, оценки студентов по различным предметам.
Над данными в табличном представлении можно эффективно применять ряд стандартных элементарных операций, к которым сводятся все необходимые действия с базой данных. Комбинируя таблицы, выбирая отдельные столбцы и строки, пользователь может формировать новые таблицы для отображения на экране, для дальнейшей обработки или записи на хранение. Концепция реляционной (табличной) модели данных была впервые выдвинута в пятидесятые годы, но широкую популярность эта модель завоевала лишь в восьмидесятых. Работу с БД обеспечивает СУБД, которая позволяет производить поиск и сортировку информации в базе данных, а также добавлять и удалять записи в БД и создавать различные отчеты на основе запросов к одной или нескольким БД. Например, к описанной выше БД можно обратиться с запросом «выбрать всех студентов, родившихся в январе и имеющих средний балл не менее 4». СУБД реляционного типа освобождает пользователя от необходимости знать форматы хранения данных, методы доступа и методы управления памятью. Изменение физической структуры базы данных не влияет на работоспособность прикладных программ, работающих с нею. Запросы формулируются на специальном языке. Популярным языком такого рода является реляционный язык SQL (Structured Query Language), который является международным стандартом языка запросов. По степени универсальности различают два класса СУБД:
• системы общего назначения;
• специализированные системы.
<img width=«695» height=«1074» src=«ref-2_1510616040-4768.coolpic» v:shapes="_x0000_s1446 _x0000_s1447 _x0000_s1448 _x0000_s1449 _x0000_s1450 _x0000_s1451 _x0000_s1452 _x0000_s1453 _x0000_s1454 _x0000_s1455 _x0000_s1456 _x0000_s1457 _x0000_s1458 _x0000_s1459 _x0000_s1460 _x0000_s1461 _x0000_s1462 _x0000_s1463 _x0000_s1464 _x0000_s1465">СУБД общего назначения не ориентированы на какую-либо предметную область или на информационные потребности какой-либо группы пользователей. Каждая система такого рода реализуется как программный продукт, способный функционировать на некоторой модели компьютеров в определенной операционной системе и поставляется многим пользователям как коммерческое изделие. Такие СУБД обладают средствами настройки на работу с конкретной базой данных.Специализированные СУБД создаются в редких случаях при невозможности или нецелесообразности использования СУБД общего назначения.
Современные СУБД предоставляют пользователю мощные средства работы с данными и автоматически выполняют такие системные функции, как восстановление после сбоя и одновременный доступ нескольких пользователей к общим данным. К числу известных простейших СУБД относятся dBase, Clipper, Foxbase, R:BASE, Paradox, Data Ease, Clarion и т. д. К современным СУБД реляционного типа относятся FoxPro, Access, Oracle, Progress, Informix и т. д.
При одновременной работе с базой данных нескольких пользователей предполагается выполнение СУБД следующих функций:
• блокировки базы данных, файла, записи, поля;
• идентификации станции, установившей блокировку;
• обновления информации после модификации;
• контроля времени и повторения обращения;
• обработки транзакции (транзакция — последовательность операций пользователя над базой данных, которая сохраняет ее логическую целостность);
• работы с сетевыми операционными системами (LAN Manager, NetWare, Unix).
Все рассматриваемые программные средства обладают автоматизированными средствами создания экранных форм, запросов, отчетов, меню, наклеек, стандартных писем. Для создания указанных <img width=«695» height=«1074» src=«ref-2_1510620808-4770.coolpic» v:shapes="_x0000_s1466 _x0000_s1467 _x0000_s1468 _x0000_s1469 _x0000_s1470 _x0000_s1471 _x0000_s1472 _x0000_s1473 _x0000_s1474 _x0000_s1475 _x0000_s1476 _x0000_s1477 _x0000_s1478 _x0000_s1479 _x0000_s1480 _x0000_s1481 _x0000_s1482 _x0000_s1483 _x0000_s1484 _x0000_s1485">визуальных и структурных объектов ряд СУБД использует специальные инструментальные средства, называемые «мастерами». Базы данных прочно вошли в жизнь. Однако сегодня множество компаний столкнулось с серьезной проблемой — необходимостью быстрого принятия решений на основе данных из разнородных, подчас несовместимых друг с другом систем. Например, в одном подразделении фирмы используется Paradox, в другом — FoxPro, корпоративные данные находятся под управлением Oracle или Informix, а руководитель должен иметь под рукой сводку на основе всей информации, допустим в виде аналитического документа Word. Для решения проблемы доступа к разнородным данным разработаны стандарты на методы обращения к базам данных, например ODBC или IDAPI. Большое значение приобретают системы распределенных баз данных, состоящие из нескольких БД, размещенных на компьютерах, физически удаленных друг от друга.
Обработка данных с помощью мэйнфреймов и мини-ЭВМ имела свои преимущества, в определенной степени утраченные позже, в эпоху персональных компьютеров и настольных СУБД. К ним, в частности, относились:
· возможность коллективного использования ресурсов и оборудования, например центрального процессора, оперативной памяти, внешних устройств (принтеров, плоттеров, накопителей на магнитной ленте и иных устройств хранения данных и т.д.);
· централизованное хранение данных.
Серьезным недостатком подобных систем было практическое отсутствие персонализации рабочей среды — все программное обеспечение, включая текстовые редакторы, компиляторы, СУБД, хранилось также централизованно и использовалось коллективно.
Этот недостаток был одной из причин бурного роста индустрии персональных компьютеров — наряду с простотой в эксплуатации и невысокой стоимостью по сравнению с мэйнфреймами и мини-ЭВМ пользователей привлекали возможности персонализации рабочей среды, в <img width=«695» height=«1074» src=«ref-2_1510625578-4771.coolpic» v:shapes="_x0000_s1486 _x0000_s1487 _x0000_s1488 _x0000_s1489 _x0000_s1490 _x0000_s1491 _x0000_s1492 _x0000_s1493 _x0000_s1494 _x0000_s1495 _x0000_s1496 _x0000_s1497 _x0000_s1498 _x0000_s1499 _x0000_s1500 _x0000_s1501 _x0000_s1502 _x0000_s1503 _x0000_s1504 _x0000_s1505">особенности возможность выбора наиболее подходящего данному пользователю программного обеспечения. Именно в тот период и начался бурный рост популярности настольных СУБД, таких как dBase (РЕБУС) и, чуть позже, FoxBASE, Paradox, а также некоторых других, ныне благополучно забытых. Надо сказать, в то время происходили процессы заимствования и стандартизации удачных идей и подходов, что особенно заметно отразилось на судьбе такого продукта, как dBase, чей язык программирования и принципы организации данных были заимствованы многими другими производителями в своих продуктах.
Настольные СУБД не содержат специальных приложений и сервисов, управляющих данными. Взаимодействие с ними осуществляется с помощью файловых сервисов операционной системы. Нередко подобные СУБД имеют в своем составе и средства разработки, ориентированные на работу с данными формата, характерного для этой СУБД, и позволяющие создать более или менее комфортный пользовательский интерфейс. Обработка данных полностью осуществляется в пользовательском (клиентском) приложении.
Следующим шагом в развитии настольных СУБД было появление их сетевых многопользовательских версий, позволяющих обрабатывать данные, находящиеся в общедоступном хранилище (например, на сетевом диске) нескольким пользователям одновременно. От чисто настольных СУБД их многопользовательские версии отличаются наличием механизма блокировок частей файлов данных (содержащих одну или несколько записей таблицы), что позволяет обращаться к одному и тому же файлу нескольким пользователям одновременно.
Недостатки подобных СУБД не очевидны и становятся заметны, как правило, при росте хранимых объемов данных и увеличении числа пользователей. Обычно они проявляются в снижении производительности и в возникновении сбоев при обработке данных после некоторого времени использования клиентских приложений. Причина подобных проблем кроется <img width=«695» height=«1074» src=«ref-2_1510630349-4728.coolpic» v:shapes="_x0000_s1506 _x0000_s1507 _x0000_s1508 _x0000_s1509 _x0000_s1510 _x0000_s1511 _x0000_s1512 _x0000_s1513 _x0000_s1514 _x0000_s1515 _x0000_s1516 _x0000_s1517 _x0000_s1518 _x0000_s1519 _x0000_s1520 _x0000_s1521 _x0000_s1522 _x0000_s1523 _x0000_s1524 _x0000_s1525">в основном принципе работы таких СУБД и основанных на них информационных систем, заключающемся в обработке данных внутри пользовательского приложения. Например, если с помощью такой системы требуется выполнить запрос согласно какому-либо критерию (например, выбрать заказы, обработанные за последние два часа, из таблицы заказов), то, в лучшем случае (если эта таблица проиндексирована по времени поступления заказа), приложение должно прочесть с сетевого диска весь индекс, найти в нем сведения о местоположении записей в файлах, содержащих таблицу, и затем прочесть эти части файлов. В общем же случае, когда таблица не проиндексирована по данному полю, ее необходимо загрузить с сетевого диска и проанализировать.
Еще одна проблема настольных СУБД заключается в возможности нарушения ссылочной целостности данных, так как единственным механизмом, контролирующим ее, является пользовательское приложение. Поэтому все пользовательские приложения должны содержать соответствующий код и доступ к файлам базы данных из любых других приложений должен быть запрещен. В наиболее популярных настольных СУБД (например, Microsoft Access, Corel Paradox) код, контролирующий стандартную ссылочную целостность, содержится в библиотеках, используемых всеми приложениями, работающими с этой базой данных, а сама база данных при этом может содержать описание правил ссылочной целостности.
Следующим этапом развития СУБД для персональных компьютеров были так называемые серверные СУБД. Кратко отметим, чем серверные СУБД отличаются от настольных.
Архитектура «клиент/сервер», для которой предназначены серверные СУБД, является в определенной степени возвратом к прежней «мэйнфреймовой» модели, основанной на централизации хранения и обработки данных на одном выделенном компьютере, где функционирует специальное приложение или сервис, называемый сервером баз данных. <img width=«695» height=«1074» src=«ref-2_1510635077-4762.coolpic» v:shapes="_x0000_s1526 _x0000_s1527 _x0000_s1528 _x0000_s1529 _x0000_s1530 _x0000_s1531 _x0000_s1532 _x0000_s1533 _x0000_s1534 _x0000_s1535 _x0000_s1536 _x0000_s1537 _x0000_s1538 _x0000_s1539 _x0000_s1540 _x0000_s1541 _x0000_s1542 _x0000_s1543 _x0000_s1544 _x0000_s1545">Сервер баз данных отвечает за работу с файлами базы данных, поддержку ссылочной целостности, резервное копирование, обеспечение авторизованного доступа к данным, протоколирование операций и, конечно, за выполнение пользовательских запросов на выбор и модификацию данных и метаданных. Клиентские приложения, являющиеся источниками этих запросов, функционируют на персональных компьютерах в сети.
Отметим, что при использовании серверных СУБД выполнение запросов производится самим сервером, поэтому клиентские приложения получают от сервера только результаты самого запроса и не требуют передачи всего индекса или всей таблицы, что существенно снижает сетевой трафик при обработке запросов. Отметим также, что многие объекты, предназначенные для реализации бизнес-правил, такие как хранимые процедуры и триггеры, доступны лишь в серверных СУБД.
Рассмотрев, какими бывают базы данных, отметим наиболее популярные настольные СУБД.
продолжение
--PAGE_BREAK--2.2 Наиболее популярные настольные СУБД
На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако наиболее популярными, исходя из числа проданных копий, следует признать dBase, Paradox, FoxPro и Access. Из появившихся недавно СУБД следует также отметить Microsoft Data Engine — по существу серверную СУБД, представляющую собой «облегченную» версию Microsoft SQL Server, но предназначенную, для использования главным образом в настольных системах и небольших рабочих группах.
Представим краткие сведения о производителях перечисленных выше.
Таблица 1.1 — Сведения о производителях СУБД
СУБД
Производитель СУБД
URL
VisualdBase
dBase, Inc
http://www.dbase2000.com/
Paradox
Corel
http://www.corel.com/
MicrosoftAccess
Microsoft
www.microsoft.com/
MicrosoftFoxPro
Microsoft
www.microsoft.com/
MicrosoftVisual FoxPro
Microsoft
www.microsoft.com/
MicrosoftData Engine
Microsoft
www.microsoft.com/
<img width=«695» height=«1074» src=«ref-2_1510639839-4720.coolpic» v:shapes="_x0000_s1546 _x0000_s1547 _x0000_s1548 _x0000_s1549 _x0000_s1550 _x0000_s1551 _x0000_s1552 _x0000_s1553 _x0000_s1554 _x0000_s1555 _x0000_s1556 _x0000_s1557 _x0000_s1558 _x0000_s1559 _x0000_s1560 _x0000_s1561 _x0000_s1562 _x0000_s1563 _x0000_s1564 _x0000_s1565">Далее рассмотрим каждую из этих СУБД в отдельности. Начнем с dBase — СУБД, бывшей некогда необычайно популярной и сегодня по-прежнему не забытой, несмотря на то что за время своего существования она сменила несколько хозяев и в настоящее время судьба ее до конца не определена.
dBase и Visual dBase. Первая промышленная версия СУБД dBase — dBase II (принадлежащая тогда компании Ashton-Tate, приобретенной позже компанией Borland) появилась в начале 80-х годов. Благодаря простоте в использовании, нетребовательности к ресурсам компьютера и, что не менее важно, грамотной маркетинговой политике компании-производителя этот продукт приобрел немалую популярность, а с выходом следующих его версий — dBase III и dBase III Plus (1986 г.), оснащенных весьма комфортной по тем временам средой разработки и средствами манипуляции данными, быстро занял лидирующие позиции среди настольных СУБД и средств создания использующих их приложений.
Хранение данных в dBase основано на принципе «одна таблица — один файл» (эти файлы обычно имеют расширение *.dbf). MEMO-поля и BLOB-поля (доступные в поздних версиях dBase) хранятся в отдельных файлах (обычно с расширением *.dbt). Индексы для таблиц также хранятся в отдельных файлах. При этом в ранних версиях этой СУБД требовалась специальная операция реиндексирования для приведения индексов в соответствие с текущим состоянием таблицы.
Формат данных dBase является открытым, что позволило ряду других производителей заимствовать его для создания dBase-подобных СУБД, частично совместимых с dBase по форматам данных. Например, весьма популярная некогда СУБД FoxBase (разработанная Fox Software, Inc. и ныне <img width=«695» height=«1074» src=«ref-2_1510644559-4719.coolpic» v:shapes="_x0000_s1566 _x0000_s1567 _x0000_s1568 _x0000_s1569 _x0000_s1570 _x0000_s1571 _x0000_s1572 _x0000_s1573 _x0000_s1574 _x0000_s1575 _x0000_s1576 _x0000_s1577 _x0000_s1578 _x0000_s1579 _x0000_s1580 _x0000_s1581 _x0000_s1582 _x0000_s1583 _x0000_s1584 _x0000_s1585">принадлежащая Microsoft) использовала формат данных dBase для таблиц, однако форматы для хранения MEMO-полей и индексов были своими собственными, несовместимыми с dBase. Очень популярное в начале 90-х годов (и кое-где применяемое до сих пор) средство разработки Clipper компании Nantucket Corp (приобретенной впоследствии компанией Computer Associates) манипулировало как с данными формата dBase III (включая индексные файлы и файлы для MEMO-полей), так и с индексными файлами собственного формата.
Помимо популярного формата данных dBase является родоначальником и некогда популярного семейства языков программирования, получившего называние xBase. Все языки этого семейства, использующиеся и в FoxBase, и в Clipper, и в некоторых более поздних средствах разработки, таких как CA Visual Objects фирмы Computer Associates, содержат сходный набор команд для манипуляции данными и являются по существу интерпретируемыми языками. В роли интерпретатора команд xBase выступает обычно либо среда разработки приложения на этом языке, либо среда времени выполнения, которую можно поставлять вместе с приложением. Отметим, что для скрытия исходного текста xBase-приложения подобные СУБД обычно содержат утилиты для псевдокомпиляции кода, который затем поставляется вместе со средой времени выполнения. В случае Clipper среда времени выполнения содержится в самом исполняемом файле (и сам Clipper формально считается компилятором), но тем не менее этот язык по существу также является интерпретируемым.
Обладавшие немалым сходством в синтаксисе и поддерживаемом наборе команд во времена широкого применения DOS, языки семейства xBase, имеют немало различий, особенно в поздних версиях «наследников», использовавших их СУБД. Как правило, все они имеют собственные объектные расширения, и поэтому в настоящее время говорить об их совместимости между собой практически не приходится.
<img width=«695» height=«1074» src=«ref-2_1510649278-4714.coolpic» v:shapes="_x0000_s1586 _x0000_s1587 _x0000_s1588 _x0000_s1589 _x0000_s1590 _x0000_s1591 _x0000_s1592 _x0000_s1593 _x0000_s1594 _x0000_s1595 _x0000_s1596 _x0000_s1597 _x0000_s1598 _x0000_s1599 _x0000_s1600 _x0000_s1601 _x0000_s1602 _x0000_s1603 _x0000_s1604 _x0000_s1605">Отметим, однако, что для работы с данными формата dBase (или иных dBase-подобных СУБД) совершенно необязательно пользоваться диалектами xBase. Доступ к этим данным возможен с помощью ODBC API (и соответствующих драйверов) и некоторых других механизмов доступа к данным (например, Borland Database Engine, некоторых библиотек других производителей типа СodeBase фирмы Sequenter), и это позволяет создавать приложения, использующие формат данных dBase, практически с помощью любого средства разработки, поддерживающего один из этих механизмов доступа к данным.
После покупки dBase компанией Borland этот продукт, получивший впоследствии название Visual dBase, приобрел набор дополнительных возможностей, характерных для средств разработки этой компании и для имевшейся у нее другой настольной СУБД — Paradox. Среди этих возможностей были специальные типы полей для графических данных, поддерживаемые индексы, хранение правил ссылочной целостности внутри самой базы данных, а также возможность манипулировать данными других форматов, в частности серверных СУБД, за счет использования BDE API и SQL Links.
В настоящее время Visual dBase принадлежит компании dBase, Inc. Его последняя версия — Visual dBase 7.5 имеет следующие возможности:
· Средства манипуляции данными dBase и FoxPro всех версий.
· Средства создания форм, отчетов и приложений.
· Средства публикации данных в Internet и создания Web-клиентов.
· Ядро доступа к данным Advantage Database Server фирмы Extended Systems и ODBC-драйвер для доступа к данным этой СУБД.
· Средства публикации отчетов в Web.
· Средства визуального построения запросов.
· Средства генерации исполняемых файлов и дистрибутивов.
<img width=«695» height=«1074» src=«ref-2_1510653992-4764.coolpic» v:shapes="_x0000_s1606 _x0000_s1607 _x0000_s1608 _x0000_s1609 _x0000_s1610 _x0000_s1611 _x0000_s1612 _x0000_s1613 _x0000_s1614 _x0000_s1615 _x0000_s1616 _x0000_s1617 _x0000_s1618 _x0000_s1619 _x0000_s1620 _x0000_s1621 _x0000_s1622 _x0000_s1623 _x0000_s1624 _x0000_s1625">В настоящее время к Visual dBase в качестве дополнения может быть приобретен компонент dConnections, позволяющий осуществить доступ к данным Oracle, Sybase, Informix, MS SQL Server, DB2, InterBase из Visual dBase 7.5 и приложений, созданных с его помощью.
Компания dBase, Inc объявила также о проекте dBASE Open Source, целью которого является разработка сообществом пользователей dBase новых компонентов и классов с целью включения их в последующую версию dBase (получившую название dBase 2000). Иными словами, имеется тенденция превращения dBase (или его частей) в некоммерческий продукт с доступными исходными текстами.
Paradox. Paradox был разработан компанией Ansa Software, и первая его версия увидела свет в 1985 году. Этот продукт был впоследствии приобретен компанией Borland. С июля 1996 года он принадлежит компании Corel и является составной частью Corel Office Professional.
В конце 80-х — начале 90-х годов Paradox, принадлежавший тогда компании Borland International, был весьма популярной СУБД, в том числе и в нашей стране, где он одно время занимал устойчивые позиции на рынке средств разработки настольных приложений с базами данных.
Принцип хранения данных в Paradox сходен с принципами хранения данных в dBase — каждая таблица хранится в своем файле (расширение *.db), MEMO- и BLOB-поля хранятся в отдельном файле (расширение *.md), как и индексы (расширение *.px).
Однако, в отличие от dBase, формат данных Paradox не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки. Например, в приложениях, написанных на C или Pascal, использовалась некогда популярная библиотека Paradox Engine, ставшая основой Borland Database Engine. Эта библиотека используется ныне в приложениях, созданных с помощью средств разработки Borland (Delphi, C++Builder), в некоторых генераторах отчетов (например, Crystal Reports) и в <img width=«695» height=«1074» src=«ref-2_1510658756-4776.coolpic» v:shapes="_x0000_s1626 _x0000_s1627 _x0000_s1628 _x0000_s1629 _x0000_s1630 _x0000_s1631 _x0000_s1632 _x0000_s1633 _x0000_s1634 _x0000_s1635 _x0000_s1636 _x0000_s1637 _x0000_s1638 _x0000_s1639 _x0000_s1640 _x0000_s1641 _x0000_s1642 _x0000_s1643 _x0000_s1644 _x0000_s1645">самом Paradox. Существуют и ODBC-драйверы к базам данных, созданным различными версиями этой СУБД.
Отметим, что отсутствие «открытости» формата данных имеет и свои достоинства. Так как в этой ситуации доступ к данным осуществляется только с помощью «знающих» этот формат библиотек, простое редактирование подобных данных по сравнению с данными открытых форматов типа dBase существенно затруднено. В этом случае возможны такие недоступные при использовании «открытых» форматов данных сервисы, как защита таблиц и отдельных полей паролем, хранение некоторых правил ссылочной целостности в самих таблицах — все эти сервисы предоставляются Paradox, начиная с первых версий этой СУБД.
По сравнению с аналогичными версиями dBase ранние версии Paradox обычно предоставляли разработчикам баз данных существенно более расширенные возможности, такие как использование деловой графики в DOS-приложениях, обновление данных в приложениях при многопользовательской работе, визуальные средства построения запросов, на основе интерфейса QBE — Query by Example (запрос по образцу), средства статистического анализа данных, а также средства визуального построения интерфейсов пользовательских приложений с автоматической генерацией кода на языке программирования PAL (Paradox Application Language).
Windows-версии СУБД Paradox, помимо перечисленных выше сервисов, позволяли также манипулировать данными других форматов, в частности dBase и данными, хранящимися в серверных СУБД. Такую возможность пользователи Paradox получили благодаря использованию библиотеки Borland Database Engine и драйверов SQL Links. Это позволило использовать Paradox в качестве универсального средства управления различными базами данных (существенно облегченная версия Paradox 7 под названием Database Desktop по-прежнему входит в состав Borland Delphi и Borland C++Builder именно с этой целью). Что же касается базового формата данных, используемого в этом продукте, то он обладает теми же <img width=«696» height=«1073» src=«ref-2_1510663532-4719.coolpic» v:shapes="_x0000_s1646 _x0000_s1647 _x0000_s1648 _x0000_s1649 _x0000_s1650 _x0000_s1651 _x0000_s1652 _x0000_s1653 _x0000_s1654 _x0000_s1655 _x0000_s1656 _x0000_s1657 _x0000_s1658 _x0000_s1659 _x0000_s1660 _x0000_s1661 _x0000_s1662 _x0000_s1663 _x0000_s1664 _x0000_s1665">недостатками, что и все форматы данных настольных СУБД, и поэтому при возможности его стараются заменить на серверную СУБД, даже сохранив сам Paradox как средство разработки приложений и манипуляции данными.
Текущая версия данной СУБД — Paradox 9, поставляется в двух вариантах — Paradox 9 Standalone Edition и Paradox 9 Developer’s Edition. Первый из них предназначен для использования в качестве настольной СУБД и входит в Corel Office Professional, второй — в качестве как настольной СУБД, так и средства разработки приложений и манипуляции данными в серверных СУБД. Обе версии содержат:
· Средства манипуляции данными Paradox и dBase.
· Средства создания форм, отчетов и приложений.
· Средства визуального построения запросов.
· Средства публикации данных и отчетов в Internet и создания Web-клиентов.
· Corel Web-сервер.
· ODBC-драйвер для доступа к данным формата Paradox из Windows-приложений.
· Средства для доступа к данным формата Paradox из Java-приложений.
· ПомимоэтогоParadox 9 Developer’s Edition содержит:
· Run-time-версию Paradox для поставки вместе с приложениями.
· Средства создания дистрибутивов.
· Драйверы SQL Links для доступа к данным серверных СУБД.
Популярность этого продукта как средства разработки в последнее время несколько снизилась, хотя в мире эксплуатируется еще немало информационных систем, созданных с его помощью.
Microsoft FoxPro иVisual FoxPro. FoxPro ведет свое происхождение от настольной СУБД FoxBase фирмы Fox Software. Разрабатывая FoxBase в конце 80-х годов, эта компания преследовала цель создать СУБД, функционально совместимую с dBase с точки зрения организации файлов и <img width=«696» height=«1074» src=«ref-2_1510668251-4711.coolpic» v:shapes="_x0000_s1666 _x0000_s1667 _x0000_s1668 _x0000_s1669 _x0000_s1670 _x0000_s1671 _x0000_s1672 _x0000_s1673 _x0000_s1674 _x0000_s1675 _x0000_s1676 _x0000_s1677 _x0000_s1678 _x0000_s1679 _x0000_s1680 _x0000_s1681 _x0000_s1682 _x0000_s1683 _x0000_s1684 _x0000_s1685">языка программирования, но существенно превышающую ее по производительности. Одним из способов повышения производительности являлась более эффективная организация индексных файлов, нежели в dBase, — по формату индексных файлов эти две СУБД несовместимы между собой.
По сравнению с аналогичными версиями dBase, FoxBase и более поздняя версия этого продукта, получившая название FoxPro, предоставляли своим пользователям несколько более широкие возможности, такие как использование деловой графики, генерация кода приложений, автоматическая генерация документации к приложениям и т.д.
Впоследствии этот продукт был приобретен компанией Microsoft. Его последние версии (начиная с версии 3.0, выпущенной в 1995 году) получили название Visual FoxPro. С каждой новой версией этот продукт оказывался все более и более интегрирован с другими продуктами Microsoft, в частности с Microsoft SQL Server, — в состав Visual FoxPro в течение нескольких последних лет входят средства переноса данных FoxPro в SQL Server и средства доступа к данным этого сервера из Visual FoxPro и созданных с его помощью приложений. Хотя формат данных FoxPro также модифицировался с каждой новой версией, приобретая такие возможности, как хранение правил ссылочной целостности и некоторых бизнес-правил в самой базе данных, миграции приложений Visual FoxPro на серверные платформы уделялось значительно большее внимание.
Последняя версия этого продукта — Visual FoxPro 6.0, доступна и отдельно, и как составная часть Microsoft Visual Studio 6.0. Отличительной особенностью этой настольной СУБД от двух рассмотренных выше является интеграция этого продукта с технологиями Microsoft, в частности поддержка COM (Component Object Model — компонентная объектная модель, являющаяся основой функционирования 32-разрядных версий Windows и организации распределенных вычислений в этой операционной системе), интеграция с Microsoft SQL Server, возможности создания распределенных <img width=«695» height=«1074» src=«ref-2_1510672962-4771.coolpic» v:shapes="_x0000_s1686 _x0000_s1687 _x0000_s1688 _x0000_s1689 _x0000_s1690 _x0000_s1691 _x0000_s1692 _x0000_s1693 _x0000_s1694 _x0000_s1695 _x0000_s1696 _x0000_s1697 _x0000_s1698 _x0000_s1699 _x0000_s1700 _x0000_s1701 _x0000_s1702 _x0000_s1703 _x0000_s1704 _x0000_s1705">приложений, основанных на концепции Windows DNA (Distributed interNet Applications).
Visual Fox Pro 6.0 предоставляет следующие возможности:
· Средства публикации данных в Internet и создания Web-клиентов.
· Средства создания ASP-компонентов и Web-приложений.
· Средства создания COM-объектов и объектов для Microsoft Transaction Server, позволяющих создавать масштабируемые многозвенные приложения для обработки данных.
· Средства доступа к данным серверных СУБД, базирующиеся на использовании OLE DB (набор COM-интерфейсов, позволяющий осуществить унифицированный доступ к данным из разнообразных источников, в том числе из нереляционных баз данных и иных источников, например Microsoft Exchange).
· Средства доступа к данным Microsoft SQL Server и Oracle, включая возможность создания и редактирования таблиц, триггеров, хранимых процедур
· Средства отладки хранимых процедур Microsoft SQL Server.
· Средство визуального моделирования компонентов и объектов, являющиеся составными частями приложения — Visual Modeller.
· Средство для управления компонентами приложений, позволяющее осуществлять их повторное использование.
Итак, тенденции развития этого продукта очевидны: из настольной СУБД Visual FoxPro постепенно превращается в средство разработки приложений в архитектуре «клиент/сервер» и распределенных приложений в архитектуре Windows DNA. Впрочем, эти тенденции в определенной степени характерны для всех наиболее популярных настольных СУБД — мы уже убедились, что и dBase, и Paradox также позволяют осуществлять доступ к наиболее популярным серверным СУБД.
Microsoft Access. Первая версия СУБД Access появилась в начале 90-х годов. Это была первая настольная реляционная СУБД для 16-разрядной <img width=«695» height=«1074» src=«ref-2_1510677733-4725.coolpic» v:shapes="_x0000_s1706 _x0000_s1707 _x0000_s1708 _x0000_s1709 _x0000_s1710 _x0000_s1711 _x0000_s1712 _x0000_s1713 _x0000_s1714 _x0000_s1715 _x0000_s1716 _x0000_s1717 _x0000_s1718 _x0000_s1719 _x0000_s1720 _x0000_s1721 _x0000_s1722 _x0000_s1723 _x0000_s1724 _x0000_s1725">версии Windows. Популярность Access значительно возросла после включения этой СУБД в состав Microsoft Office.
В отличие от Visual FoxPro, фактически превратившегося в средство разработки приложений, Access ориентирован в первую очередь на пользователей Microsoft Office, в том числе и не знакомых с программированием. Это, в частности, проявилось в том, что вся информация, относящаяся к конкретной базе данных, а именно таблицы, индексы (естественно, поддерживаемые), правила ссылочной целостности, бизнес-правила, список пользователей, а также формы и отчеты хранятся в одном файле, что в целом удобно для начинающих пользователей.
Начиная с версии Access 2000 эта СУБД включается в состав Microsoft Office 2000 Professional и Premium, а также доступна как самостоятельный продукт. В состав Access 2000 входят:
· Средства манипуляции данными Access и данными, доступными через ODBC (последние могут быть «присоединены» к базе данных Access).
· Средства создания форм, отчетов и приложений; при этом отчеты могут быть экспортированы в формат Microsoft Word или Microsoft Excel, а для создания приложений используется Visual Basic for Applications, общий для всех составных частей Microsoft Office.
· Средства публикации отчетов в Internet.
· Средства создания интерактивных Web-приложений для работы с данными (Data Access Pages).
· Средства доступа к данным серверных СУБД через OLE DB.
· Средства создания клиентских приложений для Microsoft SQL Server.
· Средства администрирования Microsoft SQL Server.
Поддержка COM в Access выражается в возможности использовать элементы управления ActiveX в формах и Web-страницах, созданных с <img width=«695» height=«1074» src=«ref-2_1510682458-4711.coolpic» v:shapes="_x0000_s1726 _x0000_s1727 _x0000_s1728 _x0000_s1729 _x0000_s1730 _x0000_s1731 _x0000_s1732 _x0000_s1733 _x0000_s1734 _x0000_s1735 _x0000_s1736 _x0000_s1737 _x0000_s1738 _x0000_s1739 _x0000_s1740 _x0000_s1741 _x0000_s1742 _x0000_s1743 _x0000_s1744 _x0000_s1745">помощью Access. В отличие от Visual FoxPro создание COM-серверов с помощью Access не предполагается.
Другими словами, Microsoft Access может быть использован, с одной стороны, в качестве настольной СУБД и составной части офисного пакета, а с другой стороны, в качестве клиента Microsoft SQL Server, позволяющего осуществлять его администрирование, манипуляцию его данными и создание приложений для этого сервера.
Помимо манипуляции данными Microsoft SQL Server, Access 2000 позволяет также в качестве хранилища данных использовать Microsoft Data Engine (MSDE), представляющий собой по существу настольный сервер баз данных, совместимый с Microsoft SQL Server. Об этом продукте, относительно новом по сравнению с остальными, рассмотренными в данном обзоре, речь пойдет в следующем разделе данной статьи.
Microsoft Data Engine. MSDE представляет собой СУБД, базирующуюся на технологиях Microsoft SQL Server, но предназначенную для использования в настольных системах или в сетевых приложениях с объемом данных до 2 Гбайт и небольшим количеством пользователей. По существу MSDE является облегченной версией Microsoft SQL Server, не содержащей средств администрирования, и к настольным СУБД может быть отнесена весьма условно.
В Microsoft Access пользователь может выбрать, какой механизм доступа к данным следует применять: Microsoft Jet — стандартный набор библиотек доступа к данным или MSDE (в этом случае управление базой данных осуществляется с помощью отдельного процесса). Возможно преобразование имеющихся баз данных Access в базу данных MSDE из среды разработки Access.
Базы данных MSDE полностью совместимы с базами данных Microsoft SQL Server и могут при необходимости управляться этим сервером. Как большинство серверных СУБД, эти базы данных поддерживают транзакции, позволяют создавать триггеры и хранимые процедуры (недоступные в базах <img width=«696» height=«1073» src=«ref-2_1510687169-4726.coolpic» v:shapes="_x0000_s1746 _x0000_s1747 _x0000_s1748 _x0000_s1749 _x0000_s1750 _x0000_s1751 _x0000_s1752 _x0000_s1753 _x0000_s1754 _x0000_s1755 _x0000_s1756 _x0000_s1757 _x0000_s1758 _x0000_s1759 _x0000_s1760 _x0000_s1761 _x0000_s1762 _x0000_s1763 _x0000_s1764 _x0000_s1765">данных Access), использовать механизмы защиты данных, предоставляемые операционной системой. Помимо этого при большом числе пользователей и большом объеме данных приложения, использующие MSDE, отличаются более высокой производительностью, так как обработка запросов происходит внутри процесса, управляющего базой данных, а не внутри клиентского приложения, что позволяет снизить сетевой трафик, связанный с передачей данных от сервера к клиенту.
MSDE входит в состав Microsoft Office 2000 Premium или Developer, а также доступна на Web-сайте Microsoft для зарегистрированных пользователей Visual Studio 6.0 Professional, Enterprise Edition либо любого из средств разработки, являющегося частью Visual Studio 6.0 Professional или Enterprise Edition. MSDE может свободно распространяться в составе приложений, созданных с помощью любого из средств разработки, входящего в состав Visual Studio 6.0 или Office 2000 Developer.
Microsoft Access 2007 (далее — просто Access) — это многогранный продукт. И, прежде всего, Access — это система управления базами данных. Как и другие продукты этой категории, она предназначена для хранения и поиска данных, представления информации в удобном виде и автоматизации часто повторяющихся операций (таких, как ведение счетов, учет, планирование и т.п.).
С помощью Access можно разрабатывать простые и удобные формы ввода данных, а также осуществлять обработку данных и выдачу сложных отчетов. Access — мощное приложение Windows; довольно высокая производительность СУБД органично сочетается с теми удобствами, которые имеются в распоряжении пользователей Microsoft Windows. Система Access работает под управлением Windows ХР или Windows NT, так что при работе с ней пользователю доступны все преимущества Windows. Можно вырезать, копировать и вставлять данные из любого приложения Windows в Access и наоборот; можно создать проект формы в Access и вставить его в конструктор форм. С помощью объектов OLE (Object Linking and Embedding <img width=«696» height=«1073» src=«ref-2_1510691895-4770.coolpic» v:shapes="_x0000_s1766 _x0000_s1767 _x0000_s1768 _x0000_s1769 _x0000_s1770 _x0000_s1771 _x0000_s1772 _x0000_s1773 _x0000_s1774 _x0000_s1775 _x0000_s1776 _x0000_s1777 _x0000_s1778 _x0000_s1779 _x0000_s1780 _x0000_s1781 _x0000_s1782 _x0000_s1783 _x0000_s1784 _x0000_s1785">— связывание и внедрение объектов) в Windows ХР и компонентах Microsoft Office 2007 (Excel, Word, PowerPoint и Outlook) можно превратить Access в настоящую операционную среду баз данных. С помощью новых расширений для Internet можно создавать формы, которые будут напрямую взаимодействовать с данными из World Wide Web, и транслировать их в представление на языках HTML или ХML, обеспечивающее работу с такими продуктами, как Internet Explorer и Netscape Navigator. Как реляционная СУБД Access обеспечивает доступ ко всем типам данных и позволяет использовать одновременно несколько таблиц базы данных. При этом можно существенно упростить структуру данных, облегчая тем самым выполнение поставленных задач. Система Access — это набор инструментов конечного пользователя для управления базами данных. В ее состав входят конструкторы таблиц, форм, запросов и отчетов. Эту систему можно рассматривать и как среду разработки приложений. Используя макросы или модули для автоматизации решения задач, можно создавать ориентированные на пользователя приложения такими же мощными, как и приложения, написанные непосредственно на языках программирования. При этом они будут включать кнопки, меню и диалоговые окна. Программируя на языке VBA, можно создавать такие мощные программы, как сама система Access. По сути дела, многие инструментальные средства Access (например, мастера и конструкторы) написаны именно на VBA. Мощность и доступность Access делают эту систему одной из лучших СУБД из представленных сегодня на рынке.
Простота установки и обновления, наличие полной и внятной документации делает работу удобной для пользователей.
Система поддерживает первичные и внешние ключи и обеспечивает целостность данных на уровне ядра (что предотвращает несовместимые операции обновления или удаления данных). Кроме того, таблицы в Access снабжены средствами проверки допустимости данных, предотвращающими некорректный ввод вне зависимости от того, как он осуществляется, а каждое <img width=«695» height=«1074» src=«ref-2_1510696665-4723.coolpic» v:shapes="_x0000_s1786 _x0000_s1787 _x0000_s1788 _x0000_s1789 _x0000_s1790 _x0000_s1791 _x0000_s1792 _x0000_s1793 _x0000_s1794 _x0000_s1795 _x0000_s1796 _x0000_s1797 _x0000_s1798 _x0000_s1799 _x0000_s1800 _x0000_s1801 _x0000_s1802 _x0000_s1803 _x0000_s1804 _x0000_s1805">поле таблицы имеет свой формат и стандартные описания, что существенно облегчает ввод данных. Система Access поддерживает обработку транзакций с гарантией их целостности. Кроме того, предусмотрена защита на уровне пользователя, что позволяет контролировать доступ к данным отдельных пользователей и целых групп.
Приложение Access является реляционной СУБД, которая поддерживает все средства и возможности по обработке данных, свойственные реляционным моделям. При этом информация, которую необходимо хранить в соответствующих БД, может быть представлена в практически любом формате, в частности, текстовом, графическом, числовом, денежном, дата или время и т. д… Access поддерживает все необходимые типы полей, в том числе текстовый, числовой, счетчик, денежный, дата/время, MEMO, логический, гиперссылка и поля объектов OLE. Если в процессе специальной обработки в полях не оказывается никаких значений, система обеспечивает полную поддержку пустых значений.
Среди средств, которые предлагает СУБД
Access нельзя не отметить возможность динамического обмена данными (DDE) между Access и другими приложениями, которые поддерживают эту технологию. Также имеется возможность применения технологии ActiveX, позволяющей использовать разработчику в своем программном продукте не только, те объекты, которые свойственны данному приложению (в частности, Access), но и объекты других приложений (например, Excel или Word).
Работая в среде Microsoft Office 2007, пользователь получает в свое распоряжение полностью совместимые между собой Access и Word, Excel и PowerPoint. Весьма удобной возможностью является то, что пользователь при обработке данных может работать не только с БД обрабатываемого в Access формата, но и экспортировать данные других СУБД, имеющие совершенно другой формат представления, в частности, формат Paradox, dBASE, FoxPro, Excel, SQL Server, Oracle, Btrieve, многие текстовые форматы <img width=«696» height=«1074» src=«ref-2_1510701388-4701.coolpic» v:shapes="_x0000_s1806 _x0000_s1807 _x0000_s1808 _x0000_s1809 _x0000_s1810 _x0000_s1811 _x0000_s1812 _x0000_s1813 _x0000_s1814 _x0000_s1815 _x0000_s1816 _x0000_s1817 _x0000_s1818 _x0000_s1819 _x0000_s1820 _x0000_s1821 _x0000_s1822 _x0000_s1823 _x0000_s1824 _x0000_s1825">ASCII (в том числе с фиксированной длиной строки или заданным ограничителем), а также данные в формате HTML, ХML. Кроме этого, при помощи Access пользователь может обрабатывать БД, поддерживающие открытый доступ к данным (стандарт ODBC), в частности, весьма популярных в последнее время серверов баз данных Oracle и SQL
Server.
Реляционная обработка данных в Access за счет гибкой архитектуры системы способна удовлетворить любые потребности. При этом Access может использоваться как автономная СУБД в режиме файл-сервера или клиентского компонента таких продуктов, как SQL Server. Кроме того. Access поддерживает протокол ODBC (Open Database Connectivity), что позволяет подключаться к базам данных множества различных форматов, таких как SQL Server, Oracle, Sybase и даже DB/2 для больших ЭВМ фирмы IBM.
В результате импортирования создается таблица Access; в результате экспортирования таблицы Access создается файл в заданном формате. Связывание (ранее именовавшееся присоединением) означает, что можно использовать внешние данные без создания таблицы Access. Можно устанавливать подобную связь с данными dBASE, FoxPro, Excel, ASCII и SQL. Очень мощная возможность — связывание таблиц Access с их внешними таблицами с последующим совместным использованием; это относится к таблицам Access, dBASE, FoxPro и SQL Server. Формы и отчеты WYSIWYG Окна конструкторов форм и отчетов имеют одинаковый интерфейс и предоставляют пользователю много возможностей. Форма или отчет конструируется по принципу WYSIWYG (What You See Is What You Get — что видишь, то и получишь). Добавляя очередной элемент управления, пользователь видит, как при этом изменяется создаваемая форма. В формы и отчеты можно включать надписи, поля текстовых данных, переключатели, флажки, линии и прямоугольники, а также оформлять их, выделяя элементы цветом и тенью. Более того, можно включать целые рисунки, диаграммы, подформы и подотчеты. При этом все параметры представления данных остаются полностью подконтрольными пользователю.
<img width=«695» height=«1074» src=«ref-2_1510706089-4729.coolpic» v:shapes="_x0000_s1826 _x0000_s1827 _x0000_s1828 _x0000_s1829 _x0000_s1830 _x0000_s1831 _x0000_s1832 _x0000_s1833 _x0000_s1834 _x0000_s1835 _x0000_s1836 _x0000_s1837 _x0000_s1838 _x0000_s1839 _x0000_s1840 _x0000_s1841 _x0000_s1842 _x0000_s1843 _x0000_s1844 _x0000_s1845">В Access входит мастер диаграмм, аналогичный используемому в Excel. Как и в Excel, в Access предусмотрен мастер сводных таблиц; по сути, с его помощью можно создавать сводные таблицы Excel: информацию из баз данных Access можно легко переносить в таблицы Excel. Базы данных Access можно связывать с таблицами Excel. В обоих продуктах можно создавать запросы и выполнять сортировку, используя один и тот же интерфейс. При обработке данных в Access используется структурированный язык запросов SQL, который без преувеличения можно назвать стандартным языком БД. С его помощью можно выполнять самую разнообразную обработку имеющихся данных, в частности, создавать выборки требуемой структуры, вносить необходимые изменения в имеющиеся БД, преобразовывать или удалять таблицы, формировать данные для отчетов и многое другое.
Важным преимуществом СУБД
Accessявляется то, что с ее помощью можно разрабатывать системы, которые обрабатывают БД как на отдельном компьютере, так и в локальной сети предприятия или в Internet, используя режим обработки данных "клиент-сервер". Применение Access 2007 для размещения форм Access в виде документов HTML и ХML на Web-страницах и обмена данными с узлами Internet/Intranet.
Необходимо также отметить, что Access предоставляет широкие возможности по созданию приложений, связанных с обработкой БД. При этом разработчику не обязательно быть программистом высокого класса, а вполне достаточно иметь представление о создании событийных приложений в среде Windows, а также владеть некоторыми навыками программирования на языке Visual
Basic. В этом случае разработчик достаточно быстро сможет овладеть навыками по созданию приложений в Access, что позволит выполнять автоматизирование как простых, так и достаточно сложных задач, связанных с обработкой данных.
<img width=«696» height=«1074» src=«ref-2_1510710818-4704.coolpic» v:shapes="_x0000_s1846 _x0000_s1847 _x0000_s1848 _x0000_s1849 _x0000_s1850 _x0000_s1851 _x0000_s1852 _x0000_s1853 _x0000_s1854 _x0000_s1855 _x0000_s1856 _x0000_s1857 _x0000_s1858 _x0000_s1859 _x0000_s1860 _x0000_s1861 _x0000_s1862 _x0000_s1863 _x0000_s1864 _x0000_s1865">Поддержка в Access механизма Запроса по образцу (Query by Example — QBE) обеспечивает выборку, сортировку и поиск данных. Создание приложений без программирования обеспечивается использованием макросов Access.
Контекстно-зависимая справка и Office Assistant. Организация справочной системы фирмы Microsoft — по-прежнему лучшая в отрасли, причем как для новичков, так и для опытных пользователей. В Access предусмотрена контекстно-зависимая справка, для получения которой достаточно нажать <F1>, и на экране сразу же появится справочная информация по тому вопросу, который интересует пользователя в текущий момент. При этом можно легко перейти к оглавлению справочной системы, конкретной информации, журналу предыдущих обращений и закладкам.
В Access компания Microsoft ввела Office Assistant (ассистента) и Screen Tips (всплывающие подсказки). Всплывающие подсказки содержат короткие объяснения чего-либо. Простые в использовании мастера и конструкторы Мастер (Wizard) может превратить часы работы в считанные минуты. Мастера задают наводящие вопросы относительно содержания, стиля и формата создаваемого объекта; затем они автоматически строят нужный объект. В составе Access около ста мастеров, помогающих конструировать базы данных, приложения, таблицы, формы, отчеты, диаграммы, почтовые наклейки, элементы управления и свойства. Допускается даже настройка мастеров для решения разных задач.
Подводяитоги анализа существующих СУБД, рассмотрим основные преимуществаAccess как средство разработки баз данных.
Каждый язык программирования предназначен для определенных целей и задач. Access решает достаточно большое количество образовательных, научных, офисных, бухгалтерских и других задач. Программирование в Access, создание структуры базы данных аналогичны этим действиям в других средах. В Access эти действия осуществляются довольно просто. Освоив основные принципы разработки реляционных баз <img width=«696» height=«1074» src=«ref-2_1510715522-4702.coolpic» v:shapes="_x0000_s1866 _x0000_s1867 _x0000_s1868 _x0000_s1869 _x0000_s1870 _x0000_s1871 _x0000_s1872 _x0000_s1873 _x0000_s1874 _x0000_s1875 _x0000_s1876 _x0000_s1877 _x0000_s1878 _x0000_s1879 _x0000_s1880 _x0000_s1881 _x0000_s1882 _x0000_s1883 _x0000_s1884 _x0000_s1885">данных на примере Access, легко перейти к другим средствам разработки. Отличия будут преимущественно формальные — в названиях функций, процедур, синтаксических правилах и т.д. Но самое существенное — принципы создания реляционных баз данных и алгоритмы обработки данных сохраняют свое постоянство.
Каждая задача принадлежит определенному классу или типу, в соответствии с которым осуществляется выбор методов и способов её решения. Access при всей его внешней простоте, обусловленной преимущественно дружественным пользовательским интерфейсом, позволяет решать довольно сложные задачи. Access достаточно развитый инструмент, применяемый для решения научных, образовательных, производственных задач. Для многих проектов, где особенно важны скорость и минимальная трудоемкость разработки, Access соответствует наилучшим образом. На Access можно создать полностью завершенное и достаточно профессиональное приложение для коммерческого распространения.
Но необходимо учитывать, что Access — это настольная СУБД.
Одно из наиболее важных для образовательной системы достоинств Access состоит в том, что это приложение входит в состав MS Office. Поэтому для его нормальной работы достаточно установить MS Officе. При этом так же устанавливаются все нужные для работы Access библиотеки, ODBC и т.д., что не всегда возможно, например, для Delphi. Access достаточно хорошо совместим с MS SQL Server и другими форматами баз данных.
Профессионализм программиста заключается не в том, какими средствами создается программное обеспечение, а насколько качественно, грамотно и быстро. Если в Access легко создавать формы и отчеты, то это не значит, что это непрофессионально. Acces изначально предназначен для разработки настольных баз данных, и в этой сфере у него нет равных конкурентов. Кроме того, Acess может служить хорошим контейнером для хранения запросов и таблиц при работе с ними через ADO. Если не подходит <img width=«695» height=«1074» src=«ref-2_1510720224-4717.coolpic» v:shapes="_x0000_s1886 _x0000_s1887 _x0000_s1888 _x0000_s1889 _x0000_s1890 _x0000_s1891 _x0000_s1892 _x0000_s1893 _x0000_s1894 _x0000_s1895 _x0000_s1896 _x0000_s1897 _x0000_s1898 _x0000_s1899 _x0000_s1900 _x0000_s1901 _x0000_s1902 _x0000_s1903 _x0000_s1904 _x0000_s1905">типовой набор контролов, то можно написать интерфейс для работы при помощи других средств, например, VisualStudio или Delphi.
Access позволяет разработать профессиональную базу данных в короткие сроки и меньшей стоимости, и вполне удовлетворить запросы заказчика. Кроме того, такое решение обладает большей гибкостью, настраиваемостью, в него легко можно внести дополнения и изменения, быстрее и дешевле чем в промышленные базы данных на основе Oracle и C++.
Что касается затрат на приобретение MS Access, то они включены в стоимость MS Office. Как известно, этот продукт уже имеется на большинстве предприятий и учебных заведений.
Таким образом, исходя из вышеизложенного, а также с учетом требований заказчика считаем, что наиболее целесообразным будет применение MS Access для проектирования БД НИРС.
продолжение
--PAGE_BREAK--2.3 Основные термины СУБД Access
Определения основных терминов СУБД Acceessиспользуем в формулировках известных учебников, научных и электронных изданий [1- 6].
База данных – это совместно используемый набор логически связанных данных, предназначенных для удовлетворения информационных потребностей определенной организацией.
База данных, состоящая из таблиц называется реляционной. В переводе с английского relation – отношение – математический термин для обозначения неупорядоченной совокупности однотипных записей или таблиц определенного специфического вида.
Все таблицы любой реляционной базы данных состоят из строки заголовков столбцов и одной или более строк значений данных под этими заголовками. Эти столбцы и строки должны иметь следующие свойства:
· <img width=«695» height=«1074» src=«ref-2_1510724941-4731.coolpic» v:shapes="_x0000_s1906 _x0000_s1907 _x0000_s1908 _x0000_s1909 _x0000_s1910 _x0000_s1911 _x0000_s1912 _x0000_s1913 _x0000_s1914 _x0000_s1915 _x0000_s1916 _x0000_s1917 _x0000_s1918 _x0000_s1919 _x0000_s1920 _x0000_s1921 _x0000_s1922 _x0000_s1923 _x0000_s1924 _x0000_s1925">всякому столбцу таблицы присвоено имя, которое должно быть уникальным для этой таблицы;
· столбцы таблицы упорядочиваются слева направо, т.е. столбец 1, столбец 2, ..., столбец n. С математической точки зрения это утверждение некорректно, потому что в реляционной системе столбцы не упорядочены. Однако с точки зрения пользователя, порядок, в котором определены имена столбцов, становится порядком, в котором должны вводиться в них данные, если не предварять при вводе каждое значение именем соответствующего столбца;
· строки таблицы не упорядочены (их последовательность определяется лишь последовательностью ввода в таблицу);
· в поле на пересечении строки и столбца любой таблицы всегда имеется только одно значение данных и никогда не должно быть множества значений (правда, это значение может быть достаточно объемным);
· всем строкам таблицы соответствует одно и то же множество столбцов, хотя в определенных столбцах любая строка может содержать пустые значения (NULL-значения), т.е. может не иметь значений для этих столбцов;
· все строки таблицы обязательно отличаются друг от друга хотя бы единственным значением, что позволяет однозначно идентифицировать любую строку такой таблицы;
· при выполнении операций с таблицей ее строки и столбцы можно обрабатывать в любом порядке безотносительно к их информационному содержанию.
Реляционные системы берут свое начало в математической теории множеств. Они были предложены в конце 1968 года доктором Э.Ф.Коддом из фирмы IBM, который первым осознал, что можно использовать математику <img width=«695» height=«1074» src=«ref-2_1510729672-4725.coolpic» v:shapes="_x0000_s1926 _x0000_s1927 _x0000_s1928 _x0000_s1929 _x0000_s1930 _x0000_s1931 _x0000_s1932 _x0000_s1933 _x0000_s1934 _x0000_s1935 _x0000_s1936 _x0000_s1937 _x0000_s1938 _x0000_s1939 _x0000_s1940 _x0000_s1941 _x0000_s1942 _x0000_s1943 _x0000_s1944 _x0000_s1945">для придания надежной основы и строгости области управления базами данных.
Для управления базами данных существуют системы управления базами данных (СУБД).
СУБД – это программное обеспечение, с помощью которого пользователи могут определять, создавать и поддерживать БД, а также осуществлять в ней контролируемый доступ.
Любая СУБД обладают следующими возможностями:
o позволяет определять с помощью языка определений данных структуру БД;
o позволяет осуществлять модификацию (редактирование, удаление, вставка);
o позволяет осуществить администрирование доступа к данным.
2.4 Этапы проектирования баз данных
В проектировании баз данных выделяют следующие этапы:
· анализ информационных потребностей;
· инфологическое моделирование;
· логическое проектирование;
· физическая реализация.
Анализ информационных потребностей. На этом этапе разработчик базы данных анализирует информацию, циркулирующую в органе управления, для которого разрабатывается база данных, и определяет, какие задачи будут решаться основными пользователями (должностными лицами) с помощью базы данных. В обязательном порядке на этом этапе определяется, с какими запросами будут обращаться к базе данных пользователи и какие выходные документы (отчеты) они будут получать. При этом для запросов <img width=«695» height=«1074» src=«ref-2_1510734397-4717.coolpic» v:shapes="_x0000_s1946 _x0000_s1947 _x0000_s1948 _x0000_s1949 _x0000_s1950 _x0000_s1951 _x0000_s1952 _x0000_s1953 _x0000_s1954 _x0000_s1955 _x0000_s1956 _x0000_s1957 _x0000_s1958 _x0000_s1959 _x0000_s1960 _x0000_s1961 _x0000_s1962 _x0000_s1963 _x0000_s1964 _x0000_s1965">определяются перечень выдаваемой информации, условия поиска, частота выполнения запросов. Для отчетов дополнительно определяется форма документа, выводимого на печать. Полученные на этом этапе решения оформляются в определенном виде (обычно в табличном).
Инфологическое моделирование. Основной задачей этого этапа является разработка информационно-логической модели (ИЛМ) предметной области базы данных. Исходными данными для этого являются результаты, полученные на предыдущем этапе, а также знания о специфике предметной области. ИЛМ должна отображать объекты (сущности) предметной области базы данных, их учитываемые характеристики (атрибуты), а также взаимные связи между объектами и атрибутами. ИЛМ представляется чаще всего в виде графической диаграммы. Наиболее удобно для процесса дальнейшего проектирования базы данных представлять ИЛМ в виде диаграммы “сущность-связь”.
Кроме формирования ИЛМ, на данном этапе дается характеристика всех атрибутов, учитываемых в базе данных. Она предполагает указание принадлежности атрибута (к сущности или к связи), типа данных, к которому относятся значения атрибутов, их длины, области допустимых значений, ограничений целостности, выводимости из значений других атрибутов и ряд других характеристик. Результаты оформляются в табличном виде.
Логическое проектирование. Исходными данными являются результаты, полученные на этапе инфологического моделирования. Основным результатом этого этапа является логическая структура базы данных, называемая реляционной схемой базы данных.
Проектирование реляционных схем базы данных является одним из самых сложных и ответственных этапов всего процесса проектирования. Одной из ключевых задач здесь является нормализация отношений, т. е. приведение схем отношений к заданной нормальной форме (как правило, к третьей нормальной форме или нормальной форме Бойса-Кодда), <img width=«695» height=«1074» src=«ref-2_1510739114-4719.coolpic» v:shapes="_x0000_s1966 _x0000_s1967 _x0000_s1968 _x0000_s1969 _x0000_s1970 _x0000_s1971 _x0000_s1972 _x0000_s1973 _x0000_s1974 _x0000_s1975 _x0000_s1976 _x0000_s1977 _x0000_s1978 _x0000_s1979 _x0000_s1980 _x0000_s1981 _x0000_s1982 _x0000_s1983 _x0000_s1984 _x0000_s1985">обеспечивающей целостность базы данных в работы с ней на этапе эксплуатации.
Кроме проектирования реляционной схемы базы данных, на этапе логического проектирования осуществляется оценка качества будущей базы данных по таким показателям, как предполагаемый объем базы данных и оперативность выполнения запросов.
Физическая реализация. На этом этапе в среде выбранной СУБД формируются структуры файлов-таблиц, осуществляется их первоначальное заполнение, разрабатываются запросы и отчеты в соответствии с решениями, полученными на первом этапе. Таким образом, промежуточным результатом, полученным на этом этапе, является демонстрационный прототип (макет) базы данных, показывающий возможность реализации всех предъявляемых к ней требований.
В случае, если прототип удовлетворяет предъявленным требованиям, база данных заполняется до полного объема и передается на опытную эксплуатацию. В противном случае осуществляется возврат на один из предыдущих этапов с целью уточнения полученных на нем результатов.
После удовлетворения всех требований производится разработка рабочей документации, включающей в себя:
2. инструкцию по эксплуатации базы данных;
3. инструкцию по инсталляции программного продукта.
Проектирование базы данных. Методически правильно начинать работу с карандашом и листом бумаги в руках, не используя компьютер. На данном этапе он просто не нужен. Неоптимальные решения и прямые ошибки, заложенные на этапе проектирования, впоследствии очень трудно устраняются, поэтому этот этап является основополагающим.
Разработка технического задания. Техническое задание на проектирование базы данных должен предоставить заказчик. Однако для этого он должен владеть соответствующей терминологией и знать, хотя бы в общих чертах, технические возможности основных СУБД. К сожалению, на <img width=«695» height=«1074» src=«ref-2_1510743833-4716.coolpic» v:shapes="_x0000_s1986 _x0000_s1987 _x0000_s1988 _x0000_s1989 _x0000_s1990 _x0000_s1991 _x0000_s1992 _x0000_s1993 _x0000_s1994 _x0000_s1995 _x0000_s1996 _x0000_s1997 _x0000_s1998 _x0000_s1999 _x0000_s2000 _x0000_s2001 _x0000_s2002 _x0000_s2003 _x0000_s2004 _x0000_s2005">практике такое положение встречается не всегда. Поэтому обычно используют следующие подходы:
Демонстрируют заказчику работу аналогичной базы данных, после чего согласовывают спецификацию отличий;
Если аналога нет, выясняют круг задач и потребностей заказчика, после чего помогают ему подготовить техническое задание.
При подготовке технического задания составляют:
· Список исходных данных, с которыми работает заказчик;
· Список выходных данных, которые необходимы заказчику для управления структурой своего предприятия;
· Список выходных данных, которые не являются необходимыми для заказчика, но которые он должен предоставить в другие организации (в вышестоящие структуры, в органы статистического учета, прочие административные и контролирующие организации).
При этом очень важно не ограничиваться взаимодействием с головным подразделением заказчика, а провести обсуждение со всеми службами и подразделениями, которые могут оказать оказаться поставщиками данных в базу или их потребителями.
Разработка структуры базы данных. Выяснив основную часть данных, которые заказчик потребляет или поставляет, можно приступать к созданию структуры базы, то есть структуры ее основных таблиц.
1. Работа начинается с составления генерального списка полей – он может насчитывать десятки и даже сотни позиций.
2. В соответствии с типом данных, размещаемых в каждом поле, определяют наиболее подходящий тип для каждого поля.
<img width=«695» height=«1074» src=«ref-2_1510748549-4723.coolpic» v:shapes="_x0000_s2006 _x0000_s2007 _x0000_s2008 _x0000_s2009 _x0000_s2010 _x0000_s2011 _x0000_s2012 _x0000_s2013 _x0000_s2014 _x0000_s2015 _x0000_s2016 _x0000_s2017 _x0000_s2018 _x0000_s2019 _x0000_s2020 _x0000_s2021 _x0000_s2022 _x0000_s2023 _x0000_s2024 _x0000_s2025">3. Далее распределяют поля генерального списка по базовым таблицам. На первом этапе распределение производят по функциональному признаку. Цель – обеспечить, чтобы ввод данных в одну таблицу производился, по возможности, в рамках одного подразделения, а еще лучше – на одном рабочем месте.
4. В каждой из таблиц намечают ключевое поле. В качестве такого выбирают поле, данные в котором повторяться не могут. Например, для таблицы данных о студентах таким поле может служить индивидуальный шифр студента. Для таблицы, в которой содержаться расписание занятий, такого поля можно и не найти, но его можно создать искусственным комбинированием полей «Время занятия» и «Номер аудитории». Эта комбинация неповторима, так как в одной аудитории в одно и то же время не принято проводить два различных занятия. Если в таблице вообще нет ни каких полей, которые можно было бы использовать, как ключевые, всегда можно ввести дополнительное поле типа Счетчик – оно не может содержать повторяющихся данных по определению.
5. С помощью карандаша и бумаги расчерчивают связи между таблицами. Такой чертеж называется схемой данных.Существует несколько
типов возможных связей между таблицами. Наиболее распространенными являются связи «один ко многим» и «один к одному». Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне «один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения на стороне «многие» могут повторяться.
6. Разработкой схемы данных заканчивается «бумажный» этап работы над техническим предложением. Эту схему можно согласовать с заказчиком, после чего приступать к непосредственному созданию базы данных.
<img width=«695» height=«1074» src=«ref-2_1510753272-4725.coolpic» v:shapes="_x0000_s2026 _x0000_s2027 _x0000_s2028 _x0000_s2029 _x0000_s2030 _x0000_s2031 _x0000_s2032 _x0000_s2033 _x0000_s2034 _x0000_s2035 _x0000_s2036 _x0000_s2037 _x0000_s2038 _x0000_s2039 _x0000_s2040 _x0000_s2041 _x0000_s2042 _x0000_s2043 _x0000_s2044 _x0000_s2045">Следует помнить, что по ходу разработки проекта заказчику непременно будут приходить в голову новые идеи. На всех этапах проектирования он стремится охватить единой системой все новые и новые подразделения и службы предприятия. Возможность гибкого использования его пожеланий во многом определяется квалификацией разработчика базы данных. Если схема данных составлена правильно, подключать к базе новые таблицы нетрудно. Если структура базы нерациональна, разработчик может испытать серьезные трудности и войти в противоречие с заказчиком. Противоречия исполнителя с заказчиком всегда свидетельствуют о недостаточной квалификации исполнителя. Именно по этому этап предварительного проектирования базы данных следует считать основным. От его успеха зависит, насколько база данных станет удобной, и будут ли с ней работать пользователи. Если отмечается, что пользователи базы «саботируют» ее эксплуатацию и предпочитают работать традиционными методами, это говорит не о низкой квалификации пользователей, а о недостаточной квалификации разработчика базы.
На этом этапе завершается предварительное проектирование базы данных, и на следующем этапе начинается ее непосредственная разработка. С этого момента следует начать работу с СУБД.
Вывод: для создания базы данных поддержки научно-исследовательской работы студентов используется программа управления базами данных ACCESS, входящая в пакет MicrosoftOfficeProfessional, позволяющая создавать базы данных, таблицы, формы, запросы к базам данных, отчеты, диаграммы, а также осуществлять просмотр, редактирование и печать данных. Кроме того использование Accessне требует дополнительных финансовых затрат и является требованием заказчика.
При проектировании БД НИРС будем использовать:
o функциональный подход для выполнения функции преподавателей и студентов по организации структурированных информационных ресурсов;
o <img width=«695» height=«1074» src=«ref-2_1510757997-4777.coolpic» v:shapes="_x0000_s2046 _x0000_s2047 _x0000_s2048 _x0000_s2049 _x0000_s2050 _x0000_s2051 _x0000_s2052 _x0000_s2053 _x0000_s2054 _x0000_s2055 _x0000_s2056 _x0000_s2057 _x0000_s2058 _x0000_s2059 _x0000_s2060 _x0000_s2061 _x0000_s2062 _x0000_s2063 _x0000_s2064 _x0000_s2065">предметный подход для последующей реализации жестко не зафиксированных информационных потребностей в предметных областях по специальностям ВУЗа.
Это решение обусловлено также требованиями учебного процесса. Изучение СУБД Accessпредусмотрено согласно ГОС ВПО в рамках курсов информатики и информационных технологий. Таким образом, используя БД НИРС, студенты будут углублять знания по разделу программы «Базы данных», получать опыт разработки структурированных информационных ресурсов по информатизации предметной области по специальности.
продолжение
--PAGE_BREAK--<img width=«696» height=«1074» src=«ref-2_1510762774-7351.coolpic» v:shapes="_x0000_s2066 _x0000_s2067 _x0000_s2068 _x0000_s2069 _x0000_s2070 _x0000_s2071 _x0000_s2072 _x0000_s2073 _x0000_s2074 _x0000_s2075 _x0000_s2076 _x0000_s2077 _x0000_s2078 _x0000_s2079 _x0000_s2080 _x0000_s2081 _x0000_s2082 _x0000_s2083 _x0000_s2084 _x0000_s2085 _x0000_s2086 _x0000_s2087 _x0000_s2088 _x0000_s2089 _x0000_s2090 _x0000_s2091 _x0000_s2092 _x0000_s2093 _x0000_s2094 _x0000_s2095 _x0000_s2096 _x0000_s2097 _x0000_s2098 _x0000_s2099 _x0000_s2100 _x0000_s2101 _x0000_s2102 _x0000_s2103 _x0000_s2104 _x0000_s2105 _x0000_s2106 _x0000_s2107 _x0000_s2108 _x0000_s2109 _x0000_s2110 _x0000_s2111 _x0000_s2112 _x0000_s2113 _x0000_s2114 _x0000_s2115">3. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХНАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЫ СТУДЕНТОВ 3.1 Состав СУБДACCESS
Язык описания данных (ЯОД) – Средства описания данных в БД и связей между ними. Средствами этого языка описывается структура БД, форматы записей, пароли, защищающие данные.
Язык манипулирования данными (ЯМД) – язык для выполнения операций над данными, позволяющий менять их строение.
Для различных СУБД реализация этих уровней языков может быть различной. В одних случаях ЯОД и ЯМД требует составления пользователем программы полностью “вручную”, в других (что отражает современную тенденцию) в СУБД присутствует средства визуальной (зримой, наглядной) разработки программ. Для этого в современных СУБД имеются редакторы экранных форм, отчетов. “Кирпичиками” (инструментами) таких редакторов являются поля различных видов (поля ввода, поля вывода, вычисляемые поля), процедуры обработки различных типов (формы ввода, таблицы, отчеты, запросы). На основании созданных пользователем объектов программы – генераторы формируют программный код на языке конкретной машины или на промежуточном языке.
3.2 Структура простейшей базы данных
Имеем в виду, что если в базе нет никаких данных (пустая база), то это все равно полноценная база данных. Этот факт имеет методическое значение. Хотя данных в базе и нет, но информация в ней все-таки есть – это структура базы или метаинформация об объектах предметной области. Она определяет методы занесения данных и хранения их в базе. Простейший
«некомпьютерный» вариант базы данных – деловой ежедневник, в котором каждому календарному дню выделено по странице. Даже если в нем не записано ни строки, он не перестает быть ежедневником, поскольку имеет <img width=«695» height=«1074» src=«ref-2_1510770125-4764.coolpic» v:shapes="_x0000_s2116 _x0000_s2117 _x0000_s2118 _x0000_s2119 _x0000_s2120 _x0000_s2121 _x0000_s2122 _x0000_s2123 _x0000_s2124 _x0000_s2125 _x0000_s2126 _x0000_s2127 _x0000_s2128 _x0000_s2129 _x0000_s2130 _x0000_s2131 _x0000_s2132 _x0000_s2133 _x0000_s2134 _x0000_s2135">структуру, четко отличающую его от записных книжек, рабочих тетрадей и прочей писчебумажной продукции.
Базы данных могут содержать различные объекты. Основными объектами любой базы данных являются ее таблицы. Простейшая база данных имеет хотя бы одну таблицу. Соответственно, структура простейшей базы данных тождественно равна структуре ее таблицы.
Структуру двумерной таблицы образуют столбцы и строки. Их аналогами в простейшей базе данных являются поля и записи. Если записей в таблице пока нет, значит, ее структура образована только набором полей. Изменив состав полей базовой таблицы (или их свойства), мы изменяем структуру базы данных и, соответственно, получаем новую базу данных.
3.3 Свойства полей базы данных
Поля базы данных не просто определяют структуру базы – они еще определяют групповые свойства данных, записываемых в ячейки, принадлежащие каждому из полей. Ниже перечислены основные свойства полей таблиц баз данных на примере СУБД Microsoft Access.
Имя поля– определяет, как следует обращаться к данным этого поля при автоматических операциях с базой (по умолчанию имена полей используются в качестве заголовков столбцов таблиц).
Тип поля– определяет тип данных, которые могут содержаться в данном поле.
Размер поля– определяет предельную длину (в символах) данных, которые могут размещаться в данном поле.
Формат поля– определяет способ форматирования данных в ячейках, принадлежащих полю.
Маска ввода– определяет форму, в которой вводятся данные а поле (средство автоматизации ввода данных).
<img width=«695» height=«1074» src=«ref-2_1510774889-4773.coolpic» v:shapes="_x0000_s2136 _x0000_s2137 _x0000_s2138 _x0000_s2139 _x0000_s2140 _x0000_s2141 _x0000_s2142 _x0000_s2143 _x0000_s2144 _x0000_s2145 _x0000_s2146 _x0000_s2147 _x0000_s2148 _x0000_s2149 _x0000_s2150 _x0000_s2151 _x0000_s2152 _x0000_s2153 _x0000_s2154 _x0000_s2155">Подпись– определяет заголовок столбца таблицы для данного поля (если подпись не указана, то в качестве заголовка столбца используется свойство Имя поля).
Значение по умолчанию– то значение, которое вводится в ячейки поля автоматически (средство автоматизации ввода данных).
Условие на значение– ограничение, используемое для проверки правильности ввода данных (средство автоматизации ввода, которое используется, как правило, для данных, имеющих числовой тип, денежный тип или тип даты).
Сообщение об ошибке– текстовое сообщение, которое выдается автоматически при попытке ввода в поле ошибочных данных.
Обязательное поле– свойство, определяющее обязательность заполнения данного поля при наполнении базы.
Пустые строки– свойство, разрешающее ввод пустых строковых данных (от свойства Обязательное поле отличается тем, что относится не ко всем типам данных, а лишь к некоторым, например к текстовым).
Индексированное поле– если поле обладает этим свойством, все операции, связанные с поиском или сортировкой записей по значению, хранящемуся в данном поле, существенно ускоряются. Кроме того, для индексированных полей можно сделать так, что значение в записях будут проверяться по этому полю на наличие повторов, что позволяет автоматически исключить дублирование данных.
Поскольку в разных полях могут содержаться данные разного типа, то и свойства у полей могут различаться в зависимости от типа данных. Так, например, список вышеуказанных свойств полей относится в основном к полям текстового типа. Поля других типов могут иметь или не иметь эти свойства, но могут добавлять к ним и свои. Например, для данных, представляющих действительные числа, важным свойством является количество знаков после десятичной запятой. С другой стороны, для полей, используемых для хранения рисунков, звукозаписей, видео клипов и других объектов OLE, большинство вышеуказанных свойств не имеют смысла.
продолжение
--PAGE_BREAK--3.4 Типы данных
Таблицы баз данных, как правило, допускают работу с гораздо большим количеством разных типов данных. Так, например, базы данных Microsoft Access работают со следующими типами данных.
Текстовый– тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
Числовой– тип данных для хранения действительных чисел.
Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он храниться в другом месте базы данных, а в поле храниться указатель на него, но для пользователя такое разделение заметно не всегда.
Дата/время – тип данных для хранения календарных дат и текущего времени.
Денежный— тип данных для хранения денежных сумм. Теоретически, для их записи можно было бы пользоваться и полями числового типа, но для денежных сумм есть некоторые особенности (например, связанные с правилами округления), которые делают более удобным использование специального типа данных, а не настройку числового типа.
<img width=«695» height=«1073» src=«ref-2_1510779662-4755.coolpic» v:shapes="_x0000_s2156 _x0000_s2157 _x0000_s2158 _x0000_s2159 _x0000_s2160 _x0000_s2161 _x0000_s2162 _x0000_s2163 _x0000_s2164 _x0000_s2165 _x0000_s2166 _x0000_s2167 _x0000_s2168 _x0000_s2169 _x0000_s2170 _x0000_s2171 _x0000_s2172 _x0000_s2173 _x0000_s2174 _x0000_s2175">Счетчик– специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей.
Логический — тип для хранения логических данных (могут принимать только два значения, например Да или Нет).
Гиперссылка– специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск браузера и воспроизведение объекта в его окне.
Мастер подстановок – это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать их из раскрывающегося списка.
3.5 Безопасность баз данных
Базы данных – это тоже файлы, но работа с ними отличается от работы с файлами других типов, создаваемых прочими приложениями. Выше мы видели, что всю работу по обслуживанию файловой структуры берет на себя операционная система. Для базы данных предъявляются особые требования с точки зрения безопасности, поэтому в них реализован другой подход к сохранению данных. Базы данных – это особые структуры. Информация, которая в них содержится, очень часто имеет общественную ценность. Нередко с одной и той же базой работают тысячи людей по всей стране. От информации, которая содержится в некоторых базах, может зависеть благополучие множества людей. Поэтому целостность содержимого базы не может и не должна зависеть ни от конкретных действий некоего пользователя, забывшего сохранить файлы перед выключением компьютера, ни от перебоев в электросети. Проблема безопасности баз данных решается тем, что в СУБД для сохранения информации используется двойной подход. В части операций, как обычно, участвует операционная система компьютера, но некоторые операции сохранения происходят в обход операционной системы.С БД НИРС группа студентов работает на локальном рабочем месте. С целью сохранения данных преподаватель сохраняет БД НИРС на сервере в режиме «для чтения».
<img width=«695» height=«1073» src=«ref-2_1510784417-4764.coolpic» v:shapes="_x0000_s2176 _x0000_s2177 _x0000_s2178 _x0000_s2179 _x0000_s2180 _x0000_s2181 _x0000_s2182 _x0000_s2183 _x0000_s2184 _x0000_s2185 _x0000_s2186 _x0000_s2187 _x0000_s2188 _x0000_s2189 _x0000_s2190 _x0000_s2191 _x0000_s2192 _x0000_s2193 _x0000_s2194 _x0000_s2195">3.6 Архитектура защиты Access
Если у пользователя имеется опыт работы с защитой, используемой на сервере или большой ЭВМ, структура защиты в Accessпокажется ему знакомой. Указываются пользователи, которым предоставляется или, наоборот, не разрешается доступ к объектам базы данных. Кроме того, определяются группы пользователей и назначаются разрешения на уровне группы, чтобы облегчить построение защиты для большого числа пользователей. Пользователю достаточно быть членом группы, чтобы получить права доступа, установленные для конкретной группы.
Accessхранит информацию о защите в двух местах. Во время установки программа Setupсоздаст в папке \Program
Files
\
Microsoft
Ofice\0fficeстандартный файл рабочей группы (System.mdw), который впоследствии используется по умолчанию при запуске Access. Этот файл содержит информацию обо всех пользователях и группах. При создании базы данных Accessсохраняет сведения о правах, предоставляемых конкретным пользователям и группам, в файле базы данных.
Общая структура защиты Accessотображена на рисунке 1. Учётные записи пользователей и групп хранятся в файле рабочей группы. Разрешение на доступ к конкретным объектам сохраняются в файле базы данных.
<img width=«462» height=«302» src=«ref-2_1510789181-2936.coolpic» v:shapes="_x0000_s2196 _x0000_s2197 _x0000_s2198 _x0000_s2199 _x0000_s2200 _x0000_s2201 _x0000_s2202 _x0000_s2203 _x0000_s2204 _x0000_s2205 _x0000_s2206 _x0000_s2207 _x0000_s2208 _x0000_s2209 _x0000_s2210 _x0000_s2211 _x0000_s2212">
Рисунок 2.1- Общая структура защиты Access
Расположение текущего файла рабочей группы хранится в реестре Windows. Можно использовать служебную программу Wrkadm
.
exe (администратор рабочих групп) для изменения текущего или определения <img width=«696» height=«1073» src=«ref-2_1510792117-4741.coolpic» v:shapes="_x0000_s2213 _x0000_s2214 _x0000_s2215 _x0000_s2216 _x0000_s2217 _x0000_s2218 _x0000_s2219 _x0000_s2220 _x0000_s2221 _x0000_s2222 _x0000_s2223 _x0000_s2224 _x0000_s2225 _x0000_s2226 _x0000_s2227 _x0000_s2228 _x0000_s2229 _x0000_s2230 _x0000_s2231 _x0000_s2232">нового файла рабочей группы. Кроме того, можно выбирать нужный файл рабочей группы во время выполнения приложения, задав соответствующий параметр командной строки в ярлыке запуска. Если вам приходится часто запускать в сети совместно используемое защищенное приложение, нужно позаботиться о том, чтобы системный администратор задал вашу рабочую группу, используемую по умолчанию, как общий файл в сетевой папке.
<img width=«695» height=«1074» src=«ref-2_1510796858-4719.coolpic» v:shapes="_x0000_s2233 _x0000_s2234 _x0000_s2235 _x0000_s2236 _x0000_s2237 _x0000_s2238 _x0000_s2239 _x0000_s2240 _x0000_s2241 _x0000_s2242 _x0000_s2243 _x0000_s2244 _x0000_s2245 _x0000_s2246 _x0000_s2247 _x0000_s2248 _x0000_s2249 _x0000_s2250 _x0000_s2251 _x0000_s2252">Каждая рабочая группа имеет уникальный внутренний идентификатор, генерируемый Accessпри определении файла рабочих групп. Любая база данных, созданная пользователем рабочей группы, «принадлежит» как этому пользователю, так и рабочей группе. Каждый пользователь и группа также имеет уникальный внутренний идентификатор, но можно дублировать один и тот же код пользователя и группы в нескольких рабочих группах. Когда вы назначаете право доступа к объекту своей базы данных, Accessсохраняет в ней внутренний идентификатор пользователя или группы вместе с информацией о доступе. Таким образом, предоставленные вами права перемещаются вместе с файлом базы данных при копировании его в другую папку или на другой компьютер.
продолжение
--PAGE_BREAK--<img width=«695» height=«1074» src=«ref-2_1510801577-4780.coolpic» v:shapes="_x0000_s2253 _x0000_s2254 _x0000_s2255 _x0000_s2256 _x0000_s2257 _x0000_s2258 _x0000_s2259 _x0000_s2260 _x0000_s2261 _x0000_s2262 _x0000_s2263 _x0000_s2264 _x0000_s2265 _x0000_s2266 _x0000_s2267 _x0000_s2268 _x0000_s2269 _x0000_s2270 _x0000_s2271 _x0000_s2272">3.7 Режимы работы с базами данных
Обычно с базами данных работаю две категории пользователей. Первая категория – проектировщики. Их задача состоит в разработке структуры таблиц базы данных и согласование ее с заказчиком. Кроме таблиц проектировщики разрабатывают и другие объекты базы данных, предназначенные, с одной стороны, для автоматизации работы с базой, а с другой стороны – для ограничения функциональных возможностей работы с базой (если это необходимо из соображений безопасности). Проектировщики не наполняют базу конкретными данными, (заказчик может считать их конфиденциальными и не предоставлять посторонним лицам). Исключение составляет экспериментальное наполнение модельными данными на этапе отладки объектов базы.
Вторая категория исполнителей, работающих с базами данных, — пользователи. Они получают исходную базу данных от проектировщиков и занимаются ее наполнением и обслуживанием. В общем случае пользователи не имеют средств доступа к управлению структурой базы – только к данным, да и то не ко всем, а к тем, работа с которыми предусмотрена на конкретном рабочем месте.
Соответственно СУБД имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы и создание ее объектов. Во втором режиме происходит использование ранее подготовленных объектов для наполнения базы или получения данных из нее.
3.8 Объекты базы данных 3.8.1 Таблицы
Таблицы – это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства). Минимальная структура БД НИРС должна содержать следующие таблицы: Студент, Тема, Реферат, <img width=«695» height=«1074» src=«ref-2_1510806357-4767.coolpic» v:shapes="_x0000_s2273 _x0000_s2274 _x0000_s2275 _x0000_s2276 _x0000_s2277 _x0000_s2278 _x0000_s2279 _x0000_s2280 _x0000_s2281 _x0000_s2282 _x0000_s2283 _x0000_s2284 _x0000_s2285 _x0000_s2286 _x0000_s2287 _x0000_s2288 _x0000_s2289 _x0000_s2290 _x0000_s2291 _x0000_s2292">Оценка реферата студента, Мероприятия, Баллы за организационную работу, Отчетные документы мероприятия, Отчетные документы творческих заданий, Количественная оценка модели предметной области, Фото.
<img width=«304» height=«241» src=«ref-2_1510811124-13687.coolpic» v:shapes=«Рисунок_x0020_1»>
Рисунок 3.1 – Таблицы БД НИРС
Каждая таблица имеет ключевое поле. Также были созданы связи между таблицами, что наглядно представлено на схеме данных.
<img width=«576» height=«377» src=«ref-2_1510824811-29892.coolpic» v:shapes=«Рисунок_x0020_4»>
Рисунок 3.2 – Схема данных БД НИРС
<img width=«695» height=«1074» src=«ref-2_1510854703-4767.coolpic» v:shapes="_x0000_s2293 _x0000_s2294 _x0000_s2295 _x0000_s2296 _x0000_s2297 _x0000_s2298 _x0000_s2299 _x0000_s2300 _x0000_s2301 _x0000_s2302 _x0000_s2303 _x0000_s2304 _x0000_s2305 _x0000_s2306 _x0000_s2307 _x0000_s2308 _x0000_s2309 _x0000_s2310 _x0000_s2311 _x0000_s2312">3.8.2 Запросы
Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразования данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнения таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое. В БД НИРС с помощью запросов необходимо получить информацию о направлении исследований, проводимых мероприятиях в рамках НИРС, об объёме выполненной студентом работы (количество страниц реферата), о выполнении сроков календарного плана, об оценках выполненных работ и др.
<img width=«286» height=«243» src=«ref-2_1510859470-10828.coolpic» v:shapes=«Рисунок_x0020_7»>
Рисунок 3.3 – Запросы БД НИРС
3.8.3 Формы
Если запросы – это специальные средства для отбора и анализа данных, то формы – это средства для ввода данных. Смысл их тот же – предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими <img width=«696» height=«1073» src=«ref-2_1510870298-4725.coolpic» v:shapes="_x0000_s2313 _x0000_s2314 _x0000_s2315 _x0000_s2316 _x0000_s2317 _x0000_s2318 _x0000_s2319 _x0000_s2320 _x0000_s2321 _x0000_s2322 _x0000_s2323 _x0000_s2324 _x0000_s2325 _x0000_s2326 _x0000_s2327 _x0000_s2328 _x0000_s2329 _x0000_s2330 _x0000_s2331 _x0000_s2332">средствами так, чтобы она повторяла оформление бланка – это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок. В БД НИРС предусмотрены необходимые формы для введения и анализа информации.
<img width=«269» height=«199» src=«ref-2_1510875023-8572.coolpic» v:shapes=«Рисунок_x0020_10»>
Рисунок 3.4 – Все формы БД НИРС
<img width=«353» height=«240» src=«ref-2_1510883595-15717.coolpic» v:shapes=«Рисунок_x0020_13»>
Рисунок 3.5 – Форма «Оценка реферата студента» БД НИРС
Также разработана кнопочная форма, позволяющая осуществлять доступ ко всем формам и производить печать отчетов (рисунок 3.6)
<img width=«454» height=«344» src=«ref-2_1510899312-21476.coolpic» v:shapes=«Рисунок_x0020_3»>
Рисунок 3.6 – Кнопочная форма
продолжение
--PAGE_BREAK--3.8.4 Отчеты
По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на принтер. В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов.
<img width=«695» height=«1074» src=«ref-2_1510920788-4765.coolpic» v:shapes="_x0000_s2333 _x0000_s2334 _x0000_s2335 _x0000_s2336 _x0000_s2337 _x0000_s2338 _x0000_s2339 _x0000_s2340 _x0000_s2341 _x0000_s2342 _x0000_s2343 _x0000_s2344 _x0000_s2345 _x0000_s2346 _x0000_s2347 _x0000_s2348 _x0000_s2349 _x0000_s2350 _x0000_s2351 _x0000_s2352"><img width=«304» height=«220» src=«ref-2_1510925553-10046.coolpic» v:shapes=«Рисунок_x0020_16»>
Рисунок 3.6 –Отчеты
3.8.5 Страницы
Это специальные объекты баз данных, реализованных в последних версиях СУБД Microsoft Access (начиная с Access 2000). Более корректно их называть страницами доступа к данным.Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данной, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, посволяют работать также с базами данных Microsoft SQL Server.
3.8.6 Макросы и модули
Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модулисоздаются средствами <img width=«695» height=«1074» src=«ref-2_1510935599-4725.coolpic» v:shapes="_x0000_s2353 _x0000_s2354 _x0000_s2355 _x0000_s2356 _x0000_s2357 _x0000_s2358 _x0000_s2359 _x0000_s2360 _x0000_s2361 _x0000_s2362 _x0000_s2363 _x0000_s2364 _x0000_s2365 _x0000_s2366 _x0000_s2367 _x0000_s2368 _x0000_s2369 _x0000_s2370 _x0000_s2371 _x0000_s2372">внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфическое требование заказчика, повысить быстродействие системы управления, а также уровень ее защищенности. Планируется создание макроса для подсчета баллов, набираемых при выполнении НИРС (Приложение 2).
Таким образом, сделаем следующие выводы. В дипломной работе разработана БД НИРС позволяющая вести мониторинг продвижения студентов по предметной области. Этот вывод обусловлен тем, что в БД НИРС отражаются необходимые мероприятия НИРС (круглый стол, мозговой штурм, итоговые конференции), ведется учет документов мероприятий (протоколы, фотографии), результатов НИРС (рефераты, доклады, презентации и др.). В БД НИРС заносятся баллы оценивающие все виды работы студентов и позволяющие вывести объективную итоговую оценку по изучаемой дисциплине. На основе собранной информации можно произвести отбор студентов для участия в конкурсах выдвижения для различных поощрений, а также их работ для публикации на сайте ВУЗа, в печатных изданиях и др.
3.8.7 Разработка ODBC-драйвера
ODBC (Open DataBase Connectivity) – это открытый интерфейс доступа к базам данных, разработанный фирмой Microsoft. Он представляет собой API довольно низкого уровня и предназначен, в основном, для использования <img width=«695» height=«1073» src=«ref-2_1510940324-4725.coolpic» v:shapes="_x0000_s2373 _x0000_s2374 _x0000_s2375 _x0000_s2376 _x0000_s2377 _x0000_s2378 _x0000_s2379 _x0000_s2380 _x0000_s2381 _x0000_s2382 _x0000_s2383 _x0000_s2384 _x0000_s2385 _x0000_s2386 _x0000_s2387 _x0000_s2388 _x0000_s2389 _x0000_s2390 _x0000_s2391 _x0000_s2392">в программах, написанных на C, C++ или на VB, но также его функциями можно воспользоваться и из VBA Access. Данный интерфейс является кроссплатформным, то есть с успехом работает и в Windows, и в UNIX/Linux, и в MacOS.
<img width=«371» height=«264» src=«ref-2_1510945049-17743.coolpic» v:shapes=«Рисунок_x0020_18»>
Рисунок 3.7 – ODBC-драйверы
Структура ODBC API.
Итак, ODBC — это, прежде всего, Менеджер драйверов ODBC. Драйверы непосредственно взаимодействуют с источниками данных. Например, если мы хотим получить доступ к MS SQL Server 7.0, то нужно установить драйвер MS SQL Server 7.0, когда к серверу MySQL — драйвер MySQL.
Работа с Менеджером драйверов ODBC (далее — просто Менеджер) заключается в вызове необходимых функций с определёнными параметрами и в определенной последовательности. В функции Менеджера входит:
· установка и завершение связи с источником данных (сервером БД);
· подготовка и выполнение SQL-операторов;
· получение результатов и навигация по полученным наборам записей, если имеется такая возможность;
· управление транзакциями;
· идентификация ошибок;
· получение различной вспомогательной информации и прочие функции.
Для того, чтобы приступить к выполнению этих функций, Менеджер вначале должен подготовить некоторые системные ресурсы:
· Идентификатор окружения HENV. Он указывает на область памяти для общей информации (сведения обо всех соединениях с базами данных, информация о том, какое соединение является текущим и т.п.).
· Идентификатор соединения HDBC. Этот
идентификатор указывает на область памяти для информации о <img width=«696» height=«1073» src=«ref-2_1510962792-4759.coolpic» v:shapes="_x0000_s2393 _x0000_s2394 _x0000_s2395 _x0000_s2396 _x0000_s2397 _x0000_s2398 _x0000_s2399 _x0000_s2400 _x0000_s2401 _x0000_s2402 _x0000_s2403 _x0000_s2404 _x0000_s2405 _x0000_s2406 _x0000_s2407 _x0000_s2408 _x0000_s2409 _x0000_s2410 _x0000_s2411 _x0000_s2412">конкретном соединении. Идентификатор соединения ассоциируется с единственным идентификатором окружения, в то время как этот идентификатор окружения может иметь несколько связанных с ним идентификаторов соединения.
· Идентификатор оператора HSTMT. Он указывает на область памяти для информации об SQL-операторе. Идентификатор оператора связан с единственным идентификатором соединения. Идентификатор соединения может иметь более одного связанного с ним идентификатора оператора.
В конце Менеджер должен освободить эти ресурсы и вернуть их системе.
С точки зрения программы на VBA, все эти идентификаторы — переменные типа Long, в которых хранятся адреса соответствующих областей памяти. При выделении ресурсов идентификатору, его переменная передаётся в специальную функцию по ссылке. При последующем использовании — по значению.
Dim HENV As Long
Dim HDBC As Long
Dim HSTMT As Long
Declare Function SQLAllocEnv Lib «odbc32.dll» (ByRef HENV As Long) As Integer
Declare Function SQLFreeEnv Lib «odbc32.dll» (ByVal HENV As Long) As Integer
Declare Function SQLAllocConnect Lib «odbc32.dll» (ByVal HENV As Long, _
ByRef HDBC As Long) As Integer
Declare Function SQLFreeConnect Lib «odbc32.dll» (ByVal HDBC As Long) As Integer
<img width=«695» height=«1073» src=«ref-2_1510967551-4725.coolpic» v:shapes="_x0000_s2413 _x0000_s2414 _x0000_s2415 _x0000_s2416 _x0000_s2417 _x0000_s2418 _x0000_s2419 _x0000_s2420 _x0000_s2421 _x0000_s2422 _x0000_s2423 _x0000_s2424 _x0000_s2425 _x0000_s2426 _x0000_s2427 _x0000_s2428 _x0000_s2429 _x0000_s2430 _x0000_s2431 _x0000_s2432">Declare Function SQLAllocStmt Lib «odbc32.dll» (ByVal HDBC As Long, _
ByRef HSTMT As Long) As Integer
Declare Function SQLFreeStmt Lib «odbc32.dll» (ByVal HSTMT As Long, _
ByVal EndOption As Integer) As Integer
Практически это реализуется следующим образом:
Во-первых, создадим отдельный модуль, в котором будем держать все объявления констант, функций, типов и переменных, связанных с ODBC API и назовём его «ODBC_API» и, для начала, включим следующие строки:
Option Compare Database
Option Explicit
'КонстантыODBC
Global Const MAX_DATA_BUFFER = 2047
Global Const SQL_SUCCESS = 0
Global Const SQL_SUCCESS_WITH_INFO = 1
Global Const SQL_ERROR = -1
Global Const SQL_NO_DATA_FOUND = 100
Global Const SQL_FETCH_FIRST = 2
Global Const SQL_FETCH_NEXT = 1
'ДекларациифункцийODBC
Declare Function SQLAllocEnv Lib «odbc32.dll» (ByRef HENV As Long) As Integer
Declare Function SQLFreeEnv Lib «odbc32.dll» (ByVal HENV As Long) As Integer
Declare Function SQLDrivers Lib «odbc32.dll» (ByVal HENV As Long, _
<img width=«695» height=«1073» src=«ref-2_1510972276-4729.coolpic» v:shapes="_x0000_s2433 _x0000_s2434 _x0000_s2435 _x0000_s2436 _x0000_s2437 _x0000_s2438 _x0000_s2439 _x0000_s2440 _x0000_s2441 _x0000_s2442 _x0000_s2443 _x0000_s2444 _x0000_s2445 _x0000_s2446 _x0000_s2447 _x0000_s2448 _x0000_s2449 _x0000_s2450 _x0000_s2451 _x0000_s2452"> ByVal Direction As Long, _
ByVal Description As String, _
ByVal DescriptionMax As Integer, _
ByRef DescriptionLen As Integer, _
ByVal Attributes As String, _
ByVal AttributesMax As Integer, _
ByRef AttributesLen As Integer) As Integer
Declare Function SQLDataSources Lib «odbc32.dll» (ByVal HENV As Long, _
ByVal Direction As Long, _
ByVal DSN As String, _
ByVal DSNMax As Integer, _
ByRef DSNLen As Integer, _
ByVal Description As String, _
ByVal DescriptionMax As Integer, _
ByRef DescriptionLen As Integer) As Integer
Здесь SQLDrivers и SQLDataSources уже не просто выполняют сервисные функции, а позволяют получить конкретные данные об установленных в операционной системе драйверах ODBC и именах источников данных (DSN — DataSource Name).
Так как эти функции получают информацию непосредственно от Менеджера, потребность в выделении ресурсов на соединение и операторы отсутствует. Достаточно лишь инициализировать идентификатор окружения HENV. Наилучшим образом это можно сделать создав специальный модуль класса. Это объясняется тем, что выделение и освобождение ресурсов можно осуществить, соответственно, в конструкторе (Class_Initialize) и деструкторе (Class_Terminate) класса и, тем самым, исключить ситуацию, когда при сбросе программы функция освобождения ресурсов SQLFreeEnv не будет вызвана. Итак, назовёмегоODBC_HENV:
<img width=«696» height=«1073» src=«ref-2_1510977005-4735.coolpic» v:shapes="_x0000_s2453 _x0000_s2454 _x0000_s2455 _x0000_s2456 _x0000_s2457 _x0000_s2458 _x0000_s2459 _x0000_s2460 _x0000_s2461 _x0000_s2462 _x0000_s2463 _x0000_s2464 _x0000_s2465 _x0000_s2466 _x0000_s2467 _x0000_s2468 _x0000_s2469 _x0000_s2470 _x0000_s2471 _x0000_s2472">Option Compare Database
Option Explicit
Dim lngHENV As Long 'Переменнаяокружения(Environment Handle).
Dim booValid As Boolean 'Индикатор возможности использования переменной окружения.
Public Property Get HENV() As Long
'Это свойство содержит уже готовый идентификатор окружения.
On Error Resume Next
HENV = lngHENV
End Property
Public Property Get Valid() As Boolean
'Это свойство представляет собой флаг, который показывает возможность (True) или
'невозможность (False) использования идентификатора окружения. Оно необходимо,
'так как нет гарантии, что любое ненулевое значение идентификатора окружения является
'пригодным для использования. Данный флаг устанавливается в True, только если функция
'инициализации окружения отрапортует об отсутствии ошибки.
On Error Resume Next
Valid = booValid
End Property
Private Sub Class_Initialize()
On Error Resume Next
Dim intStatus As Integer
intStatus = SQLAllocEnv(lngHENV) 'Инициализируемидентификаторокружения.
If intStatus = SQL_SUCCESS Then
<img width=«695» height=«1073» src=«ref-2_1510981740-4737.coolpic» v:shapes="_x0000_s2473 _x0000_s2474 _x0000_s2475 _x0000_s2476 _x0000_s2477 _x0000_s2478 _x0000_s2479 _x0000_s2480 _x0000_s2481 _x0000_s2482 _x0000_s2483 _x0000_s2484 _x0000_s2485 _x0000_s2486 _x0000_s2487 _x0000_s2488 _x0000_s2489 _x0000_s2490 _x0000_s2491 _x0000_s2492"> booValid = True
Else
booValid = False
MsgBox «Unable to Allocate ODBC Environment Handle!», vbCritical, «Error»
End If
End Sub
Private Sub Class_Terminate()
On Error Resume Next
Dim intStatus As Integer
intStatus = SQLFreeEnv(lngHENV) 'Освободимресурсыокружения.
If intStatus = SQL_ERROR Then
MsgBox «Error Freeing ODBC Environment!», vbCritical, «Error»
End If
End Sub
Теперь, при создании экземпляра класса, будет происходить выделение ресурсов окружения, а при уничтожении — их освобождение. Это очень похоже на работу с сеансом (Workspace) MS Assess. На этом подготовку можно считать законченной.
Следующий этап – получение информации с помощью ODBC API.
Для получения списков всех зарегистрированных драйверов и источников данных используются функции: SQLDrivers и SQLDataSources. Они очень похожи, поэтому имеет смысл рассмотреть только первую из них, хотя использоваться будут обе. Первым параметром в ней идёт идентификатор окружения:
DimODBC_ENVAsNewODBC_HENV
Дальше идёт параметр Direction. Он определяет порядок просмотра результирующего множества. Другие функции ODBC, работающие с наборами записей, устроены аналогично. Когда мы хотим получить первый <img width=«696» height=«1073» src=«ref-2_1510986477-4762.coolpic» v:shapes="_x0000_s2493 _x0000_s2494 _x0000_s2495 _x0000_s2496 _x0000_s2497 _x0000_s2498 _x0000_s2499 _x0000_s2500 _x0000_s2501 _x0000_s2502 _x0000_s2503 _x0000_s2504 _x0000_s2505 _x0000_s2506 _x0000_s2507 _x0000_s2508 _x0000_s2509 _x0000_s2510 _x0000_s2511 _x0000_s2512">элемент набора, надо передать в функцию значение SQL_FETCH_FIRST, следующее — SQL_FETCH_NEXT, предыдущее — SQL_FETCH_PRIOR и т.д.
Dim Direction As Long
Потом следуют два блока из трёх параметров каждый, которые служат для получения собственно информации о драйверах. Первый блок — название драйвера, второй — список атрибутов. Имена атрибутов и их значения перечислены через стандартный для языка С (а именно на этот язык и рассчитан интерфейс ODBC в первую очередь) код завершения строки — 0 (ноль). В первом параметре каждого из двух блоков передаётся строка определённой длины, специально выделенная заранее:
Dim Description As String * MAX_DATA_BUFFER
Dim Attributes As String * MAX_DATA_BUFFER
Второй параметр — длина этой строки. Он не позволит функции сформировать слишком длинную строку, испортив при этом соседние ячейки памяти. В нашем случае — это просто MAX_DATA_BUFFER. Третьим идёт указатель на целое число, в которое функция запишет, сколько она на самом деле использовала символов в отведённой строке:
Dim DescriptionLen As Integer
Dim AttributesLen As Integer
Далее: в цикле заполняем таблицы данными о драйверах (название и атрибуты) и источниках данных (имя и название драйвера), а потом выводим их содержимое с помощью формы.
Уровни функциональных возможностей ODBCAPI
В ODBCсуществует несколько уровней функциональных возможностей, которые обеспечивают различные уровни взаимодействия с прикладными программами.
Первый уровень расширения функциональных возможностей ODBCвключает в себя функцию SQLDriverConnect, позволяющая запрашивать у пользователя более подробную информацию о подготавливаемом соединении, а также задавать степень обязательности этого запроса.
<img width=«695» height=«1073» src=«ref-2_1510991239-4791.coolpic» v:shapes="_x0000_s2513 _x0000_s2514 _x0000_s2515 _x0000_s2516 _x0000_s2517 _x0000_s2518 _x0000_s2519 _x0000_s2520 _x0000_s2521 _x0000_s2522 _x0000_s2523 _x0000_s2524 _x0000_s2525 _x0000_s2526 _x0000_s2527 _x0000_s2528 _x0000_s2529 _x0000_s2530 _x0000_s2531 _x0000_s2532">Второй уровень ODBCAPIвключает в себя функцию SQLBrowseConnect, которая поддерживает пошаговый метод ввода данных, необходимых для установления соединения с источником данных.
Обычно, соответствие ODBCдрайвера некоторому уровню означает то, что он поддерживает все функции данного уровня. При этом в нём, как правило, реализованы ещё и некоторые из функций более высокого уровня. Существуют специальные функции, которые позволяют точно определить возможности драйвера.
Уровни соответствия SQL
Уровень соответствия SQL— это показатель того, какие возможности языка SQLи типы данных поддерживает драйвер. Грамматика ODBCSQLможет быть 3 видов:
· базовой (она соответствует стандартным требованиям);
· минимальной (более низкий уровень по сравнению с базовым);
· расширенной (обеспечивает некоторые общепринятые расширения SQL).
Как и в случае уровней ODBCAPI, существуют функции, позволяющие определить, какие операторы и типы данных поддерживает драйвер.
Более сложной задачей по сравнению с разработкой на MSAccessявляется создание полнофункциональных приложений, основанных непосредственно на API.
Для того, чтобы получить список пользовательских таблиц с выбранного сервера БД требуется сделать следущее.
'Константы ODBC
'Константы для SQLDriverConnect
Global Const SQL_DRIVER_NOPROMPT = 0
Global Const SQL_DRIVER_COMPLETE = 1
Global Const SQL_DRIVER_PROMPT = 2
<img width=«696» height=«1074» src=«ref-2_1510996030-4720.coolpic» v:shapes="_x0000_s2533 _x0000_s2534 _x0000_s2535 _x0000_s2536 _x0000_s2537 _x0000_s2538 _x0000_s2539 _x0000_s2540 _x0000_s2541 _x0000_s2542 _x0000_s2543 _x0000_s2544 _x0000_s2545 _x0000_s2546 _x0000_s2547 _x0000_s2548 _x0000_s2549 _x0000_s2550 _x0000_s2551 _x0000_s2552">Global Const SQL_DRIVER_COMPLETE_REQUIRED = 3
'Константы для FreeStmt
Global Const SQL_CLOSE = 0
Global Const SQL_DROP = 1
Global Const SQL_UNBIND = 2
Global Const SQL_RESET_PARAMS = 3
'Типы данных
Global Const SQL_C_CHAR = 1
'Декларации функций ODBC
Declare Function SQLDriverConnect Lib «odbc32.dll» (ByVal HDBC As Long, _
ByVal hWnd As Long, _
ByVal ConStrIn As String, _
ByVal ConStrInMax As Integer, _
ByVal ConStrOut As String, _
ByVal ConStrOutMax As Integer, _
ByRef ConStrOutLen As Long, _
ByVal DriverCompleation As Integer) As Integer
Declare Function SQLDisconnect Lib «odbc32.dll» (ByVal HDBC As Long) As Integer
Declare Function SQLTables Lib «odbc32.dll» (ByVal HSTMT As Long, _
ByVal TableQualifier As String, _
ByVal TableQualifierLen As Integer, _
ByVal TableOwner As String, _
ByVal TableOwnerLen As Integer, _
ByVal TableName As String, _
ByVal TableNameLen As Integer, _
ByVal TableType As String, _
ByVal TableTypeLen As Integer) As Integer
<img width=«695» height=«1073» src=«ref-2_1511000750-4726.coolpic» v:shapes="_x0000_s2553 _x0000_s2554 _x0000_s2555 _x0000_s2556 _x0000_s2557 _x0000_s2558 _x0000_s2559 _x0000_s2560 _x0000_s2561 _x0000_s2562 _x0000_s2563 _x0000_s2564 _x0000_s2565 _x0000_s2566 _x0000_s2567 _x0000_s2568 _x0000_s2569 _x0000_s2570 _x0000_s2571 _x0000_s2572">
Declare Function SQLFetch Lib «odbc32.dll» (ByVal HSTMT As Long) As Integer
Declare Function SQLGetData Lib «odbc32.dll» (ByVal HSTMT As Long, _ ByVal ColNumber As Long, _
ByVal DataType As Integer, _
ByVal DataValue As String, _
ByVal DataValueMax As Integer, _
ByRef DataValueLen As Long) As Integer
Для непосредственной работы создадим форму, со списками драйверов ODBC, поля для ввода параметров подключения к серверу (имя сервера, имя базы данных на нем, логин и пароль пользователя), а также список таблиц для заполнения и пару кнопок для придания большей наглядности.
Список драйверов заполним по аналогии с предыдущим. В качестве типа источника строк выберем список значений, а при загрузке формы запишем в переменную наименования всех найденных драйверов и присвоим её свойству «Источник строк» списка.
Следующий важный шаг — установить соединение с сервером. Информация, которая должна понадобиться — это, кроме имени драйвера, имена сервера и БД, а также логин и пароль пользователя, от лица которого будет осуществляться подключение. Она образует строку подключения (ConnectionString), где перечисляются соответствующие ключи и их значения:
strConStr = «DRIVER=» & Me.lbxDrivers & _
";SERVER=" & Me.txtServer & _
";DATABASE=" & Me.txtDataBase & _
";UID=" & Me.txtLogin & _
<img width=«695» height=«1073» src=«ref-2_1511005476-4716.coolpic» v:shapes="_x0000_s2573 _x0000_s2574 _x0000_s2575 _x0000_s2576 _x0000_s2577 _x0000_s2578 _x0000_s2579 _x0000_s2580 _x0000_s2581 _x0000_s2582 _x0000_s2583 _x0000_s2584 _x0000_s2585 _x0000_s2586 _x0000_s2587 _x0000_s2588 _x0000_s2589 _x0000_s2590 _x0000_s2591 _x0000_s2592"> ";PWD=" & Me.txtPassword& ";"
В качестве значений указываем содержимое элементов управления формы. Далее передадим эту строку вместе с уже имеющимся идентификатором окружения в предварительно заготовленную функцию, которая выполнит всю работу и, в случае успеха, вернёт ненулевой идентификатор соединения. Или нулевой — в случае ошибки:
Public Function OpenConnection(HENV As Long, ConnectionString As String) As Long
Dim intStatus As Integer 'Для кодов возврата функций ODBC.
Dim lngHDBC As Long 'Идентификатор соединения.
Dim strConStrIn As String * MAX_DATA_BUFFER 'Строковый буфер для передачи данных.
Dim strConStrOut As String * MAX_DATA_BUFFER 'Строковый буфер для получения данных.
Dim lngConStrOutLen As Long 'Реальная длина данных в буфере.
OpenConnection = 0
If Len(ConnectionString) < MAX_DATA_BUFFER Then 'Строка не должна быть слишком длинной.
strConStrIn= ConnectionString& Chr(0) 'Добавим нулевой символ как знак завершения строки.
intStatus= SQLAllocConnect(HENV, lngHDBC) 'Получим идентификатор соединения.
IfintStatus= SQL_SUCCESSThen 'Если соединение успешно создано, пытаемся открыть его.
intStatus = SQLDriverConnect(lngHDBC, _
0, _
strConStrIn, _
MAX_DATA_BUFFER, _
strConStrOut, _
<img width=«695» height=«1073» src=«ref-2_1511010192-4719.coolpic» v:shapes="_x0000_s2593 _x0000_s2594 _x0000_s2595 _x0000_s2596 _x0000_s2597 _x0000_s2598 _x0000_s2599 _x0000_s2600 _x0000_s2601 _x0000_s2602 _x0000_s2603 _x0000_s2604 _x0000_s2605 _x0000_s2606 _x0000_s2607 _x0000_s2608 _x0000_s2609 _x0000_s2610 _x0000_s2611 _x0000_s2612"> MAX_DATA_BUFFER, _
lngConStrOutLen, _
SQL_DRIVER_NOPROMPT)
If intStatus = SQL_SUCCESS Then 'Если соединение успешно открыто, возвращаем его идентификатор.
OpenConnection= lngHDBC
Else'Иначе — освободим ресурсы, выделенные соединению, а функция вернёт 0.
intStatus = SQLFreeConnect(lngHDBC)
End If
End If
End If
End Function
Основа — функция ODBC API SQLDriverConnect. Первым параметром в ней является идентификатор соединения, который надо предварительно получить с помощью функции SQLAllocConnect. Второй параметр — идентификатор окна, которое будет являться родительским для окна диалога ввода параметров соединения. В нашем случае диалог не требуется и поэтому мы передаём нулевой идентификатор окна (в противном случае можно передать, например, hWndAccessApp) и SQL_DRIVER_NOPROMPTсоответственно.
Третьим и четвёртым парамертами идут строка подключения и размер текстового буфера, отведенного этой строке. Последующие три параметра функции предназначены для возврата строки подключения, сформированной самой функцией и, в нашем случае, не используются.
После того, как соединение установлено, подготовим идентификатор оператора с помощью функции SQLAllocStmtи вызовем функцию SQLTables. Эта функция возвращает набор сведений о таблицах (TABLE), представлениях (VIEW) и других аналогичных объектах базы данных. <img width=«695» height=«1073» src=«ref-2_1511014911-4725.coolpic» v:shapes="_x0000_s2613 _x0000_s2614 _x0000_s2615 _x0000_s2616 _x0000_s2617 _x0000_s2618 _x0000_s2619 _x0000_s2620 _x0000_s2621 _x0000_s2622 _x0000_s2623 _x0000_s2624 _x0000_s2625 _x0000_s2626 _x0000_s2627 _x0000_s2628 _x0000_s2629 _x0000_s2630 _x0000_s2631 _x0000_s2632">Использовать её нужно также, как и все функции, работающие с результирующим множеством, каким является, например, результат выполнения запроса на выборку.
Для извлечения данных воспользуемся способом SQLGetData. Далее необходимо, устанавливая указатель на нужную запись с помощью функции SQLFetchили SQLExtendedFetch(последняя поддерживается не всеми драйверами), считывать данные столбца в подготовленную для них переменную.
Для упрощения работы многими фирмами разработаны различные программные компоненты более высокого уровня, существенно облегчающие использование таких интерфейсов, как ODBC. В MSAccessдля этого можно использовать механизмы присоединённых таблиц и запросов к <img width=«695» height=«1074» src=«ref-2_1511019636-4746.coolpic» v:shapes="_x0000_s2633 _x0000_s2634 _x0000_s2635 _x0000_s2636 _x0000_s2637 _x0000_s2638 _x0000_s2639 _x0000_s2640 _x0000_s2641 _x0000_s2642 _x0000_s2643 _x0000_s2644 _x0000_s2645 _x0000_s2646 _x0000_s2647 _x0000_s2648 _x0000_s2649 _x0000_s2650 _x0000_s2651 _x0000_s2652">серверу. В программах на VBAудобно использовать объекты доступа к данным DAO.
Вывод:Выполнено проектирование БД НИРС. Разработана БД НИРС: таблицы, схема данных, запросы, отчеты, формы, а также ODBC-драйвер, являющийся интерфейсом для удаленного доступа к базам данных. Проведен сбор, ввод и обработка данных, предоставлены отчеты.
продолжение
--PAGE_BREAK--<img width=«695» height=«1073» src=«ref-2_1511024382-7396.coolpic» v:shapes="_x0000_s2653 _x0000_s2654 _x0000_s2655 _x0000_s2656 _x0000_s2657 _x0000_s2658 _x0000_s2659 _x0000_s2660 _x0000_s2661 _x0000_s2662 _x0000_s2663 _x0000_s2664 _x0000_s2665 _x0000_s2666 _x0000_s2667 _x0000_s2668 _x0000_s2669 _x0000_s2670 _x0000_s2671 _x0000_s2672 _x0000_s2673 _x0000_s2674 _x0000_s2675 _x0000_s2676 _x0000_s2677 _x0000_s2678 _x0000_s2679 _x0000_s2680 _x0000_s2681 _x0000_s2682 _x0000_s2683 _x0000_s2684 _x0000_s2685 _x0000_s2686 _x0000_s2687 _x0000_s2688 _x0000_s2689 _x0000_s2690 _x0000_s2691 _x0000_s2692 _x0000_s2693 _x0000_s2694 _x0000_s2695 _x0000_s2696 _x0000_s2697 _x0000_s2698 _x0000_s2699 _x0000_s2700 _x0000_s2701 _x0000_s2702">4. РАСЧЕТ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ БАЗЫ ДАННЫХ НАУЧНО-ИССЛЕДОВАТЕЛЬСКОЙ РАБОТЫ СТУДЕНТОВ
4.1. Основные показатели экономической эффективности на стадии проектирования
Под проектом можно понимать автоматизацию обработки информации на отдельном ПК. Допустим, эффективность определяется на стадии проектирования. Основными показателями будут:
1. Затраты на обработку информации в проектируемом и базовом вариантах;
2. Экономия текущих затрат от автоматизации обработки информации;
3. Срок окупаемости капитальных вложений;
4. Годовой экономический эффект.
4.2. Определение затрат проектируемого варианта обработки научной информации
Затраты проектируемого варианта, приведенные к одному рабочему месту:
<img width=«12» height=«23» src=«ref-2_1511031778-73.coolpic» v:shapes="_x0000_i1033"> Савт= Каис/Тн+Сэ+Сп,
<img width=«12» height=«23» src=«ref-2_1511031778-73.coolpic» alt="*" v:shapes="_x0000_i1034"> N
Где: Савт — годовая себестоимость обработки информации на ПК;
Каис — общие единовременные капитальные затраты на проектирование и создание автоматизированной информационной системы (АИС);
Тн — нормативный срок (число лет ЖЦ) программно-технического обеспечения АИС;
Сэ — текущие ежегодные эксплуатационные расходы средств автоматизации АИС;
Сп — текущие ежегодные расходы на развитие программных средств АИС;
N — Общее число АРМ в АИС.
4.3. Определение предпроизводственных затрат
Смета расходов на предпроизводственные затраты представлена в <img width=«695» height=«1074» src=«ref-2_1511031924-4765.coolpic» v:shapes="_x0000_s2703 _x0000_s2704 _x0000_s2705 _x0000_s2706 _x0000_s2707 _x0000_s2708 _x0000_s2709 _x0000_s2710 _x0000_s2711 _x0000_s2712 _x0000_s2713 _x0000_s2714 _x0000_s2715 _x0000_s2716 _x0000_s2717 _x0000_s2718 _x0000_s2719 _x0000_s2720 _x0000_s2721 _x0000_s2722">таблице 1.
Таблица 4. 1 – Смета расходов на преднроизводственные затраты
Этап
разработки
Исполнитель
Оклад,
руб.
Трудоемкость,
чел/дн
Стоимость
1чел/дн, руб.
Стоимость
выполнения,
руб.
Разработка ТЗ
Ведущий программист
6000
4
273
1092
Разработка модели
Ведущий программист
6000
18
273
4914
Программист
4800
28
218
6104
Разработка программ
Программист
4800
52
218
11336
Тестирование
Программист
4800
20
218
4360
Подготовка документации
Программист
4800
10
218
2180
Сдача программы
Программист
4800
2
218
436
ИТОГО
30422
Расчет расходов производится следующим образом. Количество рабочих дней в месяце равно 22. Себестоимость одного человеко-дня равна оклад/число рабочих дней в месяце. Стоимость выполнения работ вычисляется умножением себестоимости на трудоемкость.
Накладные расходы: 30422*120%=36506,4 руб.
Дополнительная заработная плата составляет 8% от основной зарплаты:
30422*0,08 = 2433,76 руб.
Основная з/п + дополнительная з/п = 30422+2433,76 =32855,76 руб.
Отчисления на социальные страхования рассчитываются как: (основная з/п +дополнительная з/п) *30%= 32855,76 *0,3 =9856,73 руб.
Расчет себестоимости одного чел/час работы специалиста.
Число рабочих часов в одном чел/дн равно 8,2.
Себестоимость одного часа работы ведущего программиста рассчитывается следующим образом: 273/8,2 = 33,3 руб.
Себестоимость одного часа работы программиста равна 218/8,2=26,58 руб.
<img width=«695» height=«1074» src=«ref-2_1511036689-4717.coolpic» v:shapes="_x0000_s2723 _x0000_s2724 _x0000_s2725 _x0000_s2726 _x0000_s2727 _x0000_s2728 _x0000_s2729 _x0000_s2730 _x0000_s2731 _x0000_s2732 _x0000_s2733 _x0000_s2734 _x0000_s2735 _x0000_s2736 _x0000_s2737 _x0000_s2738 _x0000_s2739 _x0000_s2740 _x0000_s2741 _x0000_s2742">Затраты на обучение пользователей.
Допускаем, что:
1. оклад пользователей равен окладу ведущего программиста;
2. обучение ведет программист.
Затраты на обучение пользователей представлены в таблице 2.
Таблица4. 2 – Затраты на обучение пользователей
№ п/п
Вид затрат
Величина
1
Время для обучения пользователя, ч
1
2
Количество обучаемых, чел
1
3
Средняяя часовая з/п обучаемых, руб.
33,3
4
Средняяя часовая з/п обучающих, руб.
26,58
5
Количество обучающих, чел
1
Стоимость обучения пользователей =1*1 *33,3+1*1 *26,58 = 49,88, руб.
Определим затраты на материальные ценности в предпроизводственный период. Проведение работ по разработке программного комплекса и технологии его использования потребовала определенных затрат связанных с расходом материалов и ресурсов. Эти затраты приведены в таблице 5.2.1.3 (затраты на электроэнергию не учитываются).
Таблица 4.3 – Материалы и покупные изделия в предпроизводственный период
№ п/п
Наименование
Ед.изм
Кол- во
Цена за ед., руб.
Итого, руб.
1
Бумага А4
пачка
2
200
400
2
Ручка
шт
2
7
14
3
Маркер
шт
2
9
18
4
Карандаш
шт
2
5
10
5
Флеш
шт
4
100
400
6
Картридж
шт
1
600
600
ИТОГО:
1442
Прочие расходы (затраты на оплату машинного времени):
Смаш=Смч*Т,
Где: Смаш- затраты на оплату машинного времени;
Смч- стоимость аренды машинного времени за час равна 0,5 руб/час;
<img width=«695» height=«1073» src=«ref-2_1511041406-4803.coolpic» v:shapes="_x0000_s2743 _x0000_s2744 _x0000_s2745 _x0000_s2746 _x0000_s2747 _x0000_s2748 _x0000_s2749 _x0000_s2750 _x0000_s2751 _x0000_s2752 _x0000_s2753 _x0000_s2754 _x0000_s2755 _x0000_s2756 _x0000_s2757 _x0000_s2758 _x0000_s2759 _x0000_s2760 _x0000_s2761 _x0000_s2762">Т- время работы персонального компьютера (ПК) и рассчитывается по формуле:
Т=п*т,
где п — количество часов работы разработчиков
т— время работы разработчика на ПК в день
По данным таблицы 1 п= 52+20= 72. Опытным путем установлено, что т=6часов.
Т= 72*6=432 Смаш= 0,5*432=216
Выполним оценку капитальных вложений на создание АИС (К2).
Определение затрат капитальных вложений на приобретение и установку АИС (К2)
Затраты на приобретение ЭВМ и другой оргтехники включают также в затраты на их транспортировку, монтаж, наладку в размере 8% от отпускной стоимости оборудования. Данные представлены в табл. 4.4.
Таблица 4.4 – Затраты на приобретение ЭВМ и другой оргтехники
№ п/п
Вид затрат
Сумма,
у.е.
Курс,
руб.
Сумма,
руб.
1
Системный блок
608
31
18850
2
Монитор
316
31
9800
3
Клавиатура
12,9
31
400
4
Манипулятор мышь
6,45
31
200
ИТОГО по ПЭВМ
943,35
31
29250
3
Принтер
215
31
6670
ВСЕГО
1158,4
35920
Все затраты по калькуляции сведем в таблицу 4.5.
Таблица4. 5 – Затраты по статьям калькуляции
№ п/п
Статьи расходов
Сумма,
руб.
1
Предпроизводственные расходы — К1: Основная з/п персонала
30422
2
Дополнительная з/п (8% от основной)
2433,76
3
Отчисления на соц. Страх. (30% от общей)
9856,73
4
Материалы и покупные изделия
1442
5
Накладные расходы
36506,4
6
Прочие расходы
216
7
Стоимость обучения пользователей
49,88
ИТОГО по К1:
80446,77
8
Капитальные вложения в оборудование — К2: Затраты на приобретение ЭВМ
35920
9
Затраты на транспортировку, монтаж и наладку (8% от общих)
2873,6
ИТОГО по К2:
38793,6
ВСЕГО по Каис
119240,4
<img width=«696» height=«1073» src=«ref-2_1511046209-4758.coolpic» v:shapes="_x0000_s2763 _x0000_s2764 _x0000_s2765 _x0000_s2766 _x0000_s2767 _x0000_s2768 _x0000_s2769 _x0000_s2770 _x0000_s2771 _x0000_s2772 _x0000_s2773 _x0000_s2774 _x0000_s2775 _x0000_s2776 _x0000_s2777 _x0000_s2778 _x0000_s2779 _x0000_s2780 _x0000_s2781 _x0000_s2782">Определение приведённых капитальных затрат
Для определения наиболее выгодного варианта вложения капитальных средств все капитальные затраты Каис и текущие эксплуатационные затраты Сэ должны быть приведены к единому временному измерителю (т.е. году) с целью получения возможности последовательного суммирования Каис и Сэ.
Допускаем, что длительность ЖЦ программно- технического обеспечения ИВС составит6 лет. Тогда общая стоимость капитальных затрат, приведенных к 1 году, будет:
119240,4:6=19873,4
Текущие ежегодные эксплуатационные расходы на эксплуатацию проекта (эксплуатационные расходы) — Сэ
Эти результаты расходов представляются в виде таблице 4.6.
Таблица 4.6 – Эксплуатационные расходы проекта – Сэ
№ п/п
Статьи расходов
Сумма,
руб.
1
Основная з/п
61200
2
Дополнительная з/п
4896
3
Отчисления на соц. страх,
19828,8
ИТОГО по з/п:
85924,8
4
Амортизация ОФ
9687,45
5
Расходы на производственное потребление э/э
1899,5
6
Расходы на профилактику, обслуживание и рем.оборудования
1899,5
7
Расходы на материалы и покупные изделия
5200
8
Оплата связи и аренды каналов связи
-
ИТОГО:
18686,45
ВСЕГО эксплуатационных основных затрат:
101611,25
<img width=«695» height=«1074» src=«ref-2_1511050967-4776.coolpic» v:shapes="_x0000_s2783 _x0000_s2784 _x0000_s2785 _x0000_s2786 _x0000_s2787 _x0000_s2788 _x0000_s2789 _x0000_s2790 _x0000_s2791 _x0000_s2792 _x0000_s2793 _x0000_s2794 _x0000_s2795 _x0000_s2796 _x0000_s2797 _x0000_s2798 _x0000_s2799 _x0000_s2800 _x0000_s2801 _x0000_s2802">Затраты живого труда в ходе эксплуатации и разработки представлены в табл. 4.7.
Таблица 4.7 – Затраты живого труда
№ п/п
Вид затрат
Величина
1
Количество специалистов, чел
1
2
Средний оклад специалистов, руб.
6000
3
Доля рабочего времени, относимая на раб. с проект. и раз- и, %
85%
Основная заработная плата определяется по формуле:
Сосн= ∑ (Сокл Кспец*Квр)*12,
где Сокл, — это оклад 1- го специалиста в месяц,
Кспец, — это количество специалистов в месяц,
Квр — это коэффициент доли рабочего времени, относимый на работу с проектной разработкой, 12 месяцев.
Сосн =6000*1*0,85*12= 61200 руб.
Дополнительная заработная пплата равна 8% от основной заработная пплата:
Сдоп= 61200*0,08=4896 руб.
Всего з/п == 61200+4896 = 66096 руб.
Отчисления на соц. страх. (30% от всей з/п) =66096*0,3 = 19828,8 руб.
Амортизация ОФ:
Сам=Собор*0,3*0,85
Сам(ПК)= 37990*0,3*0,85= 9159,6 руб.
Расходы на производственное потребление э/э (составляют 5% от стоимости
оборудования) 35920*0,05= 1796 руб.
<img width=«695» height=«1074» src=«ref-2_1511055743-4722.coolpic» v:shapes="_x0000_s2803 _x0000_s2804 _x0000_s2805 _x0000_s2806 _x0000_s2807 _x0000_s2808 _x0000_s2809 _x0000_s2810 _x0000_s2811 _x0000_s2812 _x0000_s2813 _x0000_s2814 _x0000_s2815 _x0000_s2816 _x0000_s2817 _x0000_s2818 _x0000_s2819 _x0000_s2820 _x0000_s2821 _x0000_s2822">Расходы на профилактику и ремонт оборудования (5% от стоимости ОС)
=1899,5 руб.
Расходы на материалы и покупные изделия; примерные данные для расхода:
1 пачка А4 на 2 месяца —— 8 пачек А4 на 12 месяцев 1 флэш на 12 месяцев. Затраты на материалы и покупные изделия представлены в таблице 4.8
Таблица 4.8 – Материалы и покупные изделия
Наименование
Ед.изм
Кол-во
Цена за ед, руб.
Итого, руб.
Бумага А4
пачка
8
200
1600
Ручка
шт
20
9
180
Флэш
шт
4
100
400
Картридж
шт
4
600
2400
ИТОГО:
4580
Оплата связи и аренды каналов связи в нашем случае не предусматривается.
Текущие ежегодные расходы на развитие программных средств
Текущие ежегодные расходы на развитие программных средств выполняются для модели и для текстов программ и документации. Условно считаем, что коэффициент занятости развития программных средств у разработчиков АИС в течение года равно 15%. Результаты расчетов представлены в табл. 4.9.
Таблица 4.9 – Текущие ежегодные расходы на развитие программных средств
№ п/п
Вид затрат
Исполнитель
Оклад
Сумма за год, руб.
1
Модификация модели
Вед. прогр- т
6000
72000
2
Модификация программы и документации
Программист
4800
57600
ИТОГО за год:
129600
3
Отчисления на соц. страх.
30%
388800
4
Накладные расходы
120%
155520
ВСЕГО за год:
194400
5
Сумма з/п в соответсвии с коэф. занятости:
15%
29160
Затраты проектируемого варианта обработки информации — Савт представлены в табл. 4.10.
Таблица 4.10 – Затраты проектируемого варианта обработки <img width=«695» height=«1074» src=«ref-2_1511060465-4768.coolpic» v:shapes="_x0000_s2823 _x0000_s2824 _x0000_s2825 _x0000_s2826 _x0000_s2827 _x0000_s2828 _x0000_s2829 _x0000_s2830 _x0000_s2831 _x0000_s2832 _x0000_s2833 _x0000_s2834 _x0000_s2835 _x0000_s2836 _x0000_s2837 _x0000_s2838 _x0000_s2839 _x0000_s2840 _x0000_s2841 _x0000_s2842">информации – Савт
№ п/п
Вид затрат
Сумма, руб.
1
Приведенные общие кап. затраты — Каис
19873,4
2
Текущие ежегодные расходы – Сэ
104611,25
3
Текущие ежегодные расходы на развитие Сп
29160
ИТОГО:
153644,7
Стоимость 1- го АРМ= 153644,7 руб.
Затраты на заработную плату представлены в табл. 4.11
Таблица 4.11 – Затраты на заработную плату специалистов
Расчет зарплаты выполняется следующим образом. Основная заработная плата:
Обработкой информации занимаются специалисты с окладом 6000 руб./мес.
6000*12=72000 руб.
Дополнительная з/п (8% от основной з/п )=72000*0,08=5760 руб.
Отчисления на соц. страх.(30% от общей суммы з/п) =777600*0,3=23328 руб.
Сумма накладных расходов (60% от з/п); Сир=0,6*Сз/п
Снр=25272*0,6=60652,8 руб.
ВСЕГОрасходов на з/п = 101088+60652,8 = 161740,8 руб. (это стоимость ручной обработки информации на 1 АРМ на 1ПК).
продолжение
--PAGE_BREAK--Экономия в системе управления в результате автоматизации обработки информации
Экономия текущих затрат от внедрения автоматизированной обработки информации (это эффективность):
Эк=Сруч*Кув-Савт
<img width=«695» height=«1073» src=«ref-2_1511065233-4743.coolpic» v:shapes="_x0000_s2843 _x0000_s2844 _x0000_s2845 _x0000_s2846 _x0000_s2847 _x0000_s2848 _x0000_s2849 _x0000_s2850 _x0000_s2851 _x0000_s2852 _x0000_s2853 _x0000_s2854 _x0000_s2855 _x0000_s2856 _x0000_s2857 _x0000_s2858 _x0000_s2859 _x0000_s2860 _x0000_s2861 _x0000_s2862">Кув — принимается на основании практического опыта и его значения реально меняется в интервале от 1,5 до 3,5.
Рост производительности происходит за счет:
1) ускорения поиска информации;
2) увеличения объема информации, роста объема поиска, доступа;
3) увеличение разрезов обработки информации в выходных сводках и
запросов.
Эк= 161740,8 * 1,7-153644,7 = 121314,7 руб.
Таким образом, экономия текущих затрат от внедрения автоматизированной обработки информации составляет 121314,7 руб.
Расчет коэффициента экономической эффективности капитальных вложений:
Ер=Эк/Каис
Ер 1пк= 121314,7/119240,4=1,02.
По нормативам расчета экономической эффективности автоматизированных информационных систем полагается, что если Ер>Ен, то проект экономически эффективен (Ен=0,15).
Нормативный коэффициент эффективности капитальных вложений обратная величина к нормативному сроку окупаемости определяется по формуле:
Ток=Каис/Эк
<img width=«696» height=«1074» src=«ref-2_1511069976-4744.coolpic» v:shapes="_x0000_s2863 _x0000_s2864 _x0000_s2865 _x0000_s2866 _x0000_s2867 _x0000_s2868 _x0000_s2869 _x0000_s2870 _x0000_s2871 _x0000_s2872 _x0000_s2873 _x0000_s2874 _x0000_s2875 _x0000_s2876 _x0000_s2877 _x0000_s2878 _x0000_s2879 _x0000_s2880 _x0000_s2881 _x0000_s2882">Ток = 119240,4/ 121314,7= 0,98.
Годовой экономический эффект НАХОДИМ ПО ФОРМУЛЕ:
Эг = Эк — Ен*Каис
Эг1ПК=121314,7-0,15*119240,4=103428,6 руб.
Итак, Ер>Ен, (1,02>0,15) и Эг>0, следовательно, разработка АИС эффективна.
Вывод: из вышеизложенногоследует, что на разработку данной АИС было затрачено минимальное количество финансовых средств. Полученная автоматизированная информационная система позволяет сократить нерациональные затраты и потери труда, упорядочить данные, то есть является экономически эффективной.
<img width=«695» height=«1073» src=«ref-2_1511074720-7398.coolpic» v:shapes="_x0000_s2883 _x0000_s2884 _x0000_s2885 _x0000_s2886 _x0000_s2887 _x0000_s2888 _x0000_s2889 _x0000_s2890 _x0000_s2891 _x0000_s2892 _x0000_s2893 _x0000_s2894 _x0000_s2895 _x0000_s2896 _x0000_s2897 _x0000_s2898 _x0000_s2899 _x0000_s2900 _x0000_s2901 _x0000_s2902 _x0000_s2903 _x0000_s2904 _x0000_s2905 _x0000_s2906 _x0000_s2907 _x0000_s2908 _x0000_s2909 _x0000_s2910 _x0000_s2911 _x0000_s2912 _x0000_s2913 _x0000_s2914 _x0000_s2915 _x0000_s2916 _x0000_s2917 _x0000_s2918 _x0000_s2919 _x0000_s2920 _x0000_s2921 _x0000_s2922 _x0000_s2923 _x0000_s2924 _x0000_s2925 _x0000_s2926 _x0000_s2927 _x0000_s2928 _x0000_s2929 _x0000_s2930 _x0000_s2931 _x0000_s2932">5. ОХРАНА ТРУДА
Современную жизнь невозможно представить без использования компьютерной техники. Она позволяет автоматизировать и упростить многие процессы и значительно повысить эффективность труда.
Однако, при несоблюдении определенных правил эксплуатации, компьютерная техника может наносить определенный вред здоровью. Поэтому особенно актуальной является проблема охраны труда человека, сохранение его работоспособности и здоровья.
Охрана труда — система сохранения жизни и здоровья работников в процессе трудовой деятельности, включающая в себя правовые, социально-экономические, организационно-технические, санитарно-гигиенические, лечебно-профилактические, реабилитационные и иные мероприятия. Под иными мероприятиями следует понимать мероприятия, направленные на выполнение требований пожарной безопасности, промышленной безопасности и т.п. в ходе трудовой деятельности. Цель: вооружить будущих специалистов как теоретическими, так и практическими знаниями, необходимыми для творческого решения вопросов, связанных с эксплуатацией и созданием новых технологий и техники, исключающих производственный травматизм и профессиональную заболеваемость. Задачи: дать будущему специалисту знания научных основ охраны труда, привить интерес к рационализации производства, творческому решению проблем улучшения условий и безопасности труда на объектах хозяйственной деятельности.
Охрану труда не следует отождествлять с техникой безопасности, производственной санитарией, гигиеной труда, так как они являются элементами охраны труда. Таким образом, в состав системы охраны труда входят следующие элементы:
· Охрана труда представляет систему организационных мероприятий и технических средств, предотвращающих воздействие на работающих опасных производственных факторов;
· <img width=«695» height=«1073» src=«ref-2_1511082118-4794.coolpic» v:shapes="_x0000_s2933 _x0000_s2934 _x0000_s2935 _x0000_s2936 _x0000_s2937 _x0000_s2938 _x0000_s2939 _x0000_s2940 _x0000_s2941 _x0000_s2942 _x0000_s2943 _x0000_s2944 _x0000_s2945 _x0000_s2946 _x0000_s2947 _x0000_s2948 _x0000_s2949 _x0000_s2950 _x0000_s2951 _x0000_s2952">Производственная санитарияопределяется как система организационных мероприятий и технических средств, предотвращающих или уменьшающих воздействие на работающих вредных производственных факторов.
· Гигиена трудахарактеризуется как профилактическая медицина, изучающая условия и характер труда, их влияние на здоровье и функциональное состояние человека и разрабатывающая научные основы и практические меры, направленные на профилактику вредного и опасного воздействия факторов производственной среды и трудового процесса на работающих.
· Электробезопасность— состояние защищённости работника от вредного и опасного воздействия электротока, электродуги, электромагнитного поля и статического электричества.
· Пожарная безопасность— состояние защищённости личности, имущества, общества и государства от пожаров.
· Промышленная безопасность— состояние защищённости жизненно важных интересов личности и общества от аварий на опасных производственных объектах и последствий указанных аварий. В свою очередь охрана труда, электробезопасность, промышленная безопасность, пожарная безопасность являются составными частями
· Безопасность жизнедеятельности— наука о комфортном и безопасном взаимодействии человека с техносферой.
· Управление безопасностью труда— организация работы по обеспечению безопасности, снижению травматизма и аварийности, профессиональных заболеваний, улучшению условий труда на основе комплекса задач по созданию безопасных и безвредных условий труда. Основана на применении законодательных нормативных актах в области охраны труда.
Совокупность данных элементов производственной среды называется условиями труда.
<img width=«695» height=«1074» src=«ref-2_1511086912-4770.coolpic» v:shapes="_x0000_s2953 _x0000_s2954 _x0000_s2955 _x0000_s2956 _x0000_s2957 _x0000_s2958 _x0000_s2959 _x0000_s2960 _x0000_s2961 _x0000_s2962 _x0000_s2963 _x0000_s2964 _x0000_s2965 _x0000_s2966 _x0000_s2967 _x0000_s2968 _x0000_s2969 _x0000_s2970 _x0000_s2971 _x0000_s2972">Основными вопросами при определении условий труда являются:
· Производственный микроклимат помещения;
· Электропожаробезопасность;
· Производственное освещение;
· Воздействие шума и вибрации.
Нормы производственного микроклимата определяются в соответствии с ГОСТ 12.1.005-88 ССБТ (Общие санитарно-гигиенические требования к воздуху рабочей зоны). Измерения параметров воздушной среды определяются с помощью следующих приборов: термометр, психрометр, анемометр, актинометр, газоанализатор.
Данное помещение характеризуется следующими показателями:
· Относительная влажность воздуха в теплое время года 55-75% и 40-60% — в холодное;
· Средняя температура воздуха 20-22С – в теплое время года и 18-20 – в холодное;
· Скорость движения воздуха 0.2 м/с.
Воздухообмен осуществляется посредством естественной приточно-вытяжной системы вентиляции, а также при помощи кондиционирования. Помещение оборудовано центральной системой отопления.
В рассматриваемом помещении для обеспечения электробезопасности сделано защитное заземление, выведенное на заземляющий контур с сопротивлением 4 Ома. Заземление мониторов осуществляется через системный блок ЭВМ. Все приборы в помещении работают от номинального напряжения 220 В.
Соединение ЭВМ с сетью выполнено при помощи трехжильного медного силового кабеля с вилкой, имеющей клеммы заземления.
Освещение – один из наиболее важных факторов, влияющих на условия труда. Освещение в помещении естественное и искусственное, <img width=«695» height=«1074» src=«ref-2_1511091682-4773.coolpic» v:shapes="_x0000_s2973 _x0000_s2974 _x0000_s2975 _x0000_s2976 _x0000_s2977 _x0000_s2978 _x0000_s2979 _x0000_s2980 _x0000_s2981 _x0000_s2982 _x0000_s2983 _x0000_s2984 _x0000_s2985 _x0000_s2986 _x0000_s2987 _x0000_s2988 _x0000_s2989 _x0000_s2990 _x0000_s2991 _x0000_s2992">созданное электрическими светильниками. В данном случае люминесцентными лампами белого света мощностью 80 Вт. Нормирование осуществляется СНиП 23-05-95.
Воздействие шума- нежелательные для человека помехи в восприятии полезных сигналов. Нормативный документ – ГОСТ 12.1.003-83 ССБТ.
Уровень шума измеряется с помощью шумомера типа ШВК с фильтром ФЭ-2 и виброаккустическая аппаратура типа RFT.
В данном помещении шум исходит от ПК и составляет около 20 дБ, что не превышает норму.
Вывод: из исследования условий труда на данном рабочем месте и сравнении полученных данных с нормами охраны труда было выяснено, что оно им соответствует.
продолжение
--PAGE_BREAK--<img width=«696» height=«1073» src=«ref-2_1511096455-7410.coolpic» v:shapes="_x0000_s2993 _x0000_s2994 _x0000_s2995 _x0000_s2996 _x0000_s2997 _x0000_s2998 _x0000_s2999 _x0000_s3000 _x0000_s3001 _x0000_s3002 _x0000_s3003 _x0000_s3004 _x0000_s3005 _x0000_s3006 _x0000_s3007 _x0000_s3008 _x0000_s3009 _x0000_s3010 _x0000_s3011 _x0000_s3012 _x0000_s3013 _x0000_s3014 _x0000_s3015 _x0000_s3016 _x0000_s3017 _x0000_s3018 _x0000_s3019 _x0000_s3020 _x0000_s3021 _x0000_s3022 _x0000_s3023 _x0000_s3024 _x0000_s3025 _x0000_s3026 _x0000_s3027 _x0000_s3028 _x0000_s3029 _x0000_s3030 _x0000_s3031 _x0000_s3032 _x0000_s3033 _x0000_s3034 _x0000_s3035 _x0000_s3036 _x0000_s3037 _x0000_s3038 _x0000_s3039 _x0000_s3040 _x0000_s3041 _x0000_s3042">Заключение
В Орел ГАУ автоматизируются основные процессы ВУЗа. НИРС как один из основных процессов ВУЗа также требует автоматизации, следовательно выполненная работа актуальна.
В ходе выполнения дипломной работы цель разработки базы данных, обеспечивающей информационную поддержку НИРС, соответствующую требованиям основных процессов вуза (учебной, научной и воспитательной работы) достигнута. При выполнении дипломной работы были решены следующие задачи.
1. Представлен обзор научно-технических источников и необходимые теоретические основы проектирования баз данных.
2. Обоснован выбор СУБД Access. Для автоматизации НИРС экономически целесообразно использовать MSAccess, так как этим приложением располагает ВУЗ.
3. Проанализировано состояние информатизации вуза, выявлена перспективная роль НИРС в процессе накопления информационных ресурсов вуза.
4. Выполнено проектирование БД НИРС.
5. Разработана БД НИРС: таблицы, схема данных, запросы, отчеты, формы.
6. Проведен сбор, ввод и обработка данных, предоставлены отчеты.
7. В настоящее время разработана БД НИРС приемлемой сложности для студентов. В дальнейшем планируется увеличение количества таблиц, форм, запросов и отчетов.
--PAGE_BREAK--
еще рефераты
Еще работы по информатике
Реферат по информатике
Разработка автоматизированной системы управления торговым предприятием
2 Сентября 2013
Реферат по информатике
Разработка автоматизированной системы учета выбывших из стационара
2 Сентября 2013
Реферат по информатике
Особливості виготовлення та використання мікропроцесорів
2 Сентября 2013
Реферат по информатике
Автоматизована система управління проектами студії інтерєрів Сервіс-Центр
18 Июня 2015