Файл: Содержание информационнологическое (Инфологическое) проектирование бд. 6 Определение требований к операционной обстановке 8 Заключение 40 Список литературы 41 Введение.docx
Добавлен: 19.03.2024
Просмотров: 77
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Создадим проект на Visual Studio 2019, выбрав шаблон проекта Windows Forms и язык программирования С#.
Скачаем IBProvider во вкладке «Управление пакетами NuGET». IBProvider – это провайдер для доступа к Firebird и InterBase в качестве OLE DB драйвера с открытым исходным кодом ADO.NET Поставщик данных для Firebird Server, он позволяет программам, написанным на C#, Visual Basic, F#, получать доступ к серверу баз данных Firebird Server. Он реализован на 100% в коде C#, является бесплатным и с открытым исходным кодом. Благодаря нему, мы сможем подключить таблицы к DataGridView и совершать какие нам вздумаются действия.
Реализуем форму авторизации, для разграничения доступа между коллекционером, посетителем (Рисунок 11). Для того чтобы войти в систему, коллекционеру нужно ввести логин admin2 и пароль admin2.
Рисунок 11 – Окно авторизации и вход в окно коллекционера
И перед нами окно для коллекционера. Он может добавлять, изменять, удалять и осуществлять выборку над всеми данными таблиц. Для начала добавим новую марку (Рисунок 12). А потом мы увидим результат на рисунке 13.
Рисунок 12 – Добавление данных
Рисунок 13 – Новые данные о марках
А теперь изменим номер страницы марки 4 с 6 на 7, выбрав номер марки в строке, предназначенной для изменения, удаления и поиска строки (Рисунок 14). Посмотрим на результат (Рисунок 15).
Рисунок 14 – Изменение данных строки
Рисунок 15 – Результат изменения данных строки
А теперь удалим марку одной темы, где её номер равен 1 и посмотрим на результат (Рисунок 16 и Рисунок 17).
Рисунок 16 – Удаление данных строки
Рисунок 17 – Результат удаления данных строки
Интерфейс и принцип работы для вкладок «Серия», «Том», «Марка-серия», «Марка-том» такой же, что и для всех остальных (Рисунок 18 - 21).
Рисунок 18 – Вкладка «Серия»
Рисунок 19 – Вкладка «Том»
Рисунок 20 – Вкладка «Марки серия»
Рисунок 21 – Вкладка «Марки том»
Осуществим поиск строк в таблицах по их номерам (Рисунок 22-26).
Рисунок 22 – Поиск во вкладке «Серия»
Рисунок 23 – Поиск во вкладке «Том»
Рисунок 24 – Поиск во вкладке «Марки серия»
Рисунок 25 – Поиск во вкладке «Марки том»
Рисунок 26 – Поиск во вкладке «Марка»
Далее выведем справку о стране марки с номером 1 (Рисунок 27-28).
Рисунок 27 – создание справки
Рисунок 28 – вывод справки о марке
Далее выведем число марок по определённой стране (Рисунок 29).
Рисунок 29 – подсчёт числа марок по странам
Далее откроем окно посетителя, введя логин «posetitel1» и пароль «posetitel1» (Рисунок 30)
Рисунок 30 – Вход в окно посетителя
Теперь перед нами окно посетителя. Посетитель может только осуществлять выборку над всеми таблицами.
Осуществим поиск строк в таблицах по их номерам (Рисунок 31-35).
Рисунок 31 – Поиск во вкладке «Серия»
Рисунок 32 – Поиск во вкладке «Том»
Рисунок 33 – Поиск во вкладке «Марки серия»
Рисунок 34 – Поиск во вкладке «Марки том»
Рисунок 35 – Поиск во вкладке «Марка»
Заключение
В ходе выполнения курсовой работы мной были получены и закреплены теоретические знаний в области проектирования базы данных. Были приобретены навыки работы с системами управления базами данных, изучены принципы организации и построения базы данных, выбрана предметная область и спроектирована база данных, осуществлено заполнение базы данных, а также изучено применение SQL запросов к получившейся базе данных. Также получены и закреплены практические навыки в области программирования, а именно создания клиентских приложений на языке С#.
В результате работы было создано приложение для работы с базой данных «Коллекция марок».
Список литературы
-
Советов, Б.Я. Базы данных. Учебник: учебник для вузов / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. – Юрайт: Профессиональное образование, 2017. – 463с. – Библиогр. в конце кн. – ISBN 978-5-534-01653-6 /в пер./: 193.12. -
Смирнов Олег Игоревич. Базы данных: модели и проектирование: учеб. пособие / О. И. Смирнов; ТулГУ. – Тула: Изд-во ТулГУ, 2007. – 106 с.: ил. – в дар от каф. ПМиИТулГУТулГУ: 1308588-1308597. – Библиогр. в конце кн. – ISBN 978-5-7679-1108-0. -
Семенчев Е.А. Распределенные и объектно-ориентированные базы данных: учеб. пособие / Е. А. Семенчев; ТулГУ. – Тула: Изд-во ТулГУ, 2008. – 136 с.: ил. – ISBN 978-5-7679-1356-5: 72.00. -
Автоматизированные базы данных и банки знаний: Учеб. пособие для вузов / В.Ю. Анцев, А.Н. Иноземцев, Д.И. Троицкий; ТулГУ. – Тула, 2002. – 96с.: ил. – Библиогр. в конце кн. — ISBN 5-7679-0309-3: 22.00. -
Малыхина М.П. Базы данных: основы, проектирование, использование: учеб. пособие для вузов / М. П. Малыхина. – 2-е изд. – СПб: БХВ-Петербург, 2006. – 517 с.: ил. – Библиогр. в конце кн. – Предм. указ.: с.513-517. – ISBN 5-94157-941-1 ((в пер.)): 299,00. -
Базы данных: проектирование и использование: учебник для вузов / С.М. Диго. – М.: Финансы и статистика, 2005. – 592с.: ил. – Библиогр.в конце кн. – ISBN 5-279-02571-2 /в пер./: 204.00. -
Базы данных / С.В. Глушаков, Д.В. Ломотько. – М.: АСТ, 2002. – 504с.: ил. – (Учебный курс). – ISBN 966-03-1257-1 /в пер./: 75.00.
Приложения
Листинг 1 – Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace БД_марки
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string AdmPass = "admin2";
string AdmLgn = "admin2";
string ПосетительPass = "posetitel1";
string ПосетительLgn = "posetitel1";
if (textBox1.Text == AdmLgn && textBox2.Text == AdmPass)
{
Form2 admin = new Form2();
admin.ShowDialog();
textBox1.Clear();
textBox2.Clear();
}
if (textBox1.Text == ПосетительLgn && textBox2.Text == ПосетительPass)
{
Form3 reader = new Form3();
reader.ShowDialog();
textBox1.Clear();
textBox2.Clear();
}
}
}
}
Листинг 2 – Form2.cs
using System.Data.OleDb;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace БД_марки
{
public partial class Form2 : Form
{
Dtdb bd = new Dtdb();
public Form2()
{
InitializeComponent();
bd.Showмарки(dataGridView1);
bd.Showтом(dataGridView3);
bd.Showсерия(dataGridView2);
bd.Showмарки_том(dataGridView5);
bd.Showмарки_серия(dataGridView4);
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void dataGridView5_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow fill = dataGridView5.CurrentRow;
textBox19.Text = Convert.ToString(fill.Cells[0].Value);
textBox20.Text = Convert.ToString(fill.Cells[1].Value);
}
private void tabPage5_Click(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
bd.Showпоиск_марки(dataGridView1, textBox25.Text);
}
private void button7_Click(object sender, EventArgs e)
{
bd.Showпоиск_серия(dataGridView2, textBox26.Text);
}
private void button12_Click(object sender, EventArgs e)
{
bd.Showпоиск_том(dataGridView3, textBox27.Text);
}
private void button16_Click(object sender, EventArgs e)
{
bd.Showпоиск_марки_серия(dataGridView4, textBox28.Text);
}
private void button21_Click(object sender, EventArgs e)
{
bd.Showпоиск_марки_том(dataGridView5, textBox29.Text);
}
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow fill = dataGridView1.CurrentRow;
textBox1.Text = Convert.ToString(fill.Cells[0].Value);
textBox2.Text = Convert.ToString(fill.Cells[1].Value);
textBox3.Text = Convert.ToString(fill.Cells[2].Value);
textBox23.Text = Convert.ToString(fill.Cells[3].Value);
textBox22.Text = Convert.ToString(fill.Cells[4].Value);
textBox21.Text = Convert.ToString(fill.Cells[5].Value);
}
private void dataGridView2_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow fill = dataGridView2.CurrentRow;
textBox4.Text = Convert.ToString(fill.Cells[0].Value);
textBox5.Text = Convert.ToString(fill.Cells[1].Value);
}
private void dataGridView3_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow fill = dataGridView3.CurrentRow;
textBox8.Text = Convert.ToString(fill.Cells[0].Value);
textBox9.Text = Convert.ToString(fill.Cells[1].Value);
textBox10.Text = Convert.ToString(fill.Cells[2].Value);
}
private void dataGridView4_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
DataGridViewRow fill = dataGridView4.CurrentRow;
textBox15.Text = Convert.ToString(fill.Cells[0].Value);