Главная страница

БД «Личные данные о студентах». КурсовойПроект Левашов В.Б. ИВТз-171. Программное приложение с базой данных Личные данные о студентах


Скачать 1.16 Mb.
НазваниеПрограммное приложение с базой данных Личные данные о студентах
АнкорБД «Личные данные о студентах
Дата19.01.2022
Размер1.16 Mb.
Формат файлаdocx
Имя файлаКурсовойПроект Левашов В.Б. ИВТз-171.docx
ТипТехническое задание
#336171
страница2 из 5
1   2   3   4   5

Введение


База данных (БД) — представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ) [1, с.8]. Проще говоря база данных – это способ хранения, сортировки и обработке информации, который в современном обществе применяется повседневно и является неотъемлемой частью во многих отраслях человеческой жизни (веб технологии, мобильные устройства, игры и т.д.).

Для создания базы данных необходимо определённое программное обеспечение. По условию курсового проекта была выбрана программа SQL Server. Основными задачами системы SQL Server являются: организация одновременного доступа к данным большого количества пользователей; манипуляция информацией, хранимой в БД и др. SQL Server поддерживает реляционную модель данных и выполняет функции создания объектов БД (таблиц, индексов, представлений и т.д.), осуществляет проверку целостности БД и отвечает за безопасность данных в системе.

Исходя из выбранной темы (программное приложение с базой данных «Договорная деятельность организации») целью данного курсового проекта становится: разработка базы данных “Договорная деятельность организации” и программа для работы с данной БД.

База данных будет содержать три таблицы: “Работы”, “Сотрудники”, “Поручения”. Каждая из перечисленных таблиц будет содержать индивидуальные данные: “Работы” – информация о поступающих заказах на работу; “Сотрудники” – список сотрудников и вся основная информация о них; “Поручения” – информация о выполненной или процессе выполнения работы.

Программа должна реализовывать следующие функции: добавление, изменение и удаление отдельных записей таблицы БД; поиск по конкретному полю таблицы БД.

  1. ПО для курсового проекта

    1. СУБД

Microsoft SQL Server – это система управления базами данных, или сокращённо СУБД, которая была разработана компанией компаниями Microsoft и Sybase [2, c.10]. Она позволяет эффективно управлять базами данных различных масштабов – от персональной базы данных до инфраструктуры баз любого предприятия. За годы развития данной системы компания Microsoft постоянно совершенствовала свой продукт, внедряя новые технологии, улучшая производительность, вводя новые сценарии преобразования, интегрируя систему с другими программами. На данный момент Microsoft SQL Server является одной из лучших программ для управления реляционными базами данных. Он позволяет эффективно систематизировать и обрабатывать данные и транзакции. Большинство компании активно использует данное ПО для работы с данными, тем самым облегчая работу сотрудников и увеличивая производительность предприятия.  

Преимущества Microsoft SQL Server перед другими СУБД:

  • Обладает высокой степенью производительности и отказоустойчивости;

  • Является многопользовательской СУБД и работает по принципу «клиент-сервер»;

    • Клиентская часть системы поддерживает создание пользовательских запросов и их отправку для обработки на сервер.

  • Тесная интеграция с операционной системой Windows;

  • Поддержка удалённых подключений;

  • Поддержка популярных типов данных, а также возможность создания триггеров и хранимых процедур;

  • Встроенная поддержка ролей пользователей;

  • Расширенная функция резервного копирования баз данных;

  • Высокая степень защищенности;

  • Каждый выпуск включает в себя несколько специализированных редакций.

Таким образом программа Microsoft SQL Server отлично подходит для создания БД для текущего курсового проекта. Её функционала более чем достаточно для того, чтобы: создать БД, при необходимости настроить определённые поля в таблицах (установить значения по умолчанию, поставить ограничения), связать таблицы между собой, тем самым создать диаграмму БД, создать запросы и/или процедуры.

    1. Среда разработки

Visual Studio 2019 – интегрированная среда разработки программного обеспечения. Позволяет создавать, тестировать и редактировать код, анализировать производительность, а также собирать данные телеметрии.

Программа представляет собой набор компонентов для создания консольных приложений, сайтов, веб-служб, программ с графическим интерфейсом и многого другого. Каждому поддерживаемому языку программирования соответствует один инструмент. Среди них:

  • VisualBasic.NET

  • Visual C#

  • Visual F#


В Visual Studio представлены как стандартные в подобном софте инструменты — отладчик, редактор кода, — так и собственные наработки [5, с. 25]. Кроме этого, доступны решения сторонних компаний, реализованные в виде подключаемых плагинов. Для повышения продуктивности используются большое количество автоматизированных возможностей: машинные подсказки, автоматическая очистка кода, рефакторинг. Функция IntelliSense позволяет работать с документацией к программе в интерактивном режиме, получая необходимую информацию непосредственно во время написания кода. Как и во всех продуктах от Microsoft, в приложении есть строка умного поиска, благодаря которой найти нужный пункт меню или описание функционала становится значительно легче.

Список основных возможностей и преимуществ выглядит следующим образом:

  • собственный компилятор;

  • возможность для развёртывания приложения собственными средствами;

  • редактор кода, включающий в себя инструменты автозавершения и форматирования;

  • отладка кода.

Автоматизированные возможности рефакторинга кода, включающего поддержку различных языков, помогают упростить процесс написания кода. В целом, Microsoft Visual Studio является хорошим выбором как для начинающих, так и для разработчиков профессионального уровня.

Беря во внимание, все выше сказанное можно прийти к выводу, что программа Visual Studio и язык программирования C# отлично подходят в создании программы для работы с БД. Данная среда разработки позволит: создать качественное и удобное соединение с БД, произвести необходимые настройки и создать нужные алгоритмы для работы с таблицами, использовать определённые компоненты для работы с процедурами СУБД.



  1. Структура БД

    1. Таблицы

Для курсового проекта были созданы следующие таблицы: “Факультеты”, “Группы”, “Информация_о_студенте” (рисунок 2.1) Чтобы стало понятно, как и для чего была сделана та или иная таблица, будет проведён подробный разбор каждой из них.

Рисунок 2.1. – Таблицы БД

      1. Таблица “Факультеты”


Таблица “Факультеты” (Рисунок 2.2.). На данном рисунке содержится информация о том, какие факультеты будут внесены в базу данных, а так же информация о количестве числа мест на факультете. В таблице имеются следующие столбцы: “Код_факультета”, “Название_факультета”, “Число_мест_на_факультете”. В БД существует такое понятие как родительские и дочерние таблицы. Их взаимоотношения происходят следующим образом: индивидуальные данные из поля одной таблицы (родительская) могут использоваться один или множество раз в другой таблице (дочерней). “Факультеты” представляет собой родительскую таблицу по отношению к таблице “Информация_о_студенте” по колонке “Код_факультета”.


Рисунок 2.2 – Отрывок из таблицы “Факультеты”


  1. В SQL Server есть такие свойства как Primary key (PK) и Foreign key (FK). Так если к полю применить PK, то поле станет ключевым. Ключевое поле – это столбец, с неповторяющимися данными, однозначно определяющий каждую запись таблицы. Таким образом ключевое поле “Код_факультета” создаёт индивидуальный номер для каждого факультета в таблице.

Тип данных в поле “Код_факультета” – int. Int – это целочисленный тип данных хранящий числа в диапазоне от -2147683648 до 2147683648. Код_факультета” – это ключевое поле. Свойство поля – not null.

  1. Задачей столбца “Название_факультета” является хранение названия факультета. Тип данных поля – varchar (50). Varchar – cтроковые данные  переменной размерностью. Отличительной особенностью данного типа данных является то, что он не использует максимально возможную длину (как char), а выделяет только необходимое количество символом для записи строки. В скобках varchar() указано максимальное количество символов, которое может быть записано для записи. Таким образом поле “Название_факультета” – это строковое поле, максимальная длина которого равняется 50 символам. Свойство поля – null.

  2. Столбец “Число_мест_на_факультете” содержит данные о том сколько мест имеется для поступления на выбранный факультет . Тип данных поля – int. Свойство поля – null.

На рисунке 2.3 можно увидеть каким образом выглядит конструктор таблицы “Факультеты”.


Рисунок 2.3 – Конструктор таблицы “Факультеты”


      1. Таблица “Группы

