Разработкамодулейсистемы

База данных организована таким образом, что все изменения – добавления, изменения, удаления выполняются функциями сервера. Эти функции возвращают приложению-клиенту только код выполненной операции. Если код равен нулю, то операция не удалась, если другое число, то оно означает id записи, над которой было выполнено действие. Отдельной группой на сервере стоят функции, которые читают таблицу или ее часть, или результирующую таблицу состоящую из полей разных таблиц, т.е. результат выборки (SELECT… FROM… WHERE…) и передают в приложение-клиент таблицу.

Такая организация взаимосвязи клиент-сервер дает возможность максимально переложить все операции на сервер БД и быть, как можно менее зависимым от клиента. Поэтому приложение-клиент может быть написано с минимальными затратами на любом языке программирования, который поддерживает подключение к базе данных MySQL.

В данной реализации приложение-клиент выполнено в среде Microsoft Visual Studio 2017.

Для того, чтобы C# asp.net мог работать с сервером базы данных MySQL необходимо установить драйвер для MySQL.

 

Выводы

В результате выполнения работы я получил полностью функциональную систему. На сервере MYSQL с нуля была создана база данных – созданы таблицы, установлены связи между ними и обеспечена целостность. Были написаны, испытаны, опробованы и отлажены функции по отображению данных, а также по изменению (добавлению, исправлению и удалению) данных.

Из среды VisualStudioC# была установлена связь с базой данных MySQL. Были отлажены классы для работы с данными и написан понятный и дружественный интерфейс для пользователя.

Важным является то, что я научился с нуля создавать базу данных, правильно составлять архитектуру базы данных, оптимально устанавливать связи между таблицами. Научился создавать сложные системы, в которых задействованы и взаимодействуют сервер базы данных и приложение-клиент. И это все реализовывал в виде приятном для работы.

 

 

Перечень использованных источников

1. https://habrahabr.ru/company/microsoft/blog/133316/

Https://ru.stackoverflow.com/questions/665956/asp-net-mvc

Https://sites.google.com/site/szmulder/Home/contosouniversity-mvc5-ef6-code-first-approach-using-mysql

Https://docs.microsoft.com/ru-ru/aspnet/core/data/ef-mvc/intro

5. https://habrahabr.ru/post/176075/

6. http://www.c-sharpcorner.com/article/send-email-using-templates-in-asp-net-core-applications/

7. https://metanit.com/sharp/mvc5/14.6.php

8. https://social.technet.microsoft.com/wiki/contents/articles/50944.sending-sms-using-asp-net-core-with-twilio-sms-api.aspx

9. http://www.mytecbits.com/microsoft/dot-net/bootstrap-asp-net-core-mvc

10. https://github.com/search?l=C%23&q=mysql+bootstrap+asp.net&type=Repositories&utf8=%E2%9C%93

 

ПРИЛОЖЕНИЯ

 

 

Обозначение Наименование Примечание
  Документация  
  Информационно-справочная  
  система «База данных о университете»  
  Текст программы  
     
  Информационно-справочная  
  система «База данных о университете»  
  Руководство пользователя  
     
  Комплексы  
  Microsoft Visual Studia 2017 C# asp.net MVC Core 2.0  
  OC Windows 10  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

 

 

 

 

Главные программные файлы (контролеры)предназначен для контроля всей программы всей программы

Программный файл appsettings.json

Предназначен для подключение к БД

{

"ConnectionStrings": {

"Writer": "server=localhost;port=3306;user id=root;password=qweqwe123123;database=KP;sslmode=none;",

"Reader": "server=localhost;port=3306;user id=root;password=qwewqe123123;database=KP;sslmode=none;"

},

"Logging": {

"IncludeScopes": false,

"LogLevel": {

"Default": "Warning"

}

}

}

Программный файл bower.json

Предназначе для подлкючение в программный код других языков програмирования

{

"name": "asp.net",

"private": true,

"dependencies": {

"bootstrap": "3.3.7",

"jquery": "2.2.0",

"jquery-validation": "1.14.0",

"jquery-validation-unobtrusive": "3.2.6"

}

}

Программныйфайлbundleconfig.json

Предназначе для подлкючение в программный код других языков програмирования

// Configure bundling and minification for the project.

// More info at https://go.microsoft.com/fwlink/?LinkId=808241

[

{

"outputFileName": "wwwroot/css/site.min.css",

// An array of relative input file paths. Globbing patterns supported

"inputFiles": [

"wwwroot/css/site.css"

]

},

{

"outputFileName": "wwwroot/js/site.min.js",

"inputFiles": [

"wwwroot/js/site.js"

],

{

"outputFileName": "wwwroot/js/site.min.js",

"inputFiles": [

"wwwroot/js/site.js"

   ],

   {

"outputFileName": "wwwroot/js/jquery-2.2.3",

"inputFiles": [

"wwwroot/js/jquery-2.2.3"

       ],

       {

"outputFileName": "wwwroot/js/jquery--ui-1.11.4",

"inputFiles": [

"wwwroot/js/query--ui-1.11.4"

           ],

 

// Optionally specify minification options

"minify": {

"enabled": true,

"renameLocals": true

           },

// Optionally generate.map file

"sourceMap": false

       }

       ]

КлассStudent.cs

Данный класс о сущности студентов

using System;

using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

 

namespace KP.Models

{

publicclassStudent: Person

{

   [DataType(DataType.Date)]

   [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

   [Display(Name = "Датарождения")]

public DateTime BornDate { get; set; }

 

   [Display(Name = "Номертелефона")]

public Int64 PhoneNumber { get; set; }

 

   [Required (ErrorMessage = "Неправильный email")]

   [RegularExpression ("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$", ErrorMessage = "Неправильноемыло")]

 

   [Display(Name = "Email")]

publicstring Email { get; set; }

 

 

publicint? GroupNameID { get; set; }

 

   [Display(Name = "Клан cадистов")]

public GroupName GroupName { get; set; }

 

   [Display(Name = "Успеваймость")]

public ICollection<Enrollment> Enrollments { get; set; }

 

}

}

КлассPrepod.cs

Данный класс о сущности преподователей

using System;

using System.Collections.Generic;

using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations.Schema;

 

namespace KP.Models

{

publicclassPrepod: Person

{

   [DataType(DataType.Date)]

   [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]

   [Display(Name = "ДатаРождения")]

public DateTime BornDate { get; set; }

 

public ICollection<Predmet_Assignment> Predmet_Assignments { get; set; }

public Office_Assignment Office_Assignment { get; set; }

public ICollection<Enrollment> Enrollments { get; set; }

}

}


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: