Графічно–розрахункова робота

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Розрахунково - графічна робота
Предмет:
Бази даних та знань

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" / Звіт до Графічно–розрахункової роботи на тему: ” Проектування реляційної бази даних MS SQL Server 2005 та клієнтської програми на основі ADO.NET 4.0 ” Venture Market з курсу: “Бази даних та знань” Мета контрольної роботи: Закріпити отримані при вивченні даного курсу знання і навики проектування ER-моделі реляційної бази даних з використанням IE-нотації та реалізації цієї моделі для СКБД Microsoft SQL Server 2005 у вигляді SQL-сценарію діалектом мови Transact-SQL. Ознайомитися з основними об’єктами моделі ADO.NET 2.0 та на їхній основі навчитися отримувати, модифікувати, зберігати, шукати та фільтрувати дані. Отримати навики розроблення клієнтських програм для баз даних з ієрархічною організацією структури даних. Team8 – ComAim Venture Market Завдання: User story 1: - Намалювати структуру бази даних; - Створити базу даних в MS SQL Server; - Для створення бази даних слід створити sql скрипт; - Додати 2 індекси; User story 2: Бізнес-ангел або представники інвестиційної компанії можуть переглянути стартапи, погруповані по бізнес-інкубаторах: - Створити запит до бази даних і вичитати дані з допомогою ADO.NET ( див приклад в методичці); - Створити базові записи в базі даних - стартапи - 5 шт, бізнес-інкубатори - 2 шт, в кожному по 2 стартапи (insert into); - Створити графічний інтерфейс для відображення цих даних - вигляд інтерфейсу узгоджується з Product Owner; User story 4: Керівник стартапу може створити заявку на фінансування: - Створити запит до бази даних, вичитати необхідні дані і записати заявку з допомогою ADO.NET ( див приклад в методичці); - Створити базові записи в базі даних або взяти у інших учасників команди; - Створити графічний інтерфейс для відображення цих даних - вигляд інтерфейсу узгоджується з Product Owner; Опис проекту: / Функції продукту Бізнес-ангел або представники інвестиційної компанії можуть переглянути стартапи, погруповані по бізнес-інкубаторах; Керівник стартапу може переглянути бізнес-ангелів та інвестиційні компанії, внесені в систему; Керівник стартапу може створити заявку на фінансування. Короткі теоретичні відомості: Структура моделі ADO.NET. Модель ADO.NET є складовою частиною платформи Microsoft .NET Framework. Тому клієнтську програму розробляють з використанням високорівневих мов C++/CLI, C#, Visual Basic на основі бібліотеки класів .NET Framework, а сама програма виконується в CLR-середовищі. Модель ADO.NET забезпечує взаємодію з різними системами керування базами даних, шляхом використання відповідних їм провайдерів (постачальників даних). / Базові класи Sql Client .NET Data Provider: / Модель ADO.NET умовно поділяється на дві групи об’єктів: під’єднані та від’єднані (на рис. 4.1 вони розділені вертикальною штриховою лінією). Під’єднані об’єкти, що представляють відповідний провайдер, безпосередньо взаємодіють з БД та використовуються для керування з’єднанням, транзакціями, для вибірки даних та передачі відповідних змін у БД. Від’єднані об’єкти дають можливість працювати з даними автономно і від вибору провайдера не залежать. Мостиком між цими двома групами об’єктів є об’єкт DataAdapter. Діаграма БД / Код програми: Program.cs: using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace ComAim___Venture_Market { static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } 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.Windows.Forms; using System.Data.SqlClient; namespace ComAim___Venture_Market { public partial class Form1 : Form { static string cn = (@"Data Source = OLEH-PC;" + "Initial Catalog = ComAim;" + "Persist Security Info = True; User ID = sa; Password = farik181818"); SqlConnection con = new SqlConnection(cn); SqlDataAdapter da; DataTable dt = new DataTable(); SqlCommand cmd; public static string nam; public static string nam1; public static int ID; public Form1() { InitializeComponent(); } private void cbStartupName_SelectedIndexChanged(object sender, EventArgs e) { dataGridView1.Show(); btCreate.Show(); dt.Clear(); con.Open(); string strQuery = "SELECT [name], [description], business_model, competitors, marketing_strategy, sum_investments, website," + "foundation_day, leader, stage," + "(SELECT [name] FROM Business_Incubator BI WHERE BI.incubator_id = ST.incubator_id ) AS business_incubator," + "(SELECT DISTINCT [name] FROM Investment_Manager IM, Startup_Manager SM WHERE IM.investManager_id = SM.investManager_id AND SM.startup_id = ST.startup_id) AS invest_manager," + "(SELECT DISTINCT [name] FROM Business_Angel BA, Startup_Angel SA WHERE BA.angel_id = SA.angel_id AND SA.startup_id = ST.startup_id ) AS business_angel " + "FROM Startup ST " + "WHERE name = '" + cbStartupName.Text + "';"; cmd = new SqlCommand(strQuery, con); da = new SqlDataAdapter(strQuery, con); da.Fill(dt); dataGridView1.DataSource = dt; con.Close(); } private void Form1_Load(object sender, EventArgs e) { // TODO: данная строка кода позволяет загрузить данные в таблицу "comAimDataSet.Business_Incubator". При необходимости она может быть перемещена или удалена. this.business_IncubatorTableAdapter.Fill(this.comAimDataSet.Business_Incubator); // TODO: данная строка кода позволяет загрузить данные в таблицу "comAimDataSet.Startup". При необходимости она может быть перемещена или удалена. this.startupTableAdapter.Fill(this.comAimDataSet.Startup); dataGridView1.Hide(); dataGridView2.Hide(); cbStartupName.Hide(); label1.Hide(); label2.Hide(); btCreate.Hide(); tabControl1.Hide(); cbIncubator.Hide(); dataGridView1.Hide(); } private void btCreate_Click(object sender, EventArgs e) { if (cbStartupName.Text != "") { SqlCommand GetCommand = new SqlCommand("SELECT DISTINCT ST.name FROM Startup ST, Business_Incubator BI WHERE ST.incubator_id = BI.incubator_id AND ST.name = '" + cbStartupName.Text + "';", con); con.Open(); SqlDataReader Namereader = GetCommand.ExecuteReader(); while (Namereader.Read()) { nam = Namereader.GetString(0); } con.Close(); string name = nam; Namereader.Close(); SqlCommand GetCom = new SqlCommand("SELECT DISTINCT ST.name FROM Startup ST, Business_Incubator BI WHERE ST.incubator_id IS NULL AND ST.name = '" + cbStartupName.Text + "';", con); con.Open(); SqlDataReader Nameread = GetCom.ExecuteReader(); while (Nameread.Read()) { nam1 = Nameread.GetString(0); } con.Close(); string name1 = nam1; Namereader.Close(); SqlCommand GetIDCommand = new SqlCommand("SELECT ST.startup_id FROM Startup ST WHERE ST.name = '" + cbStartupName.Text + "';", con); con.Open(); SqlDataReader IDreader = GetIDCommand.ExecuteReader(); while (IDreader.Read()) { ID = IDreader.GetInt32(0); } int strID = ID; con.Close(); IDreader.Close(); if(cbStartupName.Text == name ) { try { con.Open(); string Query1 = "INSERT INTO [dbo].[Application](startup_id, application_type) VALUES(" + strID + ",'InvestCompany')"; cmd = new SqlCommand(Query1, con); cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); MessageBox.Show("Заявка подана!"); con.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } if (cbStartupName.Text == name1) { try { string Query2 = "INSERT INTO [dbo].[Application](startup_id, application_type) VALUES(" + strID + ",'BisnessAngel')"; cmd = new SqlCommand(Query2, con); con.Open(); cmd.ExecuteNonQuery(); cmd.Dispose(); con.Close(); MessageBox.Show("Заявка подана!"); con.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } else MessageBox.Show("Не правильний ввід!"); con.Close(); } private void investorsToolStripMenuItem_Click(object sender, EventArgs e) { Investors inv = new Investors(); inv.Show(); } private void cbIncubator_SelectedIndexChanged(object sender, EventArgs e) { dataGridView2.Show(); dt.Clear(); con.Open(); string strQuery = "SELECT DISTINCT ST.name, ST.description, ST.business_model, ST.competitors, ST.marketing_strategy, ST.sum_investments, ST.website," + "ST.foundation_day, ST.leader, ST.stage," + "(SELECT [name] FROM Business_Incubator BI WHERE BI.incubator_id = ST.incubator_id ) AS business_incubator," + "(SELECT DISTINCT [name] FROM Investment_Manager IM, Startup_Manager SM WHERE IM.investManager_id = SM.investManager_id AND SM.startup_id = ST.startup_id) AS invest_manager," + "(SELECT DISTINCT [name] FROM Business_Angel BA, Startup_Angel SA WHERE BA.angel_id = SA.angel_id AND SA.startup_id = ST.startup_id ) AS business_angel " + "FROM Startup ST, Business_Incubator BI " + "WHERE BI.incubator_id = ST.incubator_id AND BI.name = '" + cbIncubator.Text + "';"; cmd = new SqlCommand(strQuery, con); da = new SqlDataAdapter(strQuery, con); da.Fill(dt); dataGridView2.DataSource = dt; con.Close(); } private void btAngel_Click(object sender, EventArgs e) { label2.Show(); cbIncubator.Show(); } private void btInvManager_Click(object sender, EventArgs e) { label2.Show(); cbIncubator.Show(); } private void viewToolStripMenuItem_Click(object sender, EventArgs e) { tabControl1.Show(); cbStartupName.Show(); label1.Show(); } } } Результат програми: / / / Висновок: На цій роботі я закріпив отримані при вивченні даного курсу знання і навики проектування ER-моделі реляційної бази даних з використанням IE-нотації та реалізації цієї моделі для СКБД Microsoft SQL Server 2005 у вигляді SQL-сценарію діалектом мови Transact-SQL. Ознайомився з основними об’єктами моделі ADO.NET 2.0 та на їхній основі навчився отримувати, модифікувати, зберігати, шукати та фільтрувати дані. А також отримав навики розроблення клієнтських програм для баз даних з ієрархічною організацією структури даних.
Антиботан аватар за замовчуванням

07.06.2013 17:06-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!