Данная таблица (Рисунок 2.4) содержит информацию о группе, которую можно увидеть в таблице “Группы”. В таблице имеется четыре столбца: “Номер_группы”,“Сумма_стипендии_студента”,”Год_зачисления”.

Рисунок 2.4. – Отрывок из таблицы “Группы”


  1. Колонка “Номер_группы” является ключевым полем таблицы “Группы”. Данный столбец содержит индивидуальный код каждого спортсмена в таблице. Тип данных – int. Свойство поля – not null. Имеет идентификатор поля Primary key(первичный ключ) необходим для создания уникальных данных, чтобы в последствие пользователь смог легко и быстро найти нужную информацию.

  2. Колонка “Сумма_стипендии_студента” содержит информацию о том, сколько выплачивает институт студенту стипендию. Тип данных – int. Свойство поля – null.

  3. Столбец “Год_зачисления” содержит информацию о том, в каком году был зачислен студент. Тип данных – date. Свойство поля – null.

На рисунке 2.5 можно увидеть каким образом выглядит конструктор таблицы “Группы”.

Рисунок 2.5 – Конструктор таблицы “Группы”


      1. Таблица “Информация_о_студенте

Таблица “Информация_о_студенте” (Рисунок 2.6). Данная таблица содержит информацию о студенте. Содержание таблицы представлено следующими столбцами: “ID”, “ФИО_студента”, “Дата_рождения”, “Курс”, ”Факультет”, ”Группа”, “Специальность”, “Семейное_положение”, “Сведения_о_семье”. Таблица “Информация_о_студенте” является дочерней таблицей по отношению к таблицам “Факультеты” и “Группы”.

Рисунок 2.6. – Отрывок из таблицы “Информация_о_студенте


  1. Столбец “ID” - является идентификатором таблицы. Данное поле является ключевым, поэтому данные в нем не повторяются. Тип данных поля – int. Свойство поля – not null.

  2. Столбец “ФИО_студента” содержит информацию о наименовании соревнования. Тип данных поля – nvarchar(50). Свойство поля – null.

  3. Столбец “Дата_рождения” содержит данные по дате рождения студента. Тип данных – date. Свойство поля – null.

  4. Столбец “Курс” содержит данные о том, на каком курсе учится студент. Тип данных поля – int. Свойство поля– null.

  5. Столбец “Факультет” содержит информация о том, на каком факультете учится студент. Тип данных поля – int. Свойство поля: null.

  6. Столбец ”Группа” содержит информацию о том в какой группе учится студент. Тип данных поля – int. Свойство поля – null.

  7. Столбец “Специальность” содержит информацию о том, на какой специальности учится студент. Тип данных поля – varchar(50). Свойство поля – null.

  8. Столбец “Семейное_положение” – содержит информацию о семейном положении студента. Тип данных поля – varchar(50). Свойство поля – null.

  9. Столбец “Сведения_о_семье” – содержит информацию о семье студента. Тип данных поля – varchar(250). Свойство поля – null.

Настройки таблицы представлены на рисунке 2.7.

Рисунок 2.7 – Конструктор таблицы “Информация_о_студенте”


  1. Реализация программы

3.1 Элементы управления

По условию курсового проекта было необходимо написать программу для работы с базой данных программы SQL Server. Для этих нужд была использована среда разработки Visual Studio 2019. Из всех представленных в программе языков был выбран язык программирования C#. На рисунке 3.1 представлено стартовое окно программы.

Рисунок 3.1 – Стартовое окно
Курсовой проект представляет собой программу с тремя пунктами меню: “База данных”, “Запросы”, “Выход из программы”. Однако, чтобы понять, как работает данная программа необходимо подробно разобрать не только код, но и составляющие проект компоненты.

  1. Основным компонентом, с которым пользователь будет работать постоянно, это dataGridView. DataGridView - это элемент управления, позволяющий отображать данные в табличном формате, в настраиваемой сетке, а так же с помощью написанного кода добавлять, изменять и удалять записи в БД. Данный элемент управления можно использовать как для отображения небольших объёмов данных, так и для очень больших наборов данных. Данный компонент есть в единичном экземпляре на каждой вкладке. И в каждый DataGridView будет загружена соответствующая названию menuStip таблица в БД из SQL Server Management Studio.

  2. Компонент menuStrip. MenuStrip - предоставляет систему меню для приложения. Необходим для выбора таблицы из БД и работы с ней, выборки необходимых данных из таблиц, а так же для полного закрытия программы.

  3. Компоненты DataSet. DataSet – это находящийся в памяти объект ADO .NET, используемый в приложении для представления данных; он определяет согласованную реляционную модель базы данных, которая не зависит от источника содержащихся в нем данных.

  4. Компоненты SqlConnection, SqlCommand. SqlConnection – это класс предоставляющий подключение к базе данных SQL Server. Этот класс не наследуется. SqlCommand представляет собой объектно-ориентированное представление SQL-запроса, имени таблицы или хранимой процедуры. Данные компоненты понадобиться в программе для работы с процедурами SQL Server.

  5. Компонент toolStrip. toolStip - представляет панель инструментов. Этот компонент будет необходим для очистки таблицы запросов.




    1. Функция Запросы

