БД курсовая. 1 Анализ информационных потоков данных
![]()
|
1 2 ЗаключениеВ ходе выполнения данной работой были получены навыки проектирования, построения баз данных, на основе MS SQL Server, их импорт в MS Visual Studio, а также создано приложения предметной области «Трудоустройство». Были написаны параметрические запросы на выборку с объединением. Осуществление безопасности базы данных было достигнуто путем добавления ролей базы данных, и их делегирования на полномочия и создания ограничений внешних ключей. Список использованных источников1 Щелоков С.А. Разработка и создание базы данных предметной области: методические указания к выполнению курсовой работы по дисциплине «Базы данных» /; Оренбургский гос. ун-т. – Оренбург: ОГУ, 2014. – 141 с. 2 Когаловский М.Р. ЭНЦИКЛОПЕДИЯ ТЕХНОЛОГИЙ БАЗ ДАННЫХ; М.: Финансы и статистика, издание 2-е, 2002, 800 с. 3 Райордан Р. Основы реляционных баз данных/Пер, с англ. - М.: Издательско-торговый дом «Русская Редакция», 2001. - 384 с. 4 Майкл Дж. Хернандес, Джон Л. Вьескас SQL-запросы для простых смертных; К.: Диалектика; Издание 2-е, 1999. - 421 c. 5 Резниченко В. Язык запросов SQL. Учебный курс; К.: Диалектика; Издание 1-е, 2004. - 298 с. 6 Голицына, О.Л. Базы данных; Форум; Инфра-М, 2007. - 399 c. 7 Ролланд Ф. Основные концепции баз данных.: Пер. с англ. - М.: Издательский дом "Вильяме", 2002. - 256 с. 8 Кренке, Д. Теория и практика построения баз данных [текст] М.: Питер, издание 1-е, 2001, 800 с. 9 Костикова А.В. ОБЗОР СОВРЕМЕННЫХ МЕТОДОВ ПРОЕКТИРОВАНИЯ БАЗ ДАННЫХ // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. LIII междунар. студ. науч.-практ. конф. № 5(52). URL: https://sibac.info/archive/technic/5(52).pdf Приложение А Листинг программы MainWindow.xaml xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Курсач" mc:Ignorable="d" Title="Главная форма" Height="450" Width="800"> Листинг программы MainWindow.xaml.cs using System.Windows; using System.Windows.Controls; using System.Data.SqlClient; using System; using System.Data; namespace Курсовая { /// /// Логика взаимодействия для MainWindow.xaml /// public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void Tables_SelectionChanged(object sender, SelectionChangedEventArgs e) { ComboBox combobox = (ComboBox)sender; ComboBoxItem selectedItem = (ComboBoxItem)combobox.SelectedItem; string query = "select * from " + selectedItem.Content.ToString() + ";"; var connectionString = "Server=localhost; Database=Employment; Integrated security=SSPI;"; var conn = new SqlConnection(connectionString); try { conn.Open(); using (DataTable dt = new DataTable()) //поискать, что обозначает { using (SqlConnection cnn = new SqlConnection(connectionString)) { using (SqlDataAdapter da = new SqlDataAdapter(query, cnn)) { da.Fill(dt); } } DGV.ItemsSource=dt.DefaultView; } } catch (Exception E) { MessageBox.Show(E.Message); } } private void Btn1_Click(object sender, RoutedEventArgs e) { var parameters = new Parameters(); parameters.Show(); } } } Листинг программы Parameters.xaml xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:Курсач" mc:Ignorable="d" Title="Parameters" Height="450" Width="800"> Листинг программы Parameters.xaml.cs using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace Курсовая { /// /// Логика взаимодействия для Parameters.xaml /// public partial class Parameters : Window { public Parameters() { InitializeComponent(); } private void Button_Click(object sender, RoutedEventArgs e) { var Date = txtbx1.Text; var Post = txtbx2.Text; string query = "SELECT название_вакансии, номер_вакансии FROM вакансии INNER JOIN организация ON вакансии.номер_организации =" + " организация.номер_организации WHERE вакансии.название_вакансии = '" + Post + "' AND вакансии.время_открытия_вакансии = '" + Date + "'"; //запрос var connectionString = "Server=localhost; Database=Employment; Integrated security=SSPI;"; //строка подключения к SQL Server var conn = new SqlConnection(connectionString); try { conn.Open(); using (DataTable dt = new DataTable()) //поискать, что обозначает { using (SqlConnection cnn = new SqlConnection(connectionString)) { using (SqlDataAdapter da = new SqlDataAdapter(query, cnn)) { da.Fill(dt); } } DGV2.ItemsSource = dt.DefaultView; } } catch (Exception E) { MessageBox.Show(E.Message); } } private void Button_Click_1(object sender, RoutedEventArgs e) { var sdate = date1.Text; var edate = Date2.Text; string query = "SELECT название_вакансии FROM dbo.вакансии WHERE(время_открытия_вакансии BETWEEN '"+sdate+"' AND '"+edate+"') " + "GROUP BY название_вакансии HAVING(COUNT(*) > 1)"; var connectionString = "Server=localhost; Database=Employment; Integrated security=SSPI;"; var conn = new SqlConnection(connectionString); try { conn.Open(); using (DataTable dt = new DataTable()) //поискать, что обозначает { using (SqlConnection cnn = new SqlConnection(connectionString)) { using (SqlDataAdapter da = new SqlDataAdapter(query, cnn)) { da.Fill(dt); } } DGV2.ItemsSource = dt.DefaultView; } } catch (Exception E) { MessageBox.Show(E.Message); } } private void Button_Click_2(object sender, RoutedEventArgs e) { var Sdate = Date3.Text; var Neduc = ned.Text; string query = "SELECT номер_организации FROM dbo.вакансии WHERE(время_открытия_вакансии = '"+Sdate+"')" + " AND (номер_образования = '"+Neduc+"')"; var connectionString = "Server=localhost; Database=Employment; Integrated security=SSPI;"; var conn = new SqlConnection(connectionString); try { conn.Open(); using (DataTable dt = new DataTable()) //поискать, что обозначает { using (SqlConnection cnn = new SqlConnection(connectionString)) { using (SqlDataAdapter da = new SqlDataAdapter(query, cnn)) { da.Fill(dt); } } DGV2.ItemsSource = dt.DefaultView; } } catch (Exception E) { MessageBox.Show(E.Message); } } } Приложение Б Создание таблицы список вакансий соискателей. use Employment create table список_вакансий_соискателей (номер_списка int primary key, номер_вакансии int foreign key references вакансии(номер_вакансии), номер_соискателя int foreign key references соискатель(номер_соискателя), номер_обязанности int foreign key references обязанности(номер_обязанности), номер_организации Int foreign key references организация(номер_организации), номер_образования int foreign key references образование(номер_образования)) Создание таблицы вакансии use Employment create table vacancy (id_vacancy int primary key, vacancy_name char, id_seeker int foreign key references job_seeker(id_seeker),id int foreign key references organization(id),id_ed int foreign key references education(id_ed), id_duty int foreign key references duties(id_duty), payment_rub int, employment_record char(100), social_package char(100), opening_date date, closing_date date) Создание таблицы организация Use employment Create table организация (Номер_организации int primary key, название_организации char(100), краткое_название char(100), телефон Int, электронный адрес char(100), номер_адреса int foreign key references адрес Добавление нового столбца в таблицу use Employment alter table организация add номер_адреса int foreign key references адрес Первый запрос SELECT название_вакансии, номер_вакансии FROM вакансии INNER JOIN организация ON вакансии.номер_организации =" + " организация.номер_организации WHERE вакансии.название_вакансии = '" + Post + "' AND вакансии.время_открытия_вакансии = '" + Date + "'"; Второй запрос SELECT название_вакансии FROM dbo.вакансии WHERE (время_открытия_вакансии BETWEEN '2018-10-10' AND '2018-12-25') GROUP BY название_вакансии HAVING (COUNT(*) > 1) Третий запрос. SELECT номер_организации FROM dbo.вакансии WHERE (время_открытия_вакансии = '2018-02-23') AND (номер_образования = 105) ![]() 1 2 |