Файл: Содержание информационнологическое (Инфологическое) проектирование бд. 6 Определение требований к операционной обстановке 8 Заключение 40 Список литературы 41 Введение.docx

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 19.03.2024

Просмотров: 72

Скачиваний: 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 запросов к получившейся базе данных. Также получены и закреплены практические навыки в области программирования, а именно создания клиентских приложений на языке С#.

В результате работы было создано приложение для работы с базой данных «Коллекция марок».

Список литературы


  1. Советов, Б.Я. Базы данных. Учебник: учебник для вузов / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. – Юрайт: Профессиональное образование, 2017. – 463с. – Библиогр. в конце кн. – ISBN 978-5-534-01653-6 /в пер./: 193.12.

  2. Смирнов Олег Игоревич. Базы данных: модели и проектирование: учеб. пособие / О. И. Смирнов; ТулГУ. – Тула: Изд-во ТулГУ, 2007. – 106 с.: ил. – в дар от каф. ПМиИТулГУТулГУ: 1308588-1308597. – Библиогр. в конце кн. – ISBN 978-5-7679-1108-0.

  3. Семенчев Е.А. Распределенные и объектно-ориентированные базы данных: учеб. пособие / Е. А. Семенчев; ТулГУ. – Тула: Изд-во ТулГУ, 2008. – 136 с.: ил. – ISBN 978-5-7679-1356-5: 72.00.

  4. Автоматизированные базы данных и банки знаний: Учеб. пособие для вузов / В.Ю. Анцев, А.Н. Иноземцев, Д.И. Троицкий; ТулГУ. – Тула, 2002. – 96с.: ил. – Библиогр. в конце кн. — ISBN 5-7679-0309-3: 22.00.

  5. Малыхина М.П. Базы данных: основы, проектирование, использование: учеб. пособие для вузов / М. П. Малыхина. – 2-е изд. – СПб: БХВ-Петербург, 2006. – 517 с.: ил. – Библиогр. в конце кн. – Предм. указ.: с.513-517. – ISBN 5-94157-941-1 ((в пер.)): 299,00.

  6. Базы данных: проектирование и использование: учебник для вузов / С.М. Диго. – М.: Финансы и статистика, 2005. – 592с.: ил. – Библиогр.в конце кн. – ISBN 5-279-02571-2 /в пер./: 204.00.

  7. Базы данных / С.В. Глушаков, Д.В. Ломотько. – М.: АСТ, 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);