К настоящему времени во многих организациях накоплены значительные объемы данных, на основе которых имеется возможность решения разнообразных управленческих задач. Проблемы хранения и обработки информации становятся все более актуальными и привлекают внимание специалистов и фирм, работающих в области информационных технологий, что привело к формированию полноценного рынка информационных технологий.
В идеале работа руководителей различных уровней должна быть организована так, чтобы они могли иметь доступ ко всей интересующей их информации и пользоваться удобными и простыми средствами представления и работы с этой информацией. Именно на достижение этих целей и направлены информационные технологии, объединяющиеся под общим названием – хранилище данных.
Актуальность темы курсовой работы заключается в том, что в настоящее время различные виды баз данных широко используются в нашей повседневной жизни. Любая, успешно работающая организация, хранит свои данные и обрабатывает их с использованием современных систем управления базами данных. Они повсеместно используются для получения сведений о сотрудниках, о товарах, о продажах, бухгалтерских данных, данных бизнеса и так далее. Но информация сама по себе без обработки не представляет интерес, поэтому работа с базами данных всегда требует совершенствования способов хранения данных, а также сокращения времени выборки данных, необходимых для получения своевременной и необходимой информации.
Цель курсовой работы заключается в создание базы данных содержащей следующие сведения: ФИО студента, адрес, дата поступления в институт, номер зачётной книжки, оценка по защите, дата защиты, распределение от вуза (да/нет), адрес предприятия. База данных должна содержать не менее 20 записей. Осуществить выборку записей из базы данных и создать отчёты.
В ходе выполнения курсовой работы необходимо создать базу данных, содержащую следующие сведения:
- ФИО студента;
- адрес;
- дата поступления в институт;
- номер зачётной книжки;
- оценка по защите;
- дата защиты;
- распределение от вуза (да/нет);
- адрес предприятия.
В базу данных поместить не менее 20 записей. Разработать формы для заполнения таблиц базы данных. Реализовать выборку данных из таблиц базы данных, а именно:
- вывести список студентов, защитивших диплом в прошлом году с оценкой отлично и которые имеют распределение от вуза. Создать отчёт;
- определить день недели защиты каждого диплома;
- вывести список студентов, защита дипломов которых состоялась в первой декаде июня, и оценка которых X. Значение X ввести с клавиатуры;
- вывести список студентов, которые учились в институте более 5-ти лет. Создать отчёт;
- вывести список студентов, которые были распределены от вуза на предприятие X. Адрес предприятия X ввести с клавиатуры.
Для создания таблиц базы данных было принято решение воспользоваться свободной реляционной системой управления базами данных MySQL и визуальным редактором dB Forge Studio for MySQL.
Созданная база данных имеет название Students (Студенты) и имеет одну таблицу, которая хранит информацию о студентах (ФИО, адрес, дату поступления в институт, номер зачётной книжки, оценку по защите, дату защиты, распределение от вуза, адрес предприятия).
В таблице 2.1 приведено описание состава таблицы спроектированной базы данных.
Таблица 2.1 – «Студенты»:
| Наименование поля | Тип данных | Содержимое поля |
| Id | Счетчик | Уникальный код студента |
| FIO | Текстовый | ФИО студента |
| Address | Текстовый | Адрес проживания студента |
| DateP | Дата | Дата поступления студента в институт |
| NZK | Числовой | Номер зачётной книги студента |
| MarkZ | Числовой | Оценка по защите дипломной работы студента |
| DateZ | Дата | Дата защиты дипломной работы студента |
| Distribution | Текстовый | Распределение от вуза студента на предприятие |
| AddressP | Текстовый | Адрес предприятия |
Реализация выборки данных из таблиц базы данных осуществлялась посредством создания обработчиков и страниц отображения результирующей информации.
Для выполнения запроса, отображающего списка студентов, защитивших диплом в прошлом году с оценкой отлично и которые имеют распределение от вуза, создан обработчик, выполняющий следующий запрос (в условии проверяется дата защиты предыдущего года и распределение студентов от вуза, а также оценка отлично > 8):
Рисунок 3.1 – Создание запроса №1
Для отображения результатов выборки данного запроса, был создан CSHTML, который также хранит разметку страницы и его каскадные стили. Результат выполненного запроса представлен на рисунке 3.2.
Рисунок 3.2 – Результат отображения запроса №1
Создание отчетов необходимо произвести для двух ранее созданных запросов. Первый запрос отображает только тех студентов, которые защитили диплом в прошлом году на отлично и имеют распределение от вуза. Второй запрос отображает только тех студентов, которые проучились в институте более 5-ти лет.
Чтобы данные как-то обрабатывались и посылали запрос обработчику, необходимо в имеющийся контроллер «HomeController» добавить обработчик принимающий результаты значений содержащихся в обработчике создания запроса №1. Результат создания обработчика частично представлен на рисунке 4.1.
В ходе выполнения курсового работы были приобретены теоретические и практические знания в области построения баз данных, хранилищ данных и Веб-приложений. На основе этого анализа было выбрано СУБД MySQL и Microsoft Visual Studio (ASP.NET MVC) для реализации поставленных задач:
- изучение литературы по теме курсовой работы;
- формулировка основных понятий, касающихся темы курсовой работы;
- проектирование базы данных;
- создание базы данных;
- разработка Веб-приложения для доступа к базе данных.
В результате выполнения курсовой работы была достигнута цель работы, а именно была создана база данных содержащая следующие сведения: ФИО студента, адрес, дата поступления в институт, номер зачётной книжки, оценка по защите, дата защиты, распределение от вуза (да/нет), адрес предприятия. База данных содержит не менее 20 записей. Осуществлена выборка записей из базы данных и созданы отчёты..
В среде Microsoft Visual Studio реализовано Веб-приложение (ASP.NET MVC), которое предоставляет возможность пользователю решать множество традиционно сложных проблем по организации эффективной работы в предметной области «Студенты».
Все данные и оценки, применяемые в курсовой работе, в практическом разделе, не относятся к какому-то определённому университету или институту, а являются обобщёнными накопленными знаниями в этой области.
using App.Models;
using OfficeOpenXml;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace App.Controllers
{
public class HomeController : Controller
{
private StudentsDBContext db = new StudentsDBContext();
public ActionResult Index()
{
return View();
}
public void ExportToExcelTask2()
{
DateTime date1 = new DateTime(2016, 5, 1);
DateTime date2 = new DateTime(2016, 7, 31);
var result = fr om g in db.Students
wh ere g.DateZ >= date1 && g.DateZ <= date2 && g.MarkZ > 8 && g.Distribution == "Да"
select new Task2()
{
FIO = g.FIO,
Address = g.Address,
DateP = g.DateP,
NZK = g.NZK,
MarkZ = g.MarkZ,
DateZ = g.DateZ,
Distribution = g.Distribution,
AddressP = g.AddressP
};
ExcelPackage pck = new ExcelPackage();
ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Report");
ws.Cells["A1"].Value = "Отчет";
ws.Cells["B1"].Value = "Отчет №1";
ws.Cells["A2"].Value = "Текущая дата";
ws.Cells["B2"].Value = string.Format("{0:dd MMMM yyyy} в {0:H: mm tt}", DateTimeOffset.Now);
ws.Cells["A4"].Value = "ФИО";
ws.Cells["B4"].Value = "Адрес";
ws.Cells["C4"].Value = "Дата поступления";
ws.Cells["D4"].Value = "Номер зачетной книги";
ws.Cells["E4"].Value = "Оценка по защите";
ws.Cells["F4"].Value = "Дата защиты";
ws.Cells["G4"].Value = "Распределение";
ws.Cells["H4"].Value = "Адрес предприятия";
int rowStart = 5;
foreach (var item in result.ToList())
{
ws.Cells[string.Format("A{0}", rowStart)].Value = item.FIO;
ws.Cells[string.Format("B{0}", rowStart)].Value = item.Address;
Скриншоты программы:


