Файл: 1 Анализ информационных потоков данных.docx

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

Категория: Не указан

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

Добавлен: 29.11.2023

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

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Таблица 11 - Реляционная таблица тип_улицы

Им8я поля

Ключ

Физ. характеристики

Логические операции

Обязательные поля

Пример

Номер_

типа_

улицы

PK

Int

Check(Номер>0)

Notnull

002

Название_

типа_улицы




Char(100)




Notnull

Бульвар


Таблица 12 - Реляционная таблица улица

Имя поля

Ключ

Физ. характеристики

Логические операции

Обязательные поля

Пример

Номер_

улицы

PK

int

Check(Номер>0)

Notnull

110

Номер_типа_

улицы

FK

Int

Check(Номер>0)

Notnull

002

Название_

улицы




Char(100)




Notnull

Ул.Мира


Таблица 13 - Реляционная таблица НП

Продолжение таблицы 8.

Имя поля

Ключ

Физ. характеристики

Логические операции

Обязательные поля

Пример

Номер_НП

PK

int

Check(Номер>0)

Notnull

2002

Номер_типа_НП

FK

Int

Check(Номер>0)

Notnull

02

Название_НП




Char(100)




Notnull

Орск

3.5 Разработка запросов

В данном проекте были реализованы следующие запросы:

    1. на заданную дату список предприятий, имеющих вакансии по заданной должности




Рисунок 8 – SQL запрос на вывод вакансий.



Рисунок 9 – результат выполнения запроса

    1. название должности, на которую за заданный период было предложено максимальное количество вакансий;



Рисунок 10 – SQL запрос на вывод должности



Рисунок 11 – результат выполнения запроса

    1. на заданную дату список предприятий, предлагающих вакансии, не требующих образования.



Рисунок 12 – SQL запрос на вывод вакансий без образования.



Рисунок 13 – результат выполнения запроса

3.6 Разработка процедур по защите данных (обеспечение целостности БД)

Це́лостность ба́зы да́нных (database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности (integrity constraint).

Главное средство обеспечение доменной целостности в SQL Server - это ограничение CHECK. Оно может быть определено при создании таблицы или добавлено позднее при помощи команды ALTER TABLE.

В данной базе данных целостность обеспечивается путем добавления в таблицы таких ограничений, как внешний ключ. Ограничения FOREIGN KEY был добавлены в следующие таблицы: Вакансии, соискатель, список вакансий соискателей и организация. Помимо ограничений, защита данных осуществляется при помощи ролей бд.



Роль представляет собой именованных набор прав и привилегий на объект БД, в системе имеется два типа ролей: Администратор БД и Пользователь, настройки ролей представлены на рисунках 14 и 15 соответственно.


Рисунок 14 - Роль Администратор БД


Рисунок 15 - Роль Пользователь

4 Интерфейсы взаимодействия с БД

Для взаимодействия с БД было разработано приложение в среде MS Visual studio 2017. В приложении возможно просматривать таблицы БД, а также реализовывать запросы, описанные выше.



Рисунок 16 – Главная форма



Рисунок 17 – выбор таблицы для просмотра



Рисунок 18 – просмотр выбранной таблицы.

Для реализации запросов необходимо нажать на кнопку «Запросы», расположенную на этой же форме. В результате появится новое окно с полями для условий отбора.



Рисунок 19 – форма «Запросы»

Результат выполнения запросов представлен выше. Код программы см. Приложение А.


Заключение



В ходе выполнения данной работой были получены навыки проектирования, построения баз данных, на основе 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

Курсовая.MainWindow"

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

Курсовая.Parameters"

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">