Данная функция работает при помощи создания и использования компонента SqlConnection. В конструктор объекту SqlConnection передаётся строка подключения, которая инициализирует объект. Чтобы использовать этот объект и подключиться к базе данных, мы инициализируем SqlCommand и выполняем его метод sqlConnection. Далее создаём запрос на выборку данных при помощи команды CommandText в виде sql-запроса, и вносим эту выборку в компонент dataGridView для того чтобы увидеть результат запроса в табличном виде. Все эти действия выглядят следующим образом:

      1. Запрос 1

Осуществляет вывод в dataGridView количество студентов на каждом курсе. Для реализации данного запроса был написан следующий код:

cmd.CommandText = "SELECT Информация_о_студенте.Курс, Count(Информация_о_студенте.ФИО_студента) AS [Count-ФИО_студента] FROM Информация_о_студенте GROUP BY Информация_о_студенте.Курс";


      1. Запрос 2

Осуществляет вывод в dataGridView суммарной стипендии группы '109' факультета 'АП'. Запрос реализован следующим образом:

cmd.CommandText = "SELECT Факультеты.Название_факультета, Группы.Номер_группы, Count(Информация_о_студенте.ФИО_студента) AS [Count-ФИО_студента] FROM Факультеты RIGHT JOIN(Группы RIGHT JOIN Информация_о_студенте ON Группы.Код_Группы = Информация_о_студенте.Группа) ON Факультеты.Код_Факультета = Информация_о_студенте.Факультет GROUP BY Факультеты.Название_факультета, Группы.Номер_группы HAVING (((Факультеты.Название_факультета) Like 'АП'))";

      1. Запрос 3

Осуществляет вывод в dataGridView список групп факультета 'АП' с указанием численности студентов в каждой группе. Запрос реализован следующим образом:

cmd.CommandText = "SELECT Факультеты.Название_факультета, Группы.Номер_группы, Информация_о_студенте.ФИО_студента, Группы.Сумма_стипендии_студента, Информация_о_студенте.Дата_рождения, Группы.Год_зачисления, DateDiff(yyyy, Дата_рождения, Группы.Год_зачисления) AS Возраст_зачисления FROM Факультеты RIGHT JOIN (Группы RIGHT JOIN Информация_о_студенте ON Группы.Код_Группы = Информация_о_студенте.Группа) ON Факультеты.Код_Факультета = Информация_о_студенте.Факультет WHERE (((DateDiff(yyyy, Дата_рождения, Год_зачисления)) < 18))";


      1. Запрос 4

Осуществляет вывод в dataGridView список студентов, не достигших к моменту зачисления 18 лет. Запрос реализован следующим образом:

cmd.CommandText = "SELECT Факультеты.Название_факультета, Группы.Номер_группы, Count (Информация_о_студенте.ФИО_студента) AS [Count-ФИО_студента], Sum (Группы.Сумма_стипендии_студента) AS [Sum-Сумма_стипендии_студента] FROM Факультеты RIGHT JOIN(Группы RIGHT JOIN Информация_о_студенте ON Группы.Код_группы = Информация_о_студенте.Группа) ON Факультеты.Код_факультета = Информация_о_студенте.Факультет GROUP BY Факультеты.Название_факультета, Группы.Номер_группы HAVING(((Факультеты.Название_факультета) Like 'АП') AND (Группы.Номер_группы = '109'))";

1   2   3   4   5


написать администратору сайта