ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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 Разработка запросов
В данном проекте были реализованы следующие запросы:
-
на заданную дату список предприятий, имеющих вакансии по заданной должности
Рисунок 8 – SQL запрос на вывод вакансий.
Рисунок 9 – результат выполнения запроса
-
название должности, на которую за заданный период было предложено максимальное количество вакансий;
Рисунок 10 – SQL запрос на вывод должности
Рисунок 11 – результат выполнения запроса
-
на заданную дату список предприятий, предлагающих вакансии, не требующих образования.
Рисунок 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
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">